* bfd-in.h (STRING_AND_COMMA): New macro. Takes one constant string as its
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 0b9613de143755022dd81ecc916d11f19341a280..fa9e137e084f46b41f95af9cdcf5a3b560cbb519 100644 (file)
@@ -1,3 +1,432 @@
+2006-09-16  Nick Clifton  <nickc@redhat.com>
+           Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * bfd-in.h (STRING_AND_COMMA): New macro.  Takes one constant
+       string as its argument and emits the string followed by a comma
+       and then the length of the string.
+       (CONST_STRNEQ): New macro.  Checks to see if a variable string
+       has a constant string as its initial characters.
+       (CONST_STRNCPY): New macro.  Copies a constant string to the start
+       of a variable string.
+       * bfd-in2.h: Regenerate.
+       * archive.c: Make use of the new macros.
+       * archive64.c: Likewise.
+       * bfd.c: Likewise.
+       * coff-ppc.c: Likewise.
+       * coff-stgo32.c: Likewise.
+       * coffcode.h: Likewise.
+       * cofflink.c: Likewise.
+       * cpu-i960.c: Likewise.
+       * dwarf2.c: Likewise.
+       * ecoff.c: Likewise.
+       * elf-m10300.c: Likewise.
+       * elf.c: Likewise.
+       * elf32-arm.c: Likewise.
+       * elf32-bfin.c: Likewise.
+       * elf32-cris.c: Likewise.
+       * elf32-hppa.c: Likewise.
+       * elf32-i370.c: Likewise.
+       * elf32-i386.c: Likewise.
+       * elf32-iq2000.c: Likewise.
+       * elf32-m32r.c: Likewise.
+       * elf32-m68hc11.c: Likewise.
+       * elf32-m68hc12.c: Likewise.
+       * elf32-m68k.c: Likewise.
+       * elf32-mcore.c: Likewise.
+       * elf32-ppc.c: Likewise.
+       * elf32-s390.c: Likewise.
+       * elf32-sh-symbian.c: Likewise.
+       * elf32-sh.c: Likewise.
+       * elf32-sh64.c: Likewise.
+       * elf32-v850.c: Likewise.
+       * elf32-vax.c: Likewise.
+       * elf32-xtensa.c: Likewise.
+       * elf64-alpha.c: Likewise.
+       * elf64-hppa.c: Likewise.
+       * elf64-mmix.c: Likewise.
+       * elf64-ppc.c: Likewise.
+       * elf64-s390.c: Likewise.
+       * elf64-sh64.c: Likewise.
+       * elf64-x86-64.c: Likewise.
+       * elflink.c: Likewise.
+       * elfxx-ia64.c: Likewise.
+       * elfxx-mips.c: Likewise.
+       * elfxx-sparc.c: Likewise.
+       * hpux-core.c: Likewise.
+       * i386linux.c: Likewise.
+       * ieee.c: Likewise.
+       * libpei.h: Likewise.
+       * linker.c: Likewise.
+       * m68klinux.c: Likewise.
+       * mmo.c: Likewise.
+       * nlmcode.h: Likewise.
+       * osf-core.c: Likewise.
+       * pef.c: Likewise.
+       * som.c: Likewise.
+       * sparclinux.c: Likewise.
+       * vms-hdr.c: Likewise.
+
+2006-09-14  Alan Modra  <amodra@bigpond.net.au>
+
+       PR 3182
+       * elf.c (_bfd_elf_copy_private_header_data): Fix group members
+       that have had their SHT_GROUP section removed.
+
+2006-09-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/3197
+       * elflink.c (elf_link_output_extsym): Compute bucket only if
+       needed.
+
+2006-09-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/3186
+       * elf.c (_bfd_elf_make_section_from_shdr): Correct length of
+       "gnu.linkonce.wi.".
+
+2006-09-08  Vladimir Prus  <vladimir@codesourcery.com>
+
+       * elf32-arm.c (elf32_arm_swap_symbol_out): Remove
+       unconditional setting of low bit for Thumb symbol
+       mistakenly left behind after check for external
+       symbols was added.  Fix comment typo.
+
+2006-09-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf-bfd.h (elf_link_hash_entry): Add a dynamic field.
+       (bfd_elf_link_mark_dynamic_symbol): New.
+       (SYMBOLIC_BIND): New.
+
+       * elf32-i386.c (elf_i386_check_relocs): Replace info->symbolic
+       with SYMBOLIC_BIND (info, h).
+       (elf_i386_relocate_section): Likewise.
+       * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
+       (elf64_x86_64_relocate_section): Likewise.
+       * elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise.
+
+       * elflink.c (bfd_elf_link_mark_dynamic_symbol): New.
+       (bfd_elf_record_link_assignment): Call
+       bfd_elf_link_mark_dynamic_symbol on new entry.
+       (_bfd_elf_merge_symbol): Likewise.
+       (_bfd_elf_export_symbol): Return if the symbol isn't exported.
+       (_bfd_elf_fix_symbol_flags): Replace info->symbolic with
+       SYMBOLIC_BIND (info, h).
+       (_bfd_elf_dynamic_symbol_p): Likewise.
+       (_bfd_elf_symbol_refs_local_p): Likewise.
+       (bfd_elf_size_dynamic_sections): Updated.
+
+2006-09-05  Bibo Mao  <bibo.mao@intel.com>
+
+       PR binutils/3171
+       * coffcode.h (coff_write_object_contents): Set the optional
+       header magic number to PE32PMAGIC instead of ZMAGIC for ia64.
+
+2006-09-04  Mark Shinwell  <shinwell@codesourcery.com>
+
+        * elf32-arm.c (elf32_arm_howto_table_1): Adjust entries for
+        R_ARM_THM_ALU_PREL_11_0 and R_ARM_THM_PC12 relocations.
+        (elf32_arm_final_link_relocate): Handle R_ARM_THM_ALU_PREL_11_0
+        and R_ARM_THM_PC12 relocations.
+
+2006-08-24  Bob Wilson  <bob.wilson@acm.org>
+
+       * elf32-xtensa.c (xtensa_get_property_section_name): Delete.
+       (xtensa_get_property_section): New.
+       (xtensa_read_table_entries): Use xtensa_get_property_section.
+       (relax_property_section, xtensa_get_property_predef_flags): Handle
+       group name suffixes in property section names.
+       (match_section_group): New.
+
+2006-08-23  Frediano Ziglio  <Frediano.Ziglio@vodafone.com>
+
+       * archive.c (hpux_uid_gid_encode): Fix thinko decrementing "cnt"
+       variable.
+
+2006-08-22  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * elf32-arm.c (elf32_arm_copy_indirect_symbol): Only copy
+       plt_thumb_refcount from indirect symbols.
+
+2006-08-22  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-ppc.c (ppc_elf_relocate_section): Correct GOT and PLT HA
+       reloc handling.
+       * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+
+2006-08-21  Mark Shinwell  <shinwell@codesourcery.com>
+
+       * elf32-arm.c (elf32_arm_link_hash_table): Correct typo in
+       comment for target1_is_rel.
+
+2006-08-21  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * Makefile.am: Add rules to build pe-arm-wince.lo
+       and pei-arm-wince.lo objects.
+       * Makefile.in: Regenerate.
+       * pe-arm-wince.c: New file.
+       * pei-arm-wince.c: New file.
+       * pei-arm.c: Remove ARM_WINCE block.
+       * pe-arm.c: Remove ARM_WINCE block. Rename
+       bfd_arm_pe_allocate_interworking_sections,
+       bfd_arm_pe_get_bfd_for_interworking, and
+       bfd_arm_pe_process_before_allocation to        
+       bfd_armpe_allocate_interworking_sections,
+       bfd_armpe_get_bfd_for_interworking, and
+       bfd_armpe_process_before_allocation. Move them before
+       including bfd.h.
+       * bfd.c: ARM wince bfd format names were renamed. Adjust.
+       * coff-arm.c [ARM_WINCE]: Adjust so Windows CE doesn't end up
+       with unexpected/conflicting relocs.
+       * targets.c: The arm-wince-pe target got its own new vector.
+       Adjust.
+       * config.bfd: Likewise.
+       * configure.in: Likewise.
+       * configure: Regenerate.
+
+2006-08-18  Paul Brook  <paul@codesourcery.com>
+
+       * elf32-arm.c (elf32_arm_link_hash_entry): Add export_glue.
+       (elf32_arm_link_hash_newfunc): Initialize export_glue.
+       (record_arm_to_thumb_glue): Return stub symbol.
+       (elf32_arm_create_thumb_stub): New function.
+       (elf32_arm_to_thumb_stub): Use it.
+       (elf32_arm_to_thumb_export_stub): New function.
+       (elf32_arm_begin_write_processing): New function.
+       (allocate_dynrelocs): Allocate Arm stubs.
+       (elf_backend_begin_write_processing): Define.
+       (elf32_arm_symbian_begin_write_processing): Remove ATTRIBUTE_UNUSED.
+       Call elf32_arm_begin_write_processing.
+
+2006-08-17  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (create_linkage_sections): Align .glink to 8 bytes.
+       (ppc64_elf_build_stubs): Use new lazy linking stub.
+
+2006-08-17  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (ppc64_elf_size_stubs): Ignore non-code sections.
+
+2006-08-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/3015
+       * elf.c (get_program_header_size): Add a PT_GNU_RELRO segment
+       only if there is a PT_DYNAMIC segment.
+       (_bfd_elf_map_sections_to_segments): Likewise.
+       (assign_file_positions_for_load_sections): Set PT_GNU_RELRO
+       segment alignment to 1.
+
+2006-08-15  Thiemo Seufer  <ths@mips.com>
+            Nigel Stephens  <nigel@mips.com>
+
+       * elf32-mips.c, elf64-mips.c, elfn32-mips.c
+       (elf_backend_merge_symbol_attribute): Define.
+       * elflink.c (elf_link_add_object_symbols): Merge only the ELF
+       visibility flags.
+       * elfxx-mips.c (_bfd_mips_elf_merge_symbol_attribute): New function.
+
+2006-08-15  Thiemo Seufer  <ths@mips.com>
+            Nigel Stephens  <nigel@mips.com>
+            David Ung  <davidu@mips.com>
+
+       * config.bfd: Add configurations for mips*el-sde-elf* and
+       mips*-sde-elf*.
+
+2006-08-14  DJ Delorie  <dj@redhat.com>
+
+       * elf-m10300.c (elf32_mn10300_link_hash_entry): Add value.
+       (elf32_mn10300_count_hash_table_entries): New.
+       (elf32_mn10300_list_hash_table_entries): New.
+       (sort_by_value): New.
+       (mn10300_elf_relax_section): Don't skip data sections; restrict
+       code-specific tests to code-specific areas so that potential
+       indirect calls can be detected.  Check for multiple local symbols
+       at the same address and merge their flags.
+       (elf32_mn10300_link_hash_newfunc): Initialize value.
+
+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.
This page took 0.027386 seconds and 4 git commands to generate.