Regenerate bfd files.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 1e0f6a13de3e2366469a1175b8ca17db59c0ae96..b2cc5b85ba254834bf177b00da65f6f1b539db66 100644 (file)
@@ -1,3 +1,181 @@
+2016-03-02  Alan Modra  <amodra@gmail.com>
+
+       * Makefile.in: Regenerate.
+       * po/SRC-POTFILES.in: Regenerate.
+
+2016-02-29  Cupertino Miranda  <cmiranda@synopsys.com>
+
+       * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
+       relocation addend when sections get merged.
+
+2016-02-29  Cupertino Miranda <Cupertino.Miranda@synopsys.com>
+
+       * elf32-arc.c (arc_elf_final_write_processing): Add condition to
+       the flag change.
+        (elf_arc_relocate_section): Fixes and conditions to support PIE.
+       Assert for code sections dynamic relocs.
+
+2016-02-26  Renlin Li  <renlin.li@arm.com>
+
+       * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
+       check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
+
+2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/19609
+       * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
+       load with locally bound symbols if PIC is false or there is no
+       base register.  Optimize branch to 0 if PIC is false.
+       (elf_i386_relocate_section): Don't generate dynamic relocations
+       against undefined weak symbols if PIC is false.
+       * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
+       if we can't estimate relocation overflow with --no-relax.
+       Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
+       symbols if PIC is false.  Optimize branch to 0 if PIC is false.
+       (elf_x86_64_relocate_section): Don't generate dynamic relocations
+       against undefined weak symbols if PIC is false.
+
+2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/19645
+       * bfd.c (bfd): Change flags to 20 bits.
+       (BFD_CONVERT_ELF_COMMON): New.
+       (BFD_USE_ELF_STT_COMMON): Likewise.
+       (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
+       BFD_USE_ELF_STT_COMMON.
+       (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
+       * configure.ac: Remove --enable-elf-stt-common.
+       * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
+       common symbol depending on BFD_CONVERT_ELF_COMMON and
+       BFD_USE_ELF_STT_COMMON.
+       * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
+       STT_COMMON.
+       * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
+       STT_COMMON.
+       (elf_link_convert_common_type): New function.
+       (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
+       common symbol depending on BFD_CONVERT_ELF_COMMON and
+       BFD_USE_ELF_STT_COMMON.  Set sym.st_info after sym.st_shndx.
+       * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
+       and BFD_USE_ELF_STT_COMMON to object_flags.
+       (TARGET_LITTLE_SYM): Likewise.
+       * syms.c (BSF_KEEP_G): Renamed to ...
+       (BSF_ELF_COMMON): This.
+       * bfd-in2.h: Regenerated.
+       * config.in: Likewise.
+       * configure: Likewise.
+
+2016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/19636
+       PR ld/19704
+       PR ld/19719
+       * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
+       (elf_i386_link_hash_entry): Add has_got_reloc and
+       has_non_got_reloc.
+       (elf_i386_link_hash_table): Add interp.
+       (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
+       has_non_got_reloc.
+       (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
+       has_non_got_reloc.
+       (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
+       (elf_i386_fixup_symbol): New function.
+       (elf_i386_pie_finish_undefweak_symbol): Likewise.
+       (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
+       relocations and discard relocations against resolved undefined
+       weak symbols in executable.  Don't make resolved undefined weak
+       symbols in executable dynamic.  Keep dynamic non-GOT/non-PLT
+       relocation against undefined weak symbols in PIE.
+       (elf_i386_size_dynamic_sections): Set interp to .interp section.
+       (elf_i386_relocate_section): Don't generate dynamic relocations
+       against resolved undefined weak symbols in PIE, except for
+       R_386_PC32.
+       (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
+       dynamic PLT/GOT relocations for resolved undefined weak symbols.
+       Don't generate dynamic relocation against resolved undefined weak
+       symbol in executable.
+       (elf_i386_finish_dynamic_sections): Call
+       elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
+       (elf_backend_fixup_symbol): New.
+       * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
+       (elf_x86_64_link_hash_entry): Add has_got_reloc and
+       has_non_got_reloc.
+       (elf_x86_64_link_hash_table): Add interp.
+       (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
+       has_non_got_reloc.
+       (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
+       has_non_got_reloc.
+       (elf_x86_64_check_relocs): Set has_got_reloc and
+       has_non_got_reloc.
+       (elf_x86_64_fixup_symbol): New function.
+       (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
+       (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
+       relocations and discard relocations against resolved undefined
+       weak symbols in executable.  Don't make resolved undefined weak
+       symbols in executable dynamic.
+       (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
+       (elf_x86_64_relocate_section): Check relocation overflow for
+       dynamic relocations against unresolved weak undefined symbols.
+       Don't generate dynamic relocations against resolved weak
+       undefined symbols in PIE.
+       (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
+       dynamic PLT/GOT relocations for resolved undefined weak symbols.
+       Don't generate dynamic relocation against resolved undefined weak
+       symbol in executable.
+       (elf_x86_64_finish_dynamic_sections): Call
+       elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
+       (elf_backend_fixup_symbol): New.
+
+2016-02-26  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (create_linkage_sections): Create sfpr when
+       save_restore_funcs, rest of sections when not relocatable.
+       (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
+       (sfpr_define): Define all symbols on emitted code.
+       (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
+       when relocatable.  Move sfpr_define loop earlier.
+
+2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (elf_x86_64_need_pic): New function.
+       (elf_x86_64_relocate_section): Use it.  Replace
+       x86_64_elf_howto_table[r_type] with howto.
+
+2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/19698
+       * elflink.c (bfd_elf_record_link_assignment): Set versioned if
+       symbol version is unknown.
+
+2016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
+       to (bfd_vma) -1 when setting needs_plt to 0.
+       * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
+
+2016-02-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elflink.c (bfd_elf_record_link_assignment): Check for shared
+       library, instead of PIC, and don't check PDE when making linker
+       assigned symbol dynamic.
+
+2016-02-23  Faraz Shahbazker  <faraz.shahbazker@imgtec.com>
+
+       * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
+       ABIVERSION for non-executable stack.
+
+2016-02-23  Rich Felker  <bugdal@aerifal.cx>
+
+       PR target/19516
+       * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
+       Always produce a RELATIVE reloc for a local symbol.
+
+2016-02-23  Hans-Peter Nilsson  <hp@axis.com>
+
+       Fix test-case ld-elf/pr19617b
+       * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
+       discard unused non-function symbols when --dynamic-list-data.
+
 2016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
 
        * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
This page took 0.025271 seconds and 4 git commands to generate.