2002-02-11 Alan Modra * Makefile.am: "make dep-am". * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * config.in: Regenerate. * configure: Regenerate. 2002-02-10 Daniel Jacobowitz * coff-rs6000.c (xcoff_generate_rtinit): Silence uninitialized variable warnings. * elf32-sh.c (sh_elf_relax_section): Silence signed/unsigned comparison warning. * trad-core.c (trad_unix_core_file_p): Silence pointer/integer cast warnings for the common case. 2002-02-10 Hans-Peter Nilsson * config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64 vectors. (sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64 vectors. 2002-02-09 Richard Henderson * elf64-alpha.c (elf64_alpha_howto): Add R_ALPHA_BRSGP. (elf64_alpha_reloc_map, elf64_alpha_check_relocs): Likewise. (elf64_alpha_relocate_section): Likewise. * reloc.c (BFD_RELOC_ALPHA_BRSGP): New. * bfd-in2.h, libbfd.h: Rebuild. 2002-02-09 Hans-Peter Nilsson * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): Check that base-plus-offset reloc accounting is consistent. (mmix_elf_relax_section): Keep base-plus-offset reloc accounting up to date for undefined symbols. 2002-02-08 Eric Christopher From Rainer Orth * elf32-mips.c (_bfd_mips_elf_fake_sections): Don't create .rela sections for the O32 ABI. 2002-02-08 Chris Demetriou * elf32-arm.h: Fix formatting of _("..."). * elf32-d10v.c: Likewise. * elf32-m68k.c: Likewise. * elf32-mips.c: Likewise. 2002-02-08 Ivan Guzvinec * coff-or32.c: Fix compile time warning messages. 2002-02-08 Alexandre Oliva Contribute sh64-elf. 2002-01-23 Alexandre Oliva * reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16, R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16, R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16, R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16, R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16, R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16, R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16, R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8, R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64): New relocs. * libbfd.h, bfd-in2.h: Rebuilt. * elf32-sh.c (sh_elf_howto_table): Define new relocs. (sh_reloc_map): Map them. (PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le, elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry, elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset, elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset, elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset, movi_shori_putval) [INCLUDE_SHMEDIA]: New. (elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add datalabel_got_offset. (sh_elf_link_hash_newfunc): Initialize it. (sh_elf_relocate_section): Augment the scope of seen_stt_datalabel. Introduce GOTPLT support. Extend GOTPC, PLT, GOT and GOTOFF handling to new SHmedia relocation types. Support GOT_BIAS. (sh_elf_check_relocs): Likewise. (sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in PLT entries using movi_shori_putval. Support GOT_BIAS. (sh_elf_finish_dynamic_sections): Likewise. * elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to relocation, it's now done by the caller. (GOT_BIAS): New. * elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt, elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset, elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset, elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER, elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry, elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse, sh64_elf64_hash_table): New. (sh_elf64_howto_table): Introduce new relocs. (sh_elf64_info_to_howto): Accept new PIC relocs. (sh_elf64_relocate_section): Augment the scope of seen_stt_datalabel. Support new PIC relocs. (sh_elf64_check_relocs): Support new PIC relocs. (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le, elf_sh64_plt_entry_be, elf_sh64_plt_entry_le, elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le, elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry, sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create, movi_shori_putval, movi_3shori_putval, sh64_elf64_create_dynamic_sections, sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies, sh64_elf64_size_dynamic_sections, sh64_elf64_finish_dynamic_symbol, sh64_elf64_finish_dynamic_sections): New. (elf_backend_create_dynamic-sections, bfd_elf64_bfd_link_hash_table_create, elf_backend_adjust_dynamic_symbol, elf_backend_size_dynamic_sections, elf_backend_finish_dynamic_symbol, elf_backend_finish_dynamic_sections, elf_backend_want_got_plt, elf_backend_plt_readonly, elf_backend_want_plt_sym, elf_backend_got_header_size, elf_backend_plt_header_size): Define. 2001-05-16 Alexandre Oliva * elf32-sh.c: Renumbered and renamed some SH5 relocations to match official numbers and names; moved unmaching ones to the range 0xf2-0xff. * elf32-sh64.c, elf64-sh64.c: Likewise. 2001-03-12 DJ Delorie * elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia sections. 2001-03-12 DJ Delorie * elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must be aligned. * elf64-sh64.c (sh_elf64_relocate_section): Ditto. 2001-01-14 Hans-Peter Nilsson * elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define. (sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a .cranges section with SEC_SORT_ENTRIES set. (sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an incoming sorted .cranges section. (sh64_bfd_elf_copy_private_section_data): New. (sh64_elf_final_write_processing): Only sort .cranges and modify start address if called by linker. 2001-01-08 Ben Elliston * elf32-sh64.c (sh64_elf_final_write_processing): Activate Hans-Peter Nilsson's set bit 0 patch from 2001-01-06. * elf64-sh64.c (sh64_elf64_final_write_processing): Ditto. 2001-01-06 Hans-Peter Nilsson * elf64-sh64.c (sh_elf64_howto_table): No open brace at start of line. Add comments before all entries. : Correct and clarify describing comment. (sh_elf64_reloc): Correct head comment. (sh_elf64_relocate_section): Correct spacing. : Do not honour STO_SH5_ISA32; instead call reloc_dangerous callback. : New case. (sh_elf64_gc_mark_hook): Correct spacing. (sh_elf64_check_relocs): Ditto. * elf32-sh64.c (shmedia_prepare_reloc) : New case. * elf32-sh.c: Correct #endif comments for #ifndef-wrapped functions. (sh_elf_howto_table) : Correct, clarify describing comment. Add comments before all entries. (sh_elf_relocate_section) : Do not honour STO_SH5_ISA32; instead call reloc_dangerous callback. 2001-01-06 Hans-Peter Nilsson Sort .cranges section in final link. Prepare to set bit 0 on entry address. * elf32-sh64.c (struct sh64_find_section_vma_data): New. (sh64_elf_link_output_symbol_hook): Fix typo in prototype. (sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming .cranges section. (sh64_backend_section_from_shdr): New, to recognize SHT_SH5_CR_SORTED on incoming .cranges section. (elf_backend_section_from_shdr): Define. (sh64_elf_final_write_processing): Sort outgoing .cranges section. (New, temporarily disabled:) Set bit 0 on entry address according to ISA type. (sh64_find_section_for_address): New. (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb, crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c. (sh64_address_in_cranges): Move here from opcodes/sh64-dis.c. Use bfd_malloc, not xmalloc. (sh64_get_contents_type): Move here from opcodes/sh64-dis.c. Make global. * elf32-sh64.c (sh64_elf64_final_write_processing): New, (but temporarily disabled) setting bit 0 on entry address. (elf_backend_final_write_processing): Define. 2001-01-05 Hans-Peter Nilsson * elf32-sh.c (sh_elf_howto_table) : Adjust fields to be a proper relocation for PTA and PTB rather than a marker. : Zero src_mask. * elf64-sh64.c: Ditto. (sh_elf64_relocate_section) : New case. * elf32-sh64.c: Include opcodes/sh64-opc.h (shmedia_prepare_reloc): Take a bfd_link_info pointer as first argument. Drop const qualifiers from "bfd *" and "bfd_byte *" parameters. No unused parameters. Caller changed. : New case. * Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h. * Makefile.in: Regenerate. 2000-12-30 Hans-Peter Nilsson * elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for all code sections. (sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5. (sh64_elf_merge_private_data): Ditto. * elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data to access stored section flags. (sh64_elf_final_write_processing): Return immediately unless called by linker. Use sh64_elf_section_data (cranges) to get size of linker-generated cranges entries. (sh64_elf_copy_private_data): Add missing "return true". (sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5. (sh_elf64_merge_private_data): Ditto. 2000-12-19 Hans-Peter Nilsson * elf64-sh64.c (sh64_elf64_fake_sections): New, copy of elf64-sh64.c:sh64_elf_fake_sections. (elf_backend_fake_sections): Define as sh64_elf64_fake_sections. 2000-12-18 Hans-Peter Nilsson * elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete. (sh64_elf_final_write_processing): New. (elf_backend_final_write_processing): Define. (sh64_elf_fake_sections): Get header flags from tdata field. (sh64_elf_copy_private_data): Do not call sh64_elf_copy_private_data_internal, just copy e_flags field. (sh64_elf_merge_private_data): Do not call sh64_elf_copy_private_data_internal. 2000-12-12 Hans-Peter Nilsson Remove EF_SH64_ABI64, let ELF size make difference. Remove SH64-specific BFD section flag. * elf32-sh64.c (sh64_elf_fake_sections): Recognize section as containing SHmedia through elf_section_data (asect)->tdata non-zero, not using a BFD section flag. (sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64. (sh64_elf_merge_private_data): Similar. (elf_backend_section_flags): Don't define. (sh64_elf_backend_section_flags): Delete. * elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64, not EF_SH64_ABI64. (sh_elf64_merge_private_data): Similar. * section.c (Section flags definitions): Don't define SEC_SH_ISA_SHMEDIA. (bfd-in2.h): Regenerate. 2000-12-09 Hans-Peter Nilsson Make DataLabel references work with partial linking. * elf32-sh64.c: Fix formatting. (sh64_elf_link_output_symbol_hook): New. (elf_backend_link_output_symbol_hook): Define to sh64_elf_link_output_symbol_hook. (sh64_elf_add_symbol_hook): Make DataLabel symbol just global undefined if partial linking. Adjust sanity check. * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New. (elf_backend_link_output_symbol_hook): Define to sh64_elf64_link_output_symbol_hook. (sh64_elf64_add_symbol_hook): Make DataLabel symbol just global undefined if partial linking. Adjust sanity check. 2000-12-07 Hans-Peter Nilsson Implement semantics for inter-file DataLabel references. * elf64-sh64.c (DATALABEL_SUFFIX): Define. (sh64_elf64_add_symbol_hook): New. (sh_elf64_relocate_section): If passing an indirect symbol with st_type STT_DATALABEL on the way to a symbol with st_other STO_SH5_ISA32, do not bitor 1 to the relocation. (elf_backend_add_symbol_hook): Define to sh64_elf64_add_symbol_hook. * elf64-sh32.c: Tweak comments. (DATALABEL_SUFFIX): Define. (sh64_elf_add_symbol_hook): New. (elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook. * elf32-sh.c (sh_elf_relocate_section): If passing an indirect symbol with st_type STT_DATALABEL on the way to a symbol with st_other STO_SH5_ISA32, do not bitor 1 to the relocation. 2000-12-05 Hans-Peter Nilsson Pass through STT_DATALABEL. * elf32-sh64.c (sh64_elf_get_symbol_type): New. (elf_backend_get_symbol_type): Define. * elf64-sh64.c (sh64_elf64_get_symbol_type): New. (elf_backend_get_symbol_type): Define. 2000-11-30 Hans-Peter Nilsson * elf32-sh64.c: Tweak comments. (sh64_elf_copy_private_data_internal): Add prototype. (bfd_elf32_bfd_set_private_flags): Define. (sh64_elf_copy_private_data_internal): Compare machine name, not textual BFD target name, to check whether to copy section flag SHF_SH5_ISA32. (sh64_elf_merge_private_data): Validize bfd_get_arch_size. Tweak section-contents-type-mismatch message. (shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers. Validize reloc-types. * elf64-sh64.c: New file. * targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare. * Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo. (BFD64_BACKENDS_CFILES): Add elf64-sh64.c. Regenerate dependencies. * Makefile.in: Regenerate. * config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and bfd_elf64_sh64l_vec. * configure.in: Handle bfd_elf64_sh64_vec and bfd_elf64_sh64l_vec. * configure: Regenerate. * po/POTFILES.in: Regenerate. * po/bfd.pot: Regenerate. 2000-11-29 Hans-Peter Nilsson * elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize anything else but EF_SH64 and EF_SH64_ABI64. (sh64_elf_merge_private_data): Emit error for anything else but EF_SH64 and EF_SH64_ABI64. * config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec from targ_selvecs. * configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec as a temporary measure. * configure: Regenerate. 2000-11-27 Hans-Peter Nilsson * cpu-sh.c (arch_info_struct): Include sh5 item unconditionalized. * config.bfd (sh64-*-elf*): Do not set targ_cflags. Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec, bfd_elf32_shblin_vec and bfd_elf32_shlin_vec. * elf32-sh64.c: Tweak comments. (sh64_elf_set_mach_from_flags): Recognize all machine flags that are proper subsets of SH64 as bfd_mach_sh5. Add EF_SH64_ABI64. (sh64_elf_copy_private_data_internal): Wrap long line. (sh64_elf_merge_private_data): Rewrite to allow objects from SH64 subsets to be linked together. (INCLUDE_SHMEDIA): Define. * elf32-sh.c (sh_elf_relocate_section) : Parenthesize plus-expression inside or-expression. : Ditto. (sh_elf_set_mach_from_flags): Remove code refusing deleted EF_SH64_32BIT_ABI flag. 2000-11-26 Hans-Peter Nilsson * elf32-sh.c (sh_elf_howto_table) : Set pcrel_offset to true. (sh_elf_relocate_section) : Or 1 in calculation of relocation if sym->st_other & STO_SH5_ISA32. : Ditto if h->other & STO_SH5_ISA32. * elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to relocation. 2000-11-24 Hans-Peter Nilsson * Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo. (BFD32_BACKENDS_CFILES): Add elf32-sh64.c. Regenerate dependencies. * Makefile.in: Regenerate. * archures.c: Add bfd_mach_sh5. * config.bfd: Map targ_cpu sh* to bfd_sh_arch. Handle sh64-*-elf*. Set targ_cflags to -DINCLUDE_SHMEDIA. * configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec. * configure: Regenerate. * reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5, BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6, BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2, BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8, BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16, BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16, BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16, BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16, BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations. * cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link in item for SH5. * elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items for SHmedia relocs. [INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs. [INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call shmedia_prepare_reloc, goto final_link_relocate if it returns non-zero, else fail as before. (sh_elf_set_mach_from_flags): Provide function only if not defined as macro. Do not recognize objects with EF_SH64_32BIT_ABI set. (sh_elf_set_private_flags): Provide function only if not defined as a macro. (sh_elf_copy_private_data): Similar. (sh_elf_merge_private_data): Similar. * section.c (SEC_SH_ISA_SHMEDIA): New. * targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare. * elf32-sh64.c: New file. * libbfd.h: Regenerate. * bfd-in2.h: Regenerate. * po/POTFILES.in: Regenerate. * po/bfd.pot: Regenerate. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. 2002-02-07 Daniel Jacobowitz * bfd-in.h: Update check to only see if has been included, not drag it in. * bfd-in2.h: Regenerate. 2002-02-06 H.J. Lu (hjl@gnu.org) * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update the mach and ISA fields if necessary. 2002-02-06 Nick Clifton * coffcode.h (coff_set_arch_mach_hook): Select the highest known ARM architecture when an F_ARM_5 flag is detected, since we cannot be sure exactly which architecture this represents. 2002-02-05 Nick Clifton * po/tr.po: Updated translation. 2002-02-05 Alan Modra From Jimi X * archures (bfd_mach_ppc64): Define. (bfd_powerpc_arch): Rename to bfd_powerpc_archs. (bfd_powerpc_arch): Define. * bfd-in2.h: Regenerate. * cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs. (bfd_powerpc_arch): Move to tail of bfd_powerpc_archs. (bfd_powerpc_archs): Add default powerpc64 arch. 2002-02-05 Alan Modra * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs against section syms in readonly sections. Don't do the global sym check if we find one. * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise. * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise. * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise. (elf_s390_grok_prstatus): Add missing prototype. 2002-02-04 Hans-Peter Nilsson * elf64-mmix.c (mmix_dump_bpo_gregs): New function. (mmix_elf_check_common_relocs) : Call bfd_get_section_by_name only once. Initialize bpodata->n_bpo_relocs_this_section. (_bfd_mmix_prepare_linker_allocated_gregs): Remove comment referring to DSOs. (bpo_reloc_request_sort_fn): Don't use difference of values as return-value. 2002-02-02 David O'Brien * configure.in: Tweak the FreeBSD 4.x recognition more. Only treat version 4.5 and later the same as 5-CURRENT. * configure: Re-generate. 2002-02-02 Jason Thorpe * config.bfd (hppa*-*-netbsd*): New target. 2002-01-31 Philipp Thomas * coff-arm.c (coff_arm_merge_private_bfd_data): Move ERROR to front of message. Unify messages with elf32-arm.h. Use commas where neccessary. * elf32-arm.h (elf32_arm_merge_private_bfd_data): Use all upcase ERROR in messages. Unify messages with coff-arm.c. Correct VFP/FPA error message. (elf32_arm_print_private_bfd_data): Don't mark APCS-26 and APCS-32 for translation. 2002-02-01 Hans-Peter Nilsson Perform on-demand global register allocation from R_MMIX_BASE_PLUS_OFFSET relocs. * elf64-mmix.c (struct bpo_reloc_section_info, struct bpo_reloc_request, struct bpo_greg_section_info): New. (mmix_elf_check_common_relocs, mmix_elf_gc_sweep_hook, bpo_reloc_request_sort_fn, mmix_elf_relax_section, _bfd_mmix_check_all_relocs, _bfd_mmix_prepare_linker_allocated_gregs, _bfd_mmix_finalize_linker_allocated_gregs): New functions. (elf_mmix_howto_table): Correct src_mask for most relocs. (mmix_elf_perform_relocation) : New case. (mmix_final_link_relocate) : New case. Fix typo in comment. New label do_mmix_reloc. (mmix_elf_check_relocs): Abuse bfd_link_info member base_file to store first object file with a base-plus-offset reloc. Call mmix_elf_check_common_relocs for the part common with mmo. (mmix_elf_final_link): Write out linker-allocated register contents section. (elf_backend_gc_sweep_hook): Define. (bfd_elf64_bfd_relax_section): Define. * mmo.c: Don't include (mmo_init): Correct init-once logic. 2002-02-01 Tom Rix * config.bfd: Conditionally support for pre AIX 4.3. 2002-02-01 Alan Modra * Makefile.am: Run "make dep-am" * Makefile.in: Regenerate. 2002-01-31 David O'Brien * configure.in: Recognize the differences in core files from FreeBSD 4.{0,1} and later versions of 4.x. This treats 4.2+ the same as 5-CURRENT. * configure: Regenerate. 2002-01-31 Ivan Guzvinec * coff-or32.c: New file. * cpu-or32.c: New file. * elf32-or32.c: New file. * archures.c: Add support for or32. * targets.c: Add support for or32. * bfd-in2.h: Regenerate. * coffcode.h (coff_set_arch_mach_hook, coff_set_flags, coff_write_object_contents): Add support for or32. * config.bfd: Add target. * configure.in: Add support for or32. * configure: Regenerate. * Makefile.am: Add support for or32. * Makefile.in: Regenerate. * po/SRC-POTFILES.in: Add or32 files. * po/bfd.pot: Regenerate. 2002-01-31 Nick Clifton Don Lindsay * elf32-mips.c (mips_elf_calculate_relocation): Replace 'return false' with a return of a bfd_reloc_ error code. 2002-01-31 Hans-Peter Nilsson * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't unexport unreferenced symbols when --export-dynamic. Call _bfd_elf_strtab_delref when unexporting. 2002-01-30 Daniel Jacobowitz * bfd-in.h: Include if it is available. * bfd-in2.h: Regenerated. 2002-01-31 Alan Modra * elf64-ppc.c (func_desc_adjust): STV_PROTECTED functions should not go via the plt. 2002-01-30 Nick Clifton * archures.c: Tidy up formatting of embedded comments. * bfd.c: Tidy up formatting of embedded comments. * bfd-in.h: Fix formatting of comments. * reloc.c: Tidy up formatting of ordinary & embedded comments. * section.c: Tidy up formatting of embedded comments. * syms.c: Tidy up formatting of embedded comments. * targets.c: Tidy up formatting of embedded comments. * bfd-in2.h: Regenerate. 2002-01-30 Nick Clifton * vms-tir.c (cmd_name): New function. (tir_cmd_name): New function. (etir_sta, etir_sto, etir_opr, etir_stc): Use cmd_name(). (tir_opr, tir_ctl, tir_cmd): use tir_cmd_name(). Fix formatting. * peXXigen.c (pe_print_idata): Rearrange message to aid in translation. (pe_print_pdata): Rearrange message to aid in translation. * libbfd.c (warn_deprecated): Rearrange error message to aid in translation. * ihex.c (ihex_write_object_contents): Fix spelling typo. * ieee.c (ieee_slurp_external_symbols): Remove spurious space. * elf64-sparc.c (sparc64_elf_add_symbol_hook): Rearrange error message to aid in translation. * elf64-mmix.c (mmix_final_link_relocate): Rearrange error message to aid in translation. * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix typo. 2002-01-30 Philipp Thomas * coff-arm.c, elf32-elf.h: Unify messages. 2002-01-30 Nick Clifton * po/sv.po: Updated translation. 2002-01-30 Philipp Thomas * dwarf2.c (read_abbrev): Use full section name in error message. (decode_line_info): Likewise. * elf.c (_bfd_elf_symbol_from_bfd_symbol): Don't translate debugging message. 2002-01-30 Alan Modra * elf64-ppc.c (func_desc_adjust): Only provide missing function descriptor symbols for undefined function code syms. Clear ELF_LINK_NON_ELF so that they can stay weak. 2002-01-29 Chris Demetriou Mitch Lichtenberg * bfd-in.h (bfd_mips_elf32_create_embedded_relocs): New prototype. * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): New function to handle 32-bit ELF embedded reloc (ld --embedded-relocs) generation. * bfd-in2.h: Regenerate. 2002-01-29 Chris Demetriou * elf32-mips.c: Add additional comments about HI16 relocation processing. (_bfd_mips_elf_hi16_reloc): Don't subtract address here for pc-relative relocations. (Reverts change made on 2001-10-31.) (_bfd_mips_elf_lo16_reloc): Subtract address of LO16 part here for pc-relative relocations. (mips_elf_calculate_relocation): Add a comment about a kludge in the R_MIPS_GNU_REL_HI16 handling. (_bfd_mips_elf_relocate_section): Implement that kludge; adjust pc-relative HI16 relocation for difference in HI16 and LO16 addresses, since it can't easily be done in mips_elf_calculate_relocation. 2002-01-29 Martin Schwidefsky * elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32 relocations with PC32 relocations for undefined or weak symbols. * elf32-s390 (elf_i386_adjust_dynamic_symbol): Likewise. * elf64-s390x (elf_i386_adjust_dynamic_symbol): Likewise. 2002-01-28 Jason Thorpe * elfcore.h (elf_core_file_p): Improve comment for last change. 2002-01-27 Daniel Jacobowitz * configure: Regenerated. 2002-01-27 Jason Thorpe * elfcore.h (elf_core_file_p): Set the machine architecture before processing the program headers. 2002-01-26 Hans-Peter Nilsson * configure.in <64-bit configuration>: If using gcc, check and emit error for egcs-1.1.2. * configure: Regenerate. 2002-01-26 Egor Duda * elf.c (elfcore_grok_win32pstatus): Copy only as much information as possible to avoid stack corruption. 2002-01-26 Richard Henderson * elf64-alpha.c (elf64_alpha_check_relocs): Don't set reltext for non-allocated sections. 2002-01-25 Mark Kettenis * elf.c (elfcore_write_prstatus): Make sure we pass the address of prstat.pr_reg even if it is a struct. 2002-01-25 Steve Ellcey * bfd/elfxx-ia64.c: Reset AIX vector function overrides for HP-UX. 2002-01-25 Philipp Thomas * coffgen.c (coff_print_symbol): Don't mark info message for translation. 2002-01-25 Nick Clifton * po/fr.po: Updated translation. * po/es.po: Updated translation. 2002-01-25 Philipp Thomas * coff-alpha.c (alpha_relocate_section): Unify warning message for GP relative relocations without GP defined. * coff-mips.c (mips_relocate_section): Likewise. 2002-01-25 Alan Modra * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid unsigned overflow when new_offset < old_offset. 2002-01-24 Philipp Thomas * bfd.c (_bfd_abort): Fix typo. 2002-01-23 Richard Henderson * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't suppress plt entries for undefweak symbols. 2002-01-23 Steve Ellcey * bfd/targets.c (bfd_elf32_ia64_hpux_big_vec): Add to DEFAULT_VECTOR. (bfd_elf64_ia64_hpux_big_vec): Ditto. (bfd_elf32_h8300_vec): Ditto. 2002-01-23 Alan Modra * elf64-ppc.c: Remove stale part of ABI comment. (NO_OPD_RELOCS): Define. (ppc64_elf_check_relocs): Use it. (ppc64_elf_relocate_section): Here too. (build_one_stub): Don't point function syms at the stub. Instead, hijack plt.offset. (ppc64_elf_relocate_section): Check whether REL24 relocs should really go to the stub. Make all dynamic relocs in opd against locals. (ppc64_elf_finish_dynamic_symbol): Allow for non-standard use of plt.offset. 2002-01-22 Richard Henderson * elf64-alpha.c (INSN_UNOP): Encode with RB as $sp. 2002-01-22 Alan Modra * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Correct sign of TOC_BASE_OFF adjustment. * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. * po/SRC-POTFILES.in: Regenerate. 2002-01-22 John David Anglin * configure.host (hppa*64*-*-hpux*, hppa*64*-*-linux*): Add new host defines. 2002-01-21 Hans-Peter Nilsson * elf32-cris.c (cris_elf_relocate_section) : Check for and emit error if sgot is NULL at this point. 2002-01-21 Jason Thorpe * config.bfd (ia64*-*-netbsd*): New target. 2002-01-21 Thomas Klausner * som.c (som_write_space_strings): Comment typo fix. 2002-01-21 Alan Modra * elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and is_func_descriptor fields. (link_hash_newfunc): Init them. (ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a dot are candidates for plt entries. When processing .opd relocs, set function descriptor strings to point inside function code string, and set new ppc_link_hash_entry fields. (ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs. (ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with function descriptors. It's now done in.. (func_desc_adjust): New. (ppc64_elf_func_desc_adjust): New. (define elf_backend_always_size_sections): Define. (ppc64_elf_hide_symbol): New. (define elf_backend_hide_symbol): Define. (allocate_dynrelocs): Remove code looking up function descriptors as that has been done earlier. (ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash table. (ppc64_elf_finish_dynamic_symbol): Likewise. Remove code looking up function descriptor. (build_one_stub): Look up the function code sym. Check for invalid plt offsets. (ppc64_elf_relocate_section): Tweak calls to undefined weak syms. Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs. * elf-bfd.h (elf_backend_data ): Add boolean param. (_bfd_elf_link_hash_hide_symbol): Likewise. * elflink.h (elf_link_add_object_symbols): Adjust call to elf_backend_hide_symbol. (elf_fix_symbol_flags): Likewise. (elf_link_assign_sym_version): Likewise. Use bfd_malloc rather than bfd_alloc. * elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param. Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref. * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise. (clobber_millicode_symbols): Adjust to suit new hide_symbol. * elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param and adjust to suit. * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call _bfd_elf_link_hash_hide_symbol rather than duplicating code. * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise. 2002-01-18 Alan Modra * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Test for a dynamic function descriptor symbol, not the associated function symbol. 2002-01-17 Eric Christopher * elf32-mips.c (mips_elf_calculate_relocation): Fix typo. 2002-01-17 Nick Clifton * po/bfd.pot: Regenerate. * po/fr.po: Regenerate. 2002-01-17 Alan Modra * elf-bfd.h (elf_backend_data ): Remove "Elf_Internal_Shdr *" param. (_bfd_mips_elf_section_from_bfd_section): Ditto. * elf32-mips.c (_bfd_mips_elf_section_from_bfd_section): Ditto. * elf32-m32r.c (_bfd_m32r_elf_section_from_bfd_section): Ditto. * elf32-v850.c (v850_elf_section_from_bfd_section): Ditto. * elf64-mmix.c (mmix_elf_section_from_bfd_section): Ditto. * elfxx-ia64.c (elfNN_hpux_backend_section_from_bfd_section): Ditto. * elf.c (_bfd_elf_section_from_bfd_section): Allow backend function to override special sections. Remove hdr arg from backend call, and don't loop. 2002-01-16 Eric Christopher * elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of relocations requiring gp0 and gp. 2002-01-16 Richard Earnshaw * elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle EF_ARM_VFP_FLOAT. (elf32_arm_print_private_bfd_data): Likewise. 2002-01-16 Nick Clifton * po/tr.po: Import new version. 2002-01-16 Alan Modra * elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs. (ppc64_elf_reloc_type_lookup): Use proper CTOR reloc. (ORI_R0_R0_0): Correct. 2002-01-16 Alan Modra * elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE when plt_not_loaded. * elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to clear .plt SEC_CODE here. Create .stub and correct .glink flags. (PLT_INITIAL_ENTRY_SIZE): Set to 24. (ppc64_elf_glink_code): Delete. (PPC64_ELF_GLINK_SIZE): Delete. (ADDIS_R12_R2, STD_R2_40R1, LD_R11_0R12, LD_R2_0R12, MTCTR_R11, BCTR, ADDIS_R12_R12_1, LD_R2_40R1, NOP, LI_R0_0, B_DOT, LIS_R0_0, ORI_R0_R0_0): Define. (PLT_CALL_STUB_SIZE, GLINK_CALL_STUB_SIZE): Define. (struct ppc_link_hash_table): Add sstub and plt_overflow. (ppc64_elf_link_hash_table_create): Init them. (ppc64_elf_check_relocs ): Refcount .plt entry. Don't copy to shared lib. (ppc64_elf_check_relocs): Call bfd_set_error on errors. (ppc64_elf_gc_sweep_hook ): Sweep plt refcount. (allocate_dynrelocs ): Don't change function sym here. Make room for .stub and .glink code. (ppc64_elf_size_dynamic_sections): Handle .stub. Make entry for DT_PPC64_GLINK. (ppc64_elf_final_link): Rename to ppc64_elf_set_toc. Don't call bfd_elf64_bfd_final_link. (bfd_elf64_bfd_final_link): Don't define. (ppc64_elf_size_stubs): New. (build_plt_stub): New. (build_one_stub): New. (ppc64_elf_build_stubs): New. (ppc64_elf_relocate_section ): Remove assert. (ppc64_elf_relocate_section): Don't copy R_PPC64_REL24 relocs. (ppc64_elf_finish_dynamic_symbol): Don't build stubs here. Set DT_PPC64_GLINK entry. Tweak DT_PLTGOT, DT_JMPREL, DT_PLTRELSZ in case output sections not separate. Adjust DT_RELASZ to not include plt relocs. Set reserved got entry. Set got and plt entry size. (elf_backend_got_header_size): Set to 8. * elf64-ppc.h: New file. 2002-01-16 Alan Modra * elf32-arm.h (elf32_arm_size_dynamic_sections): When removing sections, use bfd_section_list_remove. * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise. * elflink.h (elf_link_add_object_symbols): When removing all sections, use bfd_section_list_clear. 2002-01-15 Nick Clifton * po/sv.po: New file: Swedish translation. * configure.in (ALL_LINGUAS): Add sv. * configure: Regenerate. 2002-01-15 Jakub Jelinek * elflink.h (elf_link_input_bfd): Back out 2002-01-07 change. * elf.c (merge_sections_remove_hook): New function. (_bfd_elf_merge_sections): Pass it as 3rd argument to _bfd_merge_sections. * libbfd-in.h (_bfd_merge_sections): Add 3rd argument. * libbfd.h: Rebuilt. * merge.c (_bfd_merge_sections): Add remove_hook argument. Call remove_hook if a SEC_EXCLUDE section is encountered. 2002-01-15 Nick Clifton * elf32-xstormy16.c (xstormy16_reloc_map): Add new field 'table'. (xstormy16_reloc_map): Initialise new field with correct howto table. (xstormy16_reloc_type_lookup): Use 'table' field to locate correct howto entry. 2002-01-10 Michael Snyder * elf.c (elfcore_write_prstatus): Use long instead of pid_t; (elfcore_write_pstatus): Use long instead of pid_t; * elf-bfd.h: Change prototypes to use long instead of pid_t; 2002-01-09 Jason Thorpe * elf.c: Update copyright years. (elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO and NT_NETBSDCORE_FIRSTMACH. Improve a comment. 2002-01-08 Michael Snyder Add capability to write corefile note sections, for gdb. * elf.c (elfcore_write_note): New function. (elfcore_write_prpsinfo): New function. (elfcore_write_prstatus): New function. (elfcore_write_pstatus): New function. (elfcore_write_prfpreg): New function. (elfcore_write_prxfpreg): New function. * elf-bfd.h: Add prototypes for above functions. 2002-01-08 Alexandre Oliva * elf.c (elf_fake_sections): Propagate errors from elf_backend_fake_section. 2002-01-07 Jason Thorpe * Makefile.am (BFD32_BACKENDS): Add elf32-sh-nbsd.lo. (BFD32_BACKENDS_CFILES): Add elf32-sh-nbsd.c. (elf32-sh-nbsd.lo): New rule. * Makefile.in: Regenerate. * config.bfd (sh*le-*-netbsdelf*): New target. (sh*-*-netbsdelf*): New target. * configure.in: Include netbsd-core.lo for native sh*-*-netbsd*. (bfd_elf32_shnbsd_vec): New vector. (bfd_elf32_shlnbsd_vec): New vector. * configure: Regenerate. * elf32-sh-nbsd.c: New file. * targets.c: Update copyright years. (_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and bfd_elf32_shnbsd_vec. 2002-01-07 Aldy Hernandez * coff-rs6000.c (READ20): Use bfd_scan_vma. 2002-01-07 Geoffrey Keating * elflink.h (elf_link_input_bfd): Don't ask for the merged offset of a symbol in a section that will be deleted. 2002-01-07 Nick Clifton * po/es.po: New file: Spanish translation. * configure.in (ALL_LINGUAS): Add es. * configure: Regenerate. 2002-01-06 Steve Ellcey * elfxx-ia64.c (is_unwind_section_name): Add target vector as argument so we can handle HP-UX specially. (elfNN_ia64_hpux_vec): New for use in is_unwind_section_name. (elfNN_hpux_backend_section_from_bfd_section): New for support of SHN_IA_64_ANSI_COMMON. (elfNN_ia64_relax_section): Add support for SHN_IA_64_ANSI_COMMON. (is_unwind_section_name): Add special HP-UX support. (elfNN_ia64_section_from_shdr): Add support for more sections. (elfNN_ia64_fake_sections): Modify is_unwind_section_name call and add support for more sections. (elfNN_ia64_additional_program_headers): Modify is_unwind_section_name call. (elfNN_ia64_modify_segment_map): Remove assumption that there is only one unwind section in segment. 2002-01-06 Alan Modra * syms.c (_bfd_generic_make_empty_symbol): New function. * libbfd-in.h (_bfd_nosymbols_make_empty_symbol): Define as _bfd_generic_make_empty_symbol. * libbfd.h: Regenerate. * bfd-in2.h: Regenerate. * hppabsd-core.c (hppabsd_core_make_empty_symbol): Delete function. (hppabsd_core_get_symtab_upper_bound): Don't define. (hppabsd_core_get_symtab): Likewise. (hppabsd_core_print_symbol): Likewise. (hppabsd_core_get_symbol_info): Likewise. (hppabsd_core_bfd_is_local_label_name): Likewise. (hppabsd_core_get_lineno): Likewise. (hppabsd_core_find_nearest_line): Likewise. (hppabsd_core_bfd_make_debug_symbol): Likewise. (hppabsd_core_read_minisymbols): Likewise. (hppabsd_core_minisymbol_to_symbol): Likewise. (hppabsd_core_vec): Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols). Formatting fixes. * hpux-core.c: Similarly. * irix-core.c: Similarly. * osf-core.c: Similarly. * sco5-core.c: Similarly. * binary.c (binary_make_empty_symbol): Remove function, define as _bfd_generic_make_empty_symbol. * ihex.c (ihex_make_empty_symbol): Likewise. * mmo.c (mmo_make_empty_symbol): Likewise. * ppcboot.c (ppcboot_make_empty_symbol): Likewise. * srec.c (srec_make_empty_symbol): Likewise. * versados.c (versados_make_empty_symbol): Likewise. * vms.c (_bfd_vms_make_empty_symbol): Remove. (vms_make_empty_symbol): Define as _bfd_generic_make_empty_symbol. * vms-gsd.c (_bfd_vms_slurp_gsd): Call bfd_make_empty_symbol rather than _bfd_vms_make_empty_symbol. * vms-misc.c (new_symbol): Likewise. 2002-01-05 Alan Modra * section.c (bfd_section_init): Remove unnecessary initialisations. (bfd_section_list_clear): New function. (bfd_section_list_remove, bfd_section_list_insert): New macros. (_bfd_strip_section_from_output): Use them. * coffcode.h (coff_set_alignment_hook): Likewise. * elf32-mips.c (_bfd_mips_elf_final_link): Likewise. * elf64-mips.c (mips_elf64_final_link): Likewise. * elf64-mmix.c (mmix_elf_final_link): Likewise. * sunos.c (sunos_add_dynamic_symbols): Likewise. * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise. * bfd-in2.h: Regenerate. * netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway rather than doing our own section handling. Clean up after errors with bfd_release and bfd_section_list_clear. Handle unexpected flags. * aoutf1.h (sunos4_core_file_p): Likewise. * aix386-core.c (aix386_core_file_p): Likewise. * cisco-core.c (cisco_core_file_validate): Likewise. * ptrace-core.c (ptrace_unix_core_file_p): Likewise. * trad-core.c (trad_unix_core_file_p): Likewise. * hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors with bfd_release and bfd_section_list_clear. * hpux-core.c (hpux_core_core_file_p): Likewise. * irix-core.c (irix_core_core_file_p): Likewise. * lynx-core.c (lynx_core_file_p): Likewise. * osf-core.c (osf_core_core_file_p): Likewise. * rs6000-core.c (rs6000coff_core_p): Likewise. * sco5-core.c (sco5_core_file_p): Likewise. * elf32-mips.c (_bfd_mips_elf_lo16_reloc): Simplify, and perform sign extension adjustments without conditionals. 2002-01-04 Jakub Jelinek * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if CIE at .eh_frame start is removed due to no FDEs referencing it. 2002-01-04 Jason Thorpe * config.bfd (x86_64-*-netbsd*): New target. * configure.in (x86_64-*-netbsd*): Set COREFILE to netbsd-core.lo. * configure: Regenerated. 2002-01-03 Tom Rix * xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering for recent bfd_make_section_anyway change. 2002-01-03 Nick Clifton * elf32-arm.h (elf32_arm_final_link_relocate): Handle R_ARM_THM_PC11 reloc. 2002-01-02 Nick Clifton * configure.in (LINGUAS): Add ja. * configure: Regenerate. * po/ja.po: Import from translation project's web site. 2002-01-02 Nick Clifton * elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error messages to ease translation into other languages. For older changes see ChangeLog-0001 Local Variables: mode: change-log left-margin: 8 fill-column: 74 version-control: never End: