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