2012-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 30fff7aabafbbda05d16f848fe73f73a9d108d96..189d52d1a6580cdbe035f8864a6c992cb52ae733 100644 (file)
@@ -1,3 +1,307 @@
+2012-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * elf32-s390.c (elf_s390_relocate_section): Handle PLTOFF for
+       local and global ifunc symbols.
+       * elf64-s390.c (elf_s390_relocate_section): Likewise.
+
+2012-09-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf-bfd.h (elf_link_hash_table): Add hdynamic for the
+       _DYNAMIC symbol.
+
+       * elflink.c (_bfd_elf_link_create_dynamic_sections): Set
+       hdynamic.
+
+       * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_symbol): Check
+       hdynamic instead of "_DYNAMIC".
+       * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Likewise.
+       * elf32-cr16.c (elf32_arm_finish_dynamic_symbol): Likewise.
+       * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
+       * elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise.
+       * elf32-i386.c (elf_i386_convert_mov_to_lea): Likewise.
+       * elf32-lm32.c (lm32_elf_finish_dynamic_symbol): Likewise.
+       * elf32-m32r.c (m32r_elf_finish_dynamic_symbol): Likewise.
+       * elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
+       * elf32-sh.c (sh_elf_finish_dynamic_symbol): Likewise.
+       * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise.
+       * elf32-tilepro.c (tilepro_elf_finish_dynamic_symbol): Likewise.
+       * elf32-vax.c (elf_vax_finish_dynamic_symbol): Likewise.
+       * elf32-xtensa.c (elf_xtensa_finish_dynamic_symbol): Likewise.
+       * elf64-aarch64.c elf64_aarch64_finish_dynamic_symbol(): Likewise.
+       * elf64-alpha.c (elf64_alpha_finish_dynamic_symbol): Likewise.
+       * elf64-ia64-vms.c (elf64_ia64_finish_dynamic_symbol): Likewise.
+       * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
+       * elf64-sh64.c (sh64_elf64_finish_dynamic_symbol): Likewise.
+       * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
+       * elfnn-ia64.c (elfNN_ia64_finish_dynamic_symbol): Likewise.
+       * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
+       * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
+       * elfxx-tilegx.c (tilegx_elf_finish_dynamic_symbol): Likewise.
+
+       * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Check
+       hdynamic, hgot, hplt instead of _DYNAMIC, _GLOBAL_OFFSET_TABLE_,
+       _PROCEDURE_LINKAGE_TABLE_.
+       * elf32-score.c (s3_bfd_score_elf_finish_dynamic_symbol): Likewise.
+       * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_symbol): Likewise.
+
+2012-08-31  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_convert_mov_to_lea): Don't optimize
+       _DYNAMIC.
+       * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
+
+2012-08-31  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_convert_mov_to_lea): New.
+       (elf_i386_size_dynamic_sections): Use it on input sections.
+       (elf_i386_relocate_section): Don't convert
+       "mov foo@GOT(%reg), %reg" to "lea foo@GOTOFF(%reg), %reg"
+       for local symbols here.
+
+       * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): New.
+       (elf_x86_64_size_dynamic_sections): Use it on input sections.
+       (elf_x86_64_relocate_section): Don't convert
+       "mov foo@GOTPCREL(%rip), %reg" to "lea foo(%rip), %reg"
+       for local symbols here.
+
+2012-08-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_relocate_section): Convert
+       "mov foo@GOT(%reg), %reg" to "lea foo@GOTOFF(%reg), %reg"
+       for local symbols.
+
+       * elf64-x86-64.c (elf_x86_64_relocate_section): Convert
+       "mov foo@GOTPCREL(%rip), %reg" to "lea foo(%rip), %reg"
+       for local symbols.
+
+2012-08-31  Alan Modra  <amodra@gmail.com>
+
+       PR ld/14464
+       * elf64-ppc.c (ppc64_elf_relocate_section): Map symbols defined
+       by a linker script in .opd to corresponding input .opd section.
+
+2012-08-28  Maciej W. Rozycki  <macro@codesourcery.com>
+
+       * elf32-ppc.c (ppc_elf_relocate_section): Assert that dynindx is
+       not minus one.
+       * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+
+2012-08-28  Maciej W. Rozycki  <macro@codesourcery.com>
+
+       * elflink.c (_bfd_elf_merge_symbol): Also override the version
+       a dynamic symbol defaulted to if preempted with a hidden or
+       internal definition.
+
+2012-08-28  Walter Lee  <walt@tilera.com>
+
+       * elf32-tilepro.c (allocate_dynrelocs): Use PLT_ENTRY_SIZE as size
+       of header.
+       (tilepro_plt_entry_build): Account for new header size.
+       (tilepro_elf_finish_dynamic_sections): Ditto.
+       (tilepro_elf_plt_sym_val): Ditto.
+       * elfxx-tilegx.c (allocate_dynrelocs): Use PLT_ENTRY_SIZE as size
+       of header + tail.
+       (tilegx_elf_finish_dynamic_sections): Account for new padding.
+
+2012-08-27  Walter Lee  <walt@tilera.com>
+
+       * reloc.c (Add BFD_RELOC_TILEGX_IMM16_X0_HW0_PLT_PCREL,
+       BFD_RELOC_TILEGX_IMM16_X1_HW0_PLT_PCREL,
+       BFD_RELOC_TILEGX_IMM16_X0_HW1_PLT_PCREL,
+       BFD_RELOC_TILEGX_IMM16_X1_HW1_PLT_PCREL,
+       BFD_RELOC_TILEGX_IMM16_X0_HW2_PLT_PCREL,
+       BFD_RELOC_TILEGX_IMM16_X1_HW2_PLT_PCREL,
+       BFD_RELOC_TILEGX_IMM16_X0_HW3_PLT_PCREL,
+       BFD_RELOC_TILEGX_IMM16_X1_HW3_PLT_PCREL,
+       BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL,
+       BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL,
+       BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL,
+       BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL,
+       BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL,
+       BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL): new relocations.
+       * elfxx-tilegx.c (tilegx_elf_howto_table): Handle new relocations.
+       (tilegx_reloc_map): Ditto.
+       (reloc_to_create_func): Ditto.
+       (tilegx_elf_check_relocs): Ditto.
+       (tilegx_elf_gc_sweep_hook): Ditto.
+       (tilegx_elf_relocate_section): Ditto.
+       * libbfd.h: Regenerate.
+       * bfd-in2.h: Regenerate.
+
+2012-08-24  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
+
+       * elf32-arm.c (v8): New array.
+       (tag_cpu_arch_combine): Add support for ARMv8 attributes.
+       (elf32_arm_merge_eabi_attributes): Likewise.
+       (VFP_VERSION_COUNT): New define.
+
+2012-08-20  Tom Tromey  <tromey@redhat.com>
+
+       * vms-lib.c (_bfd_vms_lib_get_module): Use bfd_zmalloc for
+       areltdata.
+       * opncls.c (_bfd_delete_bfd): Free arelt_data.
+       * mach-o.c (bfd_mach_o_fat_member_init): Use bfd_zmalloc for
+       areltdata.
+       * ecoff.c (_bfd_ecoff_slurp_armap): Use free for mapdata.
+       * coff-rs6000.c (_bfd_xcoff_read_ar_hdr): Use bfd_zmalloc for
+       areltdata.
+       (xcoff_write_archive_contents_old): Likewise.
+       (xcoff_write_archive_contents_big): Likewise.
+       * archive64.c (bfd_elf64_archive_slurp_armap): Use free for
+       areltdata.
+       * archive.c (_bfd_generic_read_ar_hdr_mag): Use bfd_zmalloc and
+       free for areltdata.
+       (_bfd_get_elt_at_filepos): Likewise.  Clear n_nfd->arelt_data on
+       failure.
+       (do_slurp_bsd_armap): Use bfd_zmalloc and free for areltdata.
+       (do_slurp_coff_armap): Likewise.
+       (_bfd_slurp_extended_name_table): Likewise.
+       (bfd_slurp_bsd_armap_f2): Likewise.  Don't leak 'mapdata'.
+
+2012-08-17  Nick Clifton  <nickc@redhat.com>
+
+       * po/vi.po: Updated Vietnamese translation.
+
+2012-08-17  Yuri Chornoivan  <yurchor@ukr.net>
+
+       * elf-bfd.h, * elf32-ppc.c, * elf64-ia64-vms.c, * elfnn-ia64.c,
+       * elfxx-mips.c, * vms-alpha.c: Typo fixes.
+
+2012-08-17  Alan Modra  <amodra@gmail.com>
+
+       PR binutils/14475:
+       * archive.c (bfd_ar_hdr_from_filesystem): Revert last change.
+       Instead malloc areltdata.
+
+2012-08-16  Tom Tromey  <tromey@redhat.com>
+
+       PR binutils/14475:
+       * archive.c (bfd_ar_hdr_from_filesystem): Allocate areltdata on
+       'member' BFD.  Don't try to free 'ared'.
+
+2012-08-14  Nick Clifton  <nickc@redhat.com>
+
+       * po/uk.po: Updated Ukranian translation.
+
+2012-08-13  Maciej W. Rozycki  <macro@codesourcery.com>
+
+       * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Look up
+       the options section in the output rather than input BFD to
+       decide if to add a DT_MIPS_OPTIONS tag.
+
+2012-08-13  Maciej W. Rozycki  <macro@codesourcery.com>
+
+       * config.bfd: Wrap mips*el-*-linux* and mips*-*-linux* into
+       #ifdef BFD64.
+
+2012-08-13  Ian Bolton  <ian.bolton@arm.com>
+            Laurent Desnogues  <laurent.desnogues@arm.com>
+            Jim MacArthur  <jim.macarthur@arm.com>
+            Marcus Shawcroft  <marcus.shawcroft@arm.com>
+            Nigel Stephens  <nigel.stephens@arm.com>
+            Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+            Richard Earnshaw  <rearnsha@arm.com>
+            Sofiane Naci  <sofiane.naci@arm.com>
+            Tejas Belagod  <tejas.belagod@arm.com>
+            Yufeng Zhang  <yufeng.zhang@arm.com>
+
+       * Makefile.am: Add AArch64 files.
+       * Makefile.in: Regenerate.
+       * archures.c (bfd_aarch64_arch): New declaration.
+       (bfd_archures_list): Use bfd_archures_list.
+       * bfd-in.h (bfd_elf64_aarch64_init_maps): New declaration.
+       (bfd_aarch64_process_before_allocation): New declaration.
+       (bfd_elf64_aarch64_process_before_allocation): New declaration.
+       (bfd_elf64_aarch64_set_options): New declaration.
+       (bfd_elf64_aarch64_add_glue_sections_to_bfd): New declaration.
+       (BFD_AARCH64_SPECIAL_SYM_TYPE_MAP): New definition.
+       (BFD_AARCH64_SPECIAL_SYM_TYPE_TAG): New definition.
+       (BFD_AARCH64_SPECIAL_SYM_TYPE_OTHER): New definition.
+       (BFD_AARCH64_SPECIAL_SYM_TYPE_ANY): New definition.
+       (bfd_is_aarch64_special_symbol_name): New declaration.
+       (bfd_aarch64_merge_machines): New declaration.
+       (bfd_aarch64_update_notes): New declaration.
+       (int bfd_aarch64_get_mach_from_notes): New declaration.
+       (elf64_aarch64_setup_section_lists): New declaration.
+       (elf64_aarch64_next_input_section): New declaration.
+       (elf64_aarch64_size_stubs): New declaration.
+       (elf64_aarch64_build_stubs): New declaration.
+       * config.bfd: Add AArch64.
+       * configure.in: Add AArch64.
+       * configure: Regenerate.
+       * cpu-aarch64.c: New file.
+       * elf-bfd.h: Add AArch64.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+       * elf64-aarch64.c: New file.
+       * reloc.c: Add AArch64 relocations.
+       * targets.c: Add AArch64.
+       * po/SRC-POTFILES.in: Regenerate.
+
+2012-08-13  Maciej W. Rozycki  <macro@codesourcery.com>
+
+       * elfxx-mips.c (mips_elf_calculate_relocation): Fix the handling
+       of protected symbols.
+
+2012-08-10  Alan Modra  <amodra@gmail.com>
+
+       PR binutils/14444
+       * elf.c (IS_VALID_GROUP_SECTION_HEADER) Add minsize param.
+       (setup_group): Adjust uses.
+       (bfd_section_from_shdr): Allow SHT_GROUP sections with just a flag
+       word.
+
+2012-08-09  Nick Clifton  <nickc@redhat.com>
+
+       * po/vi.po: Updated Vietnamese translation.
+
+2012-08-09  Maciej W. Rozycki  <macro@codesourcery.com>
+
+       * elfxx-mips.c (LA25_LUI_MICROMIPS_1, LA25_LUI_MICROMIPS_2):
+       Remove macros, folding them into...
+       (LA25_LUI_MICROMIPS): ... this new macro.
+       (LA25_J_MICROMIPS_1, LA25_J_MICROMIPS_2): Likewise into...
+       (LA25_J_MICROMIPS): ... this new macro.
+       (LA25_ADDIU_MICROMIPS_1, LA25_ADDIU_MICROMIPS_2): Likewise
+       into...
+       (LA25_ADDIU_MICROMIPS): ... this new macro.
+       (bfd_put_micromips_32, bfd_get_micromips_32): New functions.
+       (mips_elf_create_la25_stub): Use them.
+       (check_br32_dslot, check_br32, check_relocated_bzc): Likewise.
+       (_bfd_mips_elf_relax_section): Likewise.
+
+2012-08-09  Alan Modra  <amodra@gmail.com>
+           Tom Tromey  <tromey@redhat.com>
+
+       * archive.c (SECTION Archives): Update documentation.
+       (_bfd_delete_archive_data): Remove.
+       (_bfd_add_bfd_to_archive_cache): Set 'parent_cache' and 'key'.
+       (archive_close_worker, _bfd_archive_close_and_cleanup): New
+       functions.
+       * libbfd-in.h (struct areltdata <parent_cache, key>): New fields.
+       (_bfd_delete_archive_data): Don't declare.
+       (_bfd_archive_close_and_cleanup): Declare.
+       (_bfd_generic_close_and_cleanup): Redefine.
+       * libbfd.h: Rebuild.
+       * opncls.c (_bfd_delete_bfd): Don't call _bfd_delete_archive_data.
+       (bfd_close): Don't close nested thin archives here.
+
+2012-08-07  Tom Tromey  <tromey@redhat.com>
+
+       * archive.c (_bfd_delete_archive_data): New function.
+       * libbfd-in.h (_bfd_delete_archive_data): Declare.
+       * libbfd.h: Rebuild.
+       * opncls.c (_bfd_delete_bfd): Call _bfd_delete_archive_data.
+
+2012-08-07  Nick Clifton  <nickc@redhat.com>
+
+       * po/uk.po: Updated Ukranian translation.
+
+2012-08-06  Maciej W. Rozycki  <macro@codesourcery.com>
+
+       * elflink.c (bfd_elf_record_link_assignment): Remove --defsym
+       symbols special case.
+
 2012-08-05  Maciej W. Rozycki  <macro@linux-mips.org>
 
        * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Don't allocate
        * dwarf2.c (struct line_info): Add discriminator field.
        (add_line_info): Fill in new discriminator field.
        (decode_line_info): Record discriminator information instead
-        of ignoring it.
+       of ignoring it.
        (lookup_address_in_line_info_table): Return discriminator field if
-        requested.
+       requested.
        (comp_unit_find_nearest_line): Add discriminator argument.
        (find_line): Likewise.
        (_bfd_dwarf2_find_nearest_line): Likewise.
        (_bfd_dwarf2_find_line): Likewise.
        * elf-bfd.h (_bfd_elf_find_nearest_line_discriminator): New.
-        (_bfd_elf_find_line_discriminator): Likewise.
-        (_bfd_generic_find_nearest_line_discriminator): Likewise. Defined.
+       (_bfd_elf_find_line_discriminator): Likewise.
+       (_bfd_generic_find_nearest_line_discriminator): Likewise. Defined.
        * elf.c (_bfd_elf_find_nearest_line): Change to a wrapper
-        that invokes _bfd_elf_find_nearest_line_discriminator with correct
-        arguments.
+       that invokes _bfd_elf_find_nearest_line_discriminator with correct
+       arguments.
        (_bfd_elf_find_nearest_line_discriminator): New.
        (_bfd_elf_find_line): Change to a wrapper
-        that invokes _bfd_elf_find_line_discriminator with correct
-        arguments.
+       that invokes _bfd_elf_find_line_discriminator with correct
+       arguments.
        (_bfd_elf_find_line_discriminator): New.
        * coffgen.c (coff_find_nearest_line_with_names): Handle
-        new discriminator argument.
+       new discriminator argument.
        * elf32-arm.c (elf32_arm_find_nearest_line): Likewise.
        * elf64-alpha.c (elf64_alpha_find_nearest_line): Likewise.
        * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Likewise.
        * mach-o.c (bfd_mach_o_find_nearest_line): Likewise.
        * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Add discriminator
-        argument.
-        (_bfd_dwarf2_find_line): Likewise.
-        (_bfd_generic_find_nearest_line_discriminator): New.
+       argument.
+       (_bfd_dwarf2_find_line): Likewise.
+       (_bfd_generic_find_nearest_line_discriminator): New.
        * libbfd.c (_bfd_generic_find_nearest_line_discriminator): New.
        * bfd-in2.h: Regenerated.
        * libbfd.h: Likewise.
        * targets.c (BFD_JUMP_TABLE_SYMBOLS): Initialize
-        _bfd_find_nearest_line_discriminator with
-        _bfd_generic_find_nearest_line_discriminator.
-        (bfd_target): Add _bfd_find_nearest_line_discriminator.
+       _bfd_find_nearest_line_discriminator with
+       _bfd_generic_find_nearest_line_discriminator.
+       (bfd_target): Add _bfd_find_nearest_line_discriminator.
 
 2012-07-24  Sean Keys  <skeys@ipdatasys.com>
 
-        * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Added code
+       * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Added code
        that enables the linker to offset addresses, when linking against
-        symbols from the XGATE processor and vice versa.
+       symbols from the XGATE processor and vice versa.
 
 2012-07-23  Nick Clifton  <nickc@redhat.com>
 
 2012-05-23  Alan Modra  <amodra@gmail.com>
 
        * elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Handle
-        BFDs with multiple .eh_frame sections.
+       BFDs with multiple .eh_frame sections.
 
 2012-05-23  Alan Modra  <amodra@gmail.com>
 
 
 2012-05-16  Alan Modra  <amodra@gmail.com>
 
-       PR ld/13962
-       PR ld/7023
+       PR ld/13962
+       PR ld/7023
        * elf.c (bfd_section_from_shdr): Fail when .dynsym sh_info is
        out of range.  As a special case, fix sh_info for zero sh_size.
        Do the same for .symtab.
This page took 0.029872 seconds and 4 git commands to generate.