1 2016-03-07 Nick Clifton <nickc@redhat.com>
4 * archive.c (bfd_generic_openr_next_archived_file): Allow zero
5 length elements in the archive.
7 2016-03-07 Jiong Wang <jiong.wang@arm.com>
9 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
10 section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
12 2016-03-04 H.J. Lu <hongjiu.lu@intel.com>
15 * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
16 executable as definition if the new definition comes from a
19 2016-03-02 Alan Modra <amodra@gmail.com>
21 * Makefile.in: Regenerate.
22 * po/SRC-POTFILES.in: Regenerate.
24 2016-02-29 Cupertino Miranda <cmiranda@synopsys.com>
26 * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
27 relocation addend when sections get merged.
29 2016-02-29 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
31 * elf32-arc.c (arc_elf_final_write_processing): Add condition to
33 (elf_arc_relocate_section): Fixes and conditions to support PIE.
34 Assert for code sections dynamic relocs.
36 2016-02-26 Renlin Li <renlin.li@arm.com>
38 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
39 check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
41 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
44 * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
45 load with locally bound symbols if PIC is false or there is no
46 base register. Optimize branch to 0 if PIC is false.
47 (elf_i386_relocate_section): Don't generate dynamic relocations
48 against undefined weak symbols if PIC is false.
49 * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
50 if we can't estimate relocation overflow with --no-relax.
51 Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
52 symbols if PIC is false. Optimize branch to 0 if PIC is false.
53 (elf_x86_64_relocate_section): Don't generate dynamic relocations
54 against undefined weak symbols if PIC is false.
56 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
59 * bfd.c (bfd): Change flags to 20 bits.
60 (BFD_CONVERT_ELF_COMMON): New.
61 (BFD_USE_ELF_STT_COMMON): Likewise.
62 (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
63 BFD_USE_ELF_STT_COMMON.
64 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
65 * configure.ac: Remove --enable-elf-stt-common.
66 * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
67 common symbol depending on BFD_CONVERT_ELF_COMMON and
68 BFD_USE_ELF_STT_COMMON.
69 * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
71 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
73 (elf_link_convert_common_type): New function.
74 (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
75 common symbol depending on BFD_CONVERT_ELF_COMMON and
76 BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx.
77 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
78 and BFD_USE_ELF_STT_COMMON to object_flags.
79 (TARGET_LITTLE_SYM): Likewise.
80 * syms.c (BSF_KEEP_G): Renamed to ...
81 (BSF_ELF_COMMON): This.
82 * bfd-in2.h: Regenerated.
83 * config.in: Likewise.
84 * configure: Likewise.
86 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
91 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
92 (elf_i386_link_hash_entry): Add has_got_reloc and
94 (elf_i386_link_hash_table): Add interp.
95 (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
97 (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
99 (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
100 (elf_i386_fixup_symbol): New function.
101 (elf_i386_pie_finish_undefweak_symbol): Likewise.
102 (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
103 relocations and discard relocations against resolved undefined
104 weak symbols in executable. Don't make resolved undefined weak
105 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
106 relocation against undefined weak symbols in PIE.
107 (elf_i386_size_dynamic_sections): Set interp to .interp section.
108 (elf_i386_relocate_section): Don't generate dynamic relocations
109 against resolved undefined weak symbols in PIE, except for
111 (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
112 dynamic PLT/GOT relocations for resolved undefined weak symbols.
113 Don't generate dynamic relocation against resolved undefined weak
114 symbol in executable.
115 (elf_i386_finish_dynamic_sections): Call
116 elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
117 (elf_backend_fixup_symbol): New.
118 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
119 (elf_x86_64_link_hash_entry): Add has_got_reloc and
121 (elf_x86_64_link_hash_table): Add interp.
122 (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
124 (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
126 (elf_x86_64_check_relocs): Set has_got_reloc and
128 (elf_x86_64_fixup_symbol): New function.
129 (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
130 (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
131 relocations and discard relocations against resolved undefined
132 weak symbols in executable. Don't make resolved undefined weak
133 symbols in executable dynamic.
134 (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
135 (elf_x86_64_relocate_section): Check relocation overflow for
136 dynamic relocations against unresolved weak undefined symbols.
137 Don't generate dynamic relocations against resolved weak
138 undefined symbols in PIE.
139 (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
140 dynamic PLT/GOT relocations for resolved undefined weak symbols.
141 Don't generate dynamic relocation against resolved undefined weak
142 symbol in executable.
143 (elf_x86_64_finish_dynamic_sections): Call
144 elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
145 (elf_backend_fixup_symbol): New.
147 2016-02-26 Alan Modra <amodra@gmail.com>
149 * elf64-ppc.c (create_linkage_sections): Create sfpr when
150 save_restore_funcs, rest of sections when not relocatable.
151 (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
152 (sfpr_define): Define all symbols on emitted code.
153 (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
154 when relocatable. Move sfpr_define loop earlier.
156 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
158 * elf64-x86-64.c (elf_x86_64_need_pic): New function.
159 (elf_x86_64_relocate_section): Use it. Replace
160 x86_64_elf_howto_table[r_type] with howto.
162 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
165 * elflink.c (bfd_elf_record_link_assignment): Set versioned if
166 symbol version is unknown.
168 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
170 * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
171 to (bfd_vma) -1 when setting needs_plt to 0.
172 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
174 2016-02-23 H.J. Lu <hongjiu.lu@intel.com>
176 * elflink.c (bfd_elf_record_link_assignment): Check for shared
177 library, instead of PIC, and don't check PDE when making linker
178 assigned symbol dynamic.
180 2016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com>
182 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
183 ABIVERSION for non-executable stack.
185 2016-02-23 Rich Felker <bugdal@aerifal.cx>
188 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
189 Always produce a RELATIVE reloc for a local symbol.
191 2016-02-23 Hans-Peter Nilsson <hp@axis.com>
193 Fix test-case ld-elf/pr19617b
194 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
195 discard unused non-function symbols when --dynamic-list-data.
197 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
199 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
200 dynsym section, even if it is empty, with dynamic sections.
202 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
204 * syms.c: Remove BSF_COMMON from comments.
205 * bfd-in2.h: Regenerated.
207 2016-02-22 Jiong Wang <jiong.wang@arm.com>
209 * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
210 for destination. Remove useless function parameters.
211 (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
213 2016-02-19 Nick Clifton <nickc@redhat.com>
216 * aoutx.h (aout_link_add_symbols): Check for out of range string
220 * reloc.c (bfd_generic_get_relocated_section_contents): Stop
221 processing if we encounter a reloc without an associated symbol.
223 2016-02-18 H.J. Lu <hongjiu.lu@intel.com>
226 * elflink.c (elf_link_add_object_symbols): Always create dynamic
227 sections for -E/--dynamic-list.
229 2016-02-17 H.J. Lu <hongjiu.lu@intel.com>
231 * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined
234 2016-02-16 Joseph Myers <joseph@codesourcery.com>
236 * plugin.c (plugin_vec): Set match priority to 255.
237 * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
238 matching against the plugin vector, take priority from there not
241 2016-02-15 Nick Clifton <nickc@redhat.com>
243 * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
244 for length and type fields. Use a signed value for the
247 2016-02-10 H.J. Lu <hongjiu.lu@intel.com>
250 * elf32-i386.c (elf_i386_relocate_section): Mask off the least
251 significant bit in GOT offset for R_386_GOT32X.
253 2016-02-10 Nick Clifton <nickc@redhat.com>
256 * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
258 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
259 number of messages about FDE encoding preventing .eh_frame_hdr
262 2016-02-09 Nick Clifton <nickc@redhat.com>
264 * oasys.c (oasys_archive_p): Fix indentation.
265 * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
266 constant for left shifting.
268 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
269 helpful warning message to explain why certain AArch64 relocs
272 2016-02-05 Simon Marchi <simon.marchi@ericsson.com>
274 * pe-mips.c (coff_mips_reloc): Fix formatting.
276 2016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
278 * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
279 to bfd_mach_arc_arc600.
281 2016-02-04 Alan Modra <amodra@gmail.com>
283 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
286 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
289 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
290 distances in the compressed_size field of the output section.
292 2016-02-02 Alan Modra <amodra@gmail.com>
294 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
295 ELFv2 entry optimization.
297 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
300 * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
301 no relocations in relocatable files.
303 2016-02-01 H.J. Lu <hongjiu.lu@intel.com>
306 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
307 if a symbol from a library loaded via DT_NEEDED doesn't match
308 the symbol referenced by regular object.
310 2016-02-01 Nathaniel Smith <njs@pobox.com>
312 * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
315 2016-02-01 Alan Modra <amodra@gmail.com>
317 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
318 an out of range reloc_index.
319 * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
321 2016-02-01 Kamil Rytarowski <n54@gmx.com>
323 * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
324 (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
325 * Makefile.in: Regenerated.
327 2016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
329 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
331 2016-01-31 John David Anglin <danglin@gcc.gnu.org>
334 * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
336 * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval.
338 2016-01-30 H.J. Lu <hongjiu.lu@intel.com>
341 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
342 against STT_GNU_IFUNC symbol only with dynamic symbols.
343 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
345 2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
348 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
349 decompress debug sections.
351 2016-01-25 Maciej W. Rozycki <macro@imgtec.com>
353 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
356 2016-01-25 Nick Clifton <nickc@redhat.com>
359 * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
360 dsym filename buffer.
362 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
364 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
366 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
368 * elfxx-mips.c (BZ16_REG): Correct calculation.
370 2016-01-21 Nick Clifton <nickc@redhat.com>
372 * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
373 changing the type of _loc to be bfd_byte *.
374 (elf_arc_finish_dynamic_symbol): Likewise.
376 2016-01-21 Nick Clifton <nickc@redhat.com>
379 * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
380 class of the linker stub bfd.
381 (elf32_arm_check_relocs): Skip check for pic format after
382 processing a vxWorks R_ARM_ABS12 reloc.
383 * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
384 reporting a class mismatch.
386 2016-01-21 Jiong Wang <jiong.wang@arm.com>
388 * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
389 veneer for sym_sec != input_sec.
390 (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
391 (elfNN_aarch64_final_link_relocate): Take rela addend into account when
392 calculation destination.
394 2016-01-21 Alan Modra <amodra@gmail.com>
396 * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
397 (swap_linux_prpsinfo64_out): New function.
398 (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
399 (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
400 * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset.
401 (elfcore_write_linux_prpsinfo64): Likewise.
402 * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
403 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
404 (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset.
406 2016-01-21 Alan Modra <amodra@gmail.com>
408 * elf-linux-core.h: Rename from elf-linux-psinfo.h.
409 * elf.c: Adjust #include.
410 * elf32-ppc.c: Don't #include elf-linux-psinfo.h
411 * Makefile.am (SOURCE_HFILES): Update.
412 * Makefile.in: Regenerate.
413 * po/SRC-PORFILES.in: Regenerate.
415 2016-01-21 Alan Modra <amodra@gmail.com>
417 * configure.ac: Move corefile selection later in file. Move
418 tdefaults code immediately after other target vector code.
419 * configure: Regenerate.
421 2016-01-20 Mickael Guene <mickael.guene@st.com>
423 * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
424 section using '.text.noread' pattern.
426 2016-01-19 John Baldwin <jhb@FreeBSD.org>
428 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
430 2016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com>
431 Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com>
433 * arc-plt.def: New file.
434 * arc-plt.h: Likewise.
435 * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
436 elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
437 elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
438 elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
439 (name_for_global_symbol): Added.
440 (ADD_RELA): Helper to create dynamic relocs.
441 (new_got_entry_to_list): Create a new got entry in linked list.
442 (symbol_has_entry_of_type): Search for specific type of entry in
444 (is_reloc_for_GOT): return FALSE for any TLS related relocs.
445 (is_reloc_for_TLS, arc_elf_set_private_flags)
446 (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
447 (arc_elf_merge_private_bfd_data): New functions.
448 (debug_arc_reloc): Cleaned debug info printing.
449 (PDATA reloc): Changed not to perform address alignment.
450 (reverse_me): Added. Fix for ARC_32 relocs.
451 (arc_do_relocation): Return bfd_reloc_of when no relocation should
453 (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
454 Changed function to access an array of list of GOT entries instead
455 of just an array of offsets.
456 (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
457 (elf_arc_check_relocs): Likewise.
458 (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
459 (elf_arc_finish_dynamic_sections): Likewise
460 (arc_create_dynamic_sections): Modified conditions to create
462 (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
463 (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
464 (relocate_plt_for_entry): Changed to support new way to define PLT
466 (add_symbol_to_plt): Likewise.
467 (arc_elf_link_hash_table_create): New function.
469 2016-01-18 Nick Clifton <nickc@redhat.com>
472 * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
473 section number into internal section number.
474 * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
475 * coffswap.h (coff_swap_sym_in): Likewise.
476 * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
477 * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
478 section number field is big enough to hold the external value.
480 2016-01-17 Alan Modra <amodra@gmail.com>
482 * configure: Regenerate.
484 2016-01-12 Yury Usishchev <y.usishchev@samsung.com>
486 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
487 when address in first unwind entry does not match start of
490 2016-01-08 Richard Sandiford <richard.sandiford@arm.com>
491 Jiong Wang <jiong.wang@arm.com>
494 * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
497 2016-01-06 Andrew Burgess <andrew.burgess@embecosm.com>
499 * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
500 place 'R_' before the reloc name returned.
501 (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
502 the relocation string.
504 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
506 * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
508 (_bfd_mips_elf_merge_private_bfd_data): ... here.
510 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
512 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
513 attribute check after ELF file header flag check.
515 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
517 * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
518 return status from `_bfd_elf_merge_object_attributes'.
520 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
522 * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
524 (_bfd_mips_elf_merge_private_bfd_data): ... here.
526 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
528 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
529 handling of input MIPS ABI flags together.
531 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
533 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
534 attribute checks for null input.
536 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
538 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
539 pointers to target data.
541 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
543 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
546 2016-01-01 Alan Modra <amodra@gmail.com>
548 Update year range in copyright notice of all files.
550 For older changes see ChangeLog-2015 and doc/ChangeLog-0415
552 Copyright (C) 2016 Free Software Foundation, Inc.
554 Copying and distribution of this file, with or without modification,
555 are permitted in any medium without royalty provided the copyright
556 notice and this notice are preserved.
562 version-control: never