* elfxx-mips.c (_bfd_mips_elf_symbol_processing,
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 411f704db217b2c05726474c77b7262e9b46009a..1ee68b9f2179b80d448536fc2867b15d03806a9e 100644 (file)
@@ -1,3 +1,266 @@
+2006-08-14  Thiemo Seufer  <ths@mips.com>
+
+       * elfxx-mips.c (_bfd_mips_elf_symbol_processing,
+       _bfd_mips_elf_add_symbol_hook): Don't try to place small common TLS
+       symbols in .scommon.
+
+2006-08-11  Thiemo Seufer  <ths@mips.com>
+
+       * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Set
+       sh_entsize only when sgot was already initialized.
+
+2006-08-08  DJ Delorie  <dj@redhat.com>
+
+       * elf32-sh.c (sh_elf_relax_section): Allow for branches across
+       non-moving .align directives.  Preserve any DIR32 offset when
+       converting bsr's to jsr's.
+
+2006-08-08  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (ppc64_elf_build_stubs): Clear relbrlt reloc_count
+       after stubs have been built.
+
+2006-08-07  Nick Clifton  <nickc@redhat.com>
+
+       * elf32-sh.c (vxworks_object_p): Only check for vxworks target
+       vectors if they are going to be created.
+
+2006-08-07  Nick Clifton  <nickc@redhat.com>
+
+       * configure.in (bfd_elf32_shnbsd_vec): Fix typo.
+       * configure: Regenerate.
+
+2006-08-07  Nick Clifton  <nickc@redhat.com>
+
+       * coff-arm.c (coff_arm_rtype_to_howto): Only check for ARM_SECREL
+       relocation types if the target is ARM_WINCE.
+
+2006-08-05  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * bfd.c (bfd_get_sign_extend_vma): Add cases for pe-arm-little
+       and pei-arm-little.
+       * coff-arm.c (coff_arm_rtype_to_howto) [COFF_WITH_PE]: Handle
+       ARM_SECREL.
+       (coff_arm_reloc_type_lookup): Map BFD_RELOC_32_SECREL to
+       ARM_SECREL.
+       * pe-arm.c [COFF_SECTION_ALIGNMENT_ENTRIES]: Define.
+       * pei-arm.c [TARGET_UNDERSCORE]: Define for ARM_WINCE like in
+       pe-arm.c.
+       [COFF_SECTION_ALIGNMENT_ENTRIES]: Define.
+
+2006-08-04  Marcelo Tosatti  <marcelo@kvack.org>
+
+       * elflink.c (elf_gc_sweep): If info.print_gc_sections is true,
+       list removed sections to stderr.
+
+2006-08-04  Richard Sandiford  <richard@codesourcery.com>
+           Kazu Hirata  <kazu@codesourcery.com>
+           Phil Edwards  <phil@codesourcery.com>
+           Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config.bfd (sh-*-vxworks): Use bfd_elf32_shvxworks_vec and
+       bfd_elf32_shlvxworks_vec.
+       * configure.in (bfd_elf32_sh64_vec): Add elf-vxworks.lo.
+       (bfd_elf32_sh64l_vec, bfd_elf32_sh64lin_vec): Likewise.
+       (bfd_elf32_sh64blin_vec, bfd_elf32_sh64lnbsd_vec): Likewise.
+       (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh_vec): Likewise.
+       (bfd_elf32_shblin_vec, bfd_elf32_shl_vec): Likewise.
+       (bfd_elf32_shl_symbian_vec, bfd_elf32_shlin_vec): Likewise.
+       (bfd_elf32_shlnbsd_vec, bfd_elf32_shnbsd_vec): Likewise.
+       (bfd_elf32_shlvxworks_vec, bfd_elf32_shvxworks_vec): New stanzas.
+       * configure: Regenerate.
+       * Makefile.am: Regenerate dependencies.
+       * Makefile.in: Regenerate.
+       * elf-vxworks.c (elf_vxworks_gott_symbol_p): New function.
+       (elf_vxworks_add_symbol_hook): Use it.
+       (elf_vxworks_link_output_symbol_hook): Likewise.  Use the hash
+       table entry to check for weak undefined symbols and to obtain
+       the original bfd.
+       (elf_vxworks_emit_relocs): Use target_index instead of this_idx.
+       * elf32-sh-relocs.h: New file, split from elf32-sh.c.
+       (R_SH_DIR32): Use SH_PARTIAL32 for the partial_inplace field,
+       SH_SRC_MASK32 for the src_mask field, and SH_ELF_RELOC for the
+       special_function field.
+       (R_SH_REL32): Use SH_PARTIAL32 and SH_SRC_MASK32 here too.
+       (R_SH_REL32, R_SH_TLS_GD_32, R_SH_TLS_LD_32): Likewise.
+       (R_SH_TLS_LDO_32, R_SH_TLS_IE_32, R_SH_TLS_LE_32): Likewise.
+       (R_SH_TLS_DTPMOD32, R_SH_TLS_DTPOFF32, R_SH_TLS_TPOFF32): Likewise.
+       (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT): Likewise.
+       (R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): Likewise.
+       (SH_PARTIAL32, SH_SRC_MASK32, SH_ELF_RELOC): Undefine at end of file.
+       * elf32-sh.c: Include elf32-vxworks.h.
+       (MINUS_ONE): Define.
+       (sh_elf_howto_table): Include elf32-sh-relocs.h with SH_PARTIAL32
+       set to TRUE, SH_SRC_MASK32 set to 0xffffffff, and SH_ELF_RELOC set
+       to sh_elf_reloc.
+       (sh_vxworks_howto_table): New variable.  Include elf32-sh-relocs.h
+       with SH_PARTIAL32 set to FALSE, SH_SRC_MASK32 set to 0, and
+       SH_ELF_RELOC set to bfd_elf_generic_reloc.
+       (vxworks_object_p, get_howto_table): New functions.
+       (sh_elf_reloc_type_lookup): Fix typo.  Use get_howto_table.
+       (sh_elf_info_to_howto): Use get_howto_table.
+       (sh_elf_relax_section): Honor the partial_inplace field of the
+       R_SH_DIR32 howto.
+       (sh_elf_relax_delete_bytes): Likewise.
+       (elf_sh_plt_info): New structure.
+       (PLT_ENTRY_SIZE): Replace both definitions with...
+       (ELF_PLT_ENTRY_SIZE): ...this new macro, with separate definitions for
+       INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
+       (elf_sh_plt0_entry_be): Update sizes of both definitions accordingly.
+       (elf_sh_plt0_entry_le): Likewise.
+       (elf_sh_plt_entry_be, elf_sh_plt_entry_le): Likewise.
+       (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le): Likewise.
+       (elf_sh_plts): New structure, with separate definitions for
+       INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
+       (elf_sh_plt0_entry): Delete both definitions.
+       (elf_sh_plt_entry, elf_sh_pic_plt_entry): Likewise.
+       (elf_sh_sizeof_plt, elf_sh_plt_plt0_offset): Likewise.
+       (elf_sh_plt_temp_offset, elf_sh_plt_symbol_offset): Likewise.
+       (elf_sh_plt_reloc_offset): Likewise.
+       (movi_shori_putval): Delete in favor of...
+       (install_plt_field): ...this new function, with separate definitions
+       for INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
+       (get_plt_info): New function, with separate definitions
+       for INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA.
+       (elf_sh_plt0_linker_offset, elf_sh_plt0_gotid_offset): Delete.
+       (VXWORKS_PLT_HEADER_SIZE, VXWORKS_PLT_ENTRY_SIZE): New macros.
+       (vxworks_sh_plt0_entry_be, vxworks_sh_plt0_entry_le): New constants.
+       (vxworks_sh_plt_entry_be, vxworks_sh_plt_entry_le): Likewise.
+       (vxworks_sh_pic_plt_entry_be, vxworks_sh_pic_plt_entry_le): Likewise.
+       (get_plt_index, get_plt_offset): New functions.
+       (elf_sh_link_hash_table): Add srelplt2, plt_info and vxworks_p fields.
+       (sh_elf_link_hash_table_create): Initialize them.
+       (sh_elf_create_dynamic_sections): Call
+       elf_vxworks_create_dynamic_sections for VxWorks.
+       (allocate_dynrelocs): Use htab->plt_info to get the size of PLT
+       entries.  Allocate relocation entries in .rela.plt.unloaded if
+       generating a VxWorks executable.
+       (sh_elf_always_size_sections): New function.
+       (sh_elf_size_dynamic_sections): Extend .rela.plt handling to
+       .rela.plt.unloaded.
+       (sh_elf_relocate_section): Use get_howto_table.  Honor
+       partial_inplace when calculating the addend for dynamic
+       relocations.  Use get_plt_index.
+       (sh_elf_finish_dynamic_symbol): Use get_plt_index, install_plt_field
+       and htab->plt_info.  Fill in the bra .plt offset for VxWorks
+       executables.  Populate .rela.plt.unloaded.  Do not make
+       _GLOBAL_OFFSET_TABLE_ absolute on VxWorks.
+       (sh_elf_finish_dynamic_sections): Use install_plt_field and
+       htab->plt_info.  Handle cases where there is no special PLT header.
+       Populate the first relocation in .rela.plt.unloaded and fix up
+       the remaining entries.
+       (sh_elf_plt_sym_val): Use get_plt_info.
+       (elf_backend_always_size_sections): Define.
+       (TARGET_BIG_SYM, TARGET_BIG_NAME): Override for VxWorks.
+       (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise.
+       (elf32_bed, elf_backend_want_plt_sym): Likewise.
+       (elf_symbol_leading_char, elf_backend_want_got_underscore): Likewise.
+       (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Likewise.
+       (elf_backend_add_symbol_hook): Likewise.
+       (elf_backend_link_output_symbol_hook): Likewise.
+       (elf_backend_emit_relocs): Likewise.
+       (elf_backend_final_write_processing): Likewise.
+       (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): Likewise.
+       * targets.c (bfd_elf32_shlvxworks_vec): Declare.
+       (bfd_elf32_shvxworks_vec): Likewise.
+       (_bfd_target_vector): Include bfd_elf32_shlvxworks_vec and
+       bfd_elf32_shvxworks_vec.
+
+2006-08-02  Mark Kettenis  <kettenis@gnu.org>
+
+       * configure.in (arm-*-openbsd*): Set COREFILE to netbsd-core.lo.
+       * configure: Regenerate.
+
+2006-08-02  Petr Salinger  <Petr.Salinger@seznam.cz>
+
+       PR binutils/2983
+       * elf64-x86-64.c: Add FreeBSD support.
+       (elf64_x86_64_fbsd_post_process_headers): New function.
+       * targets.c (_bfd_target_vector): Add bfd_elf64_x86_64_freebsd_vec.
+       * config.bfd (x64_64-*-freebsd*): Add bfd_elf64_x86_64_freebsd_vec
+       to the targ_selvecs.
+       * configure.in: Add entry for bfd_elf64_x86_64_freebsd_vec.
+       * configure: Regenerate.
+
+2006-07-26  Andreas Schwab  <schwab@suse.de>
+
+       * elfxx-ia64.c (elfNN_ia64_choose_gp): Use rawsize if set.
+
+2006-07-26  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf.c (elf_modify_segment_map): Delete empty PT_LOAD segments.
+       * elf32-xtensa.c (elf_xtensa_modify_segment_map): Delete.
+       (define elf_backend_modify_segment_map): Don't define.
+
+2006-07-25  Thiemo Seufer  <ths@networkno.de>
+
+       * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Allow
+       linking of objects for compatible machine types.
+
+2006-07-25  Thiemo Seufer  <ths@networkno.de>
+
+       * elfxx-mips.c (mips_elf_next_relocation): Tighten check to test
+       also for same symbol.
+
+2006-07-25  Thiemo Seufer  <ths@mips.com>
+
+       * elfxx-mips.c (mips_elf_calculate_relocation): Remove magic constant.
+
+2006-07-24  Michael Wetherell  <mike.wetherell@ntlworld.com>
+
+       * elf.c (bfd_section_from_shdr): Reject unrecognised OS-specific
+       sections only if the SHF_OS_NONCONFORMING flag is present.
+
+2006-07-24  Nick Clifton  <nickc@redhat.com>
+
+       PR ld/2729
+       * peXXigen.c (_bfd_XXi_final_link_postscript): Check for the
+       existance of output sections before putting their entries into the
+       DataDictionary.
+
+2006-07-20  Thiemo Seufer  <ths@mips.com>
+
+       * elf32-mips.c (mips16_jump_reloc): Remove function.
+       (elf_mips16_howto_table_rel): Use _bfd_mips_elf_generic_reloc
+       instead of mips16_jump_reloc.
+       * elf64_mips.c, wlfn32-mips.c (mips16_jump_reloc): Remove function.
+       (elf_mips16_howto_table_rel, elf_mips16_howto_table_rela): Use
+       _bfd_mips_elf_generic_reloc instead of mips16_jump_reloc.
+
+2006-07-19  Alan Modra  <amodra@bigpond.net.au>
+
+       * bfd-in.h (enum notice_asneeded_action): Define.
+       * bfd-in2.h: Regenerate.
+       * elflink.c (elf_link_add_object_symbols): Call linker "notice"
+       function with NULL name for as-needed handling.
+
+2006-07-18  Paul Brook  <paul@codesourcery.com>
+
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+       * reloc.c: Add BFD_RELOC_ARM_T32_ADD_IMM.
+
+2006-07-18  Nick Clifton  <nickc@redhat.com>
+
+       * elfxx-mips.c (_bfd_mips_elf_common_definition): New function.
+       Consider SHN_MIPS_ACOMMON and SHN_MIPS_SCOMMON as being common
+       sections.
+       * elfxx-mips.h  (_bfd_mips_elf_common_definition): Prototype.
+
+2006-07-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Fix cinfo.shift2 value.
+
+2006-07-14  Mark Kettenis  <kettenis@gnu.org>
+
+       * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Move declarations
+       to the start of a block.
+
+2006-07-13  Nick Clifton  <nickc@redhat.com>
+
+       * coff-sh.c (_bfd_sh_align_load_span): Catch sh_insn_info()
+       returning a NULL value.
+
 2006-07-12  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR ld/2884
This page took 0.026788 seconds and 4 git commands to generate.