1 2016-02-26 H.J. Lu <hongjiu.lu@intel.com>
6 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
7 (elf_i386_link_hash_entry): Add has_got_reloc and
9 (elf_i386_link_hash_table): Add interp.
10 (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
12 (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
14 (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
15 (elf_i386_fixup_symbol): New function.
16 (elf_i386_pie_finish_undefweak_symbol): Likewise.
17 (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
18 relocations and discard relocations against resolved undefined
19 weak symbols in executable. Don't make resolved undefined weak
20 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
21 relocation against undefined weak symbols in PIE.
22 (elf_i386_size_dynamic_sections): Set interp to .interp section.
23 (elf_i386_relocate_section): Don't generate dynamic relocations
24 against resolved undefined weak symbols in PIE, except for
26 (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
27 dynamic PLT/GOT relocations for resolved undefined weak symbols.
28 Don't generate dynamic relocation against resolved undefined weak
30 (elf_i386_finish_dynamic_sections): Call
31 elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
32 (elf_backend_fixup_symbol): New.
33 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
34 (elf_x86_64_link_hash_entry): Add has_got_reloc and
36 (elf_x86_64_link_hash_table): Add interp.
37 (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
39 (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
41 (elf_x86_64_check_relocs): Set has_got_reloc and
43 (elf_x86_64_fixup_symbol): New function.
44 (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
45 (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
46 relocations and discard relocations against resolved undefined
47 weak symbols in executable. Don't make resolved undefined weak
48 symbols in executable dynamic.
49 (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
50 (elf_x86_64_relocate_section): Check relocation overflow for
51 dynamic relocations against unresolved weak undefined symbols.
52 Don't generate dynamic relocations against resolved weak
53 undefined symbols in PIE.
54 (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
55 dynamic PLT/GOT relocations for resolved undefined weak symbols.
56 Don't generate dynamic relocation against resolved undefined weak
58 (elf_x86_64_finish_dynamic_sections): Call
59 elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
60 (elf_backend_fixup_symbol): New.
62 2016-02-26 Alan Modra <amodra@gmail.com>
64 * elf64-ppc.c (create_linkage_sections): Create sfpr when
65 save_restore_funcs, rest of sections when not relocatable.
66 (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
67 (sfpr_define): Define all symbols on emitted code.
68 (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
69 when relocatable. Move sfpr_define loop earlier.
71 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
73 * elf64-x86-64.c (elf_x86_64_need_pic): New function.
74 (elf_x86_64_relocate_section): Use it. Replace
75 x86_64_elf_howto_table[r_type] with howto.
77 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
80 * elflink.c (bfd_elf_record_link_assignment): Set versioned if
81 symbol version is unknown.
83 2016-02-24 H.J. Lu <hongjiu.lu@intel.com>
85 * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
86 to (bfd_vma) -1 when setting needs_plt to 0.
87 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
89 2016-02-23 H.J. Lu <hongjiu.lu@intel.com>
91 * elflink.c (bfd_elf_record_link_assignment): Check for shared
92 library, instead of PIC, and don't check PDE when making linker
93 assigned symbol dynamic.
95 2016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com>
97 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
98 ABIVERSION for non-executable stack.
100 2016-02-23 Rich Felker <bugdal@aerifal.cx>
103 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
104 Always produce a RELATIVE reloc for a local symbol.
106 2016-02-23 Hans-Peter Nilsson <hp@axis.com>
108 Fix test-case ld-elf/pr19617b
109 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
110 discard unused non-function symbols when --dynamic-list-data.
112 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
114 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
115 dynsym section, even if it is empty, with dynamic sections.
117 2016-02-22 H.J. Lu <hongjiu.lu@intel.com>
119 * syms.c: Remove BSF_COMMON from comments.
120 * bfd-in2.h: Regenerated.
122 2016-02-22 Jiong Wang <jiong.wang@arm.com>
124 * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
125 for destination. Remove useless function parameters.
126 (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
128 2016-02-19 Nick Clifton <nickc@redhat.com>
131 * aoutx.h (aout_link_add_symbols): Check for out of range string
135 * reloc.c (bfd_generic_get_relocated_section_contents): Stop
136 processing if we encounter a reloc without an associated symbol.
138 2016-02-18 H.J. Lu <hongjiu.lu@intel.com>
141 * elflink.c (elf_link_add_object_symbols): Always create dynamic
142 sections for -E/--dynamic-list.
144 2016-02-17 H.J. Lu <hongjiu.lu@intel.com>
146 * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined
149 2016-02-16 Joseph Myers <joseph@codesourcery.com>
151 * plugin.c (plugin_vec): Set match priority to 255.
152 * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
153 matching against the plugin vector, take priority from there not
156 2016-02-15 Nick Clifton <nickc@redhat.com>
158 * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
159 for length and type fields. Use a signed value for the
162 2016-02-10 H.J. Lu <hongjiu.lu@intel.com>
165 * elf32-i386.c (elf_i386_relocate_section): Mask off the least
166 significant bit in GOT offset for R_386_GOT32X.
168 2016-02-10 Nick Clifton <nickc@redhat.com>
171 * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
173 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
174 number of messages about FDE encoding preventing .eh_frame_hdr
177 2016-02-09 Nick Clifton <nickc@redhat.com>
179 * oasys.c (oasys_archive_p): Fix indentation.
180 * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
181 constant for left shifting.
183 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
184 helpful warning message to explain why certain AArch64 relocs
187 2016-02-05 Simon Marchi <simon.marchi@ericsson.com>
189 * pe-mips.c (coff_mips_reloc): Fix formatting.
191 2016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
193 * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
194 to bfd_mach_arc_arc600.
196 2016-02-04 Alan Modra <amodra@gmail.com>
198 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
201 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
204 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
205 distances in the compressed_size field of the output section.
207 2016-02-02 Alan Modra <amodra@gmail.com>
209 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
210 ELFv2 entry optimization.
212 2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
215 * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
216 no relocations in relocatable files.
218 2016-02-01 H.J. Lu <hongjiu.lu@intel.com>
221 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
222 if a symbol from a library loaded via DT_NEEDED doesn't match
223 the symbol referenced by regular object.
225 2016-02-01 Nathaniel Smith <njs@pobox.com>
227 * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
230 2016-02-01 Alan Modra <amodra@gmail.com>
232 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
233 an out of range reloc_index.
234 * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
236 2016-02-01 Kamil Rytarowski <n54@gmx.com>
238 * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
239 (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
240 * Makefile.in: Regenerated.
242 2016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
244 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
246 2016-01-31 John David Anglin <danglin@gcc.gnu.org>
249 * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
251 * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval.
253 2016-01-30 H.J. Lu <hongjiu.lu@intel.com>
256 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
257 against STT_GNU_IFUNC symbol only with dynamic symbols.
258 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
260 2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
263 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
264 decompress debug sections.
266 2016-01-25 Maciej W. Rozycki <macro@imgtec.com>
268 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
271 2016-01-25 Nick Clifton <nickc@redhat.com>
274 * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
275 dsym filename buffer.
277 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
279 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
281 2016-01-24 Maciej W. Rozycki <macro@imgtec.com>
283 * elfxx-mips.c (BZ16_REG): Correct calculation.
285 2016-01-21 Nick Clifton <nickc@redhat.com>
287 * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
288 changing the type of _loc to be bfd_byte *.
289 (elf_arc_finish_dynamic_symbol): Likewise.
291 2016-01-21 Nick Clifton <nickc@redhat.com>
294 * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
295 class of the linker stub bfd.
296 (elf32_arm_check_relocs): Skip check for pic format after
297 processing a vxWorks R_ARM_ABS12 reloc.
298 * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
299 reporting a class mismatch.
301 2016-01-21 Jiong Wang <jiong.wang@arm.com>
303 * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
304 veneer for sym_sec != input_sec.
305 (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
306 (elfNN_aarch64_final_link_relocate): Take rela addend into account when
307 calculation destination.
309 2016-01-21 Alan Modra <amodra@gmail.com>
311 * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
312 (swap_linux_prpsinfo64_out): New function.
313 (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
314 (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
315 * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset.
316 (elfcore_write_linux_prpsinfo64): Likewise.
317 * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
318 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
319 (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset.
321 2016-01-21 Alan Modra <amodra@gmail.com>
323 * elf-linux-core.h: Rename from elf-linux-psinfo.h.
324 * elf.c: Adjust #include.
325 * elf32-ppc.c: Don't #include elf-linux-psinfo.h
326 * Makefile.am (SOURCE_HFILES): Update.
327 * Makefile.in: Regenerate.
328 * po/SRC-PORFILES.in: Regenerate.
330 2016-01-21 Alan Modra <amodra@gmail.com>
332 * configure.ac: Move corefile selection later in file. Move
333 tdefaults code immediately after other target vector code.
334 * configure: Regenerate.
336 2016-01-20 Mickael Guene <mickael.guene@st.com>
338 * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
339 section using '.text.noread' pattern.
341 2016-01-19 John Baldwin <jhb@FreeBSD.org>
343 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
345 2016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com>
346 Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com>
348 * arc-plt.def: New file.
349 * arc-plt.h: Likewise.
350 * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
351 elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
352 elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
353 elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
354 (name_for_global_symbol): Added.
355 (ADD_RELA): Helper to create dynamic relocs.
356 (new_got_entry_to_list): Create a new got entry in linked list.
357 (symbol_has_entry_of_type): Search for specific type of entry in
359 (is_reloc_for_GOT): return FALSE for any TLS related relocs.
360 (is_reloc_for_TLS, arc_elf_set_private_flags)
361 (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
362 (arc_elf_merge_private_bfd_data): New functions.
363 (debug_arc_reloc): Cleaned debug info printing.
364 (PDATA reloc): Changed not to perform address alignment.
365 (reverse_me): Added. Fix for ARC_32 relocs.
366 (arc_do_relocation): Return bfd_reloc_of when no relocation should
368 (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
369 Changed function to access an array of list of GOT entries instead
370 of just an array of offsets.
371 (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
372 (elf_arc_check_relocs): Likewise.
373 (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
374 (elf_arc_finish_dynamic_sections): Likewise
375 (arc_create_dynamic_sections): Modified conditions to create
377 (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
378 (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
379 (relocate_plt_for_entry): Changed to support new way to define PLT
381 (add_symbol_to_plt): Likewise.
382 (arc_elf_link_hash_table_create): New function.
384 2016-01-18 Nick Clifton <nickc@redhat.com>
387 * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
388 section number into internal section number.
389 * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
390 * coffswap.h (coff_swap_sym_in): Likewise.
391 * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
392 * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
393 section number field is big enough to hold the external value.
395 2016-01-17 Alan Modra <amodra@gmail.com>
397 * configure: Regenerate.
399 2016-01-12 Yury Usishchev <y.usishchev@samsung.com>
401 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
402 when address in first unwind entry does not match start of
405 2016-01-08 Richard Sandiford <richard.sandiford@arm.com>
406 Jiong Wang <jiong.wang@arm.com>
409 * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
412 2016-01-06 Andrew Burgess <andrew.burgess@embecosm.com>
414 * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
415 place 'R_' before the reloc name returned.
416 (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
417 the relocation string.
419 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
421 * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
423 (_bfd_mips_elf_merge_private_bfd_data): ... here.
425 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
427 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
428 attribute check after ELF file header flag check.
430 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
432 * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
433 return status from `_bfd_elf_merge_object_attributes'.
435 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
437 * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
439 (_bfd_mips_elf_merge_private_bfd_data): ... here.
441 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
443 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
444 handling of input MIPS ABI flags together.
446 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
448 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
449 attribute checks for null input.
451 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
453 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
454 pointers to target data.
456 2016-01-04 Maciej W. Rozycki <macro@imgtec.com>
458 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
461 2016-01-01 Alan Modra <amodra@gmail.com>
463 Update year range in copyright notice of all files.
465 For older changes see ChangeLog-2015 and doc/ChangeLog-0415
467 Copyright (C) 2016 Free Software Foundation, Inc.
469 Copying and distribution of this file, with or without modification,
470 are permitted in any medium without royalty provided the copyright
471 notice and this notice are preserved.
477 version-control: never