1 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
4 * bfd.c (bfd): Change flags to 20 bits.
5 (BFD_CONVERT_ELF_COMMON): New.
6 (BFD_USE_ELF_STT_COMMON): Likewise.
7 (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
8 BFD_USE_ELF_STT_COMMON.
9 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
10 * configure.ac: Remove --enable-elf-stt-common.
11 * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
12 common symbol depending on BFD_CONVERT_ELF_COMMON and
13 BFD_USE_ELF_STT_COMMON.
14 * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
16 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
18 (elf_link_convert_common_type): New function.
19 (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
20 common symbol depending on BFD_CONVERT_ELF_COMMON and
21 BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx.
22 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
23 and BFD_USE_ELF_STT_COMMON to object_flags.
24 (TARGET_LITTLE_SYM): Likewise.
25 * syms.c (BSF_KEEP_G): Renamed to ...
26 (BSF_ELF_COMMON): This.
27 * bfd-in2.h: Regenerated.
28 * config.in: Likewise.
29 * configure: Likewise.
31 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
36 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
37 (elf_i386_link_hash_entry): Add has_got_reloc and
39 (elf_i386_link_hash_table): Add interp.
40 (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
42 (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
44 (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
45 (elf_i386_fixup_symbol): New function.
46 (elf_i386_pie_finish_undefweak_symbol): Likewise.
47 (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
48 relocations and discard relocations against resolved undefined
49 weak symbols in executable. Don't make resolved undefined weak
50 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
51 relocation against undefined weak symbols in PIE.
52 (elf_i386_size_dynamic_sections): Set interp to .interp section.
53 (elf_i386_relocate_section): Don't generate dynamic relocations
54 against resolved undefined weak symbols in PIE, except for
56 (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
57 dynamic PLT/GOT relocations for resolved undefined weak symbols.
58 Don't generate dynamic relocation against resolved undefined weak
60 (elf_i386_finish_dynamic_sections): Call
61 elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
62 (elf_backend_fixup_symbol): New.
63 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
64 (elf_x86_64_link_hash_entry): Add has_got_reloc and
66 (elf_x86_64_link_hash_table): Add interp.
67 (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
69 (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
71 (elf_x86_64_check_relocs): Set has_got_reloc and
73 (elf_x86_64_fixup_symbol): New function.
74 (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
75 (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
76 relocations and discard relocations against resolved undefined
77 weak symbols in executable. Don't make resolved undefined weak
78 symbols in executable dynamic.
79 (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
80 (elf_x86_64_relocate_section): Check relocation overflow for
81 dynamic relocations against unresolved weak undefined symbols.
82 Don't generate dynamic relocations against resolved weak
83 undefined symbols in PIE.
84 (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
85 dynamic PLT/GOT relocations for resolved undefined weak symbols.
86 Don't generate dynamic relocation against resolved undefined weak
88 (elf_x86_64_finish_dynamic_sections): Call
89 elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
90 (elf_backend_fixup_symbol): New.
92 2016-02-26 Alan Modra <amodra@gmail.com>
94 * elf64-ppc.c (create_linkage_sections): Create sfpr when
95 save_restore_funcs, rest of sections when not relocatable.
96 (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
97 (sfpr_define): Define all symbols on emitted code.
98 (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
99 when relocatable. Move sfpr_define loop earlier.
101 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
103 * elf64-x86-64.c (elf_x86_64_need_pic): New function.
104 (elf_x86_64_relocate_section): Use it. Replace
105 x86_64_elf_howto_table[r_type] with howto.
107 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
110 * elflink.c (bfd_elf_record_link_assignment): Set versioned if
111 symbol version is unknown.
113 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
115 * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
116 to (bfd_vma) -1 when setting needs_plt to 0.
117 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
119 2016-02-23 H.J. Lu <hongjiu.lu@intel.com>
121 * elflink.c (bfd_elf_record_link_assignment): Check for shared
122 library, instead of PIC, and don't check PDE when making linker
123 assigned symbol dynamic.
125 2016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com>
127 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
128 ABIVERSION for non-executable stack.
130 2016-02-23 Rich Felker <bugdal@aerifal.cx>
133 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
134 Always produce a RELATIVE reloc for a local symbol.
136 2016-02-23 Hans-Peter Nilsson <hp@axis.com>
138 Fix test-case ld-elf/pr19617b
139 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
140 discard unused non-function symbols when --dynamic-list-data.
142 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
144 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
145 dynsym section, even if it is empty, with dynamic sections.
147 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
149 * syms.c: Remove BSF_COMMON from comments.
150 * bfd-in2.h: Regenerated.
152 2016-02-22 Jiong Wang <jiong.wang@arm.com>
154 * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
155 for destination. Remove useless function parameters.
156 (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
158 2016-02-19 Nick Clifton <nickc@redhat.com>
161 * aoutx.h (aout_link_add_symbols): Check for out of range string
165 * reloc.c (bfd_generic_get_relocated_section_contents): Stop
166 processing if we encounter a reloc without an associated symbol.
168 2016-02-18 H.J. Lu <hongjiu.lu@intel.com>
171 * elflink.c (elf_link_add_object_symbols): Always create dynamic
172 sections for -E/--dynamic-list.
174 2016-02-17 H.J. Lu <hongjiu.lu@intel.com>
176 * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined
179 2016-02-16 Joseph Myers <joseph@codesourcery.com>
181 * plugin.c (plugin_vec): Set match priority to 255.
182 * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
183 matching against the plugin vector, take priority from there not
186 2016-02-15 Nick Clifton <nickc@redhat.com>
188 * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
189 for length and type fields. Use a signed value for the
192 2016-02-10 H.J. Lu <hongjiu.lu@intel.com>
195 * elf32-i386.c (elf_i386_relocate_section): Mask off the least
196 significant bit in GOT offset for R_386_GOT32X.
198 2016-02-10 Nick Clifton <nickc@redhat.com>
201 * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
203 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
204 number of messages about FDE encoding preventing .eh_frame_hdr
207 2016-02-09 Nick Clifton <nickc@redhat.com>
209 * oasys.c (oasys_archive_p): Fix indentation.
210 * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
211 constant for left shifting.
213 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
214 helpful warning message to explain why certain AArch64 relocs
217 2016-02-05 Simon Marchi <simon.marchi@ericsson.com>
219 * pe-mips.c (coff_mips_reloc): Fix formatting.
221 2016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
223 * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
224 to bfd_mach_arc_arc600.
226 2016-02-04 Alan Modra <amodra@gmail.com>
228 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
231 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
234 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
235 distances in the compressed_size field of the output section.
237 2016-02-02 Alan Modra <amodra@gmail.com>
239 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
240 ELFv2 entry optimization.
242 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
245 * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
246 no relocations in relocatable files.
248 2016-02-01 H.J. Lu <hongjiu.lu@intel.com>
251 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
252 if a symbol from a library loaded via DT_NEEDED doesn't match
253 the symbol referenced by regular object.
255 2016-02-01 Nathaniel Smith <njs@pobox.com>
257 * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
260 2016-02-01 Alan Modra <amodra@gmail.com>
262 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
263 an out of range reloc_index.
264 * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
266 2016-02-01 Kamil Rytarowski <n54@gmx.com>
268 * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
269 (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
270 * Makefile.in: Regenerated.
272 2016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
274 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
276 2016-01-31 John David Anglin <danglin@gcc.gnu.org>
279 * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
281 * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval.
283 2016-01-30 H.J. Lu <hongjiu.lu@intel.com>
286 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
287 against STT_GNU_IFUNC symbol only with dynamic symbols.
288 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
290 2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
293 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
294 decompress debug sections.
296 2016-01-25 Maciej W. Rozycki <macro@imgtec.com>
298 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
301 2016-01-25 Nick Clifton <nickc@redhat.com>
304 * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
305 dsym filename buffer.
307 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
309 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
311 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
313 * elfxx-mips.c (BZ16_REG): Correct calculation.
315 2016-01-21 Nick Clifton <nickc@redhat.com>
317 * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
318 changing the type of _loc to be bfd_byte *.
319 (elf_arc_finish_dynamic_symbol): Likewise.
321 2016-01-21 Nick Clifton <nickc@redhat.com>
324 * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
325 class of the linker stub bfd.
326 (elf32_arm_check_relocs): Skip check for pic format after
327 processing a vxWorks R_ARM_ABS12 reloc.
328 * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
329 reporting a class mismatch.
331 2016-01-21 Jiong Wang <jiong.wang@arm.com>
333 * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
334 veneer for sym_sec != input_sec.
335 (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
336 (elfNN_aarch64_final_link_relocate): Take rela addend into account when
337 calculation destination.
339 2016-01-21 Alan Modra <amodra@gmail.com>
341 * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
342 (swap_linux_prpsinfo64_out): New function.
343 (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
344 (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
345 * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset.
346 (elfcore_write_linux_prpsinfo64): Likewise.
347 * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
348 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
349 (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset.
351 2016-01-21 Alan Modra <amodra@gmail.com>
353 * elf-linux-core.h: Rename from elf-linux-psinfo.h.
354 * elf.c: Adjust #include.
355 * elf32-ppc.c: Don't #include elf-linux-psinfo.h
356 * Makefile.am (SOURCE_HFILES): Update.
357 * Makefile.in: Regenerate.
358 * po/SRC-PORFILES.in: Regenerate.
360 2016-01-21 Alan Modra <amodra@gmail.com>
362 * configure.ac: Move corefile selection later in file. Move
363 tdefaults code immediately after other target vector code.
364 * configure: Regenerate.
366 2016-01-20 Mickael Guene <mickael.guene@st.com>
368 * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
369 section using '.text.noread' pattern.
371 2016-01-19 John Baldwin <jhb@FreeBSD.org>
373 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
375 2016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com>
376 Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com>
378 * arc-plt.def: New file.
379 * arc-plt.h: Likewise.
380 * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
381 elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
382 elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
383 elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
384 (name_for_global_symbol): Added.
385 (ADD_RELA): Helper to create dynamic relocs.
386 (new_got_entry_to_list): Create a new got entry in linked list.
387 (symbol_has_entry_of_type): Search for specific type of entry in
389 (is_reloc_for_GOT): return FALSE for any TLS related relocs.
390 (is_reloc_for_TLS, arc_elf_set_private_flags)
391 (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
392 (arc_elf_merge_private_bfd_data): New functions.
393 (debug_arc_reloc): Cleaned debug info printing.
394 (PDATA reloc): Changed not to perform address alignment.
395 (reverse_me): Added. Fix for ARC_32 relocs.
396 (arc_do_relocation): Return bfd_reloc_of when no relocation should
398 (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
399 Changed function to access an array of list of GOT entries instead
400 of just an array of offsets.
401 (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
402 (elf_arc_check_relocs): Likewise.
403 (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
404 (elf_arc_finish_dynamic_sections): Likewise
405 (arc_create_dynamic_sections): Modified conditions to create
407 (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
408 (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
409 (relocate_plt_for_entry): Changed to support new way to define PLT
411 (add_symbol_to_plt): Likewise.
412 (arc_elf_link_hash_table_create): New function.
414 2016-01-18 Nick Clifton <nickc@redhat.com>
417 * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
418 section number into internal section number.
419 * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
420 * coffswap.h (coff_swap_sym_in): Likewise.
421 * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
422 * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
423 section number field is big enough to hold the external value.
425 2016-01-17 Alan Modra <amodra@gmail.com>
427 * configure: Regenerate.
429 2016-01-12 Yury Usishchev <y.usishchev@samsung.com>
431 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
432 when address in first unwind entry does not match start of
435 2016-01-08 Richard Sandiford <richard.sandiford@arm.com>
436 Jiong Wang <jiong.wang@arm.com>
439 * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
442 2016-01-06 Andrew Burgess <andrew.burgess@embecosm.com>
444 * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
445 place 'R_' before the reloc name returned.
446 (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
447 the relocation string.
449 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
451 * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
453 (_bfd_mips_elf_merge_private_bfd_data): ... here.
455 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
457 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
458 attribute check after ELF file header flag check.
460 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
462 * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
463 return status from `_bfd_elf_merge_object_attributes'.
465 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
467 * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
469 (_bfd_mips_elf_merge_private_bfd_data): ... here.
471 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
473 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
474 handling of input MIPS ABI flags together.
476 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
478 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
479 attribute checks for null input.
481 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
483 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
484 pointers to target data.
486 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
488 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
491 2016-01-01 Alan Modra <amodra@gmail.com>
493 Update year range in copyright notice of all files.
495 For older changes see ChangeLog-2015 and doc/ChangeLog-0415
497 Copyright (C) 2016 Free Software Foundation, Inc.
499 Copying and distribution of this file, with or without modification,
500 are permitted in any medium without royalty provided the copyright
501 notice and this notice are preserved.
507 version-control: never