1 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
3 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
4 and replace (EH)->has_got_reloc with GOT_RELOC.
5 (elf_i386_fixup_symbol): Pass has_got_reloc to
6 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
7 (elf_i386_allocate_dynrelocs): Likewise.
8 (elf_i386_relocate_section): Likewise.
9 (elf_i386_finish_dynamic_symbol): Likewise.
10 (elf_i386_convert_load): Pass TRUE to
11 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
12 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
13 GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
14 (elf_x86_64_fixup_symbol): Pass has_got_reloc to
15 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
16 (elf_x86_64_allocate_dynrelocs): Likewise.
17 (elf_x86_64_relocate_section): Likewise.
18 (elf_x86_64_finish_dynamic_symbol): Likewise.
19 (elf_x86_64_convert_load): Pass TRUE to
20 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
22 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
24 * elf32-i386.c (check_relocs_failed): New.
25 (elf_i386_check_relocs): Set check_relocs_failed on error.
26 (elf_i386_relocate_section): Skip if check_relocs failed.
28 2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
30 * elf64-x86-64.c (elf_x86_64_check_relocs): Set
31 check_relocs_failed on error.
33 2016-04-29 Nick Clifton <nickc@redhat.com>
36 * elf-bfd.h (struct elf_backend_data): Rename
37 elf_backend_set_special_section_info_and_link to
38 elf_backend_copy_special_section_fields.
39 * elfxx-target.h: Likewise.
40 * elf.c (section_match): Ignore the SHF_INFO_LINK flag when
41 comparing section flags.
42 (copy_special_section_fields): New function.
43 (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
44 Perform two scans over special sections. The first one looks for
45 a direct mapping between the output section and an input section.
46 The second scan looks for a possible match based upon section
48 * elf32-arm.c (elf32_arm_copy_special_section_fields): New
49 function. Handle setting the sh_link field of SHT_ARM_EXIDX
51 * elf32-i386.c (elf32_i386_set_special_info_link): Rename to
52 elf32_i386_copy_solaris_special_section_fields.
53 * elf32-sparc.c (elf32_sparc_set_special_section_info_link):
54 Rename to elf32_sparc_copy_solaris_special_section_fields.
55 * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
56 elf64_x86_64_copy_solaris_special_section_fields.
58 2016-04-28 Nick Clifton <nickc@redhat.com>
60 * po/zh_CN.po: Updated Chinese (simplified) translation.
62 2016-04-27 H.J. Lu <hongjiu.lu@intel.com>
65 * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
66 when estimating distances between output sections.
68 2016-04-27 Alan Modra <amodra@gmail.com>
70 * elflink.c (_bfd_elf_is_start_stop): New function.
71 (_bfd_elf_gc_mark_rsec): Use it.
72 * elf-bfd.h (_bfd_elf_is_start_stop): Declare.
74 2016-04-26 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
76 * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
77 * mmo.c (mmo_get_section_contents): Likewise.
78 (mmo_set_section_contents): Likewise.
80 2016-04-26 H.J. Lu <hongjiu.lu@intel.com>
82 * elf-bfd.h (elf_link_hash_table): Update comments for
84 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
85 the unused NULL entry at the head of dynamic symbol table.
86 (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
89 2016-04-21 H.J. Lu <hongjiu.lu@intel.com>
91 * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
92 created file from dynobj.
94 2016-04-21 H.J. Lu <hongjiu.lu@intel.com>
96 * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
97 normal input file if possible.
99 2016-04-21 Nick Clifton <nickc@redhat.com>
101 * aout-adobe.c: Use _bfd_generic_link_check_relocs.
102 * aout-target.h: Likewise.
103 * aout-tic30.c: Likewise.
104 * binary.c: Likewise.
106 * coff-alpha.c: Likewise.
107 * coff-rs6000.c: Likewise.
108 * coff64-rs6000.c: Likewise.
109 * coffcode.h: Likewise.
110 * i386msdos.c: Likewise.
111 * i386os9k.c: Likewise.
114 * libbfd-in.h: Likewise.
115 * libecoff.h: Likewise.
116 * mach-o-target.c: Likewise.
118 * nlm-target.h: Likewise.
121 * plugin.c: Likewise.
122 * ppcboot.c: Likewise.
125 * tekhex.c: Likewise.
126 * versados.c: Likewise.
127 * vms-alpha.c: Likewise.
129 * elfxx-target.h: Use _bfd_elf_link_check_relocs.
130 * linker.c (bfd_link_check_relocs): New function.
131 (_bfd_generic_link_check_relocs): New function.
132 * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
133 _bfd_link_check_relocs field.
134 (struct bfd_target)L Add _bfd_link_check_relocs field.
135 * bfd-in2.h: Regenerate.
136 * libbfd.h: Regenerate.
138 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
140 * elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
141 (elf_backend_gc_sweep_hook): Likewise.
142 * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
143 (elf_backend_gc_sweep_hook): Likewise.
145 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
147 * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
150 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
153 * elf64-x86-64.c (check_relocs_failed): New.
154 (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
155 Support relocation agaist local symbol. Set check_relocs_failed.
156 (elf_x86_64_check_relocs): Use elf_x86_64_need_pic. Check
157 R_X86_64_32 relocation overflow.
158 (elf_x86_64_relocate_section): Skip if check_relocs failed.
159 Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
161 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
163 * elf32-i386.c (elf_i386_check_relocs): Call
164 _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
165 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
167 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
169 * elf-bfd.h (_bfd_elf_link_check_relocs): New.
170 * elflink.c (_bfd_elf_link_check_relocs): New function.
171 (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
172 if check_relocs_after_open_input is FALSE.
174 2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
176 * cache.c: Update old style function definitions.
177 * elf32-m68k.c: Likewise.
178 * elf64-mmix.c: Likewise.
179 * stab-syms.c: Likewise.
181 2016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
183 * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
185 2016-04-15 H.J. Lu <hongjiu.lu@intel.com>
187 * Makefile.in: Regenerated with automake 1.11.6.
188 * aclocal.m4: Likewise.
189 * doc/Makefile.in: Likewise.
191 2016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
193 * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
194 * bfd-in2.h: Regenerate.
195 * libbfd.h: Regenerate.
196 * elf32-arc.c: Add 'opcode/arc.h' include.
197 (struct arc_relocation_data): Add symbol_name.
198 (arc_special_overflow_checks): New function.
199 (arc_do_relocation): Use arc_special_overflow_checks, reindent as
200 required, add an extra comment.
201 (elf_arc_relocate_section): Setup symbol_name in reloc_data.
203 2016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
205 * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
207 (elf_arc_relocate_section): Update enum uses.
208 (elf_arc_check_relocs): Likewise.
209 (elf_arc_finish_dynamic_symbol): Likewise.
211 2016-04-14 H.J. Lu <hongjiu.lu@intel.com>
213 * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
216 2016-04-14 Nick Clifton <nickc@redhat.com>
219 * elf-bbfd.h (struct elf_backend_data): New field:
221 New field: elf_backend_set_special_section_info_and_link
222 * elfxx-target.h (elf_backend_strtab_flags): Define if not already
224 (elf_backend_set_special_section_info_and_link): Define if not
226 (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
227 elf_backend_strtab_flags macros to initialise fields in structure.
228 * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
229 being set even if SHF_MERGE is not set.
230 (elf_fake_sections): Likewise.
231 (section_match): New function. Matches two ELF sections based
232 upon fixed characteristics.
233 (find_link): New function. Locates a section in a BFD that
234 matches a section in a different BFD.
235 (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
236 fields of reserved sections.
237 (bfd_elf_compute_section_file_positions): Set the flags for the
238 .shstrtab section based upon the elf_strtab_flags field in the
239 elf_backend_data structure.
240 (swap_out_syms): Likewise for the .strtab section.
241 * elflink.c (bfd_elf_final_link): Set the flags for the
242 .strtab section based upon the elf_strtab_flags field in the
243 elf_backend_data structure.
244 * elf32-i386.c (elf32_i386_set_special_info_link): New function.
245 (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
247 (elf_backend_set_special_section_info_and_link): Define for
249 * elf32-sparc.c: Likewise.
250 * elf64-x86-64.c: Likewise.
252 2016-04-11 H.J. Lu <hongjiu.lu@intel.com>
255 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
257 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
258 Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
259 applies to read-only section.
260 * elf32-i386.c (elf_i386_link_hash_table): Add
261 readonly_dynrelocs_against_ifunc.
262 (elf_i386_allocate_dynrelocs): Updated.
263 (elf_i386_size_dynamic_sections): Issue an error for read-only
264 segment with dynamic IFUNC relocations only if
265 readonly_dynrelocs_against_ifunc is TRUE.
266 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
267 readonly_dynrelocs_against_ifunc.
268 (elf_x86_64_allocate_dynrelocs): Updated.
269 (elf_x86_64_size_dynamic_sections): Issue an error for read-only
270 segment with dynamic IFUNC relocations only if
271 readonly_dynrelocs_against_ifunc is TRUE.
272 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
275 2016-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
277 * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
278 a fall through from error_ret_free_internal. Free local_syms in
279 error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
281 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
283 * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
284 (relocate_plt_for_entry): Likewise.
286 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
288 * elf32-arc.c (elf_arc_check_relocs): Changed
290 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
292 * elf32-arc.c (name_for_global_symbol): Changed assert.
293 (get_replace_function): Created.:
294 (struct arc_relocation_data): Changed to signed types.
295 (defines S, L, P, PDATA): Casted to signed type.
296 (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
297 (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
298 (arc_do_relocation): Changed.
300 2016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
302 * elf32-arc.c (name_for_global_symbol): Added assert to check for
304 (elf_arc_relocate_section): Added and changed asserts, validating
305 the synamic symbol index.
306 (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
307 relocation if symbol has dynindx set to -1.
309 2016-04-05 Maciej W. Rozycki <macro@imgtec.com>
311 * elflink.c (elf_link_add_object_symbols): Always turn hidden
312 and internal symbols which have a dynamic index into local
315 2016-04-04 Nick Clifton <nickc@redhat.com>
318 * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
319 version number if the version is zero.
321 2016-04-01 Alan Modra <amodra@gmail.com>
324 * elflink.c (on_needed_list): Recursively check needed status.
325 (elf_link_add_object_symbols): Adjust.
327 2016-03-30 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
329 * elf32-avr.c (avr_elf32_load_records_from_section): Free
330 internal_relocs only if they aren't cached.
332 2016-03-29 Nick Clifton <nickc@redhat.com>
335 * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
336 assertion on the size of the got section to allow it to be bigger
337 than the number of relocs.
339 2016-03-29 Toni Spets <toni.spets@iki.fi>
342 * coffcode.h (coff_write_object_contents): Revert accidental
345 2016-03-22 Alan Modra <amodra@gmail.com>
348 * dwarf2.c (read_attribute_value): Skip info_ptr check for
349 DW_FORM_flag_present.
351 2016-03-22 Nick Clifton <nickc@redhat.com>
353 * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
354 architecture name for backwards compatibility.
356 * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
359 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
360 sufficiently recent version of GCC.
361 * configure: Regenerate.
363 2016-03-22 Alan Modra <amodra@gmail.com>
366 * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
368 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
370 * archures.c (bfd_mach_arc_nps400): Define.
371 * bfd-in2.h: Regenerate.
372 * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
373 some existing entries to make space.
374 * elf32-arc.c (arc_elf_object_p): Add nps400 case.
375 (arc_elf_final_write_processing): Likewise.
377 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
379 * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
381 (arc_elf_final_write_processing): Don't bother setting cpu field
382 in e_flags, this will have been set elsewhere.
384 2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
386 * elf32-arc.c (arc_elf_final_write_processing): Switch to using
389 2016-03-21 Nick Clifton <nickc@redhat.com>
391 * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
392 * configure: Regenerate.
393 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
394 alloca with call to xmalloc.
395 * elf32-nds32.c: Likewise.
396 * elf64-hppa.c: Likewise.
397 * elfxx-mips.c: Likewise.
399 * pei-x86_64.c: Likewise.
403 2016-03-15 H.J. Lu <hongjiu.lu@intel.com>
406 * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
408 (elf_i386_relocate_section): Likewise.
409 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
410 (elf_x86_64_relocate_section): Likewise.
412 2016-03-15 H.J. Lu <hongjiu.lu@intel.com>
415 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
416 no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
417 relocation overflow check.
419 2016-03-14 H.J. Lu <hongjiu.lu@intel.com>
421 * bfd-in2.h: Regenerated.
423 2016-03-11 Dan Gissel <dgisselq@ieee.org>
426 * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
427 uses bytes not octets.
428 * elflink.c (resolve_section): Likewise.
430 (eval_section): Pass the input_bfd to resolve_section.
431 (bfd_elf_perform_complex_relocation): Convert byte offset to
432 octets before read and writing values.
433 (elf_link_input_bfd): Add byte to octet conversions.
434 (elf_reloc_link_order): Likewise.
435 (elf_fixup_link_order): Likewise.
436 (bfd_elf_final_link): Likewise.
437 * reloc.c (_bfd_final_link_relocate): Likewise.
438 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
440 2016-03-10 Nick Clifton <nickc@redhat.com>
442 * config.bfd: Mark the i370 target as obsolete.
444 2016-03-09 Pedro Alves <palves@redhat.com>
446 * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
447 gcc ABI)" to printable name.
448 * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
449 of "v850-rh850" as printable name.
451 2016-03-09 Leon Winter <winter-gcc@bfw-online.de>
454 * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
455 relocations against absolute symbols.
457 2016-03-09 Alan Modra <amodra@gmail.com>
460 * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
461 length elements in the archive.
463 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
466 * elflink.c (elf_link_add_object_symbols): Create dynamic sections
467 for -E/--dynamic-list only when not relocatable.
469 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
472 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
473 count for locally defined local IFUNC symbols in shared object.
474 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
476 2016-03-08 H.J. Lu <hongjiu.lu@intel.com>
479 * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
482 2016-03-08 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
483 Andrew Burgess <andrew.burgess@embecosm.com>
485 * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
486 (arc_bfd_put_32): Becomes an alias for bfd_put_32.
487 (arc_elf_howto_init): Added assert to validate relocations.
488 (get_middle_endian_relocation): Delete.
489 (middle_endian_convert): New function.
490 (ME): Redefine, now does nothing.
492 (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
493 definition to call middle_endian_convert. Add a new local
494 variable and make use of this throughout. Added call to
495 arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
497 2016-03-07 Nick Clifton <nickc@redhat.com>
500 * archive.c (bfd_generic_openr_next_archived_file): Allow zero
501 length elements in the archive.
503 2016-03-07 Jiong Wang <jiong.wang@arm.com>
505 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
506 section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
508 2016-03-04 H.J. Lu <hongjiu.lu@intel.com>
511 * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
512 executable as definition if the new definition comes from a
515 2016-03-02 Alan Modra <amodra@gmail.com>
517 * Makefile.in: Regenerate.
518 * po/SRC-POTFILES.in: Regenerate.
520 2016-02-29 Cupertino Miranda <cmiranda@synopsys.com>
522 * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
523 relocation addend when sections get merged.
525 2016-02-29 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
527 * elf32-arc.c (arc_elf_final_write_processing): Add condition to
529 (elf_arc_relocate_section): Fixes and conditions to support PIE.
530 Assert for code sections dynamic relocs.
532 2016-02-26 Renlin Li <renlin.li@arm.com>
534 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
535 check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
537 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
540 * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
541 load with locally bound symbols if PIC is false or there is no
542 base register. Optimize branch to 0 if PIC is false.
543 (elf_i386_relocate_section): Don't generate dynamic relocations
544 against undefined weak symbols if PIC is false.
545 * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
546 if we can't estimate relocation overflow with --no-relax.
547 Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
548 symbols if PIC is false. Optimize branch to 0 if PIC is false.
549 (elf_x86_64_relocate_section): Don't generate dynamic relocations
550 against undefined weak symbols if PIC is false.
552 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
555 * bfd.c (bfd): Change flags to 20 bits.
556 (BFD_CONVERT_ELF_COMMON): New.
557 (BFD_USE_ELF_STT_COMMON): Likewise.
558 (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
559 BFD_USE_ELF_STT_COMMON.
560 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
561 * configure.ac: Remove --enable-elf-stt-common.
562 * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
563 common symbol depending on BFD_CONVERT_ELF_COMMON and
564 BFD_USE_ELF_STT_COMMON.
565 * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
567 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
569 (elf_link_convert_common_type): New function.
570 (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
571 common symbol depending on BFD_CONVERT_ELF_COMMON and
572 BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx.
573 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
574 and BFD_USE_ELF_STT_COMMON to object_flags.
575 (TARGET_LITTLE_SYM): Likewise.
576 * syms.c (BSF_KEEP_G): Renamed to ...
577 (BSF_ELF_COMMON): This.
578 * bfd-in2.h: Regenerated.
579 * config.in: Likewise.
580 * configure: Likewise.
582 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
587 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
588 (elf_i386_link_hash_entry): Add has_got_reloc and
590 (elf_i386_link_hash_table): Add interp.
591 (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
593 (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
595 (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
596 (elf_i386_fixup_symbol): New function.
597 (elf_i386_pie_finish_undefweak_symbol): Likewise.
598 (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
599 relocations and discard relocations against resolved undefined
600 weak symbols in executable. Don't make resolved undefined weak
601 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
602 relocation against undefined weak symbols in PIE.
603 (elf_i386_size_dynamic_sections): Set interp to .interp section.
604 (elf_i386_relocate_section): Don't generate dynamic relocations
605 against resolved undefined weak symbols in PIE, except for
607 (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
608 dynamic PLT/GOT relocations for resolved undefined weak symbols.
609 Don't generate dynamic relocation against resolved undefined weak
610 symbol in executable.
611 (elf_i386_finish_dynamic_sections): Call
612 elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
613 (elf_backend_fixup_symbol): New.
614 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
615 (elf_x86_64_link_hash_entry): Add has_got_reloc and
617 (elf_x86_64_link_hash_table): Add interp.
618 (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
620 (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
622 (elf_x86_64_check_relocs): Set has_got_reloc and
624 (elf_x86_64_fixup_symbol): New function.
625 (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
626 (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
627 relocations and discard relocations against resolved undefined
628 weak symbols in executable. Don't make resolved undefined weak
629 symbols in executable dynamic.
630 (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
631 (elf_x86_64_relocate_section): Check relocation overflow for
632 dynamic relocations against unresolved weak undefined symbols.
633 Don't generate dynamic relocations against resolved weak
634 undefined symbols in PIE.
635 (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
636 dynamic PLT/GOT relocations for resolved undefined weak symbols.
637 Don't generate dynamic relocation against resolved undefined weak
638 symbol in executable.
639 (elf_x86_64_finish_dynamic_sections): Call
640 elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
641 (elf_backend_fixup_symbol): New.
643 2016-02-26 Alan Modra <amodra@gmail.com>
645 * elf64-ppc.c (create_linkage_sections): Create sfpr when
646 save_restore_funcs, rest of sections when not relocatable.
647 (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
648 (sfpr_define): Define all symbols on emitted code.
649 (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
650 when relocatable. Move sfpr_define loop earlier.
652 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
654 * elf64-x86-64.c (elf_x86_64_need_pic): New function.
655 (elf_x86_64_relocate_section): Use it. Replace
656 x86_64_elf_howto_table[r_type] with howto.
658 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
661 * elflink.c (bfd_elf_record_link_assignment): Set versioned if
662 symbol version is unknown.
664 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
666 * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
667 to (bfd_vma) -1 when setting needs_plt to 0.
668 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
670 2016-02-23 H.J. Lu <hongjiu.lu@intel.com>
672 * elflink.c (bfd_elf_record_link_assignment): Check for shared
673 library, instead of PIC, and don't check PDE when making linker
674 assigned symbol dynamic.
676 2016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com>
678 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
679 ABIVERSION for non-executable stack.
681 2016-02-23 Rich Felker <bugdal@aerifal.cx>
684 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
685 Always produce a RELATIVE reloc for a local symbol.
687 2016-02-23 Hans-Peter Nilsson <hp@axis.com>
689 Fix test-case ld-elf/pr19617b
690 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
691 discard unused non-function symbols when --dynamic-list-data.
693 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
695 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
696 dynsym section, even if it is empty, with dynamic sections.
698 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
700 * syms.c: Remove BSF_COMMON from comments.
701 * bfd-in2.h: Regenerated.
703 2016-02-22 Jiong Wang <jiong.wang@arm.com>
705 * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
706 for destination. Remove useless function parameters.
707 (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
709 2016-02-19 Nick Clifton <nickc@redhat.com>
712 * aoutx.h (aout_link_add_symbols): Check for out of range string
716 * reloc.c (bfd_generic_get_relocated_section_contents): Stop
717 processing if we encounter a reloc without an associated symbol.
719 2016-02-18 H.J. Lu <hongjiu.lu@intel.com>
722 * elflink.c (elf_link_add_object_symbols): Always create dynamic
723 sections for -E/--dynamic-list.
725 2016-02-17 H.J. Lu <hongjiu.lu@intel.com>
727 * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined
730 2016-02-16 Joseph Myers <joseph@codesourcery.com>
732 * plugin.c (plugin_vec): Set match priority to 255.
733 * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
734 matching against the plugin vector, take priority from there not
737 2016-02-15 Nick Clifton <nickc@redhat.com>
739 * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
740 for length and type fields. Use a signed value for the
743 2016-02-10 H.J. Lu <hongjiu.lu@intel.com>
746 * elf32-i386.c (elf_i386_relocate_section): Mask off the least
747 significant bit in GOT offset for R_386_GOT32X.
749 2016-02-10 Nick Clifton <nickc@redhat.com>
752 * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
754 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
755 number of messages about FDE encoding preventing .eh_frame_hdr
758 2016-02-09 Nick Clifton <nickc@redhat.com>
760 * oasys.c (oasys_archive_p): Fix indentation.
761 * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
762 constant for left shifting.
764 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
765 helpful warning message to explain why certain AArch64 relocs
768 2016-02-05 Simon Marchi <simon.marchi@ericsson.com>
770 * pe-mips.c (coff_mips_reloc): Fix formatting.
772 2016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
774 * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
775 to bfd_mach_arc_arc600.
777 2016-02-04 Alan Modra <amodra@gmail.com>
779 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
782 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
785 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
786 distances in the compressed_size field of the output section.
788 2016-02-02 Alan Modra <amodra@gmail.com>
790 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
791 ELFv2 entry optimization.
793 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
796 * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
797 no relocations in relocatable files.
799 2016-02-01 H.J. Lu <hongjiu.lu@intel.com>
802 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
803 if a symbol from a library loaded via DT_NEEDED doesn't match
804 the symbol referenced by regular object.
806 2016-02-01 Nathaniel Smith <njs@pobox.com>
808 * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
811 2016-02-01 Alan Modra <amodra@gmail.com>
813 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
814 an out of range reloc_index.
815 * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
817 2016-02-01 Kamil Rytarowski <n54@gmx.com>
819 * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
820 (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
821 * Makefile.in: Regenerated.
823 2016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
825 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
827 2016-01-31 John David Anglin <danglin@gcc.gnu.org>
830 * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
832 * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval.
834 2016-01-30 H.J. Lu <hongjiu.lu@intel.com>
837 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
838 against STT_GNU_IFUNC symbol only with dynamic symbols.
839 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
841 2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
844 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
845 decompress debug sections.
847 2016-01-25 Maciej W. Rozycki <macro@imgtec.com>
849 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
852 2016-01-25 Nick Clifton <nickc@redhat.com>
855 * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
856 dsym filename buffer.
858 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
860 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
862 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
864 * elfxx-mips.c (BZ16_REG): Correct calculation.
866 2016-01-21 Nick Clifton <nickc@redhat.com>
868 * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
869 changing the type of _loc to be bfd_byte *.
870 (elf_arc_finish_dynamic_symbol): Likewise.
872 2016-01-21 Nick Clifton <nickc@redhat.com>
875 * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
876 class of the linker stub bfd.
877 (elf32_arm_check_relocs): Skip check for pic format after
878 processing a vxWorks R_ARM_ABS12 reloc.
879 * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
880 reporting a class mismatch.
882 2016-01-21 Jiong Wang <jiong.wang@arm.com>
884 * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
885 veneer for sym_sec != input_sec.
886 (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
887 (elfNN_aarch64_final_link_relocate): Take rela addend into account when
888 calculation destination.
890 2016-01-21 Alan Modra <amodra@gmail.com>
892 * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
893 (swap_linux_prpsinfo64_out): New function.
894 (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
895 (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
896 * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset.
897 (elfcore_write_linux_prpsinfo64): Likewise.
898 * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
899 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
900 (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset.
902 2016-01-21 Alan Modra <amodra@gmail.com>
904 * elf-linux-core.h: Rename from elf-linux-psinfo.h.
905 * elf.c: Adjust #include.
906 * elf32-ppc.c: Don't #include elf-linux-psinfo.h
907 * Makefile.am (SOURCE_HFILES): Update.
908 * Makefile.in: Regenerate.
909 * po/SRC-PORFILES.in: Regenerate.
911 2016-01-21 Alan Modra <amodra@gmail.com>
913 * configure.ac: Move corefile selection later in file. Move
914 tdefaults code immediately after other target vector code.
915 * configure: Regenerate.
917 2016-01-20 Mickael Guene <mickael.guene@st.com>
919 * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
920 section using '.text.noread' pattern.
922 2016-01-19 John Baldwin <jhb@FreeBSD.org>
924 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
926 2016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com>
927 Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com>
929 * arc-plt.def: New file.
930 * arc-plt.h: Likewise.
931 * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
932 elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
933 elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
934 elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
935 (name_for_global_symbol): Added.
936 (ADD_RELA): Helper to create dynamic relocs.
937 (new_got_entry_to_list): Create a new got entry in linked list.
938 (symbol_has_entry_of_type): Search for specific type of entry in
940 (is_reloc_for_GOT): return FALSE for any TLS related relocs.
941 (is_reloc_for_TLS, arc_elf_set_private_flags)
942 (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
943 (arc_elf_merge_private_bfd_data): New functions.
944 (debug_arc_reloc): Cleaned debug info printing.
945 (PDATA reloc): Changed not to perform address alignment.
946 (reverse_me): Added. Fix for ARC_32 relocs.
947 (arc_do_relocation): Return bfd_reloc_of when no relocation should
949 (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
950 Changed function to access an array of list of GOT entries instead
951 of just an array of offsets.
952 (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
953 (elf_arc_check_relocs): Likewise.
954 (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
955 (elf_arc_finish_dynamic_sections): Likewise
956 (arc_create_dynamic_sections): Modified conditions to create
958 (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
959 (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
960 (relocate_plt_for_entry): Changed to support new way to define PLT
962 (add_symbol_to_plt): Likewise.
963 (arc_elf_link_hash_table_create): New function.
965 2016-01-18 Nick Clifton <nickc@redhat.com>
968 * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
969 section number into internal section number.
970 * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
971 * coffswap.h (coff_swap_sym_in): Likewise.
972 * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
973 * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
974 section number field is big enough to hold the external value.
976 2016-01-17 Alan Modra <amodra@gmail.com>
978 * configure: Regenerate.
980 2016-01-12 Yury Usishchev <y.usishchev@samsung.com>
982 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
983 when address in first unwind entry does not match start of
986 2016-01-08 Richard Sandiford <richard.sandiford@arm.com>
987 Jiong Wang <jiong.wang@arm.com>
990 * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
993 2016-01-06 Andrew Burgess <andrew.burgess@embecosm.com>
995 * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
996 place 'R_' before the reloc name returned.
997 (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
998 the relocation string.
1000 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1002 * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
1003 factored out from...
1004 (_bfd_mips_elf_merge_private_bfd_data): ... here.
1006 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1008 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
1009 attribute check after ELF file header flag check.
1011 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1013 * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
1014 return status from `_bfd_elf_merge_object_attributes'.
1016 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1018 * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
1019 factored out from...
1020 (_bfd_mips_elf_merge_private_bfd_data): ... here.
1022 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1024 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
1025 handling of input MIPS ABI flags together.
1027 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1029 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
1030 attribute checks for null input.
1032 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1034 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
1035 pointers to target data.
1037 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
1039 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
1042 2016-01-01 Alan Modra <amodra@gmail.com>
1044 Update year range in copyright notice of all files.
1046 For older changes see ChangeLog-2015 and doc/ChangeLog-0415
1048 Copyright (C) 2016 Free Software Foundation, Inc.
1050 Copying and distribution of this file, with or without modification,
1051 are permitted in any medium without royalty provided the copyright
1052 notice and this notice are preserved.
1058 version-control: never