Add support for non-ELF targets to check their relocs.
[binutils-gdb.git] / bfd / ChangeLog
1 2016-04-21 Nick Clifton <nickc@redhat.com>
2
3 * aout-adobe.c: Use _bfd_generic_link_check_relocs.
4 * aout-target.h: Likewise.
5 * aout-tic30.c: Likewise.
6 * binary.c: Likewise.
7 * bout.c: Likewise.
8 * coff-alpha.c: Likewise.
9 * coff-rs6000.c: Likewise.
10 * coff64-rs6000.c: Likewise.
11 * coffcode.h: Likewise.
12 * i386msdos.c: Likewise.
13 * i386os9k.c: Likewise.
14 * ieee.c: Likewise.
15 * ihex.c: Likewise.
16 * libbfd-in.h: Likewise.
17 * libecoff.h: Likewise.
18 * mach-o-target.c: Likewise.
19 * mmo.c: Likewise.
20 * nlm-target.h: Likewise.
21 * oasys.c: Likewise.
22 * pef.c: Likewise.
23 * plugin.c: Likewise.
24 * ppcboot.c: Likewise.
25 * som.c: Likewise.
26 * srec.c: Likewise.
27 * tekhex.c: Likewise.
28 * versados.c: Likewise.
29 * vms-alpha.c: Likewise.
30 * xsym.c: Likewise.
31 * elfxx-target.h: Use _bfd_elf_link_check_relocs.
32 * linker.c (bfd_link_check_relocs): New function.
33 (_bfd_generic_link_check_relocs): New function.
34 * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
35 _bfd_link_check_relocs field.
36 (struct bfd_target)L Add _bfd_link_check_relocs field.
37 * bfd-in2.h: Regenerate.
38 * libbfd.h: Regenerate.
39
40 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
41
42 * elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
43 (elf_backend_gc_sweep_hook): Likewise.
44 * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
45 (elf_backend_gc_sweep_hook): Likewise.
46
47 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
48
49 * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
50 in excluded sections
51
52 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
53
54 PR ld/19969
55 * elf64-x86-64.c (check_relocs_failed): New.
56 (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
57 Support relocation agaist local symbol. Set check_relocs_failed.
58 (elf_x86_64_check_relocs): Use elf_x86_64_need_pic. Check
59 R_X86_64_32 relocation overflow.
60 (elf_x86_64_relocate_section): Skip if check_relocs failed.
61 Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
62
63 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
64
65 * elf32-i386.c (elf_i386_check_relocs): Call
66 _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
67 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
68
69 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
70
71 * elf-bfd.h (_bfd_elf_link_check_relocs): New.
72 * elflink.c (_bfd_elf_link_check_relocs): New function.
73 (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
74 if check_relocs_after_open_input is FALSE.
75
76 2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
77
78 * cache.c: Update old style function definitions.
79 * elf32-m68k.c: Likewise.
80 * elf64-mmix.c: Likewise.
81 * stab-syms.c: Likewise.
82
83 2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
84
85 * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
86
87 2016-04-15 H.J. Lu <hongjiu.lu@intel.com>
88
89 * Makefile.in: Regenerated with automake 1.11.6.
90 * aclocal.m4: Likewise.
91 * doc/Makefile.in: Likewise.
92
93 2016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
94
95 * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
96 * bfd-in2.h: Regenerate.
97 * libbfd.h: Regenerate.
98 * elf32-arc.c: Add 'opcode/arc.h' include.
99 (struct arc_relocation_data): Add symbol_name.
100 (arc_special_overflow_checks): New function.
101 (arc_do_relocation): Use arc_special_overflow_checks, reindent as
102 required, add an extra comment.
103 (elf_arc_relocate_section): Setup symbol_name in reloc_data.
104
105 2016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
106
107 * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
108 entries.
109 (elf_arc_relocate_section): Update enum uses.
110 (elf_arc_check_relocs): Likewise.
111 (elf_arc_finish_dynamic_symbol): Likewise.
112
113 2016-04-14 H.J. Lu <hongjiu.lu@intel.com>
114
115 * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
116 "sh_link".
117
118 2016-04-14 Nick Clifton <nickc@redhat.com>
119
120 PR target/19938
121 * elf-bbfd.h (struct elf_backend_data): New field:
122 elf_strtab_flags.
123 New field: elf_backend_set_special_section_info_and_link
124 * elfxx-target.h (elf_backend_strtab_flags): Define if not already
125 defined.
126 (elf_backend_set_special_section_info_and_link): Define if not
127 already defined.
128 (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
129 elf_backend_strtab_flags macros to initialise fields in structure.
130 * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
131 being set even if SHF_MERGE is not set.
132 (elf_fake_sections): Likewise.
133 (section_match): New function. Matches two ELF sections based
134 upon fixed characteristics.
135 (find_link): New function. Locates a section in a BFD that
136 matches a section in a different BFD.
137 (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
138 fields of reserved sections.
139 (bfd_elf_compute_section_file_positions): Set the flags for the
140 .shstrtab section based upon the elf_strtab_flags field in the
141 elf_backend_data structure.
142 (swap_out_syms): Likewise for the .strtab section.
143 * elflink.c (bfd_elf_final_link): Set the flags for the
144 .strtab section based upon the elf_strtab_flags field in the
145 elf_backend_data structure.
146 * elf32-i386.c (elf32_i386_set_special_info_link): New function.
147 (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
148 targets.
149 (elf_backend_set_special_section_info_and_link): Define for
150 Solaris targets.
151 * elf32-sparc.c: Likewise.
152 * elf64-x86-64.c: Likewise.
153
154 2016-04-11 H.J. Lu <hongjiu.lu@intel.com>
155
156 PR ld/19939
157 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
158 to bfd_boolean.
159 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
160 Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
161 applies to read-only section.
162 * elf32-i386.c (elf_i386_link_hash_table): Add
163 readonly_dynrelocs_against_ifunc.
164 (elf_i386_allocate_dynrelocs): Updated.
165 (elf_i386_size_dynamic_sections): Issue an error for read-only
166 segment with dynamic IFUNC relocations only if
167 readonly_dynrelocs_against_ifunc is TRUE.
168 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
169 readonly_dynrelocs_against_ifunc.
170 (elf_x86_64_allocate_dynrelocs): Updated.
171 (elf_x86_64_size_dynamic_sections): Issue an error for read-only
172 segment with dynamic IFUNC relocations only if
173 readonly_dynrelocs_against_ifunc is TRUE.
174 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
175 Updated.
176
177 2016-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
178
179 * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
180 a fall through from error_ret_free_internal. Free local_syms in
181 error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
182
183 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
184
185 * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
186 (relocate_plt_for_entry): Likewise.
187
188 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
189
190 * elf32-arc.c (elf_arc_check_relocs): Changed
191
192 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
193
194 * elf32-arc.c (name_for_global_symbol): Changed assert.
195 (get_replace_function): Created.:
196 (struct arc_relocation_data): Changed to signed types.
197 (defines S, L, P, PDATA): Casted to signed type.
198 (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
199 (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
200 (arc_do_relocation): Changed.
201
202 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
203
204 * elf32-arc.c (name_for_global_symbol): Added assert to check for
205 symbol index.
206 (elf_arc_relocate_section): Added and changed asserts, validating
207 the synamic symbol index.
208 (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
209 relocation if symbol has dynindx set to -1.
210
211 2016-04-05 Maciej W. Rozycki <macro@imgtec.com>
212
213 * elflink.c (elf_link_add_object_symbols): Always turn hidden
214 and internal symbols which have a dynamic index into local
215 ones.
216
217 2016-04-04 Nick Clifton <nickc@redhat.com>
218
219 PR 19872
220 * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
221 version number if the version is zero.
222
223 2016-04-01 Alan Modra <amodra@gmail.com>
224
225 PR 19886
226 * elflink.c (on_needed_list): Recursively check needed status.
227 (elf_link_add_object_symbols): Adjust.
228
229 2016-03-30 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
230
231 * elf32-avr.c (avr_elf32_load_records_from_section): Free
232 internal_relocs only if they aren't cached.
233
234 2016-03-29 Nick Clifton <nickc@redhat.com>
235
236 PR 17334
237 * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
238 assertion on the size of the got section to allow it to be bigger
239 than the number of relocs.
240
241 2016-03-29 Toni Spets <toni.spets@iki.fi>
242
243 PR 19878
244 * coffcode.h (coff_write_object_contents): Revert accidental
245 2014-11-10 change.
246
247 2016-03-22 Alan Modra <amodra@gmail.com>
248
249 PR 19850
250 * dwarf2.c (read_attribute_value): Skip info_ptr check for
251 DW_FORM_flag_present.
252
253 2016-03-22 Nick Clifton <nickc@redhat.com>
254
255 * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
256 architecture name for backwards compatibility.
257
258 * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
259 unbounded stack use.
260
261 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
262 sufficiently recent version of GCC.
263 * configure: Regenerate.
264
265 2016-03-22 Alan Modra <amodra@gmail.com>
266
267 PR 19851
268 * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
269
270 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
271
272 * archures.c (bfd_mach_arc_nps400): Define.
273 * bfd-in2.h: Regenerate.
274 * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
275 some existing entries to make space.
276 * elf32-arc.c (arc_elf_object_p): Add nps400 case.
277 (arc_elf_final_write_processing): Likewise.
278
279 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
280
281 * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
282 EF_ARC_CPU_GENERIC.
283 (arc_elf_final_write_processing): Don't bother setting cpu field
284 in e_flags, this will have been set elsewhere.
285
286 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
287
288 * elf32-arc.c (arc_elf_final_write_processing): Switch to using
289 EF_ARC_MACH_MSK.
290
291 2016-03-21 Nick Clifton <nickc@redhat.com>
292
293 * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
294 * configure: Regenerate.
295 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
296 alloca with call to xmalloc.
297 * elf32-nds32.c: Likewise.
298 * elf64-hppa.c: Likewise.
299 * elfxx-mips.c: Likewise.
300 * pef.c: Likewise.
301 * pei-x86_64.c: Likewise.
302 * som.c: Likewise.
303 * xsym.c: Likewise.
304
305 2016-03-15 H.J. Lu <hongjiu.lu@intel.com>
306
307 PR ld/19827
308 * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
309 locally in PIE.
310 (elf_i386_relocate_section): Likewise.
311 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
312 (elf_x86_64_relocate_section): Likewise.
313
314 2016-03-15 H.J. Lu <hongjiu.lu@intel.com>
315
316 PR ld/19807
317 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
318 no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
319 relocation overflow check.
320
321 2016-03-14 H.J. Lu <hongjiu.lu@intel.com>
322
323 * bfd-in2.h: Regenerated.
324
325 2016-03-11 Dan Gissel <dgisselq@ieee.org>
326
327 PR 19713
328 * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
329 uses bytes not octets.
330 * elflink.c (resolve_section): Likewise.
331 Add a bfd parameter.
332 (eval_section): Pass the input_bfd to resolve_section.
333 (bfd_elf_perform_complex_relocation): Convert byte offset to
334 octets before read and writing values.
335 (elf_link_input_bfd): Add byte to octet conversions.
336 (elf_reloc_link_order): Likewise.
337 (elf_fixup_link_order): Likewise.
338 (bfd_elf_final_link): Likewise.
339 * reloc.c (_bfd_final_link_relocate): Likewise.
340 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
341
342 2016-03-10 Nick Clifton <nickc@redhat.com>
343
344 * config.bfd: Mark the i370 target as obsolete.
345
346 2016-03-09 Pedro Alves <palves@redhat.com>
347
348 * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
349 gcc ABI)" to printable name.
350 * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
351 of "v850-rh850" as printable name.
352
353 2016-03-09 Leon Winter <winter-gcc@bfw-online.de>
354
355 PR ld/19623
356 * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
357 relocations against absolute symbols.
358
359 2016-03-09 Alan Modra <amodra@gmail.com>
360
361 PR binutils/19775
362 * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
363 length elements in the archive.
364
365 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
366
367 PR ld/19789
368 * elflink.c (elf_link_add_object_symbols): Create dynamic sections
369 for -E/--dynamic-list only when not relocatable.
370
371 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
372
373 PR ld/19784
374 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
375 count for locally defined local IFUNC symbols in shared object.
376 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
377
378 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
379
380 PR ld/19579
381 * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
382 together.
383
384 2016-03-08 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
385 Andrew Burgess <andrew.burgess@embecosm.com>
386
387 * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
388 (arc_bfd_put_32): Becomes an alias for bfd_put_32.
389 (arc_elf_howto_init): Added assert to validate relocations.
390 (get_middle_endian_relocation): Delete.
391 (middle_endian_convert): New function.
392 (ME): Redefine, now does nothing.
393 (IS_ME): New define.
394 (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
395 definition to call middle_endian_convert. Add a new local
396 variable and make use of this throughout. Added call to
397 arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
398
399 2016-03-07 Nick Clifton <nickc@redhat.com>
400
401 PR binutils/19775
402 * archive.c (bfd_generic_openr_next_archived_file): Allow zero
403 length elements in the archive.
404
405 2016-03-07 Jiong Wang <jiong.wang@arm.com>
406
407 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
408 section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
409
410 2016-03-04 H.J. Lu <hongjiu.lu@intel.com>
411
412 PR ld/19579
413 * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
414 executable as definition if the new definition comes from a
415 shared library.
416
417 2016-03-02 Alan Modra <amodra@gmail.com>
418
419 * Makefile.in: Regenerate.
420 * po/SRC-POTFILES.in: Regenerate.
421
422 2016-02-29 Cupertino Miranda <cmiranda@synopsys.com>
423
424 * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
425 relocation addend when sections get merged.
426
427 2016-02-29 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
428
429 * elf32-arc.c (arc_elf_final_write_processing): Add condition to
430 the flag change.
431 (elf_arc_relocate_section): Fixes and conditions to support PIE.
432 Assert for code sections dynamic relocs.
433
434 2016-02-26 Renlin Li <renlin.li@arm.com>
435
436 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
437 check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
438
439 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
440
441 PR ld/19609
442 * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
443 load with locally bound symbols if PIC is false or there is no
444 base register. Optimize branch to 0 if PIC is false.
445 (elf_i386_relocate_section): Don't generate dynamic relocations
446 against undefined weak symbols if PIC is false.
447 * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
448 if we can't estimate relocation overflow with --no-relax.
449 Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
450 symbols if PIC is false. Optimize branch to 0 if PIC is false.
451 (elf_x86_64_relocate_section): Don't generate dynamic relocations
452 against undefined weak symbols if PIC is false.
453
454 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
455
456 PR ld/19645
457 * bfd.c (bfd): Change flags to 20 bits.
458 (BFD_CONVERT_ELF_COMMON): New.
459 (BFD_USE_ELF_STT_COMMON): Likewise.
460 (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
461 BFD_USE_ELF_STT_COMMON.
462 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
463 * configure.ac: Remove --enable-elf-stt-common.
464 * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
465 common symbol depending on BFD_CONVERT_ELF_COMMON and
466 BFD_USE_ELF_STT_COMMON.
467 * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
468 STT_COMMON.
469 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
470 STT_COMMON.
471 (elf_link_convert_common_type): New function.
472 (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
473 common symbol depending on BFD_CONVERT_ELF_COMMON and
474 BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx.
475 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
476 and BFD_USE_ELF_STT_COMMON to object_flags.
477 (TARGET_LITTLE_SYM): Likewise.
478 * syms.c (BSF_KEEP_G): Renamed to ...
479 (BSF_ELF_COMMON): This.
480 * bfd-in2.h: Regenerated.
481 * config.in: Likewise.
482 * configure: Likewise.
483
484 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
485
486 PR ld/19636
487 PR ld/19704
488 PR ld/19719
489 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
490 (elf_i386_link_hash_entry): Add has_got_reloc and
491 has_non_got_reloc.
492 (elf_i386_link_hash_table): Add interp.
493 (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
494 has_non_got_reloc.
495 (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
496 has_non_got_reloc.
497 (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
498 (elf_i386_fixup_symbol): New function.
499 (elf_i386_pie_finish_undefweak_symbol): Likewise.
500 (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
501 relocations and discard relocations against resolved undefined
502 weak symbols in executable. Don't make resolved undefined weak
503 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
504 relocation against undefined weak symbols in PIE.
505 (elf_i386_size_dynamic_sections): Set interp to .interp section.
506 (elf_i386_relocate_section): Don't generate dynamic relocations
507 against resolved undefined weak symbols in PIE, except for
508 R_386_PC32.
509 (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
510 dynamic PLT/GOT relocations for resolved undefined weak symbols.
511 Don't generate dynamic relocation against resolved undefined weak
512 symbol in executable.
513 (elf_i386_finish_dynamic_sections): Call
514 elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
515 (elf_backend_fixup_symbol): New.
516 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
517 (elf_x86_64_link_hash_entry): Add has_got_reloc and
518 has_non_got_reloc.
519 (elf_x86_64_link_hash_table): Add interp.
520 (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
521 has_non_got_reloc.
522 (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
523 has_non_got_reloc.
524 (elf_x86_64_check_relocs): Set has_got_reloc and
525 has_non_got_reloc.
526 (elf_x86_64_fixup_symbol): New function.
527 (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
528 (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
529 relocations and discard relocations against resolved undefined
530 weak symbols in executable. Don't make resolved undefined weak
531 symbols in executable dynamic.
532 (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
533 (elf_x86_64_relocate_section): Check relocation overflow for
534 dynamic relocations against unresolved weak undefined symbols.
535 Don't generate dynamic relocations against resolved weak
536 undefined symbols in PIE.
537 (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
538 dynamic PLT/GOT relocations for resolved undefined weak symbols.
539 Don't generate dynamic relocation against resolved undefined weak
540 symbol in executable.
541 (elf_x86_64_finish_dynamic_sections): Call
542 elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
543 (elf_backend_fixup_symbol): New.
544
545 2016-02-26 Alan Modra <amodra@gmail.com>
546
547 * elf64-ppc.c (create_linkage_sections): Create sfpr when
548 save_restore_funcs, rest of sections when not relocatable.
549 (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
550 (sfpr_define): Define all symbols on emitted code.
551 (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
552 when relocatable. Move sfpr_define loop earlier.
553
554 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
555
556 * elf64-x86-64.c (elf_x86_64_need_pic): New function.
557 (elf_x86_64_relocate_section): Use it. Replace
558 x86_64_elf_howto_table[r_type] with howto.
559
560 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
561
562 PR ld/19698
563 * elflink.c (bfd_elf_record_link_assignment): Set versioned if
564 symbol version is unknown.
565
566 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
567
568 * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
569 to (bfd_vma) -1 when setting needs_plt to 0.
570 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
571
572 2016-02-23 H.J. Lu <hongjiu.lu@intel.com>
573
574 * elflink.c (bfd_elf_record_link_assignment): Check for shared
575 library, instead of PIC, and don't check PDE when making linker
576 assigned symbol dynamic.
577
578 2016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com>
579
580 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
581 ABIVERSION for non-executable stack.
582
583 2016-02-23 Rich Felker <bugdal@aerifal.cx>
584
585 PR target/19516
586 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
587 Always produce a RELATIVE reloc for a local symbol.
588
589 2016-02-23 Hans-Peter Nilsson <hp@axis.com>
590
591 Fix test-case ld-elf/pr19617b
592 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
593 discard unused non-function symbols when --dynamic-list-data.
594
595 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
596
597 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
598 dynsym section, even if it is empty, with dynamic sections.
599
600 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
601
602 * syms.c: Remove BSF_COMMON from comments.
603 * bfd-in2.h: Regenerated.
604
605 2016-02-22 Jiong Wang <jiong.wang@arm.com>
606
607 * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
608 for destination. Remove useless function parameters.
609 (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
610
611 2016-02-19 Nick Clifton <nickc@redhat.com>
612
613 PR ld/19629
614 * aoutx.h (aout_link_add_symbols): Check for out of range string
615 table offsets.
616
617 PR ld/19628
618 * reloc.c (bfd_generic_get_relocated_section_contents): Stop
619 processing if we encounter a reloc without an associated symbol.
620
621 2016-02-18 H.J. Lu <hongjiu.lu@intel.com>
622
623 PR ld/19617
624 * elflink.c (elf_link_add_object_symbols): Always create dynamic
625 sections for -E/--dynamic-list.
626
627 2016-02-17 H.J. Lu <hongjiu.lu@intel.com>
628
629 * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined
630 to bfd_true.
631
632 2016-02-16 Joseph Myers <joseph@codesourcery.com>
633
634 * plugin.c (plugin_vec): Set match priority to 255.
635 * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
636 matching against the plugin vector, take priority from there not
637 from TEMP.
638
639 2016-02-15 Nick Clifton <nickc@redhat.com>
640
641 * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
642 for length and type fields. Use a signed value for the
643 suffix_length field.
644
645 2016-02-10 H.J. Lu <hongjiu.lu@intel.com>
646
647 PR ld/19601
648 * elf32-i386.c (elf_i386_relocate_section): Mask off the least
649 significant bit in GOT offset for R_386_GOT32X.
650
651 2016-02-10 Nick Clifton <nickc@redhat.com>
652
653 PR 19405
654 * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
655 immediate values.
656 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
657 number of messages about FDE encoding preventing .eh_frame_hdr
658 generation.
659
660 2016-02-09 Nick Clifton <nickc@redhat.com>
661
662 * oasys.c (oasys_archive_p): Fix indentation.
663 * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
664 constant for left shifting.
665
666 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
667 helpful warning message to explain why certain AArch64 relocs
668 might overflow.
669
670 2016-02-05 Simon Marchi <simon.marchi@ericsson.com>
671
672 * pe-mips.c (coff_mips_reloc): Fix formatting.
673
674 2016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
675
676 * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
677 to bfd_mach_arc_arc600.
678
679 2016-02-04 Alan Modra <amodra@gmail.com>
680
681 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
682 for big-endian.
683
684 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
685
686 PR ld/19542
687 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
688 distances in the compressed_size field of the output section.
689
690 2016-02-02 Alan Modra <amodra@gmail.com>
691
692 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
693 ELFv2 entry optimization.
694
695 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
696
697 PR binutils/19547
698 * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
699 no relocations in relocatable files.
700
701 2016-02-01 H.J. Lu <hongjiu.lu@intel.com>
702
703 PR ld/19553
704 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
705 if a symbol from a library loaded via DT_NEEDED doesn't match
706 the symbol referenced by regular object.
707
708 2016-02-01 Nathaniel Smith <njs@pobox.com>
709
710 * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
711 CODE and DATA.
712
713 2016-02-01 Alan Modra <amodra@gmail.com>
714
715 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
716 an out of range reloc_index.
717 * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
718
719 2016-02-01 Kamil Rytarowski <n54@gmx.com>
720
721 * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
722 (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
723 * Makefile.in: Regenerated.
724
725 2016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
726
727 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
728
729 2016-01-31 John David Anglin <danglin@gcc.gnu.org>
730
731 PR ld/19526
732 * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
733 files.
734 * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval.
735
736 2016-01-30 H.J. Lu <hongjiu.lu@intel.com>
737
738 PR ld/19539
739 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
740 against STT_GNU_IFUNC symbol only with dynamic symbols.
741 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
742
743 2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
744
745 PR binutils/19523
746 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
747 decompress debug sections.
748
749 2016-01-25 Maciej W. Rozycki <macro@imgtec.com>
750
751 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
752 `dynindx'.
753
754 2016-01-25 Nick Clifton <nickc@redhat.com>
755
756 PR target/19435
757 * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
758 dsym filename buffer.
759
760 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
761
762 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
763
764 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
765
766 * elfxx-mips.c (BZ16_REG): Correct calculation.
767
768 2016-01-21 Nick Clifton <nickc@redhat.com>
769
770 * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
771 changing the type of _loc to be bfd_byte *.
772 (elf_arc_finish_dynamic_symbol): Likewise.
773
774 2016-01-21 Nick Clifton <nickc@redhat.com>
775
776 PR ld/19455
777 * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
778 class of the linker stub bfd.
779 (elf32_arm_check_relocs): Skip check for pic format after
780 processing a vxWorks R_ARM_ABS12 reloc.
781 * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
782 reporting a class mismatch.
783
784 2016-01-21 Jiong Wang <jiong.wang@arm.com>
785
786 * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
787 veneer for sym_sec != input_sec.
788 (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
789 (elfNN_aarch64_final_link_relocate): Take rela addend into account when
790 calculation destination.
791
792 2016-01-21 Alan Modra <amodra@gmail.com>
793
794 * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
795 (swap_linux_prpsinfo64_out): New function.
796 (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
797 (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
798 * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset.
799 (elfcore_write_linux_prpsinfo64): Likewise.
800 * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
801 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
802 (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset.
803
804 2016-01-21 Alan Modra <amodra@gmail.com>
805
806 * elf-linux-core.h: Rename from elf-linux-psinfo.h.
807 * elf.c: Adjust #include.
808 * elf32-ppc.c: Don't #include elf-linux-psinfo.h
809 * Makefile.am (SOURCE_HFILES): Update.
810 * Makefile.in: Regenerate.
811 * po/SRC-PORFILES.in: Regenerate.
812
813 2016-01-21 Alan Modra <amodra@gmail.com>
814
815 * configure.ac: Move corefile selection later in file. Move
816 tdefaults code immediately after other target vector code.
817 * configure: Regenerate.
818
819 2016-01-20 Mickael Guene <mickael.guene@st.com>
820
821 * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
822 section using '.text.noread' pattern.
823
824 2016-01-19 John Baldwin <jhb@FreeBSD.org>
825
826 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
827
828 2016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com>
829 Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com>
830
831 * arc-plt.def: New file.
832 * arc-plt.h: Likewise.
833 * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
834 elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
835 elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
836 elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
837 (name_for_global_symbol): Added.
838 (ADD_RELA): Helper to create dynamic relocs.
839 (new_got_entry_to_list): Create a new got entry in linked list.
840 (symbol_has_entry_of_type): Search for specific type of entry in
841 list.
842 (is_reloc_for_GOT): return FALSE for any TLS related relocs.
843 (is_reloc_for_TLS, arc_elf_set_private_flags)
844 (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
845 (arc_elf_merge_private_bfd_data): New functions.
846 (debug_arc_reloc): Cleaned debug info printing.
847 (PDATA reloc): Changed not to perform address alignment.
848 (reverse_me): Added. Fix for ARC_32 relocs.
849 (arc_do_relocation): Return bfd_reloc_of when no relocation should
850 occur.
851 (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
852 Changed function to access an array of list of GOT entries instead
853 of just an array of offsets.
854 (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
855 (elf_arc_check_relocs): Likewise.
856 (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
857 (elf_arc_finish_dynamic_sections): Likewise
858 (arc_create_dynamic_sections): Modified conditions to create
859 dynamic sections.
860 (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
861 (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
862 (relocate_plt_for_entry): Changed to support new way to define PLT
863 related code.
864 (add_symbol_to_plt): Likewise.
865 (arc_elf_link_hash_table_create): New function.
866
867 2016-01-18 Nick Clifton <nickc@redhat.com>
868
869 PR ld/19440
870 * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
871 section number into internal section number.
872 * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
873 * coffswap.h (coff_swap_sym_in): Likewise.
874 * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
875 * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
876 section number field is big enough to hold the external value.
877
878 2016-01-17 Alan Modra <amodra@gmail.com>
879
880 * configure: Regenerate.
881
882 2016-01-12 Yury Usishchev <y.usishchev@samsung.com>
883
884 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
885 when address in first unwind entry does not match start of
886 section.
887
888 2016-01-08 Richard Sandiford <richard.sandiford@arm.com>
889 Jiong Wang <jiong.wang@arm.com>
890
891 PR ld/19368
892 * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
893 reloc_class_ifunc.
894
895 2016-01-06 Andrew Burgess <andrew.burgess@embecosm.com>
896
897 * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
898 place 'R_' before the reloc name returned.
899 (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
900 the relocation string.
901
902 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
903
904 * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
905 factored out from...
906 (_bfd_mips_elf_merge_private_bfd_data): ... here.
907
908 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
909
910 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
911 attribute check after ELF file header flag check.
912
913 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
914
915 * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
916 return status from `_bfd_elf_merge_object_attributes'.
917
918 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
919
920 * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
921 factored out from...
922 (_bfd_mips_elf_merge_private_bfd_data): ... here.
923
924 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
925
926 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
927 handling of input MIPS ABI flags together.
928
929 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
930
931 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
932 attribute checks for null input.
933
934 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
935
936 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
937 pointers to target data.
938
939 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
940
941 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
942 an FP ABI warning.
943
944 2016-01-01 Alan Modra <amodra@gmail.com>
945
946 Update year range in copyright notice of all files.
947
948 For older changes see ChangeLog-2015 and doc/ChangeLog-0415
949 \f
950 Copyright (C) 2016 Free Software Foundation, Inc.
951
952 Copying and distribution of this file, with or without modification,
953 are permitted in any medium without royalty provided the copyright
954 notice and this notice are preserved.
955
956 Local Variables:
957 mode: change-log
958 left-margin: 8
959 fill-column: 74
960 version-control: never
961 End: