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