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