X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2FChangeLog;h=1ee68b9f2179b80d448536fc2867b15d03806a9e;hb=b59eed791185545a2ccb2eef9e4e70b758a7e639;hp=411f704db217b2c05726474c77b7262e9b46009a;hpb=d2dee3b25cafc19da767092a02deb52335e47591;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 411f704db2..1ee68b9f21 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,266 @@ +2006-08-14 Thiemo Seufer + + * 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 + + * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Set + sh_entsize only when sgot was already initialized. + +2006-08-08 DJ Delorie + + * 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 + + * elf64-ppc.c (ppc64_elf_build_stubs): Clear relbrlt reloc_count + after stubs have been built. + +2006-08-07 Nick Clifton + + * elf32-sh.c (vxworks_object_p): Only check for vxworks target + vectors if they are going to be created. + +2006-08-07 Nick Clifton + + * configure.in (bfd_elf32_shnbsd_vec): Fix typo. + * configure: Regenerate. + +2006-08-07 Nick Clifton + + * 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 + + * 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 + + * elflink.c (elf_gc_sweep): If info.print_gc_sections is true, + list removed sections to stderr. + +2006-08-04 Richard Sandiford + Kazu Hirata + Phil Edwards + Nathan Sidwell + + * 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 + + * configure.in (arm-*-openbsd*): Set COREFILE to netbsd-core.lo. + * configure: Regenerate. + +2006-08-02 Petr Salinger + + 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 + + * elfxx-ia64.c (elfNN_ia64_choose_gp): Use rawsize if set. + +2006-07-26 Alan Modra + + * 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 + + * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Allow + linking of objects for compatible machine types. + +2006-07-25 Thiemo Seufer + + * elfxx-mips.c (mips_elf_next_relocation): Tighten check to test + also for same symbol. + +2006-07-25 Thiemo Seufer + + * elfxx-mips.c (mips_elf_calculate_relocation): Remove magic constant. + +2006-07-24 Michael Wetherell + + * 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 + + 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 + + * 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 + + * 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 + + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * reloc.c: Add BFD_RELOC_ARM_T32_ADD_IMM. + +2006-07-18 Nick Clifton + + * 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 + + * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Fix cinfo.shift2 value. + +2006-07-14 Mark Kettenis + + * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Move declarations + to the start of a block. + +2006-07-13 Nick Clifton + + * coff-sh.c (_bfd_sh_align_load_span): Catch sh_insn_info() + returning a NULL value. + 2006-07-12 H.J. Lu PR ld/2884