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