From: Alan Modra Date: Sat, 8 Sep 2001 05:47:01 +0000 (+0000) Subject: * elf32-i386.c (elf_i386_relocate_section): Check !DEF_REGULAR X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=56882138c5b70c428c589a351d58b4e0852e4a1e;p=binutils-gdb.git * elf32-i386.c (elf_i386_relocate_section): Check !DEF_REGULAR as well as DEF_DYNAMIC in test for avoided copy relocs. (allocate_plt_and_got_and_discard_relocs): Likewise. * elf32-i386.c (elf_i386_relocate_section): Likewise. (allocate_plt_and_got_and_discard_relocs): Likewise. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 5f9e0a0d198..fba495da43c 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,6799 +1,6807 @@ +2001-09-08 Alan Modra + + * elf32-i386.c (elf_i386_relocate_section): Check !DEF_REGULAR + as well as DEF_DYNAMIC in test for avoided copy relocs. + (allocate_plt_and_got_and_discard_relocs): Likewise. + * elf32-hppa.c (elf_i386_relocate_section): Likewise. + (allocate_plt_and_got_and_discard_relocs): Likewise. + 2001-09-07 Thiemo Seufer * elf32-mips.c (mips_elf_calculate_relocation): Fix overflow handling of R_MIPS_PC16. - -2001-09-06 Thiemo Seufer - - * elf64-mips.c (mips_elf64_howto_table_rel): Fix relocation HOWTO - definitions. - (mips_elf64_howto_table_rel): Likewise. - -2001-09-05 Tom Rix - - * xcofflink.c (bfd_xcoff_import_symbol): Handle import file XMC_XO - and syscall symbols. - (write_global_symbol) : Same. - (bfd_xcoff_export_symbol): Remove unused syscall param. - * libxcoff.h: Change prototype of bfd_xcoff_export symbol and - bfd_xcoff_import_symbol. - * bfd-in.h: Same. - * bfd-in2.h : Regenerate. - -2001-09-04 Richard Henderson - - * elf64-alpha.c (SKIP_HOWTO): New. - (elf64_alpha_howto_table): Use it to remove dead ECOFF relocs. - Fix sizes of 16-bit mem format relocs. - (elf64_alpha_reloc_map): Update to match. - (elf64_alpha_relax_with_lituse): Use GPREL16 as appropriate. - (elf64_alpha_relax_without_lituse): Likewise. - (elf64_alpha_check_relocs): Handle GPREL16. - (elf64_alpha_relocate_section): Likewise. - * reloc.c (BFD_RELOC_ALPHA_USER_*): Remove. - (BFD_RELOC_ALPHA_GPREL_HI16, BFD_RELOC_ALPHA_GPREL_LO16): New. - * bfd-in2.h, libbfd.h: Rebuild. - -2001-09-04 Jeff Law - - * elf32-h8300.c (elf32_h8_relax_section): New function. - (elf32_h8_relax_delete_bytes): Likewise. - (elf32_h8_symbol_address_p): Likewise. - (elf32_h8_get_relocated_section_contents): Likewise. - (bfd_elf32_bfd_relax_section): Define. - (bfd_elf32_bfd_get_relocated_section_contents): Likewise. - - * elf32-h8300.c (special): New function. - (h8_elf_howto_table): Use it for SPECIAL_FUNCTION field in - all relocations. - (elf32_h8_final_link_relocate): Treat R_H8_DIR24A8 like 32bit - relocations. Fix problems with the true 24bit reloc R_H8_DIR24R8. - Fix minor problems with 8bit and 16bit PC relative relocations. - -2001-09-01 Andreas Jaeger - - * vms-tir.c: Add missing prototypes. - * vms-hdr.c: Likewise. - * vms-gsd.c: Likewise. - * vms-misc.c: Likewise. - -2001-08-31 H.J. Lu - - * elf32-mips.c (_bfd_mips_elf_check_relocs): Report filename - with bad relocation. - -2001-08-31 Eric Christopher - Jason Eckhardt - - * bfd/archures.c: Add mipsisa32 and mipsisa64. Remove mips32, - mips32_4k and mips64. - * bfd/aoutx.h: Remove bfd_mach_mips32, bfd_mach_mips32_4k, - bfd_mach_mips64. Add bfd_mach_mipsisa32, bfd_mach_mipsisa64. - * bfd/cpu-mips.c: Ditto. - * bfd/elf32-mips.c (_bfd_mips_elf_final_write_processing): Ditto. - * bfd/bfd-in2.h: Regenerate. - -2001-08-31 Jakub Jelinek - - * elf64-alpha.c (elf64_alpha_relocate_section): Duplicate memory - value into R_ALPHA_RELATIVE's addend. - (elf64_alpha_finish_dynamic_symbol): Likewise. - -2001-08-31 Nick Clifton - - * elf32-arm.h (elf32_arm_relocate_section): Do not rightshift - recomputed addend during relocatable link if not USE_REL. - - * elflink.h (elf_gc_propagate_vtable_entries_used): Fix off-by-one - error. - -2001-08-30 H.J. Lu - - * elf32-mips.c (mips_elf_calculate_relocation): Revert the last - 2 changes. - (_bfd_mips_elf_adjust_dynamic_symbol): Allocate dynamic - relocations for weak definitions. - -2001-08-30 H.J. Lu - - * Makefile.am (BFD32_BACKENDS): Add elf32-h8300.lo. - (BFD32_BACKENDS_CFILES): Add elf32-h8300.c. - * Makefile.in: Rebuild. - -2001-08-30 H.J. Lu - - * elf32-mips.c (mips_elf_calculate_relocation): Don't create - dynamic relocation for undefined weak symbols when creating - executables. Check h->root.root.type, instead of h->root.type. - -2001-08-29 Joel Sherrill - - * config.bfd (i[3456]86-*-rtems*, m68*-*-rtems*): Change - default from coff to elf. - -2001-08-29 Jeff Law - - * elf32-h8300.c (h8_elf_howto_table): Add new PC relative - relocations. - (h8_reloc_map): Similarly. - (elf32_h8_final_link_relocate): Remove incorrect overflow tests. - Add support for PC relative relocations. - - * elf32-h8300.c: Put all prototypes together. - (elf32_h8_info_to_howto): Parameter elf_reloc is used. - (elf32_h8_final_link_relocate): New function for linker. - (elf32_h8_relocate_section): Similarly. - (elf_backend_relocate_section): Define. - - * cpu-h8300.c (h8300_scan, compatible): Prototype. - (h8300_scan): Handle architecture:machine encodings typically - found in linker scripts. - * elf.c (prep_headers): Do not try to do H8 machine recognition - here. - * elf32-h8300.c: Add some missing prototypes. - (elf32_h8_mach, elf32_h8_final_write_processing): New functions. - (elf32_h8_object_p): Similarly. - -2001-08-29 Tom Rix - - * xcofflink.c (xcoff_link_add_symbols): Fix XTY_LD symbol that - does not follow a XTY_SD. - -2001-08-29 Alan Modra - - * targmatch.sed: Delete case statements. - * config.bfd : Select 64 bit xcoff for - aix4.3 and above. - -Wed Aug 29 02:27:36 2001 J"orn Rennecke - - * Makefile.am (elf32-h8300.lo): New target. - * config.bfd (h8300*-*-elf): New case. - * configure.in (bfd_elf32_h8300_vec): New case. - * elf.c (prep_headers): Add case for bfd_arch_h8300. - * reloc.c (BFD_RELOC_H8_DIR16A8): New relocation. - (BFD_RELOC_H8_DIR16R8, BFD_RELOC_H8_DIR24A8): Likewise. - (BFD_RELOC_H8_DIR24R8, BFD_RELOC_H8_DIR32A16): Likewise. - * targets.c (bfd_target bfd_elf32_h8300_vec): New extern declaration. - * elf32-h8300.c: New file. - * Makefile.in, bfd-in2.h, libbfd.h, configure: Regenerated. - -2001-08-28 Nick Clifton - - * sparclynx.c: Add missing prototypes. - * coff-mcore.c: Add missing prototypes. - * elf32-pj.c: Add missing prototypes. - * nlm32-sparc.c: Add missing prototypes. - * oasys.c: Add missing prototypes. - * pdp11.c: Add missing prototypes. - * pe-mips.c: Add missing prototypes. - * riscix.c: Add missing prototypes. - -2001-08-27 Daniel Jacobowitz - - * elf32-i386.c: Add missing prototypes. - * elf32-ppc.c: Likewise. - * elf32-sh-lin.c: Likewise. - * elfarm-nabi.c: Likewise. - -2001-08-27 Daniel Jacobowitz - - * elf32-i386.c (elf_i386_grok_prstatus): New function. - (elf_i386_grok_psinfo): New function. - (elf_backend_grok_prstatus): Define. - (elf_backend_grok_psinfo): Likewise. - * elf32-ppc.c (ppc_elf_grok_prstatus): New function. - (ppc_elf_grok_psinfo): New function. - (elf_backend_grok_prstatus): Define. - (elf_backend_grok_psinfo): Likewise. - * elf32-sh-lin.c (elf32_shlin_grok_prstatus): New function. - (elf32_shlin_grok_psinfo): New function. - (elf_backend_grok_prstatus): Define. - (elf_backend_grok_psinfo): Likewise. - * elfarm-nabi.c (elf32_arm_nabi_grok_prstatus): New function. - (elf32_arm_nabi_grok_psinfo): New function. - (elf_backend_grok_prstatus): Define. - (elf_backend_grok_psinfo): Likewise. - -2001-08-27 H.J. Lu - - * elf32-mips.c (mips_elf_create_dynamic_relocation): Add more - sanity check. - (mips_elf_calculate_relocation): Create dynamic relocation for - symbols with weak definition or the ELF_LINK_HASH_DEF_REGULAR - bit is not set. - -2001-08-27 H.J. Lu - - * elf32-mips.c (_bfd_mips_elf_hide_symbol): Add prototype. - (_bfd_mips_elf_copy_indirect_symbol): Likewise. - (_bfd_elf32_mips_grok_prstatus): Likewise. - (_bfd_elf32_mips_grok_psinfo): Likewise. - (_bfd_mips_elf_hide_symbol): Make it static and cast to - `struct mips_elf_link_hash_entry *'. - (_bfd_mips_elf_copy_indirect_symbol): Make it static. - -2001-08-27 Nick Clifton - - * mipsbsd.c: Add missing prototypes. - * hp300hpux.c: Add missing prototypes. - * i386aout.c: Add missing prototypes. - * i386lynx.c: Add missing prototypes. - * i386mach3.c: Add missing prototypes. - * i386msdos.c: Add missing prototypes. - * i386os9k.c: Add missing prototypes. - -2001-08-27 Linus Nordberg - Torbjorn Granlund - Staffan Ulfberg - Alan Modra - - * config.bfd: Add powerpc64 target. Add powerpc64 vectors to - targ64_selvecs for 32 bit powerpc targets. - * Makefile.am (BFD64_BACKENDS): Add elf64-ppc.lo. - (BFD64_BACKENDS_CFILES): Add elf64-ppc.c. - Run "make dep-am". - * Makefile.in: Regenerate. - * configure.in: Add elf64_powerpc vecs. - * configure: Regenerate. - * cpu-powerpc.c: Default to bfd_mach_ppc_620 entry for 64 bit. - * elf.c (prep_headers): EM_PPC64 for 64 bit ppc elf target. - * targets.c: Add bfd_elf64_powerpc_vec and bfd_elf64_powerpcle_vec. - * elf64-ppc.c: New file. - * reloc.c: Add powerpc64 relocs. - * libbfd.h: Regenerate. - * bfd-in2.h: Regenerate. - -2001-08-27 Andreas Schwab - - * elf32-m68k.c (elf32_m68k_check_relocs): Set DF_TEXTREL if the - reloc is against read-only section. - (elf32_m68k_size_dynamic_sections): Use DF_TEXTREL flag instead of - looking up section names for DT_TEXTREL. - (elf32_m68k_reloc_type_class): New function. - (elf_backend_reloc_type_class): Define. - -2001-08-27 Andreas Jaeger - - * elf64-s390.c (elf_s390_check_relocs): Set DF_TEXTREL if the - reloc is against read-only section. - (elf_s390_size_dynamic_sections): Use DF_TEXTREL flag instead of - looking up section names for DT_TEXTREL. - (elf_s390_reloc_type_class): New. - (elf_backend_reloc_type_class): Define. - - * elf32-s390.c (elf_s390_check_relocs): Set DF_TEXTREL if the - reloc is against read-only section. - (elf_s390_size_dynamic_sections): Use DF_TEXTREL flag instead of - looking up section names for DT_TEXTREL. - (elf_s390_reloc_type_class): New. - (elf_backend_reloc_type_class): Define. - - * elf32-ppc.c (ppc_elf_check_relocs): Set DF_TEXTREL if the reloc - is against read-only section. - (ppc_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of - looking up section names for DT_TEXTREL. - (ppc_elf_reloc_type_class): New. - (elf_backend_reloc_type_class): Define. - -2001-08-26 Andreas Jaeger - - * elf32-cris.c (cris_elf_check_relocs): Set DF_TEXTREL if the - reloc is against read-only section. - (elf_cris_size_dynamic_sections): Use DF_TEXTREL flag instead of - looking up section names for DT_TEXTREL. - (elf_cris_reloc_type_class): New. - (elf_backend_reloc_type_class): Define. - - * elf32-sh.c (sh_elf_check_relocs): Set DF_TEXTREL if the reloc is - against read-only section. - (elf_backend_reloc_type_class): Define. - (sh_elf_reloc_type_class): New. - (sh_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of - looking up section names for DT_TEXTREL. - - * elf32-arm.h (elf32_arm_check_relocs): Set DF_TEXTREL if the - reloc is against read-only section. - (elf32_arm_size_dynamic_sections): Use DF_TEXTREL flag instead of - looking up section names for DT_TEXTREL. - (elf32_arm_reloc_type_class): New. - (elf_backend_reloc_type_class): Define. - -2001-08-25 Andreas Jaeger - - * oasys.c: Add missing prototypes. - - * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Add unused - attribute for parameter. - * elf.c (_bfd_elf_reloc_type_class): Likewise. - - * versados.c (get_4): Make static. - (get_10): Make static. - Add missing prototypes. - (process_esd): Fix call to versados_new_symbol. - -2001-08-25 Nick Clifton - - * coff-a29k.c: Add missing prototypes. - * coff-apollo.c: Add missing prototypes. - * coff-arm.c: Add missing prototypes. - * coff-i860.c: Add missing prototypes. - * coff-rs6000.c: Add missing prototypes. - * coff-tic80.c: Add missing prototypes. - * elf-m10200.c: Add missing prototypes. - * elf-m10300.c: Add missing prototypes. - * elf32-arm.h: Add missing prototypes. - * elf32-d10v.c: Add missing prototypes. - * elf32-m32r.c: Add missing prototypes. - * elf32-mcore.c: Add missing prototypes. - * elf32-openrisc.c: Add missing prototypes. - * elf32-sh.c: Add missing prototypes. - * elf32-sparc.c: Add missing prototypes. - * elf32-v850.c: Add missing prototypes. - * elfarm-nabi.c: Add missing prototypes. - * elfarm-oabi.c: Add missing prototypes. - -2001-08-25 Thiemo Seufer - - * elf32-mips.c (elf_mips_abi_name): Return the right ABI string for - E_MIPS_ABI_O64 and E_MIPS_ABI_EABI64 - -2001-08-24 H.J. Lu - - * elf.c (_bfd_elf_merge_sections): Fail if not using an ELF - hash structure. - -2001-08-24 Nick Clifton - - * elf-bfd.h (elf_hash_table): Revert definition. - (is_elf_hash_table): New macro. - * elflink.h (elf_link_add_object_symbols): Test - is_elf_hash_table before accessing ELF only fields in hash - structure. - (elf_link_create_dynamic_sections): Fail if not using an ELF - hash structure. - (elf_add_dynamic_entry): Fail if not using an ELF hash - structure. - (elf_link_record_local_dynamic_symbol): Fail if not using an - ELF hash structure. - (size_dynamic_sections): Fail if not using an ELF hash - structure. - (elf_adjust_dynamic_symbol): Fail if not using an ELF - hash structure. - (elf_bfd_final_link): Fail if not using an ELF hash - structure. - -2001-08-24 H.J. Lu - - * elf-bfd.h (elf_hash_table): Return NULL if the linker hash - table is not an ELF linker hash table. - - * elf.c (_bfd_elf_link_hash_table_init): Set the linker hash - table type to bfd_link_elf_hash_table. - - * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_create): Revert - the last change. - - * linker.c (_bfd_link_hash_table_init): Set the linker hash - table type to bfd_link_generic_hash_table. - -2001-08-24 Alexandre Oliva - - * bfd.c (bfd_alt_mach_code): New function. - * bfd-in2.h: Rebuilt. - -2001-08-24 Alexandre Oliva - - * elf-m10300.c (mn10300_elf_relocate_section): Test the right - `type' field in the hash entry when deciding whether to follow a - link. - -2001-08-24 Jakub Jelinek - - * elflink.h (elf_link_sort_cmp1): Sort RELATIVE relocs first, not - last. - (elf_link_sort_relocs): Adjust accordingly. - - * elf64-alpha.c (struct alpha_elf_link_hash_entry): Add reltext flag. - (elf64_alpha_check_relocs): Set it if section this reloc is against - is read-only. Set DF_TEXTREL if a RELATIVE reloc is needed against - read-only section. - (elf64_alpha_calc_dynrel_sizes): Set DF_TEXTREL flag if relocation - is is against read-only section. - (elf64_alpha_size_dynamic_sections): Use DF_TEXTREL flag, don't - check section names. - (elf64_alpha_reloc_type_class): New. - (elf_backend_reloc_type_class): Define. - -2001-08-24 Thiemo Seufer - - * linker.c (_bfd_generic_link_add_archive_symbols): Replace alloca() - by bfd_malloc(). - -2001-08-23 Andreas Jaeger - - * elf64-x86-64.c (elf64_x86_64_check_relocs): Set DF_TEXTREL if - the reloc is against read-only section. - (elf64_x86_64_size_dynamic_sections): Use DF_TEXTREL flag instead - of looking up section names for DT_TEXTREL. - (elf64_x86_64_reloc_type_class): New. - (elf_backend_reloc_type_class): Define. - -2001-08-23 H.J. Lu - - * syms.c (bfd_print_symbol_vandf): Add abfd to arg. - * bfd-in2.h (bfd_print_symbol_vandf): Regenerated. - - * aoutx.h (NAME(aout,print_symbol)): Pass abfd to - bfd_print_symbol_vandf. - * coffgen.c (coff_print_symbol): Likewise. - * elf.c (bfd_elf_print_symbol): Likewise. - * ieee.c (ieee_print_symbol): Likewise. - * nlmcode.h (nlm_print_symbol): Likewise. - * oasys.c (oasys_print_symbol): Likewise. - * pdp11.c (NAME(aout,print_symbol)): Likewise. - * som.c (som_print_symbol): Likewise. - * srec.c (srec_print_symbol): Likewise. - * tekhex.c (tekhex_print_symbol): Likewise. - * versados.c (versados_print_symbol): Likewise. - * vms.c (vms_print_symbol): Likewise. - - * elf.c (_bfd_elf_print_private_bfd_data): Replace fprintf_vma - with bfd_fprintf_vma. - (bfd_elf_print_symbol): Likewise. - * syms.c (bfd_print_symbol_vandf): Likewise. - -2001-08-23 Nick Clifton - - * aoutf1.h (sunos_write_object_contents): Silence compile time - warning. - * libaout.h (N_SET_DYNAMIC): Silence compile time warning. - - * bout.c: Add missing function prototypes. Fix formatting. - * coff-z8k.c: Add missing function prototypes. Fix formatting. - * coff-w65.c: Add missing function prototypes. Fix formatting. - * coff-h8500.c: Add missing function prototypes. Fix formatting. - * coff-h8300.c: Add missing function prototypes. Fix formatting. - * coff-tic54x.c: Add missing function prototypes. Fix formatting. - * coff-tic30.c: Add missing function prototypes. Fix formatting. - * coff-m68k.c: Add missing function prototypes. Fix formatting. - * coff-rs6000.c: Add missing function prototypes. Fix formatting. - * coff-sh.c: Add missing function prototypes. Fix formatting. - -2001-08-23 Jakub Jelinek - - * elf-bfd.h (enum elf_reloc_type_class): New. - (struct elf_backend_data): Add elf_backend_reloc_type_class. - (_bfd_elf_reloc_type_class): New. - * elfxx-target.h (elf_backend_reloc_type_class): Define. - (elfNN_bed): Add elf_backend_reloc_type_class. - * elf.c (_bfd_elf_reloc_type_class): New. - * elf32-i386.c (elf_i386_check_relocs): Set DF_TEXTREL if the reloc - is against read-only section. - (elf_i386_size_dynamic_sections): Use DF_TEXTREL flag instead of - looking up section names for DT_TEXTREL. - (elf_i386_reloc_type_class): New. - (elf_backend_reloc_type_class): Define. - * elf32-sparc.c (elf32_sparc_check_relocs): Set DF_TEXTREL if the - reloc is against read-only section. - (elf32_sparc_size_dynamic_sections): Use DF_TEXTREL flag instead of - looking up section names for DT_TEXTREL. - (elf32_sparc_reloc_type_class): New. - (elf_backend_reloc_type_class): Define. - * elf64-sparc.c (sparc64_elf_check_relocs): Set DF_TEXTREL if the - reloc is against read-only section. - (sparc64_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of - looking up section names for DT_TEXTREL. - (sparc64_elf_reloc_type_class): New. - (elf_backend_reloc_type_class): Define. - * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add reltext field. - (elfNN_ia64_hash_table_create): Clear ia64_info. - (get_reloc_section): Set DF_TEXTREL if the reloc is against read-only - section. - (elfNN_ia64_size_dynamic_sections): Use ia64_info->reltext flag - instead of looking up section names for DT_TEXTREL. - (elfNN_ia64_reloc_type_class): New. - (elf_backend_reloc_type_class): Define. - * elflink.h (size_dynamic_sections): Add spare DT_NULL tags. - (struct elf_link_sort_rela): New. - (elf_link_sort_cmp1, elf_link_sort_cmp2, elf_link_sort_relocs): New. - (elf_bfd_final_link): Call elf_link_sort_relocs. - Convert one spare DT_NULL into DT_RELCOUNT resp. DT_RELACOUNT if - necessary. - -2001-08-23 Nick Clifton - - * configure.in (x86-bsdi): No corefile support. - * configure: Regenerate. - -2001-08-22 Nick Clifton - - * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Add missing - comma. - -2001-08-21 Mark Elbrecht - - * coff-go32.c: Make DWARF2 sections use an alignment of 0. Set - the alignment of dwarf2 linkonce sections to 0. - * coff-sto32.c: Likewise. - -2001-08-20 Andreas Jaeger - - * coff-sparc.c: Add missing prototypes. - * elf32-s390.c: Likewise. - * elf32-i960.c: Likewise. - * aout-target.h: Likewise. - -2001-08-20 H.J. Lu - - * elf-bfd.h (elf_obj_tdata): Add num_section_syms. - (elf_num_section_syms): New for num_section_syms. - - * elf.c (elf_map_symbols): Set num_section_syms. - (_bfd_elf_symbol_from_bfd_symbol): Check num_section_syms for - the section symbol index. - -2001-08-20 Nick Clifton - - * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_create): Never - select the generic has table creator. All elf backends need elf - specific fields in the hash table. - -2001-08-20 Alan Modra - - * archive.c (offsetof): Remove define. - * elf.c: Likewise. - * oasys.c: Likewise - * sysdep.h (offsetof): Define. - -2001-08-17 Alan Modra - - * bfd.c (bfd_get_gp_size): Return an unsigned int. - (bfd_set_gp_size): Make param unsigned. - * bfd-in2.h: Regenerate. - * elf32-ppc.c (ppc_elf_add_symbol_hook): Use elf_gp_size rather - than calling bfd_get_gp_size. - * elf64-alpha.c (elf64_alpha_add_symbol_hook): Likewise. - * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Likewise. - -2001-08-17 Alan Modra - - * linker.c (default_fill_link_order): Handle four byte fill value. - -2001-08-17 Alan Modra - - * elf64-sparc.c (sparc64_elf_output_arch_syms): Add missing - prototype. - * nlm32-alpha.c (nlm_alpha_write_external): Fix warning. - - * elf64-mips.c (UNUSED_RELOC): Define. - (mips_elf64_howto_table_rel): Use it. - (mips_elf64_howto_table_rela): Here too. - (mips_elf64_write_relocs): Fix signed/unsigned warning. - - * coffcode.h (coff_write_object_contents): Add ATTRIBUTE_UNUSED to - silence warning. - * coffgen.c (coff_print_symbol): Fix warnings. - (coff_find_nearest_line): Likewise. - * cofflink.c (_bfd_coff_link_input_bfd): Likewise. - * coff-alpha.c (alpha_convert_external_reloc): Likewise. - * format.c (bfd_check_format_matches): Likewise. - (bfd_set_format): Likewise. - * coff-ia64.c: Add missing prototypes. - * elf64-alpha.c (struct alpha_elf_link_hash_entry): Make addend - signed to silence warnings. - (elf64_alpha_relocate_section): Likewise. - (elf64_alpha_find_reloc_at_ofs): Fix warnings. - (elf64_alpha_add_symbol_hook): Likewise. - (elf64_alpha_final_link): Likewise. - (elf64_alpha_relax_section): Remove redundant assign to info.gotent. - (elf64_alpha_merge_gots): Add ATTRIBUTE_UNUSED to unused args. - (elf64_alpha_size_got_sections): Likewise. - * elfxx-ia64.c: Add missing prototypes. - (elfNN_ia64_relocate_section): Fix warning. - (elfNN_ia64_unwind_entry_compare): Make params const. - -2001-08-17 Alan Modra - - * config.bfd (targ64_selvecs): New. - : Use it here instead of ineffectual #ifdef. - - * bfd-in.h (BFD_VERSION): Remove wrong comment. - (BFD_DEFAULT_TARGET_SIZE): New. - (BFD_ARCH_SIZE): Comment. - * configure.in (target_size): New. Set instead of target64 in - selvecs case statement. Set target64 from it. - (bfd_default_target_size): New. Set from taget_size. AC_SUBST. - * bfd-in2.h: Regenerate. - * configure: Regenerate. - -2001-08-17 Alan Modra - - * bfd.c (enum bfd_error): Add bfd_error_wrong_object_format. - (bfd_errmsgs): Add corresponding message. - * archive.c (bfd_generic_archive_p): Don't release bfd_ardata when - finding an archive that contains different format object files. - Return bfd_error_wrong_object_format for this case. - * format.c: Formatting fixes. s/CONST/const/. - (bfd_check_format_matches): Accept archives that give - bfd_error_wrong_object_format if no full match is found. Tidy - code handling matching_vector. Don't return a pointer to freed - memory in `matching'. Handle ambiguous matches as for partial - archive matches. - * bfd-in2.h: Regenerate. - -2001-08-15 Alan Modra - - * libieee.h (common_header_type): Add last_byte field. - - * ieee.c: Add missing prototypes. Some format fixes. - (struct output_buffer_struct): Move for availability to prototypes. - (ieee_part_after): New function. - (ieee_slurp_debug): Use it here. - (ieee_seek): Pass in ieee_data_struct rather than bfd. Use - ieee_part_after to set last_byte to one past end of current part. - Update callers. - (ieee_pos): Pass in ieee_data_struct rather than bfd. - Update callers. - (parse_expression): Don't go beyond the end of the current part. - (ieee_slurp_external_symbols): Correct type passed to read_2bytes. - (ieee_get_symtab_upper_bound, ieee_get_symtab, - ieee_get_symbol_info, ieee_print_symbol, ieee_new_section_hook, - ieee_get_reloc_upper_bound, ieee_canonicalize_reloc, block, - ieee_set_section_contents, ieee_write_object_contents, - ieee_make_empty_symbol): Make static. - (ieee_archive_p): Correct comments regarding bfd_read. - (ieee_object_p): Similarly. - (ieee_mkobject): Move it. Clear output_ptr_start, output_ptr, - output_ptr_end, input_ptr_start, input_ptr, input_ptr_end, - input_bfd, output_bfd, output_buffer. - (do_as_repeat): Write out ieee_set_current_pc_enum value as for - do_with_relocs, ie. as a symbol for relocatable files. - (ieee_vec): Add comments showing functions referenced by macros. - -2001-08-14 Nick Clifton - - * aout-tic30.c: Add missing prototypes. Fix formatting. - * aout-ns32k.c: Add missing prototypes. Fix formatting. - * peXXigen.c: Add missining prototypes. Fix formatting. - * aout-adobe.c: Add missining prototypes. Fix formatting. - -2001-08-13 Nick Clifton - - * elf32-v850.c: Add missing function prototypes. - Fix some formatting. - - * cpu-v850.c: Add missing function prototype. - Fix some formatting. - -2001-08-11 Nick Clifton - - * elf-bfd.h (struct elf_backend_data): Add new fields - 'elf_backend_sprintf_vma' and 'elf_backend_fprintf_vma'. - (bfd_elf_sprintf_vma): Rename function prototype to - '_bfd_elf_sprintf_vma'. - (bfd_elf_fprintf_vma): Rename function prototype to - '_bfd_elf_fprintf_vma'. - * bfd.c (bfd_sprintf_vma): Do not invoke bfd_elf_sprintf_vma - directly, instead indirect via the elf_backend_data structure. - (bfd_fprintf_vma): Do not invoke bfd_elf_fprintf_vma directly, - instead indirect via the elf_backend_data structure. - * elf.c (bfd_elf_sprintf_vma): Rename to _bfd_elf_sprintf_vma. - (bfd_elf_fprintf_vma): Rename to _bfd_elf_fprintf_vma. - * elfxx-target.h (elf_backend_sprintf_vma): Initialise if not - already defined. - (elf_backend_fprintf_vma): Initialise if not already defined. - (struct elf_backend_data): Initialise the - elf_backend_sprintf_vma and elf_backend_fprintf_vma fields. - -2001-08-10 Andreas Jaeger - - * elf64-sparc.c: Add missing prototypes. - * elf32-cris.c: Likewise. - * elf32-i370.c: Likewise. - * elf64-hppa.c: Likewise. - * elf64-s390.c: Likewise. - -2001-08-10 Andreas Jaeger - - * elf64-x86-64.c (elf64_x86_64_elf_object_p): Make static. - Add prototypes where needed. - -2001-08-10 H.J. Lu - - * bfd.c (bfd_sprintf_vma): Fix a typo in the last change. - (bfd_fprintf_vma): Likewise. - -2001-08-10 H.J. Lu - - * bfd.c (bfd_sprintf_vma): Don't return void. - (bfd_fprintf_vma): Likewise. - -2001-08-10 Andreas Jaeger - - * configure.in: Add -Wstrict-prototypes and -Wmissing-prototypes - to build warnings. - * configure: Regenerate. - -2001-08-10 Alan Modra - - * elf.c (bfd_elf_sprintf_vma): Add ATTRIBUTE_UNUSED to quiet - warning if not BFD64. Add braces so emacs auto format works. - (bfd_elf_fprintf_vma): Likewise. - - * libxcoff.h (struct xcoff_backend_data_rec): Constify src param - of _xcoff_swap_ld*. - * coff-rs6000.c (xcoff_swap_ldhdr_in): Modify type of external - param to agree with libxcoff.h. - (xcoff_swap_ldhdr_out): Likewise. - (xcoff_swap_ldsym_in): Likewise. - (xcoff_swap_ldsym_out): Likewise. - (xcoff_swap_ldrel_in): Likewise. - (xcoff_swap_ldrel_out): Likewise. - (xcoff_create_csect_from_smclas): Likewise. - * coff64-rs6000.c: Add missing prototypes. - (xcoff64_swap_ldhdr_in): Modify type of external param to agree - with libxcoff.h. - (xcoff64_swap_ldhdr_out): Likewise. - (xcoff64_swap_ldsym_in): Likewise. - (xcoff64_swap_ldsym_out): Likewise. - (xcoff64_swap_ldrel_in): Likewise. - (xcoff64_swap_ldrel_out): Likewise. - (xcoff64_ppc_relocate_section): Make static. - (xcoff64_slurp_armap): Likewise. - (xcoff64_archive_p): Likewise. - (xcoff64_openr_next_archived_file): Likewise. - (xcoff64_sizeof_headers): Likewise. - (xcoff64_is_lineno_count_overflow): Likewise. - (xcoff64_is_reloc_count_overflow): Likewise. - (xcoff64_loader_symbol_offset): Likewise. - (xcoff64_loader_reloc_offset): Likewise. - * elf64-gen.c: Add missing prototypes. - -2001-08-09 H.J. Lu - - * elf.c (bfd_elf_sprintf_vma): Check ELFCLASS64 only in BFD64. - (bfd_elf_fprintf_vma): Likewise. - -2001-08-09 H.J. Lu - - * bfd-in.h (bfd_elf_sprintf_vma, bfd_elf_fprintf_vma): Moved - to ... - * elf-bfd.h: Here. - * bfd-in2.h: Regenerated. - -2001-08-09 H.J. Lu - - * bfd-in.h (bfd_sprintf_vma): New prototype. - (bfd_fprintf_vma): Likewise. - (bfd_elf_sprintf_vma): Likewise. - (bfd_elf_fprintf_vma): Likewise. - (bfd_printf_vma): New. Defined with bfd_fprintf_vma. - * bfd-in2.h: Regenerated. - - * bfd.c (bfd_sprintf_vma): New. Defined. - (bfd_fprintf_vma): Likewise. - - * elf.c (bfd_elf_sprintf_vma): New. Defined. - (bfd_elf_fprintf_vma): Likewise. - -2001-08-09 Alan Modra - - * coff-rs6000.c: Add missing prototypes. - (xcoff_ppc_relocate_section, xcoff_is_lineno_count_overflow, - xcoff_is_reloc_count_overflow, xcoff_loader_symbol_offset, - xcoff_loader_reloc_offset): Make static. - * dwarf1.c: Add missing prototypes. - * dwarf2.c: Add missing prototypes. - (struct abbrev_info): Move definition. - (struct attr_abbrev, ABBREV_HASH_SIZE, ATTR_ALLOC_CHUNK): Likewise. - * elf.c: Add missing prototypes. - * elf32-gen.c: Likewise. - * elf32-i386.c: Likewise. - * elf32-ppc.c: Likewise. - (ppc_elf_sort_rela): Use PTR instead of "void *". - * elflink.h: Add missing prototypes. Formatting fixes. - * merge.c: Add missing prototypes. - (last4_eq): Use PTR instead of "void *". - (last_eq): Likewise. - * syms.c: Add missing prototypes. - -2001-08-09 Nick Clifton - - * bfd.c: Fix formatting. - * bfd-in2.h: Regenerate. - -2001-08-09 Nick Clifton - - * elf32-arc.c (R_ARC_B22_PCREL): Change 'partial_inplace' to - true (this target uses REL relocations) and 'pcrel_offset' to - false (the PC is implied, not stored in the offset). - -2001-08-08 Alan Modra - - 1999-10-19 Linus Nordberg - * elf-bfd.h (struct elf_backend_data): Add want_got_sym. - * elfxx-target.h (elf_backend_want_got_sym): Define. - (elfNN_bed): Add elf_backend_want_got_sym. - * elflink.c (_bfd_elf_create_got_section): Define - _GLOBAL_OFFSET_TABLE_ only if bed->want_got_sym. - -2001-08-08 Alexandre Oliva - - * dwarf2.c (struct dwarf2_debug): Add sec, sec_info_ptr and syms. - (find_rela_addend): New function. - (parse_comp_unit): Call it to find the abbrev offset addend. - (_bfd_dwarf2_find_nearest_line): Initialize and maintain the new - members of dwarf2_debug as debugging information is read. - -2001-08-07 Nick Clifton - - * coff-sh.c (sh_coff_reloc_type_lookup): Provide for sh-coff - targets as well as sh-pe. - -2001-08-03 Ben Harris - - * elf32-arm.h (elf32_arm_final_link_relocate): Include offset of - reloc from start of section when computing value for R_ARM_REL32 - reloc. - -2001-08-03 Alan Modra - - From H.J. Lu - * elf32-i386.c (allocate_plt_and_got_and_discard_relocs): Don't - keep relocs for undefined syms if there are no dynamic sections in - executable. - * elf32-hppa.c (allocate_plt_and_got_and_discard_relocs): Likewise. - -2001-08-02 Paul Sokolovsky - - * cofflink.c (coff_link_check_ar_symbols): also search for - __imp__symbol as well as _symbol. - * linker.c (_bfd_generic_link_add_archive_symbols): also - search for __imp__symbol as well as _symbol. - -2001-08-01 Adam Nemet - - * elf.c (elf_sort_sections): Return zero only as the last step. - -2001-08-01 Nick Clifton - - * config.bfd (arm-vxworks): Change name of define from VXWORKS to - ARM_COFF_BUGFIX. - (arm-epoc-pe): Define ARM_COFF_BUGFIX. - coff-arm.c (coff_arm_relocate_section): Replace VXWORKS with - ARM_COFF_BUGFIX. - -2001-07-30 Rainer Orth - - * libecoff.h (_bfd_ecoff_styp_to_sec_flags): Changed return type - to match corresponding bfd_coff_backend data member. - -2001-07-24 Alan Modra - - * Makefile.am: Update dependencies with "make dep-am". - * Makefile.in: Regenerate - -2001-07-15 H.J. Lu - - * Makefile.am (po/SRC-POTFILES.in): Use tmp.src instead of tmp. - (po/BLD-POTFILES.in): Use tmp.bld instead of tmp. - * Makefile.in: Regenerate. - -2001-07-11 H.J. Lu - - * elf64-alpha.c (elf64_alpha_check_relocs): Set the ALLOC|LOAD - flags when creating the reloc section if the ALLOC flag in the - source section is set. - -2001-07-11 Steve Ellcey - - * reloc.c (bfd_reloc_code_type): Add IA64 relocs - BFD_RELOC_IA64_LTOFF_FPTR32MSB and BFD_RELOC_IA64_LTOFF_FPTR32LSB - * bfd-in2.h: Regenerate. - * libbfd.h: Regenerate. - * elfxx-ia64.c (ia64_howto_table): Define how to handle - new relocations. - (elfNN_ia64_reloc_type_lookup): Handle new relocations. - (elfNN_ia64_check_relocs): Likewise. - (elfNN_ia64_install_value): Likewise. - (elfNN_ia64_relocate_section): Likewise. - -2001-07-11 Jakub Jelinek - - * elf32-sparc.c (_bfd_sparc_elf_howto_table): Remove support for - R_SPARC_UA64. - (elf32_sparc_check_relocs): Likewise. - Only create .rela section for alloced sections in shared libraries. - (elf32_sparc_relocate_section): Likewise. - Remove redundant check. - Optimize unaligned reloc usage. - * elf64-sparc.c (sparc64_elf_relocate_section): Remove redundant - check. - -2001-07-11 H.J. Lu - - * elf64-alpha.c (elf64_alpha_check_relocs): Only use the same - ALLOC|LOAD flags as the source section for debugging sections - when creating the reloc section. - -2001-07-05 Jim Wilson - - * linker.c (_bfd_generic_link_add_one_symbol, case BIG): Use - the section of the bigger symbol. - - * syms.c (bfd_is_local_label): Return false if BSF_SECTION_SYM. - -2001-07-05 Nick Clifton - - * peicode.h (coff_swap_scnhdr_in): For sections containing - uninitialised data, only set their size to s_paddr if this does - not reset their size to zero. MS's latest compilers will set - s_paddr to zero. - -2001-07-04 H.J. Lu - - * bfd/elf32-mips.c (_bfd_mips_elf_final_write_processing): - Handle bfd_mach_mips4400, bfd_mach_mips4600 and - bfd_mach_mips5000. - -2001-07-03 Mark Elbrecht - - * bfd.c (bfd_get_sign_extend_vma): Support DJGPP COFF targets. - - * cofflink.c (_bfd_coff_link_input_bfd): Skip section symbols from - sections being discarded. - -2001-06-30 Alan Modra - - * elfcore.h (elf_core_file_p): Call bfd_section_from_phdr directly - instead of _bfd_elfcore_section_from_phdr. - * elf-bfd.h (_bfd_elfcore_section_from_phdr): Remove. - * elf.c (_bfd_elfcore_section_from_phdr): Remove. - (_bfd_elfcore_make_pseudosection): Expedite tail-call. - (elfcore_grok_prstatus): Likewise. - (elfcore_grok_lwpstatus): Likewise. - (bfd_get_elf_phdr_upper_bound): Likewise. - (elfcore_make_note_pseudosection): Formatting. - (_bfd_elfcore_strndup): Formatting. - * elf32-mips.c (mips_elf_sym_is_global): Formatting. - (_bfd_elf32_mips_grok_prstatus): Expedite tail-call. - -2001-06-29 Daniel Jacobowitz - - * elf-bfd.h: Add prototypes for _bfd_elfcore_make_pseudosection - and _bfd_elfcore_strndup. - (struct elf_backend_data): Add elf_backend_grok_prstatus - and elf_backend_grok_psinfo. - * elf.c (_bfd_elfcore_make_pseudosection): New function. - (elfcore_grok_prstatus): Use it. - (elfcore_make_note_pseudosection): Likewise. - (elfcore_strndup): Rename to... - (_bfd_elfcore_strndup): Here, and make global. - (elfcore_grok_psinfo): Use _bfd_elfcore_strndup. - (elfcore_grok_note): Call elf_backend_grok_prstatus - and elf_backend_grok_psinfo if available. - * elf32-mips.c (_bfd_elf32_mips_grok_prstatus): New function. - (_bfd_elf32_mips_grok_psinfo): New function. - (elf_backend_grok_prstatus): Define. - (elf_backend_grok_psinfo): Define. - * elfxx-target.h (elf_backend_grok_prstatus): Default to NULL. - (elf_backend_grok_psinfo): Likewise. - (elfNN_bed): Include elf_backend_grok_prstatus and - elf_backend_grok_psinfo. - -2001-06-29 H.J. Lu - - * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Check if - hplink->sgot is NULL before filling GOT. Check if hplink->splt - is NULL before filling PLT. - -2001-06-29 Alan Modra - - * elflink.h (elf_link_output_extsym): Revert 1999-04-10. - -2001-06-27 Alan Modra - - * elf32-hppa.c (elf32_hppa_check_relocs): Don't make syms dynamic - here.. - (elf32_hppa_adjust_dynamic_symbol): ..nor here.. - (allocate_plt_and_got_and_discard_relocs): .. instead do so here - after gc has run. - - * elf32-hppa.c (RELATIVE_DYNAMIC_RELOCS): Delete. - (IS_ABSOLUTE_RELOC): Define. - (elf32_hppa_link_hash_entry): Always include reloc_entries field. - (hppa_link_hash_newfunc): Always init it. - (elf32_hppa_check_relocs): Mark symbols as ELF_LINK_NON_GOT_REF to - create COPY relocs only when the reloc is in a read-only section. - Instead, allocate space for a dynamic reloc to reference the - library symbol directly. Keep track of space we allocate using - relocs_entries. - (hppa_discard_copies): Delete, and move code to.. - (allocate_plt_and_got): ..here. Rename to - allocate_plt_and_got_and_discard_relocs. Remove unneeded dynamic - relocs for non-shared link. - (elf32_hppa_size_dynamic_sections): Update calls to above. - (elf32_hppa_relocate_section): Write out the dynamic relocs used - in lieu of COPY relocs. - - * elf32-i386.c (elf_i386_check_relocs): Don't make syms dynamic - here.. - (elf_i386_adjust_dynamic_symbol): ..nor here.. - (allocate_plt_and_got_and_discard_relocs): .. instead do so here - after gc has run. - (elf_i386_size_dynamic_sections): Fix a comment. - (elf_i386_relocate_section ): Rearrange code - involved in writing reloc out. - -2001-06-25 Alan Modra - - * elf32-i386.c (elf_i386_check_relocs ): - Ensure syms are dynamic if we might be emitting a reloc. - (allocate_plt_and_got_and_discard_relocs): Don't discard relocs - for undefweak or undefined syms.. - (elf_i386_relocate_section ): .. and emit. - - * elf32-i386.c (allocate_plt_and_got_and_discard_relocs): Discard - relocs without ELF_LINK_HASH_DEF_DYNAMIC set. - (elf_i386_relocate_section ): Remove - redundant bfd_link_hash_defined, bfd_link_hash_defweak test. - -2001-06-24 H.J. Lu - - * cpu-i960.c (scan_960_mach): Don't modify const char *. Use - strncasecmp/strcasecmp instead of strncmp/strcmp. - -2001-06-23 H.J. Lu - - * elf32-i386.c (elf_i386_relocate_section ): - Check ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined - in the regular object file and treat the weak definition as - the normal one. - -2001-06-23 Alan Modra - - * elf32-i386.c (elf_i386_relocate_section ): Tighten - unresolved_reloc test to exclude cases where we use "relocation" - before setting it to point into the .got. Reinstate fudge for - unresolved relocs in debugging sections. - - * elf32-i386.c (elf_i386_relocate_section): Replace ugly - complicated tests for unresolvable relocs with a simple direct - scheme using "unresolved_reloc" var. - - * elf32-i386.c (struct elf_i386_pcrel_relocs_copied): Rename to - elf_i386_dyn_relocs. Update comment. - (struct elf_i386_link_hash_entry): Rename pcrel_relocs_copied to - dyn_relocs. - (elf_i386_adjust_dynamic_symbol): Remove a BFD_ASSERT, change - others to aborts. - (allocate_plt_and_got_and_discard_relocs): Replace BFD_ASSERT with - abort. - (elf_i386_size_dynamic_sections): Likewise. - (elf_i386_finish_dynamic_symbol): Likewise. - (elf_i386_finish_dynamic_sections): Likewise. - (elf_i386_relocate_section): Likewise. Tidy R_386_GOT32 and error - handling code. - - Avoid creating COPY relocs if possible. - * elf32-i386.c (elf_i386_check_relocs): Tweak condition under - which .got created. Mark symbols used by R_386_32 and R_386_PC32 - relocs as ELF_LINK_NON_GOT_REF to create COPY relocs only when the - reloc is in a read-only section. Instead, allocate space for a - dynamic reloc to reference the library symbol directly. Keep - track of space we allocate using pcrel_relocs_copied. - (discard_copies): Delete, and move code to .. - (allocate_plt_and_got): ..here. Rename to - allocate_plt_and_got_and_discard_relocs. Remove unneeded dynamic - relocs for non-shared link. - (elf_i386_size_dynamic_sections): Update calls to above functions. - (elf_i386_relocate_section): Write out the dynamic relocs. Add - more ugly logic to avoid "unresolvable relocation" error. Use - htab shortcut in place of elf_hash_table macro. - (elf_i386_finish_dynamic_sections): Allow that dynamic .got may - not always be created now. - -2001-06-20 Bo Thorsen - - * elf64-x86-64.c (elf64_x86_64_relocate_section): Fix linking of - shared libraries. - -2001-06-18 Thiemo Seufer - - * configure.host (mips64-*-linux): Reformat. - -2001-06-21 Alan Modra - - * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Always - allocate local .got space. Use shortcuts from hash table for .got - and .plt rather than comparing section names. - (elf32_hppa_check_relocs): Use local_plt_refcounts var rather than - adjusting index into local_got_refcounts to document what we are - really doing. - (elf32_hppa_relocate_section): Similarly for local_plt_offsets. - Tidy .got and .plt error checking. - -2001-06-20 Catherine Moore - - * elf-bfd.h (struct elf_backend_data): - elf_backend_emit_relocs: New field: Function for emitting - relocs. - elf_backend_count_relocs: New field: Function for determining - the number of relocs to be emitted. - * elfxx-target.h: Provide default (NULL) values for - elf_backend_emit_relocs and elf_backend_count_relocs. - * elflink.h (elf_link_size_reloc_section): Make the hash table - big enough to hold the relocs counted by either reloc_count or - o->reloc_count. - (elf_bfd_final_link) emit_relocs: New boolean, set if relocs - should be emitted, either because of a command line option - stored in the info structure or because the target provides a - special reloc emitting function. - If the target provides a reloc counting function use it, - unless performing a relocatable link or emitting all relocs. - Also set the SEC_RELOC flag on any output section which will - contain relocs. - (elf_link_input_bfd): emit_relocs: New boolean, set if relocs - should be emitted, either because of a command line option - stored in the info structure or because the target provides a - special reloc emitting function. - If the target provides a reloc emitting function, use it, - unless performing a relocatable link or emitting all relocs. - -2001-06-20 H.J. Lu - - * elf32-i386.c (elf_i386_size_dynamic_sections): Always - allocate local .got space. - -2001-06-19 Andreas Jaeger - - * elf64-x86-64.c (elf64_x86_64_relocate_section): Fix creation of - dynamic symbols. - -2001-06-18 Hans-Peter Nilsson - - * elflink.h (struct elf_assign_sym_version_info): Remove member - export_dynamic. All users changed to use info member. - NAME(bfd_elf,size_dynamic_sections)): Remove parameter - export_dynamic, instead use member in parameter info. - * bfd-in.h (bfd_elf32_size_dynamic_sections, - bfd_elf64_size_dynamic_sections): Update prototype. - * bfd-in2.h: Regenerate. - -2001-06-18 H.J. Lu - - * elflink.h (elf_info_failed): Add a new field, verdefs. - (NAME(bfd_elf,size_dynamic_sections): Pass verdefs to - elf_export_symbol. - (elf_export_symbol): Check eif->verdefs to decide if a symbol - should be exported. - -2001-06-17 H.J. Lu - - * elf32-mips.c (mips_elf_link_hash_entry): Add a new field, - readonly_reloc, to record if a relocation in the .rel.dyn - section is against a read-only section. - (mips_elf_link_hash_newfunc): Initialize the readonly_reloc - field to false. - (_bfd_mips_elf_check_relocs): Record if there is a relocation - in the .rel.dyn section against a read-only section by setting - DF_TEXTREL or readonly_reloc. - (_bfd_mips_elf_copy_indirect_symbol): Copy readonly_reloc if - it is true. - (_bfd_mips_elf_adjust_dynamic_symbol): Record DF_TEXTREL if - there is a relocation in the .rel.dyn section against a - read-only section. - (_bfd_mips_elf_size_dynamic_sections): Set DT_TEXTREL if - DF_TEXTREL is set. - -2001-06-12 Nick Clifton - - * coffcode.h (styp_flags_to_sec_flags): Change to a boolean - function. Move flagword result into parameter list. Remove - comment about setting bfd_error_handler to intercept failure - results. - * coffgen.c (make_a_section_from_file): Examine result of - calling bfd_coff_styp_to_sec_flags and pass a failure back to - caller. - * ecoff.h (styp_flags_to_sec_flags): Change to a boolean - function. Move flagword result into parameter list. - * libcoff.h: Regenerate. - * libecoff.h: Regenerate. - -2001-06-13 Nick Clifton - - * aoutx.h (adjust_z_magic): Only pad the tesxt section if the data - section is going to follow it. - -2001-06-12 Catherine Moore - - * elflink.h (elf_gc_propagate_vtable_entries): Replace FILE_ALIGN - with the file_align entry from elf_backend_data. - (elf_gc_smash_unused_vtentry_relocs): Likewise. - (elf_gc_record_vtentry): Likewise. - -2001-06-10 Alan Modra - - * elflink.h: Whitespace changes. - (elf_link_read_relocs_from_section): Use "unsigned int" iterator - rather than "unsigned char". - (elf_link_output_relocs): Likewise. - (elf_link_input_bfd): Likewise. - (elf_reloc_link_order): LIkewise. - * elf.c: s/CONST/const/. Whitespace changes. - * elf32-mips.c: Formatting fix. - - * Makefile.am (SOURCE_HFILES): Include xcoff-target.h, remove xcoff.h. - * Makefile.in: Regenerate. - * po/Make-in: Remove trailing tab. - -2001-06-09 Philip Blundell - - * elf32-arm.h (elf32_arm_plt0_entry): Correct error in last - change. - (elf32_arm_plt_entry): Likewise. - -2001-06-08 H.J. Lu - - * elf.c (swap_out_syms): Keep names for global section symbols. - -2001-06-07 H.J. Lu - - * config.bfd: Put back ecoff for Linux/mips. Firmwares on some - MIPS-based machines need it. - -2001-06-07 H.J. Lu - - * elf32-mips.c (_bfd_mips_elf_object_p): Set the bad symtab - for SGI only. - - * config.bfd: Remove ecoff from Linux/mips. - -2001-06-07 Andreas Jaeger - - * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Add an - assertion. - (elf64_x86_64_check_relocs): Fix VTENTRY relocation; set an - alignment of 8 for .rela sections; handle further relocations. - -2001-06-06 Christian Groessler - - * coff-z8k.c: Fix formatting. - Fix howtos: howto->size was always 1. - -2001-06-05 Thiemo Seufer - - * configure.host (mips64*-*-linux*): Define. - -2001-06-05 Alan Modra - - * elf32-i386.c (elf_i386_discard_copies): Rename to - discard_copies, and use elf_link_hash_entry arg rather than - elf_i386_link_hash_entry. - (elf_i386_link_hash_traverse): Delete. - (elf_i386_size_dynamic_sections): Adjust call to discard_copies. - Tidy sizing of dynamic sections. - (elf_i386_check_relocs ): Reference count - possible .plt entries. - (elf_i386_gc_sweep_hook): Likewise. - (elf_i386_adjust_dynamic_symbol): Discard .plt entries for - everything with plt.refcount <= 0. - - * elf32-i386.c (elf_i386_check_relocs): Don't allocate .got and - .relgot space here. - (elf_i386_gc_sweep_hook): ..and no need to deallocate here.. - (elf_i386_adjust_dynamic_symbol): ..and don't allocate .plt and - .rel.plt here.. - (allocate_plt_and_got): ..instead do it all here. New function. - (elf_i386_size_dynamic_sections): Allocate local .got space and - call allocate_plt_and_got. No need to zap .relgot if not dynamic. - (bfd_elf32_bfd_final_link): Delete. (ie. use regular final link - rather than gc variety). - (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define. - (elf_i386_relocate_section): Use it here and correct handling of - R_386_GOT32. Provide section and offset for "unresolvable - relocation" error message. - (elf_i386_finish_dynamic_symbol): Correct handling of R_386_GOT32. - - * elf32-i386.c (struct elf_i386_link_hash_table): Add sgot, - sgotplt, srelgot, splt, srelplt, sdynbss, srelbss fields. - (elf_i386_link_hash_table_create): Init them. - (create_got_section): New function. - (elf_i386_create_dynamic_sections): New function. - (elf_backend_create_dynamic_sections): Set to above. - (elf_i386_check_relocs): Use shortcuts from hash table rather than - calling bfd_get_section_by_name. - (elf_i386_gc_sweep_hook): Likewise. - (elf_i386_adjust_dynamic_symbol): Likewise. - (elf_i386_size_dynamic_sections): Likewise. - (elf_i386_relocate_section): Likewise. - (elf_i386_finish_dynamic_sections): Likewise. - - * elf32-hppa.c (allocate_plt_and_got): Skip indirect and warning syms. - -2001-06-02 H.J. Lu - - * elf32-hppa.c (elf32_hppa_object_p): Check ELFOSABI_LINUX - and ELFOSABI_HPUX. - * elf64-hppa.c (elf64_hppa_object_p): Likewise. - -2001-06-02 H.J. Lu - - * aout-cris.c (MACHTYPE_OK): New. Defined. - -2001-06-02 Hans-Peter Nilsson - - * section.c (_bfd_strip_section_from_output): Handle NULL - output_section. - -2001-06-02 H.J. Lu - - * config.bfd (powerpc-*-aix*, powerpc-*-beos*, rs6000-*-*): Add - rs6000coff64_vec only if BFD64 is defined. - (powerpc64-*-aix*): Enable only if BFD64 is defined. - -2001-06-02 H.J. Lu - - * coff-ia64.c (ia64coff_object_p): Rewrite with - external_PEI_DOS_hdr and external_PEI_IMAGE_hdr. - -2001-06-01 Andreas Jaeger - - * elf64-x86-64.c (elf64_x86_64_relocate_section): Add PC8 - relocation, small reformatting. - -2001-05-29 Andreas Jaeger - - * elf64-x86-64.c (elf64_x86_64_check_relocs): Handle R_X86_64_64. - (elf64_x86_64_relocate_section): Likewise. - -2001-05-30 Alan Modra - - * elf32-hppa.c (elf32_hppa_check_relocs): Don't NEED_PLT for - millicode. Don't allocate .got and .rela.got space here.. - (elf32_hppa_gc_sweep_hook): ..and no need to deallocate here.. - (elf32_hppa_adjust_dynamic_symbol): ..and don't allocate .plt and - .rela.plt here.. - (hppa_handle_PIC_calls): ..nor here.. - (allocate_plt_and_got): ..instead do it all here. New function. - (elf32_hppa_size_dynamic_sections): Allocate local .got space and - call allocate_plt_and_got. No need to zap .got if not dynamic. - (elf32_hppa_final_link): Call regular bfd_final_link instead of - gc_common_final_link. - (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define. - (elf32_hppa_relocate_section): Use it here. - (elf32_hppa_finish_dynamic_symbol): Remove superfluous test of - dynamic_sections_created. - (hppa_type_of_stub): Don't LONG_BRANCH_VIA_PLT if millicode sym. - -2001-05-28 Andreas Jaeger - - * elf64-x86-64.c (elf64_86_64_size_info): Remove, we can use the - generic version since we want a hashsize of 4. - (elf_backend_size_info): Likewise. - -2001-05-28 Thiemo Seufer - - * elflink.h (elf_link_size_reloc_section): Use bfd_zmalloc instead of - a zeroing loop. - (elf_link_output_relocs): Handle MIPS ELF64 relocations correctly. - (elf_link_input_bfd): Likewise. - (elf_reloc_link_order): Likewise. - (elf_finish_pointer_linker_section): Typo. Handle MIPS ELF64 - relocations correctly. - -2001-05-28 Nicolas Pitre - - * elf32-arm.h: fix PLT generation for big endian ARM - -2001-05-28 Alan Modra - - * elf32-hppa.c (elf32_hppa_relocate_section): Set up .plt entries - for symbols forced local that need plabels. - (elf32_hppa_adjust_dynamic_symbol): Don't allocate space in - .plt.rela for local syms if non-shared. - (hppa_build_one_stub): Mask lsb of plt.offset. - (elf32_hppa_finish_dynamic_symbol): Abort if lsb of plt.offset set. - (clobber_millicode_symbols): Correct comment. - (elf32_hppa_relocate_section): Likewise. - (elf32_hppa_finish_dynamic_symbol): Likewise. - -2001-05-28 Jeff Sturm - - * reloc.c: Add BFD_RELOC_SPARC_UA16 and BFD_RELOC_SPARC_UA64. - * bfd-in2.h: Regenerate. - * libbfd.h: Regenerate. - * elf32-sparc.c: Enable BFD_RELOC_SPARC_UA16, BFD_RELOC_SPARC_UA32 - and BFD_RELOC_SPARC_UA64 mapping - * elf64-sparc.c: Likewise. - -2001-05-25 H.J. Lu - - * Makefile.am (BFD32_BACKENDS): Remove coff-pmac.lo. - (BFD32_BACKENDS_CFILES): Remove coff-pmac.c. - (coff-rs6000.lo): Remove the old dependency. - * Makefile.in: Rebuild. - - * configure.in (pmac_xcoff_vec): Replace coff-pmac.lo with - coff-rs6000.lo. - -2001-05-25 H.J. Lu - - * coff-rs6000.c (rs6000coff_vec): Use rs6000coff_core_p, - rs6000coff_core_file_matches_executable_p, - rs6000coff_core_file_failing_command and - rs6000coff_core_file_failing_signal only if AIX_CORE is - defined. - (pmac_xcoff_vec): Likewise. - * coff64-rs6000.c (rs6000coff64_vec): Likewise. - -2001-05-25 Timothy Wall - - * elfxx-ia64.c (allocate_dynrel_entries): Don't allocate an entry - for __GLOB_DATA_PTR on AIX5. Clean up some relocation bugs. - -2001-05-25 H.J. Lu - - * bfd-in2.h: Regenerated. - * libcoff.h: Likewise. - -2001-05-25 Alan Modra - - * elf32-hppa.c (elf32_hppa_relocate_section): Don't allow - undefined millicode syms in shared libs. - (hppa_build_one_stub): Turn BFD_ASSERTs into aborts. - (elf32_hppa_check_relocs): Likewise. - (elf32_hppa_adjust_dynamic_symbol): Likewise. - (elf32_hppa_size_dynamic_sections): Likewise. - (elf32_hppa_relocate_section): Likewise. - (elf32_hppa_finish_dynamic_symbol): Likewise. - (elf32_hppa_finish_dynamic_sections): Likewise. - -2001-05-24 Tom Rix - - * Makefile.am coff-pmac bfd now defined in coff-rs6000.c - xcoff-target.h not used to define rs6000 or ppc bfd. - * Makefile.in same - - * bfd-in.h : (struct lineno_cache_entry) promote element "offset" - to 64 bit. - - * coff-rs6000.c : Many changes for 64 bit support. Move common - 32/64 code to xcofflink.c. Explictly define the rs6000coff_vec - and pmac_xcoff_vec - - * coff64-rs6000.c : Many changes for 64 bit support. 64 bit - linker now supported. Explictly define the rs6000coff64_vec. - - * coffcode.h : (coff_set_arch_mach_hook) xcoff 64 bit support - (coff_print_aux) same - (coff_write_object_contents) same - (coff_slurp_line_table) same - - * coffgen.c : (coff_fix_symbol_name) formatting - (coff_mangle_symbols) xcoff 64 bit support - (coff_write_symbol) same - (coff_write_alien_symbol) same - (coff_write_native_symbol) same - (coff_write_symbols) same - (coff_get_symbol_info) same - (bfd_coff_get_syment) same - (coff_print_symbol) same - - * config.bfd : add powerpc64-*-aix* target - - * libcoff-in.h : formatting - - * libcoff.h : move xcoff extern declarations to libxcoff.h - - * libxcoff.h : New file - - * xcofflink.c : Many changes for xcoff64 support. Move common - structures to include/coff/xcoff.h. Move specific structure to - backends coff-rs6000.c and coff64-rs6000.c. Use new backend - functions, defined in libxcoff.h, to isolate 32/64 dependencies. - - (bfd_xcoff_size_dynamic_sections) : special __rtinit symbol for - aix4.2+ -binitfini. - - (xcoff_build_ldsyms) : handle special __rtinit symbol. - -2001-05-23 Alexandre Oliva - - * elf64-sparc.c (sparc64_elf_slurp_reloc_table): Fix typo - s/ENTIRES/ENTRIES/. - -2001-05-23 Thiemo Seufer - - * reloc.c (bfd_reloc_code_real): Add MIPS ELF64 relocations. - * libbfd.h: Regenerate. - * bfd-in2.h: Regenerate. - - * aoutx.h (aout_@var{size}_machine_type): Add MIPS r12k support. - * archures.c (bfd_mach_mips12000): Define. - * cpu-mips.c (arch_info_struct): Add MIPS r12k support. - * elf32-mips.c (_bfd_mips_elf_final_write_processing): Add MIPS r12k - support. - (_bfd_mips_elf_size_dynamic_sections): Use official bfd typedef. - * bfd-in2.h: Regenerate. - * elfxx-target.h: Do not redefine bfd_elfNN_bfd_make_debug_symbol. - -2001-05-23 kaz Kojima - - * elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry, - elf_sh_plt_entry_be, elf_sh_plt_entry, elf_sh_pic_plt_entry_be, - elf_sh_pic_plt_entry): New PLT code, that does not use r2, since - that is used by GCC. - -2001-05-23 Nick Clifton - - * elf-bfd.h (NUM_SHDR_ENTRIES): New macro: compute the number - of entries in a structured section. - * elf.c: Use new macro. - * elf32-i386.c: Use new macro. - * elf32-mips.c: Use new macro. - * elf64-alpha.c: Use new macro. - * elf64-sparc.c: Use new macro. - * elfcode.h: Use new macro. - * elflink.h: Use new macro. - -2001-05-23 Nick Clifton - - * bfdint.texi: Replace -oformat with --oformat. - -2001-05-21 Andreas Jaeger - - * dwarf2.c (decode_line_info): Fix error message. - (read_abbrevs): Fix test for offset as suggested by Alan Modra and - adjust error message. - -2001-05-18 H.J. Lu - - * elflink.h (elf_link_add_object_symbols): Revert the last - change. - -2001-05-17 Alan Modra - - * elf32-hppa.c (clobber_millicode_symbols): Temporarily set - ELF_LINK_FORCED_LOCAL to suit 2001-04-30 change. - (hppa_build_one_stub): Add an assert to check plt.offset. - -2001-05-17 H.J. Lu - - * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the - version definition to basename of the output filename. - -2001-05-17 H.J. Lu - - * elflink.h (elf_link_add_object_symbols): Set DT_NEEDED to - basename of the bfd filename. - -2001-05-16 Alan Modra - - * section.c (asection): Add linker_has_input field. - (STD_SECTION): Adjust initialization to suit. - * ecoff.c (bfd_debug_section): Likewise. - * bfd-in2.h: Regenerate. - -2001-05-15 Alexandre Oliva - - * elf-m10300.c (mn10300_elf_relax_section): Don't relax - negative 32-bit operands to 16 operands when the operand is - going to be zero-extended by the modified opcode. - -2001-05-12 Peter Targett - - * cpu-arc.c (arch_info_struct): Add entry 'base' representing old - name for 'arc5' core versions. - (bfd_arc_arch): Make bfd_mach_arc_6 default. - - * elf32-arc.c (arc_elf_object_p): Make E_ARC_MACH_ARC6 default - architecture. - (arc_elf_final_write_processing): Make bfd_mach_arc_6 default. - -2001-05-11 Jakub Jelinek - - * elfxx-ia64.c (is_unwind_section_name): Consider linkonce unwind - sections as well. - (elfNN_ia64_final_write_processing): Map .gnu.linkonce.ia64unw.FOO - to .gnu.linkonce.t.FOO text section. - -2001-05-11 Jakub Jelinek - - * merge.c (struct sec_merge_hash_entry): Add u.entsize and u.suffix - fields, change sec into secinfo. - (struct sec_merge_info): Add chain, remove last fields. - (struct sec_merge_sec_info): Add next, sec, psecinfo fields. - (sec_merge_hash_lookup): If lookup could not use a string only - because it has bad alignment, mark the old string for deletion. - (sec_merge_add): Add secinfo argument. Don't compute entry's - position, instead record the section. - (sec_merge_emit): Update for the sec into secinfo change in - struct sec_merge_hash_entry. - (_bfd_merge_section): Only record the section for merging, defer - putting strings into the hash table. - (cmplengthentry, last4_eq, last_eq, record_section, merge_strings, - _bfd_merge_sections): New functions. - (_bfd_merged_section_offset): Update for the sec_merge_hash_entry - changes. - * libbfd-in.h (_bfd_merge_sections): Add prototype. - (_bfd_nolink_bfd_merge_sections): Define. - * libbfd.h: Likewise. - (bfd_generic_merge_sections): Add prototype. - * targets.c (BFD_JUMP_TABLE_LINK): Add _bfd_merge_sections. - (struct bfd_target): Likewise. - * bfd.c (bfd_merge_sections): Define. - * bfd-in2.h: Rebuilt. - * elf.c (_bfd_elf_merge_sections): New function. - * elf-bfd.h (_bfd_elf_merge_sections): Add prototype. - * elfxx-target.h (bfd_elfNN_bfd_merge_sections): Define. - * reloc.c (bfd_generic_merge_sections): New function. - * vms.c (vms_bfd_merge_sections): New function. - * aout-adobe.c (aout_32_bfd_merge_sections): Define. - * aout-target.h (MY_bfd_merge_sections): Define. - * aout-tic30.c (MY_bfd_merge_sections): Define. - * binary.c (binary_bfd_merge_sections): Define. - * bout.c (b_out_bfd_merge_sections): Define. - * coff-alpha.c (_bfd_ecoff_bfd_merge_sections): Define. - * coffcode.c (coff_bfd_merge_sections): Define. - * coff-mips.c (_bfd_ecoff_bfd_merge_sections): Define. - * i386msdos.c (msdos_bfd_merge_sections): Define. - * i386os9k.c (os9k_bfd_merge_sections): Define. - * ieee.c (ieee_bfd_merge_sections): Define. - * ihex.c (ihex_bfd_merge_sections): Define. - * nlm-target.h (nlm_bfd_merge_sections): Define. - * oasys.c (oasys_bfd_merge_sections): Define. - * ppcboot.c (ppcboot_bfd_merge_sections): Define. - * som.c (som_bfd_merge_sections): Define. - * srec.c (srec_bfd_merge_sections): Define. - * tekhex.c (tekhex_bfd_merge_sections): Define. - * versados.c (versados_bfd_merge_sections): Define. - * xcoff-target.h (_bfd_xcoff_bfd_merge_sections): Define. - -2001-05-11 Nick Clifton - - * dwarf1.c (_bfd_dwarf1_find_nearest_line): Change type of 'addr' - to be unsigned long, in order to match its use. - -2001-05-10 H.J. Lu - - * linker.c (_bfd_generic_link_add_one_symbol): Check loop on - indirect symbols. - -2001-05-09 H.J. Lu - - * elflink.h (elf_link_add_object_symbols): Fix a typo. Allocate - versymhdr->sh_size bytes for extversym instead of hdr->sh_size. - Remove the unused veriable `dynver'. - -2001-05-08 Ian Lance Taylor - - * coff-i386.c (coff_i386_reloc): Don't dump core if output_bfd is - NULL or is not COFF. - (coff_i386_rtype_to_howto): Don't dump core if output section - owner is not COFF. - -2001-05-07 Thiemo Seufer - - * ecoff.c (bfd_debug_section): Fix initialization. - * elf.c (_bfd_elf_slurp_version_tables): Change maxidx to unsigned, it - is always a positive integer. Cast away sign mismatch. - * elf32-mips.c: Fix misleading comment and typo. - (_bfd_mips_elf_section_from_bfd_section): Remove unused attribute, use - correct data type. - * elflink.c: Fix typo. - (_bfd_elf_create_dynamic_sections): Remove superfluous initialization. - * ecoffswap.h (ecoff_swap_fdr_in): Cast away sign mismatch. - -2001-05-04 Richard Henderson - - * elf64-alpha.c (SREL16, SREL32, SREL64): Set pcrel_offset true. - -2001-05-04 Nick Clifton - - * elf32-arm.h (elf32_arm_final_link_relocate): Set - EF_ARM_HASENTRY if the start address is set. - -2001-05-03 Nick Clifton - - * targets.c (_bfd_target_vector_entries): Compute value based on - the size of the _bfd_target_vector and not bfd_target_vector. - -2001-05-03 H.J. Lu - - * elfcode.h: Include "libiberty.h". - - * elflink.h (elf_link_add_object_symbols): Set - elf_dt_name (abfd) to basename of the bfd filename. - (NAME(bfd_elf,size_dynamic_sections)): Set vn_file to basename - of the bfd filename. - -2001-05-03 Andreas Jaeger - - * elf64-gen.c (elf_generic_info_to_howto): Add unused attribute. - (elf_generic_info_to_howto_rel): Likewise. - * coff-alpha.c (reloc_nil): Likewise. - (alpha_ecoff_bad_format_hook): Likewise. - (alpha_adjust_reloc_out): Likewise. - (alpha_bfd_reloc_type_lookup): Likewise. - (alpha_convert_external_reloc): Likewise. - * elf64-alpha.c (elf64_alpha_reloc_nil): Likewise. - (elf64_alpha_reloc_bad): Likewise. - (elf64_alpha_reloc_gpdisp): Likewise. - (elf64_alpha_bfd_reloc_type_lookup): Likewise. - (elf64_alpha_info_to_howto): Likewise. - (elf64_alpha_add_symbol_hook): Likewise. - (elf64_alpha_create_got_section): Likewise. - (elf64_alpha_is_local_label_name): Likewise. - (elf64_alpha_merge_ind_symbols): Likewise. - * elf64-mips.c (mips_elf64_reloc_type_lookup): Likewise. - (mips_elf64_get_reloc_upper_bound): Likewise. - * nlm32-alpha.c (nlm_alpha_mangle_relocs): Likewise. - (nlm_alpha_get_public_offset): Likewise. - -2001-05-02 Johan Rydberg - - * elf32-openrisc.c (openrisc_elf_howto_table): Do not complain - about overflow in R_OPENRISC_LO_16_IN_INSN and - R_OPENRISC_HI_16_IN_INSN.Index: bfd/elf32-openrisc.c - -2001-04-30 H.J. Lu - - * elf.c (_bfd_elf_link_hash_hide_symbol): Set dynindx to -1 - only for ELF_LINK_FORCED_LOCAL. - * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise. - * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise. - * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise. - - * elflink.h (elf_fix_symbol_flags): Set ELF_LINK_FORCED_LOCAL - if the symbol has hidden or internal visibility. - -2001-04-30 Alan Modra - - * elf32-hppa.c (final_link_relocate): Branch to .+8 for - calls to undefined weak symbols. - -2001-04-30 Andreas Jaeger , Andreas Schwab - - * elf64-x86-64.c (elf64_x86_64_relocate_section): Correct test for - R_X86_64_GOTPCREL, don't use assignments instead of comparisons. - -2001-04-27 Andreas Jaeger - - * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Only swap - out handled entries. - (elf64_x86_64_finish_dynamic_symbol): Set up GOT entries. - (elf64_x86_64_relocate_section): Fix GOTPCREL calculation. - (elf64_x86_64_relocate_section): Merge entries for GOTPCREL and - GOT32. - -2001-04-27 Sean McNeil - - * config.bfd: Add arm-vxworks target. - * coff-arm (coff_arm_relocate_section): Add in symbol value to - addend (fro VXworks targets). - -2001-04-26 H.J. Lu - - * elf32-i386.c (elf_i386_check_relocs): Verify if r_symndx is - valid. - -2001-04-25 Frank Ch. Eigler - - * bfd-in.h (bfd_cache_close): Declare newly exported function. - * bfd-in2.h: Regenerated. - -2001-04-24 Jakub Jelinek - - * merge.c (struct sec_merge_hash_entry): Add alignment field. - (struct sec_merge_hash): Remove alignment_power. - (sec_merge_hash_newfunc): Clear alignment. - (sec_merge_hash_lookup): Pass alignment as argument. - Use hashp->root.next, not hashp->next to walk the hash chain. - If a string already in the hashtable does not have required - alignment, create a new hashtable entry. - (sec_merge_init): Remove alignment_power argument. - (sec_merge_add): Add alignment argument. - (sec_merge_emit): Alignment is now a per-entity thing, not per - section. - (_bfd_merge_section): Sanity check even non-SEC_STRINGS sections - for proper alignment. - Pass alignment information to sec_merge_add. - -2001-04-24 Christian Groessler - - * coff-z8k.c (extra_case): added handler for R_DISP7, R_CALLR - and R_REL16 reloc types; accept odd values for R_REL16 type - -2001-04-24 Johan Rydberg - - * cpu-openrisc.c: New file. - * elf32-openrisc.c: Likewise. - - * Makefile.am (ALL_MACHINES): Add cpu-openrisc.lo. - (ALL_MACHINES_CFILES): Add cpu-openrisc.c. - (BFD32_BACKENDS): Add elf32-openrisc.lo. - (BFD32_BACKENDS_CFILES): Add elf32-openrisc.c. - (cpu-openrisc.lo, elf32-openrisc.lo): New rules. - * Makefile.in: Regenerated. - * config.bfd: (openrisc-*-elf): New target. - * configure.in (bfd_elf32_openrisc_vec): New vector. - * configure: Regenerated. - * libbfd.h: Regenerated. - * bfd-in2.h: Regenerated. - * reloc.c: Add OpenRISC relocations. - * targets.c (bfd_elf32_openrisc_vec): Declare. - (bfd_target_vect): Add bfd_elf32_openrisc_vec. - * archures.c (enum bfd_architecture): Add bfd_arch_openrisc. - (bfd_openrisc_arch): Declare. - (bfd_archures_list): Add bfd_openrisc_arch. - * elf.c (prep_headers): Add bfd_arch_openrisc. - -2001-04-23 Bo Thorsen - - * elf64-x86-64.c: Add c++ vtable hack. - Small whitespace and comment changes. - -2001-04-19 Andreas Jaeger - - * elf64-x86-64.c (elf64_x86_64_plt0_entry): Fix instructions. - (elf64_x86_64_plt_entry): Likewise. - (elf64_x86_64_finish_dynamic_sections): Fix PLT0 generation. - (elf64_x86_64_finish_dynamic_symbol): Fix PLT generation. - -2001-04-17 Hans-Peter Nilsson - - * elf32-cris.c: Tweak comments related to dynamic linking. - (cris_elf_relocate_section): When not creating shared object, fill - in the .got table for any symbol not in the dynamic symbol table. - (elf_cris_finish_dynamic_symbol): When not creating shared object, - only emit a .got.rela reloc if the symbol is in the dynamic symbol - table. - (cris_elf_check_relocs): Use variable r_type in all places rather - than the original expression. Add default case in switch for - reloc types. - (elf_cris_size_dynamic_sections): Iterate over - elf_cris_discard_excess_program_dynamics when not creating shared - library. - (elf_cris_discard_excess_dso_dynamics): Renamed from - elf_cris_discard_copies. Correct typo, s/Rel/Rela/. - (elf_cris_discard_excess_program_dynamics): New. - -2001-04-14 Mark Elbrecht - - * coffcode.h (coff_write_object_contents): Use - bfd_coff_swap_filehdr_out instead of coff_swap_filehdr_out. - -2001-04-14 H.J. Lu - - * bfd-in2.h: Regenerate. - -2001-04-14 Jakub Jelinek - - * section.c (STD_SECTION): Add entsize. - -2001-04-13 H.J. Lu - - * section.c (SEC_MERGE): Define new flag for merging. - (SEC_STRINGS): Likewise. - (entsize): New field. - -2001-04-13 Roger Sayle - - * coff-i386.c (TARGET_SYM): SEC_READONLY is an applicable section - flag on pe-i386 targets. - -2001-04-13 Jakub Jelinek - - * libbfd-in.h (_bfd_merge_section): New. - (_bfd_write_merged_section): New. - (_bfd_merged_section_offset): New. - * libbfd.h: Rebuilt. - * linker.c (_bfd_generic_link_output_symbols): Handle - discard_sec_merge. - * aoutx.h (aout_link_write_symbols): Likewise. - * pdp11.c (aout_link_write_symbols): Likewise. - * elflink.h (elf_link_add_object_symbols): Call _bfd_merge_section. - (elf_bfd_final_link): Adjust global symbols pointing into SEC_MERGE - sections. - (elf_link_sec_merge_syms): New. - (elf_link_input_bfd): Call _bfd_merged_section_offset - and _bfd_write_merged_section. - Handle discard_sec_merge. - * elf-bfd.h (struct elf_link_hash_table): Add merge_info - field. - (struct bfd_elf_section_data): Likewise. - * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_MERGE and - SEC_STRINGS section flags and entsize from their ELF counterparts. - (_bfd_elf_link_hash_table_init): Initialize merge_info. - (elf_fake_sections): Set SHF_MERGE, SHF_STRINGS and sh_entsize - from their BFD counterparts. - * merge.c: New file. - * Makefile.am: Add strtab.lo. - * Makefile.in: Rebuilt. - -2001-04-09 Hans-Peter Nilsson - - * elflink.h (elf_fix_symbol_flags): For non-default visibilities, - only hide symbols marked STV_INTERNAL or STV_HIDDEN. - -2001-04-05 Steven J. Hill - - * config.bfd (mips*el*-*-linux-gnu*): Use traditional little - endian MIPS ELF target. - * config.bfd (mips*-*-linux-gnu*): Use traditional big endian - MIPS ELF target. - - * configure.in (bfd_elf64_tradbigmips_vec): New. Traditional - 64bit big endian MIPS ELF target. - (bfd_elf64_tradlittlemips_vec): New. Traditional 64bit little - endian MIPS ELF target. - * configure: Regenerated. - - * elf32-mips.c (IRIX_COMPAT): Handle traditional 64bit and - little endian targets. - (mips_elf_sym_is_global): Handle traditional targets. - - * elf64-mips.c (bfd_elf64_tradbigmips_vec): New. Traditional - 64bit big endian MIPS ELF target. - (bfd_elf64_tradlittlemips_vec): New. Traditional 64bit little - endian MIPS ELF target. - - * targets.c: (_bfd_target_vector): Add bfd_elf64_tradbigmips_vec - and bfd_elf64_tradlittlemips_vec. - -2001-04-05 David Mosberger - - * elf32-i386.c (elf_i386_fake_sections): Treat ".reloc" as an - ordinary "progbits" section. - -2001-04-04 Alan Modra - - * elflink.h (elf_fix_symbol_flags): Call elf_backend_hide_symbol - when -Bsymbolic causes a symbol to no longer need a .plt entry. - -2001-04-03 David Mosberger - - * efi-app-ia32.c (ALIGN_SECTIONS_IN_FILE): Deleted. - -2001-03-30 H.J. Lu - - * efi-app-ia32.c (PEI_TARGET_SUBSYSTEM): Rename from ... - (PEI_DEFAULT_TARGET_SUBSYSTEM): This. - -2001-03-26 H.J. Lu - - * elf32-gen.c (elf32_generic_link_add_symbols): New. Check - if there are any relocations for generic ELF. - (bfd_elf32_bfd_link_add_symbols): Defined to - elf32_generic_link_add_symbols. - * elf64-gen.c (elf64_generic_link_add_symbols): New. Check - if there are any relocations for generic ELF. - (bfd_elf64_bfd_link_add_symbols): Defined to - elf64_generic_link_add_symbols. - -2001-03-23 Nick Clifton - - * Makefile.am (BUILD_CFILES): New variable: List of C source - files created in build directory. - (BUILD_HFILES): New variable: List of header files created in - build directory. - (POTFILES): Delete. - (po/POTFILES.in): Replace rule with empty entry. - (po/SRC-POTFILES.in): New rule: Create a list of source files - in the source directory. - (po/BLD-POTFILES.in): New rule: Create a list of source files - in the build directory. - (MOSTLYCLEAN): Do not delete source files created in build - directory. - * Makefile.in: Regenerate. - * configure.in: Insert SRC-POTFILES.in and BLD-POTFILES.in - into po/Makefile. - * configure: Regenerate. - - * po/Make-in: Replace occurrences of POTFILES with SRC-POTFILES - and BLD_POTFILES. - Add .. to the search path when building bfd.pot. - Delete POTFILES when performing distclean. - Add comment describing why distclean is broken in maintainer mode. - * po/POTFILES.in: Delete. - * po/SRC-POTFILES.in: New file. - * po/BLD-POTFILES.in: New file. - * po/bfd.pot: Regenerate. - -2001-03-22 Hans-Peter Nilsson - - * elf32-cris.c: Shlib and PIC support. PCREL tweaks. - (elf_cris_discard_copies, elf_cris_adjust_gotplt_to_got, - elf_cris_try_fold_plt_to_got, elf_cris_link_hash_newfunc, - elf_cris_link_hash_table_create, elf_cris_adjust_dynamic_symbol, - elf_cris_size_dynamic_sections, elf_cris_finish_dynamic_symbol, - elf_cris_finish_dynamic_sections,elf_cris_hide_symbol): New - functions. - (cris_elf_howto_table) : Correct comments. Set pcrel_offset to false. - : - New HOWTO members for new relocs. - (cris_reloc_map): Map new relocs. - (ELF_DYNAMIC_INTERPRETER): Define. - (PLT_ENTRY_SIZE): Define. - (elf_cris_plt0_entry, elf_cris_plt_entry, elf_cris_pic_plt0_entry, - elf_cris_pic_plt_entry): New, PLT templates. - (struct elf_cris_pcrel_relocs_copied, struct - elf_cris_link_hash_entry, struct elf_cris_link_hash_table): New. - (elf_cris_link_hash_traverse, elf_cris_hash_table): Define. - (cris_final_link_relocate): Check that 16-bit GOT relocs have - positive values. Adjust PCREL relocs to be relative to location - after relocation. - (cris_elf_relocate_section): Handle relocations to dynamic - objects. Handle new relocations. Call error handler when seeing - non-PIC relocation for read-only sections while generating shared - object. - (cris_elf_check_relocs): Set reference counts for GOT and PLT - entries. - (bfd_elf32_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_create_dynamic_sections, bfd_elf32_bfd_final_link, - elf_backend_hide_symbol, 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. - - * reloc.c: (BFD_RELOC_CRIS_COPY, BFD_RELOC_CRIS_GLOB_DAT, - BFD_RELOC_CRIS_JUMP_SLOT, BFD_RELOC_CRIS_RELATIVE, - BFD_RELOC_CRIS_32_GOT, BFD_RELOC_CRIS_16_GOT, - BFD_RELOC_CRIS_32_GOTPLT, BFD_RELOC_CRIS_16_GOTPLT, - BFD_RELOC_CRIS_32_GOTREL, BFD_RELOC_CRIS_32_PLT_GOTREL, - BFD_RELOC_CRIS_32_PLT_PCREL): New relocs. - * bfd-in2.h, libbfd.h: Regenerate. - -2001-03-21 Diego Novillo - - (_bfd_mips_elf_relocate_section): Give a better error message when - a relocation is not recognized. - -2001-03-21 Alan Modra - - * elf32-hppa.c (elf32_hppa_set_gp): Check sec->output_section - non-NULL before attempting to dereference. - -2001-03-20 H.J. Lu - - * configure.in: Remove the redundent AC_ARG_PROGRAM. - * configure: Rebuild. - -2001-03-20 Andreas Schwab - - * elf32-m68k.c (elf_m68k_relocate_section): Don't need the - relocation value when resolving a reference from a debugging - section. - -2001-03-16 Scott Thomason - - * coff64-rs6000.c (xcoff64_swap_sym_out): Fix syntax errors. - (xcoff64_swap_sym_out): Fix syntax errors. - -2001-03-16 Richard Sandiford - - * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix warning. - -2001-03-15 Alan Modra - - * elf32-hppa.c (elf32_hppa_link_hash_entry): Add maybe_pic_call. - (hppa_link_hash_newfunc): Init it. - (hppa_type_of_stub): Only use non-PIC to PIC call stub if caller - section appears to be non-PIC. - (final_link_relocate): Likewise. - (elf32_hppa_adjust_dynamic_symbol): Set maybe_pic_call for any - possible candidate function, and set pic_call for those that will - only have a .plt entry for the PIC call stub. - (hppa_handle_PIC_calls): Set maybe_pic_call. - -2001-03-12 DJ Delorie - - * elf32-sh.c (sh_elf_relocate_section): Only relocation - R_SH_DIR8WP* relocs if they're against external symbols, else - they're just for relaxing. Validate the reloc values. - -2001-03-12 Stefan Geuken - - * binary.c (bfd_external_binary_architecture): Declare. - (binary_object_p): If bfd_external_binary_architecture is defined, - set the architecture to this string. - -2001-03-11 Philip Blundell - - * elf32-arm.h (elf32_arm_finish_dynamic_symbol): Don't make PLT - entries that could serve as a definition for a weak symbol. - -2001-03-08 Nick Clifton - - * Most files: Update copyright notices using Perl script created - by Kevin Buettner . - -2001-03-07 Nick Clifton - - * elf32-arm.h (elf32_arm_final_link_relocate): Conditionalise - prior patch on ! defined OLD_ARM_ABI. - -2001-03-07 Andreas Jaeger - - * elf64-x86-64.c (elf64_x86_64_relocate_section): Fix handling of - some relocation values. - -2001-03-06 Nick Clifton - - * elf32-arm.h (elf32_arm_final_link_relocate): Clear bit zero - of offset in BLX(1) instruction. - * coff-arm.c (coff_arm_relocate_section): Clear bit zero of - offset in BLX(1) instruction. - Fix formatting. - -2001-03-06 Nick Clifton - - * coff-arm.c (coff_arm_reloc_type_lookup): Add - BFD_RELOC_THUMB_PCREL_BLX. - -2001-03-06 Igor Shevlyakov - - * archures.c (bfd_default_scan): Add Coldfire CPUs. - * bfd-in2.h: Regenerate. - * cpu-m68k.c: Add Coldfire CPUs for arch table. - * ieee.c (ieee_write_processor): Set proper id for - Coldfire CPUs. - -2001-03-01 D.J. Barrow - - * configure.in: Add s390 target. - * configure: Regenerate. - -2001-02-28 Andreas Jaeger - - * elf64-x86-64.c (elf64_x86_64_relocate_section): Add relocation - to addend. - -2001-02-28 Philip Blundell - - * elf32-arm.h: Update mentions of renamed EF_xx constants. - (elf32_arm_print_private_bfd_data): Handle ARM EABI version 2. - -2001-02-27 H.J. Lu - - * aoutx.h (NAME(aout,bfd_free_cached_info)): Return true if - abfd->tdata.aout_data == NULL. - -2001-02-27 Alan Modra - - * elf32-hppa.c: Correct field selector in stub comments. - (clobber_millicode_symbols): Formatting fix. - - * configure.in: Bump version to 2.11.90. - * configure: Regenerate. - * Makefile.am (CFILES): Rename to SOURCE_CFILES. - (CFILES): $SOURCE_CFILES + generated C files. - (POTFILES): Include $HFILES not $SOURCE_HFILES. - Run "make dep-am" - * Makefile.in: Regenerate. - * doc/Makefile.in: This too. - -2001-02-26 Timothy Wall - - * elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Remove obsolete - comments. - -2001-02-26 Nick Clifton - - * coffcode.h (styp_to_sec_flags) [COFF_WITH_PE version]: Tidy - up, replacing multiple if statements with a switch. - (handle_COMDAT): New function. - -2001-02-26 H.J. Lu - - * coffcode.h (styp_to_sec_flags) [COFF_WITH_PE version]: Issue - a warning for section flags we do not handle instead of - aborting. - -2001-02-26 Andreas Jaeger - - * elf64-x86-64.c (x86_64_elf_howto_table): Fix order of entries. - -2001-02-22 Timothy Wall - - * config.bfd (targ_cpu): Add vectors for ia64-*-aix* (aka Monterey). - * configure.in: Add objects for elf64_ia64_aix vectors. - * configure: Regenerated. - * configure.host: Recognize ia64-*-aix*. - * elfxx-ia64.c: Add hooks for ELF64 on AIX5. Define new vectors - for AIX. AIX5 requires most relocations to be dynamic (*all* - binaries are somewhat similar to shared libraries). - * targets.c: Add elf64_ia64_aix vectors. - -2001-02-21 David Mosberger - - * cpu-ia64-opc.c (elf64_ia64_operands}: Fix typo: error string for - C8 said "1" instead of "8". Clarify error string for IMM22: - "signed integer" instead of just "integer". - -2001-02-20 Andreas Jaeger - - * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Don't make - PLT entries that could serve as a definition for a weak symbol. - -2001-02-19 Jakub Jelinek - - * elf32-sparc.c (elf32_sparc_finish_dynamic_symbol): Don't make PLT - entries that could serve as a definition for a weak symbol. - * elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Likewise. - -2001-02-18 David O'Brien - - * configure.in: Recognize FreeBSD/arm, FreeBSD/PowerPC, and treat - FreeBSD/i386-CURRENT differently until I can figure out the needed - corefile changes. - * configure: Regenerate. - * config.bfd: Recognize FreeBSD/x86-64, FreeBSD/ia64, FreeBSD/arm, - FreeBSD/PowerPC, and FreeBSD/sparc64. - -2001-02-18 lars brinkhoff - - * Makefile.am: Add PDP-11 a.out target. - * config.bfd: Likewise. - * configure.in: Likewise. - * targets.c: Likewise. - * archures.c: Likewise. - * bfd-in2.h: Likewise. Add PDP-11 relocations. - * libbfd.h: Add PDP-11 relocations. - * reloc.c: Likewise. - * cpu-pdp11.c: New file. - * pdp11.c: New file. - - * libaout.h (GET_WORD) [ARCH_SIZE==16]: Define. - (GET_SWORD) [ARCH_SIZE==16]: Likewise. - (GET_SWORD) [ARCH_SIZE==16]: Likewise. - (PUT_WORD) [ARCH_SIZE==16]: Likewise. - (GET_MAGIC): New macro. - (PUT_MAGIC): Likewise. - * aout-target.h (MY(object_p)): Use GET_MAGIC to read magic word. - -2001-02-18 Jim Kingdon - - * irix-core.c (irix_core_core_file_p): Set the architecture (GDB - multiarch needs it). - -2001-02-18 H.J. Lu - - * elflink.h (elf_link_input_bfd): Ignore invalid section symbol - index. - -2001-02-18 Kazu Hirata - - * vms-misc.c: Fix formatting. - -2001-02-16 Kazu Hirata - - * vms.c: Fix formatting. - -2001-02-14 H.J. Lu - - * elf.c (elf_find_function): New function. - (_bfd_elf_find_nearest_line): Call elf_find_function () to find - the file name and function name. - -2001-02-14 Nick Clifton - - * ecoff.c (bfd_debug_section): Update to initialise new fields in - asection structure. - - * Makefile.am (BFD32_BACKENDS_CFILES): Remove peigen.c - (BFD64_BACKENDS): Add pepigen.c - Add rules to create peigen.c and pepigen.c from peXXigen.c. - - * Makefile.in: Regenerate. - * configure: Regenerate. - * po/POTFILES.in: Regenerate. - * po/bfd.pot: Regenerate. - -2001-02-14 H.J. Lu - - * libcoff-in.h (pe_tdata): Add members target_subsystem and - force_minimum_alignment. - -2001-02-14 Bo Thorsen - - * elf64-x86-64.c: Small formatting fixes and rearrangements of code. - (elf64_86_64_size_info): Struct added to fix a problem - with the hashtable string entries. - (elf64_x86_64_adjust_dynamic_symbol): Add generation of .got.plt. - (elf64_x86_64_size_dynamic_sections): A FIXME removed. - (elf64_x86_64_size_dynamic_sections): Fix a dynamic entry and - remove the FIXME for this. - (elf64_x86_64_adjust_dynamic_symbol): Fix check for unneeded .plt - section. Also removed the FIXME for it. - (x86_64_elf_howto_table): Use bfd_elf_generic_reloc. - (ELF_DYNAMIC_INTERPRETER): Fix the name of the dynamic linker. - (elf64_x86_64_finish_dynamic_sections): Enable .got.plt writing. - -2001-02-13 Richard Henderson - - * elfxx-ia64.c (elfNN_ia64_final_link): Set __gp if required - and not user provided. - -2001-02-13 Kazu Hirata - - * vms.c (vms_print_symbol): Remove unreachable code. - - * rs6000-core.c: Fix formatting. - -2001-02-13 David Mosberger - - * peicode.h (coff_swap_filehdr_out) [COFF_IMAGE_WITH_PE]: Define - as _bfd_XXi_only_swap_filehdr_out. - (pe_mkobject) [PEI_FORCE_MINIMUM_ALIGNMENT]: Set - pe->force_minimum_alignment to TRUE. - (pe_mkobject) [PEI_TARGET_SUBSYSTEM]: Set pe->target_subsystem to - PEI_TARGET_SUBSYSTEM. - (pe_print_private_bfd_data): Call - _bfd_XX_print_private_bfd_data_common() instead of - _bfd_pe_print_private_bfd_data_common(). - (pe_bfd_copy_private_bfd_data): Call - _bfd_XX_bfd_copy_private_bfd_data_common() instead of - _bfd_pe_bfd_copy_private_bfd_data_common(). - (coff_bfd_copy_private_section_data): Define as - _bfd_XX_bfd_copy_private_section_data instead of - _bfd_pe_bfd_copy_private_section_data. - (coff_get_symbol_info): Define as _bfd_XX_get_symbol_info instead - of a _bfd_pe_get_symbol_info. - - * peigen.c: Delete. - - * peXXigen.c: Renamed from peigen.c. - (COFF_WITH_XX): Define this macro (will get expanded into - COFF_WITH_pep or COFF_WITH_pe, depending on whether this is being - compiled as peigen.c or pepigen.c. - [COFF_WITH_pep]: Include "coff/ia64.h" instead of "coff/i386.h" to - define the canonical PEP structures and definitions. - (_bfd_XXi_swap_aouthdr_out): If pe->force_minimum_alignment is in - effect, enforce minimum file and section alignments. If - extra->Subsystem is IMAGE_SUBSYSTEM_UNKNOWN, set it to - pe->target_subsystem (this defaults to IMAGE_SUBSYSTEM_UNKNOWN, - so, by default, this is a no-op). - - * libpei.h: Rename COFF_WITH_PEP to COFF_WITH_pep. - (_bfd_XX_bfd_copy_private_bfd_data_common): Add macros to map - _bfd_XXfoo to _bfd_pepfoo if COFF_WIT_PEP is defined and to - _bfd_pefoo if it's not defined. Use these macros to define - coff swap macros. - - * libcoff.h (pe_tdata): Add members target_subsystem and - force_minimum_alignment. - - * efi-app-ia64.c (COFF_WITH_pep): Rename COFF_WITH_PEP to - COFF_WITH_pep. - (PEI_TARGET_SUBSYSTEM): Rename from PEI_DEFAULT_TARGET_SUBSYSTEM. - - * configure.in (bfd_efi_app_ia64_vec): Use pepigen.lo instead of - peigen.lo. - - * coff-ia64.c: Rename COFF_WITH_PEP to COFF_WITH_pep. - (AOUTSZ): Rename PEP64AOUTSZ and PEP64AOUTHDR to PEPAOUTSZ and - PEPAOUTHDR. - - * Makefile.in (BFD64_BACKENDS): Mention pepigen.lo. - (BFD64_BACKENDS_CFILES): Mention pepigen.c - (peigen.c): Add rule to generate from peXXigen.c. - (pepigen.c): Ditto. - (pepigen.lo): List dependencies for pepigen.lo. - -2001-02-13 Alan Modra - - * elf32-hppa.c (elf32_hppa_set_gp): Handle weak $global$. If - $global$ referenced but not defined, set its value here. - -2001-02-09 Bo Thorsen - - * elf64-x86-64.c (elf64_x86_64_check_relocs): Set .rela.got section - alignment to 3. - (elf64_x86_64_check_relocs): Write R_X86_64_GOTPCREL GOT entry - and relocation. - (elf64_x86_64_relocate_section): Fix formatting. - (elf64_x86_64_relocate_section): Fix addend for relocation of - R_X86_64_(8|16|32|PC8|PC16|PC32). - -2001-02-12 Jan Hubicka - - * elf64-x86-64.c (x86_64_elf_howto): Fix name of R_X86_64_GOTPCREL. - -2001-02-11 H.J. Lu - - * elflink.h (elf_bfd_final_link): Use file_align for SYMTAB - alignment. - -2001-02-11 Maciej W. Rozycki - - * elf32-mips.c (mips_elf_create_dynamic_relocation): Undo patch - from 2000-10-13. Do not add the symbol's value for R_MIPS_REL32 - relocations against dynsym symbols. - - * elf32-mips.c (elf_mips_howto_table): Fix the comment on - the R_MIPS_26 relocation. - (mips_elf_calculate_relocation): Use (p + 4) instead of p for - the R_MIPS_26 relocation. - (mips_elf_perform_relocation): Fix the comment on the R_MIPS16_26 - relocation. - * elf64-mips.c (mips_elf64_howto_table_rel): Fix the comment on - the R_MIPS_26 relocation. - (mips_elf64_howto_table_rela): Likewise. - - * elf32-mips.c (struct mips_elf_link_hash_entry): Added no_fn_stub - member to mark symbols that have non-CALL relocations against - them. - (mips_elf_link_hash_newfunc): Initialize no_fn_stub. - (mips_elf_calculate_relocation): Handle R_MIPS_CALL16 like - R_MIPS_GOT16. - (_bfd_mips_elf_check_relocs): Set no_fn_stub for a symbol if a - non-CALL relocation against it is encountered. - (_bfd_mips_elf_copy_indirect_symbol): Merge no_fn_stub as well. - (_bfd_mips_elf_adjust_dynamic_symbol): Only create a stub if - no_fn_stub is not set. - - * elf32-mips.c (mips_elf_output_extsym): Get the output section - information from the real symbol for indirect ones. - Check no_fn_stub to find out if a symbol has a function stub - indeed. - -2001-02-11 Michael Sokolov - - * Makefile.am (stamp-lib): ranlib the libbfd.a in the build directory. - * Makefile.in: Regenerate. - -2001-02-09 David Mosberger - - * elfxx-ia64.c (is_unwind_section_name): New function. Returns - true if section name is an unwind table section name. - (elfNN_ia64_additional_program_headers): Count each unwind section - separately. - (elfNN_ia64_modify_segment_map): Install one unwind program header - for each unwind separate section. Note: normally the linker - script merges the unwind sections that go into a single segment, - so this still generates at most one unwind program header per - segment. - - * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Accept any section - name for SHT_IA_64_UNWIND, not just .IA_64.unwind. - (elfNN_ia64_fake_sections): Mark sections with names that start - with .IA_64.unwind but not with .IA_64.unwind_info as an IA-64 - unwind section. - - * elfxx-ia64.c (elfNN_ia64_final_write_processing): New function. - Use it to make sh_info in unwind section point to the text section - it applies to. - -2001-02-09 Martin Schwidefsky - - * Makefile.am: Add linux target for S/390. - * archures.c: Likewise. - * bfd-in2.h: Likewise. - * config.bfd: Likewise. - * configure.in: Likewise. - * elf.c: Likewise. - * libbfd.h: Likewise. - * targets.c: Likewise. - * cpu-s390.c: New file. - * elf32-s390.c: New file. - * elf64-s390.c: New file. - -2001-02-09 Nick Clifton - - * peigen.c (_bfd_pe_get_symbol_info): Suppress addition of - ImageBase. This has already been done by coff_swap_hdr_in. - -2001-02-09 Jakub Jelinek - - * elf64-sparc.c (sparc64_elf_copy_private_bfd_data): New function. - -2001-02-09 Jakub Jelinek - - * elf64-sparc.c (sparc64_elf_check_relocs): Don't trust reloc_count. - (sparc64_elf_relocate_section): Likewise. - -2001-02-09 Mark Kettenis - - * elf32-sparc.c (_bfd_sparc_elf_howto_table): Treat R_SPARC_UA32 - similar to R_SPARC_32. - * elf64-sparc.c (sparc64_elf_howto_table): Likewise. - -2001-02-08 H.J. Lu - - * elf32-i386.c (elf_i386_check_relocs): Reserve R_386_PC32 - relocation entries for weak definitions when building DSO with - -Bsymbolic. - -2001-02-08 Richard Henderson - - * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Respect weakness - before visibility. Locally defined protected symbols are not - dynamic. - -2001-02-08 Geoffrey Keating - - * config.bfd: Enable coff64 for rs6000-*. Patch from - . - -2001-02-07 Mark Elbrecht - - * coffgen.c (coff_find_nearest_line): If stabs info is successfully - found, do not attempt to find dwarf2 info before returning. - -2001-02-07 Jakub Jelinek - - * elflink.h (is_global_symbol_definition): Rename to - is_global_data_symbol_definition and have it reject function - symbols. - (elf_link_is_defined_archive_symbol): Use renamed function. - -2001-02-07 Todd Vierling - - * libbfd-in.h (bfd_target_vector): Change extern array to pointer. - * libbfd.h (bfd_target_vector): Likewise. - * targets.c (bfd_target_vector): Rename to _bfd_target_vector and - make static; create pointer reference named bfd_target_vector. - (_bfd_target_vector_entries): Calculate this based on the array - typed _bfd_target_vector. - -2001-02-06 H.J. Lu - - * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Only hidden and - internal symbols are not dynamic. - * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise. - -2001-02-06 Nick Clifton - - * Makefile.am (BFD64_BACKENDS_CFILES): Remove elf64-ia64.c, so - that it will not be pulled into the list of files that make up - po/POTFILES.in. - * Makefile.in: Regenerate. - * po/bfd.pot: Regenerate. - -2001-02-06 H.J. Lu - - * peicode.h (coff_swap_filehdr_in): Remove the e_magic - checking. - (pe_bfd_object_p): Rewrite with external_PEI_DOS_hdr and - external_PEI_IMAGE_hdr. - -2001-02-06 Kazu Hirata - - * elf-m10200.c: Fix formatting. - -2001-02-04 Nick Clifton - - * elf32-v850.c (v850_elf_reloc): Do not convert reloc addend to PC - rel, it will be handled later on. - -2001-02-02 Fred Fish - - * Makefile.in: Fix typo. - -2001-02-01 Kazu Hirata - - * elf-m10300.c: Fix formatting. - -2001-01-30 Alan Modra - - * elf64-hppa.c (elf64_hppa_elf_get_symbol_type): New function. - (elf_backend_get_symbol_type): Define. - (elf64_hppa_object_p): Set architecture and machine from elf - header flags. - -2001-01-30 Curtis L. Janssen - - * elf64-alpha.c (elf64_alpha_find_nearest_line): Query dwarf2 - before mdebug. - -2001-01-26 Richard Henderson - - * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Return false - for non-default visibility. - * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise, but - delete ugly macro and replace with pretty function. - -2001-01-25 Mark Elbrecht - - * coff-go32.c: Update copyright. - * coff-stgo32.c: Likewise. - * coff-go32.c (COFF_LONG_FILENAMES): Define. - * coff-stgo32.c (COFF_LONG_FILENAMES): Likewise. - * coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Remove .bss entry. - * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise. - -2001-01-25 Kazu Hirata - - * bfd-in2.h: Rebuild. - * libbfd.h: Likewise. - -2001-01-23 H.J. Lu - - * bfd-in2.h: Rebuild. - -2001-01-23 H.J. Lu - - * vms-misc.c (_bfd_vms_next_record): Return -1 if PRIV(vms_buf) - is NULL or PRIV(vms_rec) is outside of the buffer. - -2001-01-23 Kazu Hirata - - * coff64-rs6000.c: Fix formatting. - * coff-arm.c: Likewise. - * coffgen.c: Likewise. - * cofflink.c: Likewise. - * coff-mcore.c: Likewise. - * coff-mips.c: Likewise. - * coff-pmac.c: Likewise. - * coff-ppc.c: Likewise. - * coff-rs6000.c: Likewise. - * elf32.c: Likewise. - * elf32-fr30.c: Likewise. - * elf32-i370.c: Likewise. - * elf32-i860.c: Likewise. - * elf32-m32r.c: Likewise. - * elf32-m68k.c: Likewise. - * elf32-mcore.c: Likewise. - * elf32-ppc.c: Likewise. - * elf32-sh.c: Likewise. - * elf32-v850.c: Likewise. - * elf64-alpha.c: Likewise. - * elf64-sparc.c: Likewise. - * elflink.c: Likewise. - * elflink.h: Likewise. - * elf-m10200.c: Likewise. - * elf-m10300.c: Likewise. - * elfxx-ia64.c: Likewise. - - * aoutx.h: Fix formatting. - * bfd.c: Likewise. - * bfd-in2.h: Likewise. - * bfd-in.h: Likewise. - * cpu-i386.c: Likewise. - * cpu-m68hc11.c: Likewise. - * dwarf2.c: Likewise. - * elf64-x86-64.c: Likewise. - * format.c: Likewise. - * freebsd.h: Likewise. - * hash.c: Likewise. - * hp300hpux.c: Likewise. - * hppabsd-core.c: Likewise. - * hpux-core.c: Likewise. - -2001-01-22 Bo Thorsen - - * elf64-x86-64.c: Added PIC support for X86-64. - (elf64_x86_64_link_hash_newfunc): Function added. - (elf64_x86_64_link_hash_table_create): Likewise. - (elf64_x86_64_check_relocs): Likewise. - (elf64_x86_64_gc_mark_hook): Likewise. - (elf64_x86_64_gc_sweep_hook): Likewise. - (elf64_x86_64_adjust_dynamic_symbol): Likewise. - (elf64_x86_64_size_dynamic_sections): Likewise. - (elf64_x86_64_discard_copies): Likewise. - (elf64_x86_64_finish_dynamic_symbol): Likewise. - (elf64_x86_64_finish_dynamic_sections): Likewise. - (elf64_x86_64_relocate_section): Add relocation of PIC sections. - -2001-01-21 Maciej W. Rozycki - - * Makefile.am (install-data-local): Make use of $(DESTDIR). - * Makefile.in: Regenerate. - -2001-01-21 Kazu Hirata - - * coff-a29k.c: Fix formatting. - -2001-01-19 H.J. Lu - - * elf32-i386.c (elf_i386_check_relocs): Report files with bad - relocation section names. - (elf_i386_relocate_section): Report files with bad relocation - section names and return false. - -2001-01-17 Bo Thorsen - - * targets.c: Alphabetize list of xvecs. - -2001-01-14 Alan Modra - - * config.bfd: Add linux target variant for elfxx-hppa. - * configure.in: Recognize bfd_elf32_hppa_linux_vec and - bfd_elf64_hppa_linux_vec. - * configure: Regenerate. - * elf64-hppa.c: Include elf64-target.h again to support linux - target variant. - (elf64_hppa_post_process_headers): Set ELFOSABI_LINUX for linux. - * elf32-hppa.c: Include elf32-target.h again to support linux - target variant. - (elf32_hppa_post_process_headers): New function. - (elf_backend_post_process_headers): Define. - * targets.c (bfd_target_vector): Add bfd_elf64_hppa_linux_vec and - bfd_elf32_hppa_linux_vec. - - * elf32-hppa.c (elf32_hppa_link_hash_table): Add text_segment_base, - and data_segment_base fields. - (elf32_hppa_link_hash_table_create ): Init them. - (elf32_hppa_check_relocs): Update comments. - (hppa_record_segment_addr): New function. - (elf32_hppa_relocate_section): Call it. - (final_link_relocate): Handle R_PARISC_SEGREL32. - (elf32_hppa_final_link): New function. - (bfd_elf32_bfd_final_link): Define to call it. - (hppa_unwind_entry_compare): New function. - * cache.c (bfd_open_file): Create files in write+read mode. - - * elf-hppa.h (elf_hppa_howto_table): Set bitsize value for - SEGREL32 and numerous other relocs. Change duplicate - R_PARISC_NONE relocs to R_PARISC_UNIMPLEMENTED. - - * opncls.c (bfd_fdopenr): Add parens like the comment says around - O_ACCMODE. - - * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Don't create - .plt entries for DT_INIT and DT_FINI. - (elf32_hppa_finish_dynamic_sections): Remove special handling of - DT_INIT and DT_FINI. - - * elf64-hppa.c (elf64_hppa_finish_dynamic_symbol): Use 16-bit - offsets for stub .plt access if wide mode. Check offset in range. - -2001-01-13 Nick Clifton - - * elf32-fr30.c (fr30_elf_howto_table): Remove spurious blank - line. - - * coffcode.h (coff_canonicalize_reloc): Remove spurious blank - line. - -2001-01-12 Alan Modra - - * configure.in ([bfd_elf64_x86_64_vec]): Set target64. - * configure: Regenerate. - -2001-01-11 Peter Targett - - * bfd-in2.h (bfd_architecture): Add bfd_mach_arc_5, - bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8 for ARC variants. - * cpu-arc.c (arch_info_struct): Add entries for variants. - (bfd_arc_arch) Set default to bfd_mach_arc_5. - (arc_get_mach) Don't assume machine names prefixed arc- before - testing. - * elf32-arc.c (arc_elf_object_p): Set machine number based on new - selections. - (arc_elf_final_write_processing) Likewise. - (ELF_MACHINE_CODE) Use EM_ARC. - -2001-01-10 Nick Clifton - - * coff-arm.c (LOCAL_LABEL_PREFIX): Change definition to "". - -2001-01-07 Philip Blundell - - * README: Replace `bug-gnu-utils@gnu.org' with - `bug-binutils@gnu.org'. - -2001-01-04 Kazu Hirata - - * som.c: Fix formatting. - -2001-01-03 Kazu Hirata - - * ecoffswap.h: Fix formatting. - * elf-bfd.h: Likewise. - * elfarm-nabi.c: Likewise. - * elfarm-oabi.c: Likewise. - * elfcode.h: Likewise. - * elfcore.h: Likewise. - * elflink.c: Likewise. - * elflink.h: Likewise. - * elfxx-ia64.c: Likewise. - * elfxx-target.h: Likewise. - * libbfd.c: Likewise - * linker.c: Likewise. - * lynx-core.c: Likewise. - -2001-01-02 Kazu Hirata - - * pc532-mach.c: Fix formatting. - * pe-arm.c: Likewise. - * pe-i386.c: Likewise. - * pe-mips.c: Likewise. - * pe-ppc.c: Likewise. - * pe-sh.c: Likewise. - * pei-mips.c: Likewise. - * pei-sh.c: Likewise. - * peicode.h: Likewise. - * ppcboot.c: Likewise. - * ptrace-core.c: Likewise. - -2001-01-01 Kazu Hirata - - * reloc.c: Fix formatting. - * riscix.c: Likewise. - * rs6000-core.c: Likewise. - * xcoff-target.h: Likewise. - -2000-12-29 Hans-Peter Nilsson - - * elfcode.h (elf_object_p): Also restore the bfd mach field on - error, by calling bfd_default_set_arch_mach with incoming - values. - -2000-12-26 Kazu Hirata - - * vaxnetbsd.c: Fix formatting. - * versados.c: Likewise. - * vms-gsd.c: Likewise. - * vms-hdr.c: Likewise. - * vms-misc.c: Likewise. - -2000-12-25 Alexandre Oliva - - * archive.c (coff_write_armap): Don't write more than symbol_count - `archive_member_file_ptr's. - -2000-12-25 Kazu Hirata - - * vms-tir.c: Fix formatting. - -2000-12-23 Kazu Hirata - - * vms.c: Fix formatting. - * vms.h: Likewise. - -2000-12-21 Santeri Paavolainen - - * vms-hdr.c: Include alloca.h if HAVE_ALLOCA_H is defined. - - * peicode.h (pe_ILF_object_p): Add const to import of TARGET_LITTLE_SYM. - - * elf32-m32r.c (m32r_elf_generic_reloc): Add cast to avoid (void *) - arithmetic. - - * elf32-fr30.c: Add casts to avoid (void *) arithmetic. - - * coffcode.h (styp_to_sec_flags): Add empty statement after label. - -2000-12-21 Richard Sandiford - - * libbfd.c (bfd_get_bits): Added - (bfd_put_bits): Likewise - * bfd-in.h: Declared the above. - * bfd-in2.h: Regenerated. - -2000-12-20 Kazu Hirata - - * targets.c: Fix formatting. - * tekhex.c: Likewise. - * trad-core.c: Likewise. - -2000-12-19 Kazu Hirata - - * sco5-core.c: Fix formatting. - * section.c: Likewise. - * sparclinux.c: Likewise. - * sparclynx.c: Likewise. - * sparcnetbsd.c: Likewise. - * srec.c: Likewise. - * stabs.c: Likewise. - * stab-syms.c: Likewise. - * sunos.c: Likewise. - * syms.c: Likewise. - * sysdep.h: Likewise. - -2000-12-18 Nick Clifton - - * coff-arm.c (EXTRA_S_FLAGS): Only define if not already - defined. - * epoc-pe-arm.c (EXTRA_S_FLAGS): Define. - * epoc-pei-arm.c (EXTRA_S_FLAGS): Define. - -2000-12-18 Nick Clifton - - * vms-misc.c (_bfd_vms_get_record): Add default case to - file_format switch. - -2000-12-15 Miloslav Trmac - - * elfcore.h (elf_core_file_p): Move to the start of the program - headers before attempting to read them. - -2000-12-14 Kazu Hirata - - * peigen.c: Fix formatting. - * som.c: Likewise. - * som.h: Likewise. - -2000-12-13 Kazu Hirata - - * peigen.c: Fix formatting. - -2000-12-12 Jim Wilson - - * elfxx-ia64.c (get_dyn_sym_info): Cast %p argument to void *. - -2000-12-08 Mark Salter - - * binary.c (binary_set_section_contents): Ignore sections - with zero size. - -2000-12-12 Kazu Hirata - - * m68klinux.c: Fix formatting. - * m68knetbsd.c: Likewise. - * mipsbsd.c: Likewise. - * netbsd-core.c: Likewise. - * netbsd.h: Likewise. - * newsos3.c: Likewise. - * nlm32-alpha.c: Likewise. - * nlm32-i386.c: Likewise. - * nlm32-ppc.c: Likewise. - * nlm32-sparc.c: Likewise. - * nlmcode.h: Likewise. - * nlmswap.h: Likewise. - * nlm-target.h: Likewise. - * ns32knetbsd.c: Likewise. - -2000-12-10 Fred Fish - - * elflink.h (elf_link_output_extsym): Don't complain about undefined - symbols in shared objects if allow_shlib_undefined is true. - -2000-12-12 Nick Clifton - - * cpu-sh.c: Fix formattng. - * elf.c: Fix formattng. - * elf32-mips.c: Fix formattng. - * elf32-sh.c: Fix formattng. - * elf64-alpha.c: Fix formattng. - -2000-12-09 Nick Clifton - - * elf32-mips.c (_bfd_mips_elf_find_nearest_line): Pass - dwarf2_find_line_info as last parameter to invocation of - _bfd_dwarf2_find_nearest_line. - * elf32-arm.h (elf32_arm_find_nearest_line): Pass - dwarf2_find_line_info as last parameter to invocation of - _bfd_dwarf2_find_nearest_line. - -2000-12-08 Mark Elbrecht - - * Makefile.am (BFD32_BACKENDS): Move dwarf2.lo from here... - (BFD_LIBS): ...to here. - (BFD32_BACKENDS_CFILES): Move dwarf2.c from here... - (BFD_LIBS_CFILES): ...to here. - * Makefile.in: Regenerate. - * configure.in: Remove dwarf.lo from the elf shell variable. - * configure: Regenerate. - * libcoff-in.h (coff_tdata): Add pointer dwarf2_find_line_info. - * libcoff.h: Regenerate. - * coffgen.c (coff_find_nearest_line): Call - _bfd_dwarf2_find_nearest_line. - * dwarf2.c (_bfd_dwarf2_find_nearest_line): Add parameter. Update - accordingly. - (read_abbrevs): Likewise - (decode_line_info): Likewise. - (parse_comp_unit): Likewise. - (comp_unit_find_nearest_line): Likewise. - * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype. - * libbfd.h: Regenerate. - * elf.c (_bfd_elf_find_nearest_line): Update call. - * elf-bfd.h (elf_obj_tdata): Change dwarf2_find_line_info to type PTR. - * dwarf2.c (concat_filename): Use IS_ABSOLUTE_PATH. - * coffcode.h (STYP_XCOFF_DEBUG, STYP_DEBUG_INFO): New macros. - (sec_to_styp_flags): Use them. Handle DWARF2 sections. - (styp_to_sec_flags): Handle DWARF2 sections. - * elf32-arm.h (elf32_arm_find_nearest_line): Add parameter to call - to _bfd_find_nearest_line. - * elf32-mips.c (_bfd_mips_elf_find_nearest_line): Add parameter to - call to _bfd_find_nearest_line. - -2000-12-08 Kazu Hirata - - * coffgen.c: Fix formatting. - * elf-m10300.c: Likewise. - * elf32-i386.c: Likewise. - * elf32-i960.c: Likewise. - * elf32-m68k.c: Likewise. - * elf32-mcore.c: Likewise. - * elf32-ppc.c: Likewise. - * elf32-sh.c: Likewise. - * elf32-sparc.c: Likewise. - * elf32-v850.c: Likewise. - * elf64-alpha.c: Likewise. - * elf64-hppa.c: Likewise. - * elf64-mips.c: Likewise. - * elf64-sparc.c: Likewise. - -2000-12-07 Kazu Hirata - - * elf32-ppc.c: Fix formatting. - * elf64-x86-64.c: Likewise. - -2000-12-06 Ulf Carlsson - - From Ralf Baechle - - * elf32-mips.c (elf32_mips_merge_private_bfd_data): Always permit - BFDs containing no sections or empty .text, .data or .bss sections - to be merged, regardless of their flags. - -2000-12-06 Kazu Hirata - - * elf32-m32r.c: Fix formatting. - * elf32-m68hc11.c: Likewise. - * elf32-m68hc12.c: Likewise. - * elf32-m68k.c: Likewise. - * elf32-mcore.c: Likewise. - * elf32-pj.c: Likewise. - * elf32-ppc.c: Likewise. - -2000-12-05 Kazu Hirata - - * elf32-fr30.c: Fix formatting. - * elf32-hppa.c: Likewise. - * elf32-i370.c: Likewise. - * elf32-i386.c: Likewise. - * elf32-i860.c: Likewise. - * elf32-i960.c: Likewise. - -2000-12-03 Kazu Hirata - - * elf32-arm.h: Fix formatting. - * elf32-avr.c: Likewise. - * elf32-cris.c: Likewise. - * elf32-d10v.c: Likewise. - * elf32-d30v.c: Likewise. - * elf-hppa.h: Likewise. - * elf-m10200.c: Likewise. - * elf-m10300.c: Likewise. - -2000-12-01 Chris Demetriou - - * aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mips32 and - bfd_mach_mips32_4k. Update FIXME comment. - * archures.c (bfd_mach_mips32): New constant. - (bfd_mach_mips4K, bfd_mach_mips32_4k) Rename the former to - the latter, renumber it. - * bfd-in2.h (bfd_mach_mips32): New constant. - (bfd_mach_mips4K, bfd_mach_mips32_4k) Rename the former to - the latter, renumber it. - * cpu-mips.c (I_mips32): New constant. - (I_mips4K, I_mips32_4k): Rename the former to the latter. - (arch_info_struct): Add bfd_mach_mips32 entry, replace - bfd_mach_mips4K entry with bfd_mach_mips32_4k entry. - * elf32-mips.c (elf_mips_isa): Add E_MIPS_ARCH_32 case. - (elf_mips_mach): Likewise. Also, replace E_MIPS_MACH_MIPS32 - with E_MIPS_MACH_MIPS32_4K. - (_bfd_mips_elf_final_write_processing): Replace - bfd_mach_mips4K with bfd_mach_mips32_4k case, add - bfd_mach_mips32 case. - (_bfd_mips_elf_merge_private_bfd_data): Generalize ISA mixing - comparison with support for MIPS32. - (_bfd_mips_elf_print_private_bfd_data): Print ISA name for - MIPS32. - - * aoutx.h (NAME(aout,machine_type)): Add cases for - bfd_mach_mips5 and bfd_mach_mips64. - * archures.c (bfd_mach_mips5, bfd_mach_mips64): New constants. - * bfd-in2.h (bfd_mach_mips5, bfd_mach_mips64): Likewise. - * cpu_mips.c (I_mips5, I_mips64): New definitions. - (arch_info_struct): Add entries for bfd_mach_mips5 and - bfd_mach_mips64. - * elf32-mips.c (elf_mips_isa, elf_mips_mach, - _bfd_mips_elf_print_private_bfd_data): Add cases for - E_MIPS_ARCH_5 and E_MIPS_ARCH_64. - (_bfd_mips_elf_final_write_processing): Add cases for - bfd_mach_mips5 and bfd_mach_mips64. - - * aoutx.h (NAME(aout,machine_type)): Add a - bfd_mach_mips_sb1 case. - * archures.c (bfd_mach_mips_sb1): New constant. - * bfd-in2.h (bfd_mach_mips_sb1): New constant. - * cpu-mips.c (I_sb1): New constant. - (arch_info_struct): Add entry for bfd_mach_mips_sb1. - * elf32-mips.c (elf_mips_mach): Add case for - E_MIPS_MACH_SB1. - (_bfd_mips_elf_final_write_processing): Add case for - bfd_mach_mips_sb1. - -2000-12-01 Joel Sherrill - - * config.bfd (arm-*-rtems*, a29k-*rtems*): New targets. - (sparc*-*-rtemself*, sparc*-*-rtemsaout*): New targets. - (sparc*-*-rtems*): Switched from a.out to ELF. - -2000-11-30 Jan Hubicka - - * Makefile.am (BFD64_BACKENDS): Add elf64-x86-64.lo - BFD64_BACKENDS_CFILES): Add elf64-x86-64.c - (elf64-x86-64.lo): Add dependencies. - * archures.c (DESCRIPTION): Add bfd_mach_x86_64, - bfd_mach_x86_64_intel_syntax. - * elf.c (prep_headers): Use EM_x86_64 for 64bit output. - * config.bfd (x86_64): Add. - * configure.in: Add support for bfd_elf64_x86_64_vec. - * cpu-i386.c (bfd_x86_64_arch_intel_syntax, bfd_x86_64_arch): Add. - (bfd_i386_arch, i8086_ar): Link in. - * elf64-x86-64.c: New file. - * reloc.c (ENUMDOC): Add BFD_RELOC_X86_64*. - * targets.c (bfd_elf64_x86_64_vec): Add. - (bfd_target_vect): Add bfd_elf64_x86_64_vec. - -2000-11-30 Kazu Hirata - - * xcofflink.c: Fix formatting. - -2000-11-28 Kazu Hirata - - * aoutx.h: Fix formatting. - * bfd-in.h: Likewise. - * bfd-in2.h: Likewise. - * cache.c: Likewise. - * cisco-core.c: Likewise. - * coff64-rs6000.c: Likewise. - * coffcode.h: Likewise. - * coffswap.h: Likewise. - * corefile.c: Likewise. - * elf32-mips.c: Likewise. - -2000-11-27 Kazu Hirata - - * aout-adobe.c: Fix formatting. - * coff64-rs6000.c: Likewise. - * coffgen.c: Likewise. - * cofflink.c: Likewise. - -2000-11-27 Philip Blundell - - * libcoff-in.h (coff_tdata): Add `strings_written' flag. - (obj_coff_strings_written): New accessor macro for above. - * libcoff.h: Regenerate. - * cofflink.c (_bfd_coff_final_link): Say that we wrote the - strings. - * coffcode.h (coff_write_object_contents): No need to write out - the string table if it's already been done. - -2000-11-22 Philip Blundell - - * cofflink.c (_bfd_coff_generic_relocate_section): Don't object to - weak undefined symbols. - -2000-11-24 Nick Clifton - - * archures.c (bfd_mach_arm_5TE): Define. - (bfd_mach_arm+XScale): Define. - * bfd-in2.h: Regenerate. - - * coff-arm.c (coff_arm_reloc_type_lookup): Accept - BFD_RELOC_ARM_PCREL_BLX. - - * coffcode.h (coff_set_flags): Set flags for 5t, 5te and - XScale machine numbers. - - * config.bfd (xscale-elf): Add target. - (xscale-coff): Add target. - - * cpu-arm.c: Add xscale machine name. - Add v5t, v5te and XScale machine numbers. - -2000-11-23 Kazu Hirata - - * aix386-core.c: Fix formatting. - -2000-11-22 Jim Wilson - - * coff-ia64.c (howto_table): Use EMPTY_HOWTO. - (in_reloc_p): Add ATTRIBUTE_UNUSED to unused parameters. - * cpu-ia64-opc.c (ins_rsvd, ext_rsvd, ins_const, ext_const): Likewise. - (ins_imms_scaled): Initialize sign_bit at function entry. - (elf64_ia64_operands): Add missing initializers. - * elfxx-ia64.c (elfNN_ia64_reloc, elfNN_ia64_reloc_type_lookup, - elfNN_ia64_info_to_howto, elfNN_ia64_fake_sections, - elfNN_ia64_add_symbol_hook, elfNN_ia64_is_local_label_name, - elfNN_ia64_local_hash_table_init, get_fptr, get_pltoff, - elfNN_ia64_adjust_dynamic_symbol): Add ATTRIBUTE_UNUSED for unused - parameters. - (elfNN_ia64_info_to_howto): Initialize free_relocs, free_contents, - and free_extsyms at function entry. - (elfNN_add_symbol_hook): Add unsigned cast to bfd_get_gp_size result. - (elfNN_ia64_create_dynamic_sections): Delete unused local h. - (get_got): Delete unused local srel. - (elfNN_ia64_check_relocs): Initialize dynrel_type when declared. - (elfNN_ia64_relocate_section): Delete unused local dynindx. - -2000-11-21 Kazu Hirata - - * coff-a29k.c: Fix formatting. - * coff-h8500.c: Likewise. - * coff-i960.c: Likewise. - * coff-ppc.c: Likewise. - * coff-rs6000.c: Likewise. - * coff-stgo32.c: Likewise. - * coff-tic54x.c: Likewise. - * coff-w65.c: Likewise. - * cpu-h8500.c: Likewise. - * cpu-hppa.c: Likewise. - * cpu-ns32k.c: Likewise. - * ecoff.c: Likewise. - * ecofflink.c: Likewise. - -2000-11-21 Nick Clifton - - * elf32-sh.c (sh_elf_reloc_loop): Fix compile time warning, and - remove possibility of infinite loop. - -2000-11-20 Kazu Hirata - - * aix386-core.c: Fix formatting. - * aout-adobe.c: Likewise. - * aout-arm.c: Likewise. - * aout-encap.c: Likewise. - * aout-ns32k.c: Likewise. - * aout-target.h: Likewise. - * aout-tic30.c: Likewise. - * aoutf1.h: Likewise. - * aoutx.h: Likewise. - * archive.c: Likewise. - * bfd-in.h: Likewise. - * bfd-in2.h: Likewise. - * bfd.c: Likewise. - * bout.c: Likewise. - -2000-11-17 H.J. Lu - - * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Don't create - pltoff entries for DT_INIT and DT_FINI. - (elfNN_ia64_final_link): Don't set DT_INIT/FINI entries. - (elfNN_ia64_finish_dynamic_sections): Don't fill in DT_INIT/FINI - entries. - -2000-11-16 Richard Henderson - - * elfxx-ia64.c (elfNN_ia64_check_relocs): Handle IPLT relocs. - (allocate_dynrel_entries): Likewise. - (elfNN_ia64_relocate_section): Likewise. Set REL addends correctly. - (set_pltoff_entry): Likewise. - (ia64_howto_table): Remove R_IA64_SEGBASE, and R_IA64_EPLT[ML]SB - (elfNN_ia64_reloc_type_lookup): Likewise. - (elfNN_ia64_install_value): Likewise. - (elfNN_ia64_relocate_section): Likewise. - * reloc.c (BFD_RELOC_IA64_SEGBASE): Remove. - (BFD_RELOC_IA64_EPLTMSB, BFD_RELOC_IA64_EPLTLSB): Remove. - -2000-11-16 Kazu Hirata - - * cpu-a29k.c: Fix formatting. - * cpu-alpha.c: Likewise. - * cpu-arm.c: Likewise. - * cpu-avr.c: Likewise. - * cpu-d10v.c: Likewise. - * cpu-h8500.c: Likewise. - * cpu-hppa.c: Likewise. - * cpu-i370.c: Likewise. - * cpu-i386.c: Likewise. - * cpu-i960.c: Likewise. - * cpu-ia64-opc.c: Likewise. - * cpu-ia64.c: Likewise. - * cpu-m32r.c: Likewise. - * cpu-m68hc11.c: Likewise. - * cpu-m68hc12.c: Likewise. - * cpu-m68k.c: Likewise. - * cpu-m88k.c: Likewise. - * cpu-mips.c: Likewise. - * cpu-ns32k.c: Likewise. - * cpu-pj.c: Likewise. - * cpu-powerpc.c: Likewise. - * cpu-sh.c: Likewise. - * cpu-sparc.c: Likewise. - * cpu-tic54x.c: Likewise. - * cpu-v850.c: Likewise. - * cpu-vax.c: Likewise. - * cpu-w65.c: Likewise. - * cpu-we32k.c: Likewise. - * cpu-z8k.c: Likewise. - * dwarf1.c: Likewise. - * dwarf2.c: Likewise. - -2000-11-15 Kazu Hirata - - * coff-arm.c: Fix formatting. - * coff-ppc.c: Likewise. - * coff-rs6000.c: Likewise. - * coff-sh.c: Likewise. - * coff-sparc.c: Likewise. - * coff-tic30.c: Likewise. - * coff-tic54x.c: Likewise. - * coff-tic80.c: Likewise. - * coff-w65.c: Likewise. - * coff-we32k.c: Likewise. - * coff-z8k.c: Likewise. - -2000-11-15 Richard Henderson - - * elf64-alpha.c (elf64_alpha_check_relocs): Create the reloc - section with the same ALLOC|LOAD flags as the source section. - -2000-11-14 Jakub Jelinek - - * elf64-alpha.c (elf64_alpha_relax_opt_call): Only check bits used - by STO_ALPHA constants. - -2000-11-14 Kazu Hirata - - * coff-pmac.c: Fix formatting. - * coff-ppc.c: Likewise. - -2000-11-13 H.J. Lu - - * elflink.h (elf_link_add_object_symbols): Also add indirect - symbols for common symbols with the default version. - -2000-11-09 Philip Blundell - - * section.c (STD_SECTION): Set gc_mark flag. - -2000-11-11 Kazu Hirata - - * coff-i960.c: Likewise. - * coff-m68k.c: Likewise. - * coff-m88k.c: Likewise. - * coff-mcore.c: Likewise. - * coff-mips.c: Likewise. - -2000-11-11 Bernd Schmidt - - * elf32-sh.c (sh_elf_relocate_section): Ignore R_SH_NONE relocs. - -2000-11-10 Kazu Hirata - - * coff-h8300.c: Fix formatting. - * coff-h8500.c: Likewise. - * coff-i386.c: Likewise. - * coff-i860.c: Likewise. - * coff-i960.c: Likewise. - * coff-ia64.c: Likewise. - -2000-11-09 Kazu Hirata - - * archive.c: Fix formatting. - * archures.c: Likewise. - -2000-11-07 Richard Henderson - - * elfxx-ia64.c (elf64_ia64_final_link): New local unwind_output_sec. - Set it before bfd_elf64_bfd_final_link call. Use it after the call. - * section.c (bfd_set_section_contents): Call memcpy if - section->contents set and location not equal to contents plus offset. - -2000-11-08 Kazu Hirata - - * bfd-in.h: Fix formatting. - * bfd-in2.h: Likewise. - * bfd.c: Likewise. - * binary.c: Likewise. - * bout.c: Likewise. - * coff-a29k.c: Likewise. - * coff-alpha.c: Likewise. - * coff-apollo.c: Likewise. - * coff-aux.c: Likewise. - -2000-11-07 Kazu Hirata - - * aix386-core.c: Fix formatting. - * aoutf1.h: Likewise. - * aoutx.h: Likewise. - * archures.c: Likewise. - * armnetbsd.c: Likewise. - -2000-11-07 Alan Modra - - * coff-h8300.c (special): Adjust reloc address. - -2000-11-06 Steve Ellcey - - * archures.c (bfd_mach_ia64_elf64, bfd_mach_ia64_elf32): Add defines - to differentiate elf32 and elf64 on ia64. - * bfd-in2.h: Regenerate. - * config.bfd: Add target for "ia64*-*-hpux*". - * configure.in: Add bfd_elf32_ia64_big_vec to selvecs switch. - * configure: Regenerate. - * cpu-ia64.c (bfd_ia64_elf32_arch): Add elf32 arch info structure. - * targets.c: Add bfd_target bfd_elf32_ia64_big_vec. - - * Makefile.am: Make elf32-ia64.c and elf64-ia64.c derived objects - from elfxx-ia64.c. Add depenency rules for making elf32-ia64.lo. - * Makefile.in: Regnerate. - * elf64-ia64.c: Deleted. - * elfxx-ia64.c: New file, paramaterized version of elf64-ia64.c. - -2000-11-06 Kazu Hirata - - * aout-adobe.c: Fix formatting. - * aout-arm.c: Likewise. - * aout-cris.c: Likewise. - * aout-encap.c: Likewise. - * aout-ns32k.c: Likewise. - * aout-target.h: Likewise. - * aout-tic30.c: Likewise. - -2000-11-05 Philip Blundell - - * elf32-arm.h (elf32_arm_merge_private_bfd_data): Always permit - BFDs containing no sections to be merged, regardless of their flags. - -2000-11-04 Philip Blundell - - * elf32-arm.h (elf32_arm_relocate_section): Suppress error message - if a relocation for an undefined symbol also results in an - overflow. - -2000-11-06 Christopher Faylor - - * config.bfd: Add support for Sun Chorus. - -2000-11-05 David O'Brien - - * configure.in: Recognize alpha-*-freebsd*. - * configure: Regenerate. - -2000-11-02 Luciano Gemme - - * srec.c (CHUNK): Rename to DEFAULT_CHUNK. - (Chunk): New global variable set by a parameter in objcopy.c. - (S3Forced): New global variable set by a parameter in - objcopy.c. - (srec_set_section_contents): If S3Forced is true, always generate - S3 records. - (srec_write_section): Use 'Chunk' to limit maximum length of S - records. - -2000-11-02 Per Lundberg - - * config.bfd: Add support for i[3456]86-chaosdev-storm-chaos. - * Makefile.in: Regenerate. - * bfd-in2.h: Regenerate. - * po/bfd.pot: Regenerate. - -2000-10-31 Philip Blundell - - * elf32-arm.h (elf32_arm_merge_private_bfd_data): Only handle - EF_SOFT_FLOAT if it is defined. - -2000-10-27 Philip Blundell - - * elf32-arm.h (elf32_arm_copy_private_bfd_data): Don't refuse - attempts to mix PIC code with non-PIC, just mark the output as - being position dependent. - (elf32_arm_merge_private_bfd_data): Likewise. Print an error - message for EF_SOFT_FLOAT mismatches. Display diagnostics for - all mismatches, not just the first one. - -2000-10-25 Chris Demetriou - - * ieee.c (ieee_archive_p): Plug one of many possible - memory leaks in error handling. - -2000-10-20 Jakub Jelinek - - * elf32-sparc.c (elf32_sparc_merge_private_bfd_data, - elf32_sparc_object_p, elf32_sparc_final_write_processing): - Support v8plusb. - * elf64-sparc.c (sparc64_elf_merge_private_bfd_data, - sparc64_elf_object_p): Support v9b. - * archures.c: Declare v8plusb and v9b machines. - * bfd-in2.h: Ditto. - * cpu-sparc.c: Ditto. - -2000-10-16 Geoffrey Keating - - * elf64-sparc.c (sparc64_elf_relocate_section): Clear the location - of a GOT reloc. - - * elf32-ppc.c (SYMBOL_REFERENCES_LOCAL): New macro. - (SYMBOL_CALLS_LOCAL): New macro. - (ppc_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL. - (ppc_elf_check_relocs): Use SYMBOL_REFERENCES_LOCAL. - (ppc_elf_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL. - (ppc_elf_relocate_section): Use flag variable to determine - whether the relocation refers to a local symbol. - Test whether a PLTREL24 reloc will produce a reloc by looking - to see whether a PLT entry was made. - -2000-10-14 Geoffrey Keating - - * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Don't make PLT - entries that could serve as a definition for a weak symbol. - -2000-10-13 Ulf Carlsson - - From Ralf Baechle - - * elf32-mips.c (mips_elf_create_dynamic_relocation): New argument - local_p. Add symbol value only for non-R_MIPS_REL32 relocations - against local symbols. - (_bfd_mips_elf_finish_dynamic_sections): Undo patch from 2000-10-01. - -2000-10-12 Alan Modra - - * section.c (struct sec): Add kept_section. - (struct bfd_comdat_info): Remove sec, we can use above. - (STD_SECTION): Add initializer. - (bfd_make_section_anyway): Init here too. - - * bfd-in2.h: Regenerate. - - * elflink.h (elf_link_add_object_symbols): Remove unnecessary - zeroing of `flags'. - (elf_link_input_bfd): Set all asection->symbol->value's here, and - fudge values for discarded link-once section symbols. - - * elf64-hppa.c: Include alloca-conf.h - -2000-10-11 Alan Modra - - * elf.c (swap_out_syms): Revert 2000-10-07 changes. - - * ieee.c (ieee_make_empty_symbol): Oops, bfd_zalloc needs another arg. - -2000-10-10 Alan Modra - - * ieee.c (ieee_make_empty_symbol): Use bfd_zalloc, not bfd_zmalloc. - -2000-10-10 Tom Rix - - * section.c (bfd_make_section_anyway): Release newsect ptr when - newsect->symbol fails to alloc. Use bfd_release instead of free. - -2000-10-09 Richard Henderson - - * elflink.h (size_dynamic_sections): Don't create various tags if - .dynstr is excluded from the link. Don't set first dynsym entry - if dynsymcount is zero. - (elf_bfd_final_link): Don't try to swap out dynamic syms if - .dynsym excluded from the link. Don't try to write any dynamic - sections excluded from the link. - - * elf.c (swap_out_syms): Handle global section symbols. - -2000-10-05 DJ Delorie - - * peigen.c (_bfd_pei_swap_scnhdr_out): note extended relocs - * coffcode.h (coff_set_alignment_hook): read extended reloc count - (coff_write_relocs): write extended reloc count - (coff_write_object_contents): account for extended relocs - -2000-10-05 Jim Wilson - - * elf-bfd.h (struct elf_backend_data): Add elf_backend_section_flags - field. - * elf.c (_bfd_elf_make_section_from_shdr): Call the - elf_backend_section_flags function. - * elf64-ia64.c (elf64_ia64_section_from_shdr): Delete flag conversion - code. - (elf64_ia64_section_flags): New function containing flag conversion - code. - (elf_backend_section_flags): Define to elf64_ia64_section_flags. - * elfxx-target.h (elf_backend_section_flags): Define. - (elfNN_bed): Initialize elf_backend_section_flags field. - -2000-10-02 Alan Modra - - * elf32-hppa.c (elf32_hppa_check_relocs): Correct call to - _bfd_elf32_gc_record_vtable. Correct a comment. - -2000-10-01 Ulf Carlsson - - From Ralf Baechle - - * elf32-mips.c (_bfd_mips_elf_finish_dynamic_sections): Mark gld - produces binaries with got[1] = 0x80000001 to differenciate them - for the dynamic linker from the broken binaries produced by old - versions. - -2000-09-30 Petr Sorfa - - * elf.c (elfcore_grok_pstatus): Check for size of pxstatus_t. - (elfcore_grok_lwpstatus): Check for size of lwpxstatus_t. - * configure.in: Add check for pxstatus_t and lwpxstatus_t. - * configure: Regenerate. - -2000-09-27 Hans-Peter Nilsson - - Define two bfd_targets for absence and presence of leading - underscore on symbols. Make sure to only link same kind. - * elf32-cris.c (cris_elf_object_p, - cris_elf_final_write_processing, cris_elf_print_private_bfd_data, - cris_elf_merge_private_bfd_data): New. - (elf_backend_object_p, elf_backend_final_write_processing, - bfd_elf32_bfd_print_private_bfd_data, - bfd_elf32_bfd_merge_private_bfd_data): Define. - : Include elf32-target.h twice with - different macro settings: - (TARGET_LITTLE_SYM): First as bfd_elf32_cris_vec, then as - bfd_elf32_us_cris_vec. - (TARGET_LITTLE_NAME): First as "elf32-cris", then "elf32-us-cris". - (elf_symbol_leading_char): First as 0, then '_'. - (INCLUDED_TARGET_FILE): Define for second include of elf32-target.h. - * config.bfd (cris-*-*): Add bfd_elf32_us_cris_vec to targ_selvecs. - * configure.in (bfd_elf32_cris_vec, cris_aout_vec): New vector. - * configure: Regenerate. - * targets.c: Declare bfd_elf32_us_cris_vec. - * po/bfd.pot: Regenerate. - -2000-09-29 Momchil Velikov - - * elf32-arm.h (arm_add_to_rel): Correctly adjust the addend for - R_ARM_THM_PC22 relocations. - -2000-09-29 NIIBE Yutaka - - * elflink.h (elf_link_add_object_symbols): Don't bfd_release runpath. - -2000-09-29 Momchil Velikov - - * elf.c (elf_fake_sections): Do not mark the section SHT_NOBITS if - is has the SEC_HAS_CONTENTS flag set. - -2000-09-28 Örjan Friberg - Hans-Peter Nilsson - - * aout-cris.c (N_TXTADDR): Define. - -2000-09-28 John David Anglin - - * som.c: Include alloca-conf.h. - * Makefile.am: "make dep-am" - * Makefile.in: Regenerate. - -2000-09-27 Alan Modra - - * elf32-hppa.c (plt_stub): New. - (PLT_STUB_ENTRY): Define. - (elf32_hppa_link_hash_table): Change multi_subspace to packed - boolean. Add need_plt_stub, has_12bit_branch and has_17bit_branch. - (elf32_hppa_link_hash_table_create): Init to suit. - (elf32_hppa_check_relocs): Set has_12bit_branch and - has_17bit_branch as appropriate. - (elf32_hppa_adjust_dynamic_symbol): Set need_plt_stub for - non-local functions. - (elf32_hppa_size_dynamic_sections): Correct setting of reltext. - Add space for plt_stub as needed. - (elf32_hppa_finish_dynamic_symbol): Point .plt entries for global - functions at plt_stub. - (elf32_hppa_finish_dynamic_sections): Write plt_stub. - (elf32_hppa_create_dynamic_sections): Leave .plt executable. - - * elf32-hppa.h (elf32_hppa_size_stubs): Add group_size param. - * elf32-hppa.c (elf32_hppa_size_stubs): Likewise. Use it instead - of fixed size, and if negative, disable handling of input sections - before stub section. Set up default stub group size depending - on detected branch relocs. - (hppa_build_one_stub): Use lrsel and rrsel for import stubs to - ensure different offsets from sym_value aren't rounded to - different 2k blocks. Use lrsel and rrsel for other stubs too for - consistency rather than necessity. - (elf32_hppa_check_relocs): Handle R_PARISC_DIR14F. - (final_link_relocate): Likewise. - (elf32_hppa_relocate_section): Likewise. - - * elf-hppa.h (elf_hppa_howto_table): Add R_PARISC_DIR14F reloc. - (_bfd_elf_hppa_gen_reloc_type): Generate them. - (elf_hppa_final_link_relocate): Handle them. - (elf_hppa_relocate_insn): Likewise. - (_bfd_elf_hppa_gen_reloc_type): Add missing e_ldsel and e_rdsel cases. - -2000-09-26 Hans-Peter Nilsson - - * elfcode.h (elf_object_p): Preserve and clear abfd section - information. Restore at error. - -2000-09-26 Paul Sokolovsky - - * peigen.c (_bfd_pei_swap_aouthdr_in): If some DataDirectory - is empty, make sure that its rva also 0. NT loader dislikes - having otherwise. - -2000-09-26 Steve Ellcey - - * som.c (som_bfd_derive_misc_symbol_info): Make weak symbols - global by default. - -2000-09-21 Alan Modra - - * elf32-hppa.c (elf32_hppa_check_relocs): Fix weak sym handling in - currently unused RELATIVE_DYNAMIC_RELOCS code. - (hppa_discard_copies): Likewise. - (elf32_hppa_size_stubs): Size `input_list' array correctly. Correct - comments. Don't check non-code output sections for stub grouping. - -2000-09-20 Alan Modra - - * section.c (bfd_get_unique_section_name): Return NULL if - bfd_malloc fails. - -2000-09-19 Michael Sokolov - - * elf32-m68k.c (elf_cpu32_plt0_entry): Change the PLT entry 0 - instruction sequence to actually work. - (elf_m68k_finish_dynamic_sections): Change the patch-in offset - accordingly. - -2000-09-18 Alexandre Oliva - - * elf32-sh.c (sh_elf_relocate_section): Use - _bfd_final_link_relocate to apply the relocation against a section - symbol, when doing relocatable links. - -2000-09-18 Alan Modra - - * elf32-hppa.c (elf32_hppa_stub_hash_entry): Rename input_section - to id_sec. - (stub_hash_newfunc): Here too. - (hppa_add_stub): And here. - (elf32_hppa_link_hash_table): Remove stub_section_created, - reloc_section_created, first_init_sec and first_fini_sec. Add - stub_group. - (elf32_hppa_link_hash_table_create): Init to suit. - (hppa_get_stub_entry): Add support for grouping stub sections. - (hppa_add_stub): Likewise. Remove sec_count param and init/fini - section code. Index stub vars by section->id. - (elf32_hppa_size_stubs): Likewise. Remove duplicated function - exit paths. Zap allocation of above removed vars. Refine - link-once test. - - * elf32-hppa.h (elf32_hppa_size_stubs): Add output_bfd param. - * elf32-hppa.c (elf32_hppa_size_stubs): Likewise. - (hppa_get_stub_entry): Pass in pointer to elf32_hppa_link_hash_table - rather than pointer to bfd_link_info. - (hppa_add_stub): Likewise. - (final_link_relocate): Likewise. - -2000-09-17 David Huggins-Daines - - (elf32_hppa_size_stubs): Don't try to build stubs for discarded - link-once sections. - -2000-09-16 Alexandre Oliva - - * elf32-sh.c (ELF_MAXPAGESIZE): Define to 128, to match - ld/emulparams/shelf.sh. - -2000-09-10 Michael Sokolov - - * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): New function. - * bfd-in.h (bfd_m68k_elf32_create_embedded_relocs): Add declaration. - * bfd-in2.h: Regenerate. - -2000-09-15 Kenneth Block - - * elf64-alpha.c (elf64_alpha_relax_with_lituse): ld performs - LITUSE relocations incorrectly if -relax is specified on the ld - command line and the displacement field of the load or store - instruction is non-zero. (Patch by paul.winalski@compaq.com) - -2000-09-15 Alan Modra - - * elf32-hppa.c (hppa_add_stub): Dont set first_init_sec and - first_fini_sec here. - (elf32_hppa_size_stubs): Instead correctly find the first .init - and .fini section here. - -2000-09-15 David Huggins-Daines - - * elf32-hppa.c (clobber_millicode_symbols): New function. - (elf32_hppa_size_dynamic_sections): Call it. - -2000-09-14 Alan Modra - - * elf32-hppa.c (elf32_hppa_link_hash_entry): Make pic_call - packed. Add plabel, plt_abs packed booleans. - (hppa_link_hash_newfunc): Init new fields. - (PLABEL_PLT_ENTRY_SIZE): Define. - (hppa_stub_name): Use size_t len vars. - (hppa_add_stub): Likewise. - (elf32_hppa_build_stubs): Likewise. - (hppa_build_one_stub): Kill some compiler warnings. - (elf32_hppa_check_relocs): Always generate a plt entry for PLABELs - if dynamic linking. Munge the local plt offsets into - local_got_refcounts. Set h->plabel for all global PLABELs. Use - size_t len vars. Add assert for plabel addend. - (elf32_hppa_gc_sweep_hook): Sweep local plt entries too. - (elf32_hppa_hide_symbol): New function. - (elf_backend_hide_symbol): Define. - (elf32_hppa_adjust_dynamic_symbol): Don't throw away plt entries - with h->plabel set. Don't make plt entries to have dynamic syms - when they have been forced local. If plt entry is used by a - plabel, make it PLABEL_PLT_ENTRY_SIZE. - (elf32_hppa_size_dynamic_sections): Set plt_abs for init fns. - Set up .plt offsets for local syms. - (elf32_hppa_relocate_section): Initialise plt entries for local - syms. Leave weak undefined plabels zero. Make global plabel - relocs against function symbol, and leave the addend zero. - Use *ABS* DIR32 relocs instead of SEGREL32 for dynamic got relocs. - (elf32_hppa_finish_dynamic_symbol): Set up IPLT relocs for - non-dynamic syms. Init extra plt for plabels. Use *ABS* DIR32 - relocs instead of SEGREL32 for dynamic got relocs. - (elf32_hppa_finish_dynamic_sections): Reserve one more .got entry. - (elf_backend_got_header_size): Adjust. - (elf32_hppa_set_gp): Calculate an "ideal" LTP. - - * elf32-hppa.c (LONG_BRANCH_VIA_PLT): Define. - (hppa_type_of_stub): Use it instead of #if 0 - (hppa_discard_copies): Use it here too. - (elf32_hppa_size_dynamic_sections): And here. - - * elf32-hppa.c (elf32_hppa_link_hash_table): Remove `offset' field. - (elf32_hppa_link_hash_table_create): And here. - (hppa_build_one_stub): And here. Instead keep track of stub - offset using _raw_size. - (elf32_hppa_size_stubs): Likewise. - (elf32_hppa_build_stubs): Likewise. - (hppa_size_one_stub): Likewise. Resize reloc section too. - - * elf32-hppa.c (hppa_add_stub): Correct first_init_sec and - first_fini_sec handling. Don't search for reloc section or set - hplink->reloc_section_created here. - (elf32_hppa_size_stubs): Instead search for reloc sections, and - set reloc_section_created here. - (hppa_handle_PIC_calls): Set ELF_LINK_HASH_NEEDS_PLT. - (elf32_hppa_size_dynamic_sections): Make a .plt entry for DT_INIT - and DT_FINI. - (elf32_hppa_finish_dynamic_sections): Set DT_INIT and DT_FINI. - - * elf32-hppa.c (hppa_build_one_stub): Replace `elf_hash_table (info)' - with `hplink->root.'. - (elf32_hppa_check_relocs): Likewise. - (elf32_hppa_gc_sweep_hook): Likewise. - (elf32_hppa_adjust_dynamic_symbol): Likewise. - (hppa_handle_PIC_calls): Likewise. - (elf32_hppa_size_dynamic_sections): Likewise. - (elf32_hppa_set_gp): Likewise. - (elf32_hppa_relocate_section): Likewise. - (elf32_hppa_finish_dynamic_symbol): Likewise. - (elf32_hppa_finish_dynamic_sections): Likewise. - - From David Huggins-Daines - * elf32-hppa.c (hppa_type_of_stub): Generate import stubs for - defined weak symbols in shared links. - (final_link_relocate): Calls to defined weak symbols in shared - objects must go via import stubs, as the target might not be known - at link time. - -2000-09-14 Alexandre Oliva - - * elf32-sh.c (sh_elf_howto_table): Moved R_SH_GOT32, R_SH_PLT32, - R_SH_COPY, R_SH_GLOB_DAT, R_SH_JMP_SLOT, R_SH_RELATIVE, - R_SH_GOTOFF, R_SH_GOTPC) to the range from 160 to 167. Replaced - the original entries with EMPTY_HOWTOs, and added new ones to fill - in the gap. - (sh_elf_info_to_howto): Make sure the new gap isn't used. - (sh_elf_relocate_section): Likewise. - -2000-09-13 Anders Norlander - - * cpu-mips.c (arch_info_struct): Add mips:4K - * bfd-in2.h (bfd_mach_mips4K): New define. - * archures.c: Add bfd_mach_mips4K to comment. - * elf32-mips.c (_bfd_mips_elf_final_write_processing): Return - E_MIPS_ARCH_2 for bfd_mach_mips4K. - -2000-09-13 Marco Franzen - - * som.c (som_write_symbol_strings): Do not used fixed buffers, - use size_t as a counter. - (som_write_space_strings): Similarly. - -2000-09-12 Jason Eckhardt - - * elf32-i860.c (elf32_i860_relocate_pc26): New function - and prototype. - (elf32_i860_relocate_section): Invoke new function from here. - -2000-09-11 Michael Sokolov - - * elf.c (_bfd_elf_make_section_from_shdr): Make debug_sec_names - static. - -2000-09-10 Michael Sokolov - - * coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): Emit 8 NULs for - target section name instead of dumping core when the target symbol is - undefined. - -2000-09-09 Kazu Hirata - - * riscix.c: Remove DEFUN. - -2000-09-08 Nick Clifton - - * elf32-arm.h (elf32_arm_merge_private_bfd_data): Do not - initialise flags in output bfd if the input bfd is the default - architecture with the default flags. - -2000-09-08 Kazu Hirata - - * archive.c: Fix formatting. - * coff-arm.c: Likewise. - * doc/chew.c: Likewise. - -2000-09-08 Alan Modra - - * section.c (bfd_get_unique_section_name): Put a dot before the - numeric suffix. - -2000-09-07 Kazu Hirata - - * doc/chew.c: Remove all uses of DEFUN and DEFUN_VOID. - * elf.c: Fix formatting. - -2000-09-07 Alexandre Oliva - - * config.bfd (sh-*-linux*): Added. - * configure.in (bfd_elf32_shlin_vec, bfd_elf32_shblin_vec): New. - * targets.c: Declare them. - * elf32-sh-lin.c: New file. - * Makefile.am: Compile it. - * elf32-sh.c: Don't override defines from elf32-sh-lin.c. - * configure, Makefile.in: Rebuilt. - -2000-09-06 Geoffrey Keating - - * xcofflink.c (xcoff_link_input_bfd): Include the .tocbss - pseduo-section when determining where the TOC ends. - - * coff-rs6000.c (_bfd_xcoff_swap_aux_out): Use bfd_h_put_16 to - output x_tvndx as it is only two bytes wide. - - * coff-rs6000.c (xcoff_howto_table): A modifiable branch-absolute - reloc is 26 or 32 bits wide. - - * coff-rs6000.c (_bfd_xcoff_rtype2howto): The bitsize is irrelevant - for relocs that don't change anything. Also look at the full - 6 bits of bitsize. - -2000-09-06 Philip Blundell - - * config.bfd (arm*-*-uclinux*): New target. - -2000-09-06 Alexandre Oliva - - * configure: Rebuilt with new libtool.m4. - -2000-09-06 Alan Modra - - * section.c (bfd_get_unique_section_name): Avoid c++ reserved - word for variable name. - * bfd-in2.h: Regenerate. - -2000-09-05 Nick Clifton - - * config.in: Regenerate. - * libbfd.h: Regenerate. - * po/bfd.pot: Regenerate. - * doc/bfdint.texi: Remove CVS date string - it foils compares with - local versions. - -2000-09-05 Steven Johnson - - * cpu-powerpc.c (arch_info_struct): Added MPC860 Family entry. - -2000-09-05 Alan Modra - - Shared library and PIC support. - * elf32-hppa.c (PLT_ENTRY_SIZE): New. - (GOT_ENTRY_SIZE): New. - (ELF_DYNAMIC_INTERPRETER): New. - (STUB_SUFFIX): Define. - (LONG_BRANCH_PIC_IN_SHLIB): Define. - (RELATIVE_DYNAMIC_RELOCS): Define. - (enum elf32_hppa_stub_type): New. - (struct elf32_hppa_stub_hash_entry): Rename offset to - stub_offset. Add a number of new fields. - (struct elf32_hppa_link_hash_entry): New. - (struct elf32_hppa_link_hash_table): Add numerous fields. Remove - global_value. - (elf32_hppa_hash_table): Rename to hppa_link_hash_table. - (elf32_hppa_stub_hash_lookup): Rename to hppa_stub_hash_lookup. - (elf32_hppa_stub_hash_newfunc): Rename to stub_hash_newfunc. Init - new fields. - (hppa_link_hash_newfunc): New function. - (elf32_hppa_link_hash_table_create): Use above function. Init new - fields. - (elf32_hppa_stub_name): Rename to hppa_stub_name. Pass in reloc - instead of addend, and remove sym_name from args. Don't use - symbol name for local syms, instead use sym index. - (elf32_hppa_size_of_stub): Rename to hppa_type_of_stub, and return - stub type rather than size. Pass in hash and handle import stub - case. Also pass in reloc instead of offset so we can calculate - PCREL22F and PCREL12F branches properly. - (elf32_hppa_build_one_stub): Rename to hppa_build_one_stub. Build - import and export stubs too. - (elf32_hppa_size_one_stub): Rename to hppa_size_one_stub. Handle - import and export stub sizing. - (elf32_hppa_check_relocs): New function. - (elf32_hppa_adjust_dynamic_symbol): New function. - (hppa_discard_copies): New function. - (elf32_hppa_size_dynamic_sections): New function. - (elf_backend_size_dynamic_sections): Define. - (elf32_hppa_finish_dynamic_symbol): New function. - (elf_backend_finish_dynamic_symbol): Define. - (elf32_hppa_size_stubs): Stash params in link hash table, and move - some local vars into the link hash table too. For shared links, - trundle over function syms, generating export stubs. Handle - PCREL22F branches. Break out stub creation code from here.. - (hppa_add_stub): .. to here. New function. - (elf32_hppa_final_link): Rename to elf32_hppa_set_gp, and don't - call the bfd linker. Use elf_gp to record global pointer. - Calculate a value from sections if $global$ is missing. - (bfd_elf32_bfd_final_link): Define as _bfd_elf32_gc_common_final_link. - (elf32_hppa_gc_mark_hook): New function. - (elf_backend_gc_mark_hook): Define. - (elf32_hppa_gc_sweep_hook): New function. - (elf_backend_gc_sweep_hook): Define. - (elf32_hppa_bfd_final_link_relocate): Rename to final_link_relocate. - Add rel to args, and remove howto, input_bfd, offset, addend, - sym_name as we can recalculate these locally. Handle calls to - dynamic objects, extra PIC relocs, PCREL22F branches. Change - handling of undefined weak syms. Check that stubs are in range. - Only look for import stubs on PCREL17F and PCREL22F relocs. Add - message on hitting a DPREL21L reloc that needs fixing. Subtract - off PC for PCREL14F. Break out code that does a stub lookup from - here.. - (hppa_get_stub_entry): ..to here. New function. - (elf32_hppa_relocate_insn): Merge into final_link_relocate. - (elf32_hppa_relocate_section): Handle got and plt relocs, dynamic - relocs, etc. etc. - (elf32_hppa_finish_dynamic_sections): New function. - (elf_backend_finish_dynamic_sections): Define. - (elf_backend_final_write_processing) Define. - (hppa_handle_PIC_calls): New function. - (elf32_hppa_build_stubs): Call it. Pass link_info to - hppa_build_one_stub. - (elf32_hppa_create_dynamic_sections): New function - to create .plt and .got then set .plt flags correctly. - (elf_backend_create_dynamic_sections): Define. - (elf32_hppa_object_p): New function. - (elf_backend_object_p): Define. - (elf32_hppa_elf_get_symbol_type): New function. - (elf_backend_get_symbol_type): Define. - (elf_backend_can_gc_sections): Define. - (elf_backend_want_got_plt): Define. - (elf_backend_plt_alignment): Set to 2. - (elf_backend_plt_readonly): Define. - (elf_backend_want_plt_sym): Define. - (elf_backend_got_header_size): Reserve one entry. - - * elf32-hppa.h (elf32_hppa_build_stubs): Don't pass stub bfd. - (elf32_hppa_size_stubs): Pass in multi_subspace. - (elf32_hppa_set_gp): Declare. - - * section.c (SEC_HAS_GOT_REF): Define new flag for asection. - (bfd_get_unique_section_name): New function. - * bfd-in2.h: Regenerate. - - * elf64-hppa.c (elf64_hppa_check_relocs): Handle R_PARISC_PCREL12F. - (elf64_hppa_size_dynamic_sections): Remove the FIXME at bfd_zalloc - comment. - - From David Huggins-Daines - * elf64-hppa.c (elf64_hppa_check_relocs): Fix a warning. - (elf64_hppa_mark_exported_functions): Set dyn_h->st_shndx. - (elf64_hppa_link_output_symbol_hook): Test dyn_h->st_shndx has - been updated in finish_dynamic_symbol before modifying function - symbol. - - * elf-hppa.h (elf_hppa_howto_table): Restructure into groups of - eight entries. Replace NULL with bfd_elf_generic_reloc. Add - R_PARISC_GNU_VTENTRY, R_PARISC_GNU_VTINHERIT and R_PARISC_PCREL12F. - (_bfd_elf_hppa_gen_reloc_type): Handle R_PARISC_GNU_VT*. Add some - comments. Handle format == 12 for R_HPPA_PCREL_CALL. - (elf_hppa_final_link_relocate): Handle R_PARISC_PCREL12F. - (elf_hppa_relocate_insn): Likewise. Reformat some comments. - (elf_hppa_final_write_processing): Expose it for ARCH_SIZE == 32. - - From David Huggins-Daines - * elf-hppa.h (elf_hppa_is_local_label_name): Accept the SysV/ELF - style of local labels as well. - -2000-09-03 Philip Blundell - - * elf32-arm.h (elf32_arm_relocate_section): Don't try to relocate - references to undefined symbols in debugging sections. - -2000-09-02 H.J. Lu - - * reloc.c (BFD_RELOC_SH_COPY, BFD_RELOC_SH_GLOB_DAT, - BFD_RELOC_SH_JMP_SLOT, BFD_RELOC_SH_RELATIVE, - BFD_RELOC_SH_GOTPC): Move them from the MIPS section to the SH - section. - -2000-09-02 Jason Eckhardt - - * elf32-i860.c (bfd_elf32_bfd_is_local_label_name): Define macro. - (elf32_i860_is_local_label_name): New function and prototype. - -2000-09-02 Nick Clifton - - * configure.in: Increase version number to 2.10.91. - * configure: Regenerate. - * aclocal.m4: Regenerate. - * config.in: Regenerate. - * po/bfd.pot: Regenerate. - -2000-09-02 Daniel Berlin - - * elf.c (_bfd_elf_make_section_from_shdr): Add - .gnu.linkobce.wi. to the list of debug section names. - -2000-09-02 Nick Clifton - - * dwarf2.c (find_debug_info): New function: Locate a section - containing dwarf2 debug information. - (bfd_dwarf2_find_nearest_line): Find all sections containing - debug information and include them in the stash. - -2000-09-01 Niibe Yutaka , Kaz Kojima , Alexandre Oliva - - * elf32-sh.c (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT, - R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): New. - (sh_reloc_map): Add new relocs. - (sh_elf_check_relocs, sh_elf_link_hash_newfunc, - sh_elf_link_hash_table_create, sh_elf_adjust_dynamic_symbol, - sh_elf_size_dynamic_sections, sh_elf_finish_dynamic_symbol, - sh_elf_finishe_dynamic_sections, sh_elf_discard_copies): New - functions. - (ELF_DYNAMIC_INTERPRETER, PLT_ENTRY_SIZE): Define. - (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): - New array constants. - (elf_sh_plt0_entry, elf_sh_plt_entry, elf_sh_pic_plt_entry): - New variables. - (elf_sh_sizeof_plt, elf_sh_plt_plt0_offset, - elf_sh_plt0_linker_offset, elf_sh_plt0_gotid_offset, - elf_sh_plt_temp_offset, elf_sh_plt_symbol_offset, - elf_sh_plt_reloc_offset): Define. - (elf_sh_pcrel_relocs_copied, elf_sh_link_hash_entry, - elf_sh_link_hash_table): New structs. - (sh_elf_link_hash_traverse, sh_elf_hash_table): New macros. - (sh_elf_relocate_section, sh_elf_check_relocs): Handle new - relocation types. - (elf_backend_create_dynamic_sections, - bfd_elf32_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. - * reloc.c (BFD_RELOC_SH_COPY, BFD_RELOC_SH_GLOB_DAT, - BFD_RELOC_SH_JMP_SLOT, BFD_RELOC_SH_RELATIVE, BFD_RELOC_SH_GOTPC): - New relocs. - * bfd-in2.h, libbfd.h: Rebuilt. - -2000-09-01 Alan Modra - - * elf32-i386.c (elf_i386_finish_dynamic_symbol): Revert 2000-08-27 - change. - -2000-08-31 J"orn Rennecke - - * elf32-sh.c (sh_elf_merge_private_data): If ibfd's elf header flags - not initialized, set them to indicate the SH1 instruction set. - -2000-08-31 Alexandre Oliva - - * acinclude.m4: Include libtool and gettext macros from the - top level. - * aclocal.m4, configure: Rebuilt. - -2000-08-29 Michael Snyder - - * elf.c: Eliminate references to __sparcv9 macro; replace with - autoconf variables HAVE_PSINFO32_T etc. - * configure.in: Auto-configure HAVE_PSINFO_32_T, HAVE_PRPSINFO32_T, - HAVE_PSTATUS32_T, HAVE_PRSTATUS32_T, HAVE_PRSTATUS32_T_PR_WHO. - * config.in: Ditto. - * acinclude.m4 (BFD_HAVE_SYS_PROCFS_TYPE) define _SYSCALL32 so it can - detect the above typedefs. (BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): Ditto. - * aclocal.m4: Ditto. - * configure: Regenerate. - -2000-08-27 Alan Modra - - * elf32-i386.c (elf_i386_check_relocs): Keep info on relocs copied - for any shared link, not just shared -Bsymbolic. - (elf_i386_size_dynamic_sections): Call elf_i386_discard_copies on - any shared link, and pass link info to it. - (elf_i386_size_dynamic_sections): Update comment. - (elf_i386_discard_copies): Modify to discard relocs for symbols - that have been forced local. - (elf_i386_finish_dynamic_symbol): Don't copy relocs for symbols - that have been forced local. - -2000-08-24 Denis Chertykov & Nick Clifton - - * elflink.h (elf_link_add_object_symbols): Allow common - symbols to have an alignment of 1 if explicitly requested, and - not overridden by other definitions. - -2000-08-22 Doug Kwan - - * coff-w65.c (CREATE_LITTLE_COFF_TARGET): Fix typo. - * coffcode.h (coff_set_flags): Add detection of w65 architecture. - -2000-08-22 H.J. Lu - - * elf-bfd.h (elf_link_hash_table): Add runpath. - - * bfd-in.h (bfd_elf_get_runpath_list): New prototype. - * bfd-in2.h: Rebuilt. - - * elf.c (_bfd_elf_link_hash_table_init): Initialize the - "runpath" field to NULL. - (bfd_elf_get_runpath_list): New function. - - * elflink.h (elf_link_add_object_symbols): Record DT_RPATH and - DT_RUNPATH entries. - -2000-08-22 Alexandre Oliva - - * elf32-sh.c (sh_elf_relocate_section) [R_SH_IND12W, - R_SH_DIR8WPN, R_SH_DIR8WPZ, R_SH_DIR8WPL]: Handle them - explicitly. Improve validation of r_type. - -2000-08-21 H.J. Lu - - * elf32-i386.c (elf_i386_size_dynamic_sections): Zero out the - dynamic allocated content space. Add a comment to remind us that - one day this ought to be fixed. - * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise. - * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise. - * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise. - -2000-08-21 Jason Eckhardt - - * elf32-i860.c (elf32_i860_relocate_pc16): Just write the immediate - field with the newly relocated value instead of adding it to the - existing immediate field. - (elf32_i860_relocate_splitn): Likewise. - (elf32_i860_relocate_highadj): Likewise. - -2000-08-16 Jason Eckhardt - - * elf32-i860.c (elf32_i860_relocate_pc16): Implemented function (it - was previously just a stub). - -2000-08-16 Alexandre Oliva - - * elflink.c (_bfd_elf_create_got_section): Don't abort(). - Formatting fixes. - (_bfd_elf_create_dynamic_sections): Likewise. - -2000-08-16 Andrew Macleod - - * elf64-sparc.c (sparc64_elf_relocate_section): Set relocation address - for undefined symbols to be the beginning of the section. - - * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Don't allocate - four extra entries at the beginning of the .rela.plt section. - (sparc64_elf_finish_dynamic_symbol): Adjust the offset in the .rela.plt - section to account for the four reserved entries in the .plt section. - -2000-08-15 Geoffrey Keating - - * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Add ori r0,r0,0 - to the list of NOPs we recognize after a branch-and-link. - Use the ori NOP when one is needed. - - * coff-rs6000.c (_bfd_xcoff_slurp_armap): Finish implementation - for large archives. - -2000-08-14 Jim Wilson - - * elf64-ia64.c (elf64_ia64_merge_private_bfd_data): Handle - EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP, and EF_IA_64_NOFUNCDESC_CONS_GP. - (elf64_ia64_print_private_bfd_data): Likewise. Also handle - EF_IA_64_ABSOLUTE. - -2000-08-11 Alexandre Oliva - - * elf32-sh.c (sh_elf_set_mach_from_flags): Make it static. - -2000-08-10 Jason Eckhardt - - * elf32-i860.c (elf32_i860_relocate_section): New function. - (i860_final_link_relocate): New function. - (elf32_i860_relocate_splitn): New function. - (elf32_i860_relocate_pc16): New function. - (elf32_i860_relocate_highadj): New function. - (elf32_i860_howto): Minor adjustments to some relocations. - (elf_info_to_howto_rel): Define. - (elf_backend_relocate_section): Define. - -2000-08-10 Nick Clifton - - * elf32-arm.h: Fix formatting. - -2000-08-10 Bernd Schmidt - - * elf32-sh.c (sh_elf_reloc_loop): Make LAST_SYMBOL_SECTION static. - -2000-08-08 Jason Eckhardt - - * elf32-i860.c (elf32_i860_howto_table): Updated some fields. - -2000-08-07 Kazu Hirata - - * ieee.c (ieee_write_debug_part): Rewrite a comment. - * elf64-ia64.c: Fix a typo. - -2000-08-05 Jason Eckhardt - - * elf32-i860.c (elf32_i860_howto_table): New structure. - (lookup_howto): New function. - (elf32_i860_reloc_type_lookup): New function. - (elf32_i860_info_to_howto_rela): New function. - (elf_code_to_howto_index): New structure. - (elf_info_to_howto): Re-define as elf32_i860_info_to_howto_rela. - (bfd_elf32_bfd_reloc_type_lookup): Re-define as - elf32_i860_reloc_type_lookup. - -2000-08-04 Rodney Brown - - * som.c (struct fixup_format): Constify `format'. - (som_hppa_howto_table): Use SOM_HOWTO macro. - (try_prev_fixup, hppa_som_reloc): Decorate unused parameter. - (som_bfd_reloc_type_lookup): Likewise. - (compare_subspaces): Remove unused `count1', `count2'. - (som_begin_writing): Remove unused `total_reloc_size'. - (som_bfd_derive_misc_symbol_info): Decorate unused parameter. - (som_print_symbol, som_bfd_is_local_label_name): Likewise. - (som_set_reloc_info): Constify `cp'. Remove unused `addend'. - (som_find_nearest_line): Decorate unused parameter(s). - (som_sizeof_headers, som_get_symbol_info, som_write_armap): Likewise. - (som_bfd_link_split_section): Likewise. - -2000-08-03 Nick Clifton - - * section.c: Restore backed out code. - * elf.c: Restore backed out code. - (copy_private_bfd_data): Fix bug preventing stipped dynamic - binaries from working. - * bfd-in2.h: Regenerate. - -2000-08-03 H.J. Lu - - * section.c: Back out the change made by Nick Clifton - on 2000-07-31. It breaks stripping dynamic - binaries. - * bfd-in2.h: Likewise. - * elf.c: Likewise. - -2000-08-03 Alexandre Oliva - - * elf32-sh.c (sh_elf_reloc_loop): Warning removal. - -2000-07-31 Jason Eckhardt - - * reloc.c (BFD_RELOC_860_*): New bfd relocs for i860. - * bfd-in2.h, libbfd.h: Regenerate. - -2000-07-31 Nick Clifton - - * section.c (struct sec): Add new boolean field 'segment_mark'. - (STD_SECTION): Initialise new field to zero. - - * bfd-in2.h: Regenerate. - - * elf.c (copy_private_bfd_data): Reorganise section to segment - mapping to cope with moved sections requiring new segments, - and overlapping segments. - (SEGMENT_END): New macro: Return the end address of a segment. - (IS_CONTAINED_BY_VMA): New macro: Determine if a segment - contains a section by comparing their VMA addresses. - (IS_CONTAINED_BY_LMA): New macro: Determine if a segment - contains a section by comparing their LMA addresses. - (INCLUDE_SECTION_IN_SEGMENT): New macro: Determine if a - section should be included in a segment. - (SEGMENT_AFTER_SEGMENT): New macro: Determine if one segment - follows another in memory. - (SEGMENT_OVERLAPS_SEGMENT): New macro: Determine if two - segments overlap. - -2000-07-22 Jason Eckhardt - - * cpu-i860.c: Added comments. - - * elf32-i860.c (TARGET_LITTLE_SYM): Defined to - bfd_elf32_i860_little_vec. - (TARGET_LITTLE_NAME): Defined to "elf32-i860-little". - (ELF_MAXPAGESIZE): Changed to 4096. - - * targets.c (bfd_elf32_i860_little_vec): Declaration of - new target. - (bfd_target_vector): Added bfd_elf32_i860_little_vec. - - * config.bfd (i860-stardent-sysv4*, i860-stardent-elf*): Added - config for little endian elf32 i860. - (targ_defvec): Define for the new config above - as "bfd_elf32_i860_little_vec". - (targ_selvecs): Define for the new config above - as "bfd_elf32_i860_vec bfd_elf32_i860_little_vec" - - * configure.in (bfd_elf32_i860_little_vec): Added recognition - of new target vec. - - * configure: Regenerated. - -2000-07-27 H.J. Lu - - * elflink.h (elf_merge_symbol): Take one more argument, - dt_needed, to indicate if the symbol comes from a DT_NEEDED - entry. Don't overide the existing weak definition if dt_needed - is true. - (elf_link_add_object_symbols): Pass dt_needed to - elf_merge_symbol (). - -2000-07-27 Nick Clifton - - * elflink.h (elf_link_size_reloc_section): Zeroes the section's - allocated contents. - -2000-07-25 Geoffrey Keating - - * configure.host (*-*-aix*): AIX has 'long long' always. - - * coff-rs6000.c (xcoff_write_one_armap_big): New procedure. - (xcoff_write_armap_big): Write both 32-bit and 64-bit armaps. - (xcoff_write_archive_contents_big): Don't update the offset - of the symbol table, xcoff_write_armap will do it. - -2000-07-23 Ulf Carlsson - - * elf32-mips.c (_bfd_mips_elf_check_relocs): Use abfd instead - of dynobj for SGI_COMPAT checks. - -2000-07-21 Michael Sokolov - - * coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): New function. - * bfd-in.h (bfd_m68k_coff_create_embedded_relocs): Add declaration. - * bfd-in2.h: Regenerate. - -2000-07-21 Nick Clifton - - * elf32-mips.c (_bfd_mips_elf_check_relocs): Detect out of - range symbol indices in relocs and issue an error message. - -2000-07-20 H.J. Lu - - * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Don't check - info->new_dtags when setting DT_FLAGS_1. It will only be set - by the new linker options. It shouldn't break anything. - -2000-07-20 H.J. Lu - - * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set DT_FLAGS_1 - only if info->new_dtags is true. - -2000-07-20 H.J. Lu - - * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set - DT_RUNPATH and DT_FLAGS only if info->new_dtags is true. - -2000-07-20 Hans-Peter Nilsson - - * Makefile.am (ALL_MACHINES): Add cpu-cris.lo. - (ALL_MACHINES_CFILES): Add cpu-cris.c. - (BFD32_BACKENDS): Add aout-cris.lo and elf32-cris.lo. - (BFD32_BACKENDS_CFILES): Add aout-cris.c and elf32-cris.c. - (cpu-cris.lo, aout-cris.lo, elf32-cris.lo): New rules. - * Makefile.in: Rebuild. - * aclocal.m4: Rebuild. - * aoutx.h (NAME(aout,machine_type)): Add case for bfd_arch_cris. - * archures.c (enum bfd_architecture): Add bfd_arch_cris. - (bfd_cris_arch): Declare. - (bfd_archures_list): Add bfd_cris_arch. - * bfd-in2.h: Rebuild. - * config.bfd: (cris-*-*): New target. - * configure.in (bfd_elf32_cris_vec, cris_aout_vec): New vectors. - * configure: Rebuild. - * elf.c (prep_headers): Add bfd_arch_cris. - * libbfd.h: Rebuild. - * libaout.h (enum machine_type): Add M_CRIS. - * reloc.c: Add CRIS relocations. - * targets.c (bfd_elf32_cris_vec, cris_aout_vec): Declare. - (bfd_target_vect): Add bfd_elf32_cris_vec and cris_aout_vec. - * cpu-cris.c, aout-cris.c, elf32-cris.c: New files. - * po/POTFILES.in, po/bfd.pot: Regenerate. - -2000-07-19 H.J. Lu - - * elf32-arm.h (elf32_arm_size_dynamic_sections): Also set - DF_TEXTREL if DT_TEXTREL is set. - * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise. - * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise. - * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise. - * elf32-mips.c (_bfd_mips_elf_size_dynamic_sections): Likewise. - * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise. - * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise. - * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise. - * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise. - * elf64-ia64.c (elf64_ia64_size_dynamic_sections): Likewise. - * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise. - - * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also - set DF_SYMBOLIC for symbolic link. Also set DT_RUNPATH if - DT_RPATH is set. - Set the DT_FLAGS and DT_FLAGS_1 entries if necessary. - -2000-07-19 H.J. Lu - - * bfd-in.h (bfd_elf_set_dt_needed_soname): New. - * bfd-in2.h: Rebuild. - - * elf-bfd.h (elf_obj_tdata): Add dt_soname. - (elf_dt_soname): New. - - * elf.c (bfd_elf_set_dt_needed_soname): New. - - * elflink.h (elf_link_add_object_symbols): Add the DT_NEEDED - entry if the shared object loaded by DT_NEEDED is used to - resolve the reference in a regular object. - -2000-07-19 H.J. Lu - - * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_CONFIG, - DT_DEPAUDIT and DT_AUDIT as strings. - -2000-07-19 Nick Clifton - - * format.c: Fix formatting. - -2000-07-19 H.J. Lu - - * elf.c (_bfd_elf_print_private_bfd_data): Fix DT_CHECKSUM. - -2000-07-19 H.J. Lu - - * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_BIND_NOW, - DT_INIT_ARRAY, DT_FINI_ARRAY, DT_INIT_ARRAYSZ, DT_FINI_ARRAYSZ, - DT_RUNPATH, DT_FLAGS, DT_PREINIT_ARRAY, DT_PREINIT_ARRAYSZ, - DT_PLTPADSZ, DT_MOVEENT, DT_MOVESZ, DT_FEATURE, DT_POSFLAG_1, - DT_SYMINSZ, DT_SYMINENT, DT_CONFIG, DT_DEPAUDIT, DT_AUDIT, - DT_PLTPAD, DT_MOVETAB, DT_SYMINFO, DT_RELACOUNT, DT_RELCOUNT, - DT_FLAGS_1, DT_USED and DT_CHECKSUM. - -2000-07-18 Andrew Cagney - - * elf.c (bfd_elf_get_sign_extend_vma, bfd_elf_get_arch_size): Move - renamed functions from here... - (assign_section_numbers): Use renamed functions. - (prep_headers): Use renamed functions. - - * bfd.c (bfd_get_sign_extend_vma, bfd_get_arch_size): ...To here. - * bfd-in.h (bfd_get_sign_extend_vma, bfd_get_arch_size): Update. - * bfd-in2.h: Regenerate. - -2000-07-18 Ulf Carlsson - - * elf32-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Add - parenthesis in if statement. - -2000-07-17 Koundinya K - - Enable the support for Traditional MIPS. - * elf32-mips.c (IRIX_COMPAT): Recognize bfd_elf32_tradbigmips_vecand - return ict_none appropriately for traditional mips targets. - (STUB_LW): Change 0x8f998000 to 0x8f998010 for traditional mips. - (STUB_MOVE): Conditionalize for traditonal mips. - (STUB_LI16): Likewise. - (_bfd_mips_elf_modify_segment_map): Conditionalize to avoid making - room for RTPROC header. - (_bfd_mips_elf_modify_segment_map): For a normal mips executable set - the permission for the PT_DYNAMIC as read, write and execute. - (mips_elf_calculate_relocation): Check for the symbol _DYNAMIC_LINKING - for traditonal mips. - (_bfd_mips_elf_create_dynamic_sections): Add the symbol - _DYNAMIC_LINKING for traditonal mips. - (_bfd_mips_elf_create_dynamic_sections): Add the symbol __RLD_MAP - in case of traditonal mips. - (_bfd_mips_elf_adjust_dynamic_symbol): Create a stub only if a PLT - entry is required. For a function if PLT is not required then set the - corresponding hash table entry to 0. - (_bfd_mips_elf_size_dynamic_sections): Add DT_DEBUG entry for - traditonal mips. - (_bfd_mips_elf_finish_dynamic_symbol): for a undefined symbol in a - shared object set the value to 0. - (_bfd_mips_elf_finish_dynamic_symbol): Check for the symbol - _DYNAMIC_LINKING for traditonal mips. - (_bfd_mips_elf_finish_dynamic_symbol): Check for the symbol __RLD_MAP - for traditonal mips. - -2000-07-15 H.J. Lu - - * aoutx.h (translate_to_native_sym_flags): Handle BSF_LOCAL. - -2000-07-12 Charles Wilson - - * libbfd.c (bfd_seek): fix 'seek beyond EOF' error when writing - out a structure that is BFD_IN_MEMORY. - -2000-07-11 Alan Modra - - * elf64-hppa.c (get_dyn_name): Pass in section pointer instead of - bfd pointer. Print section id instead of bfd pointer for local - syms. Prefix addend with `+' for global syms as well as local. - Correct calculation of name component lengths. - (elf64_hppa_check_relocs): Update call to get_dyn_name. - - From David Huggins-Daines - * elf-hppa.h (elf_hppa_relocate_section): Update calls here too. - * elf64-hppa.c (elf64_hppa_check_relocs): Fix some warnings. - (elf64_hppa_modify_segment_map): Likewise. - -2000-07-11 Andrew Cagney - - * elf.c (bfd_elf_get_sign_extend_vma): Return tendency of VMA - addresses to be "naturally" sign extended. Return -1 if unknown. - * bfd-in.h (bfd_elf_get_sign_extend_vma): Add declaration. - * bfd-in2.h: Regenerate. - -2000-07-11 Andrew Cagney - - * ecoffswap.h (ecoff_get_off, ecoff_put_off): Add ECOFF_SIGNED_32 - and ECOF_SIGNED_64 to list ways to extract an offset. - (ecoff_swap_fdr_in, ecoff_swap_fdr_out, ecoff_swap_pdr_in, - ecoff_swap_pdr_out, ecoff_swap_ext_in, ecoff_swap_ext_out): - Update. - * elf64-mips.c (ECOFF_SIGNED_64): Define instead of ECOFF_64. - * elf32-mips.c (ECOFF_SIGNED_32): Define instead of ECOFF_32. - -2000-07-11 Andrew Cagney - - * elfcode.h (elf_object_p): Use bfd_set_start_address and not - bfd_get_start_address. - (elf_swap_ehdr_in): Sign extend e_entry when applicable. - (elf_swap_ehdr_out): Ditto. - -2000-07-10 Alexander Aganichev - - * archures.c (bfd_default_scan): Add set of bfd_mach_ cases for - compatibility with older binutils. - -2000-07-10 Alan Modra - - * section.c (bfd_make_section_anyway): Start section_id at 0x10. - (STD_SECTION): Avoid negative ids, instead use 0 to 3. - - From Ryan Bradetich - * dwarf1.c (parse_die): Cure signed/unsigned char warnings. - (parse_line_table): Ditto. - (_bfd_dwarf1_find_nearest_line): Ditto. - * syms.c (cmpindexentry): Remove extra `*' from params. - -2000-07-09 Koundinya K - - * elf32-mips.c (sort_dynamic_relocs): New Function. - (_bfd_mips_elf_finish_dynamic_sections): Call sort_dynamic_relocs - via qsort to sort the dynamic relocations in increasing r_symndx - value. - -2000-07-09 Alan Modra - - * elf64-hppa.c (elf64_hppa_dyn_hash_table_init): Add - ATTRIBUTE_UNUSED to unused args. - (get_opd): Likewise. - (get_plt): Likewise. - (get_dlt): Likewise. - (get_stub): Likewise. - (elf64_hppa_adjust_dynamic_symbol): Likewise. - (elf64_hppa_link_output_symbol_hook): Likewise. - (elf64_hppa_check_relocs): Delete unused var. - (elf64_hppa_size_dynamic_sections): Likewise. - (elf64_hppa_finalize_opd): Likewise. - (elf64_hppa_finalize_dynreloc): Likewise. - (elf64_hppa_modify_segment_map): Likewise. - (elf64_hppa_finish_dynamic_sections): Likewise. - - * elf-hppa.h (elf_hppa_final_write_processing): Add - ATTRIBUTE_UNUSED to unused args. - (elf_hppa_final_link_relocate): Likewise. - (elf_hppa_record_segment_addrs): Add paretheses. - (elf_hppa_relocate_section): Constify dyn_name. - - From David Huggins-Daines - * config.bfd: Add hppa*64*-*-linux-gnu 64-bit target, and - rearrange case statement so that it gets preferred to 32-bit ones. - - * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Use - asection->id instead of address of asection structure. - (elf32_hppa_size_stubs): Likewise. - - * elf32-hppa.c (elf32_hppa_size_stubs): Use just one stub section - for .init* and .fini*. - - * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Mask pointers - and addends used in stub names to 32 bits. - (elf32_hppa_size_stubs): Likewise. - - * elf-hppa.h (elf_hppa_final_link_relocate): Don't sum addend - twice for R_PARISC_GPREL64. Use bfd_put_32 for R_PARISC_PCREL32, - not bfd_put_64. Fix minor comment typo and formatting. - - Changes to create multiple linker stubs, positioned immediately - before the section where they are required. - * elf32-hppa.c: Don't include hppa_stubs.h. - (elf32_hppa_stub_hash_entry): Add a pointer to the stub section. - (elf32_hppa_stub_hash_table): Delete. - (elf32_hppa_link_hash_entry): Delete. - (elf32_hppa_link_hash_table): Use plain bfd_hash_table for - stub_hash_table, and store the struct here rather than a pointer. - Delete output_symbol_count. Add offset array. Change - global_value to a bfd_vma. - (elf32_hppa_stub_hash_lookup): Use table instead of table->root. - (elf32_hppa_stub_hash_traverse): Delete. - (elf32_hppa_name_of_stub): Delete. - (elf32_hppa_link_hash_lookup): Delete. - (elf32_hppa_link_hash_traverse): Delete. - (elf32_hppa_stub_hash_table_init): Delete. - (elf32_hppa_size_of_stub): Pass input section and offset rather - than location and calculate location here. Don't pass name as all - stubs are now the same size. - (elf32_hppa_stub_hash_newfunc): Init new fields. - (elf32_hppa_link_hash_table_create): Likewise, and stub_hash_table - too. - (elf32_hppa_bfd_final_link_relocate): Cast enums to int before - comparing against ints. Rewrite stub handling code. - (elf32_hppa_relocate_section): Make r_type and r_symndx unsigned. - Case enums to int before comparing against ints. Remove - bfd_reloc_dangerous case. - (elf32_hppa_build_one_stub): Rewrite. - (elf32_hppa_size_one_stub): New function. - (elf32_hppa_build_stubs): Rewrite. - (elf32_hppa_size_stubs): Pass in linker call-back functions. - Rewrite stub-handling specific code. - - * elf32-hppa.h (elf32_hppa_size_stubs): Update prototype. - - * elf64-hppa.c (elf64_hppa_dyn_hash_entry): Fix a comment typo. - - * hppa_stubs.h: Delete. - * Makefile.am (SOURCE_HFILES): Remove hppa_stubs.h - (elf32-hppa.lo): Remove hppa_stubs.h from dependencies. - * Makefile.in: Regenerate. - - * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle e_nlsel and - e_nlrsel. - - * libhppa.h (hppa_field_adjust): Correct e_nsel case. - - * elf32-hppa.c (elf32_hppa_relocate_section): Mention the offset - and section name for bfd_reloc_notsupported error message. - (elf32_hppa_bfd_final_link_relocate): Print reasons for returning - bfd_reloc_notsupported. - (elf32_hppa_relocate_section): Add ATTRIBUTE_UNUSED to output_bfd. - - * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Handle - undefined weak symbols for all relocs. - (elf32_hppa_size_of_stub): Adjust calculation by 8 since branch - offsets are relative to one past the delay slot. - (elf32_hppa_size_stubs): Account for reloc addend when calculating - branch destination. Put addend into stub name too. - (elf32_hppa_bfd_final_link_relocate): Account for reloc addend and - adjust by 8 when deciding whether a linker stub is needed. Put - addend into stub name as for above. - - * elf32-hppa.c (hppa_elf_relocate_insn): Change signed/unsigned on - various args and vars. - (elf32_hppa_bfd_final_link_relocate): Here too. - (elf32_hppa_size_stubs): Rename index -> indx. Use e_indx for - inner block var to avoid shadowing. - - * elf32-hppa.h (_bfd_elf32_hppa_gen_reloc_type): Make `field' arg - unsigned. - * elf64-hppa.h (_bfd_elf64_hppa_gen_reloc_type): Ditto. - * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Ditto. - (elf_hppa_fake_sections): Rename local var to avoid shadowing. - - * libhppa.h: Change practically all unsigned ints to plain ints. - Remove tests on gcc version. Instead use ATTRIBUTE_UNUSED for - prototypes. - - From Ryan Bradetich - * libhppa.h (hppa_opcode_type): New enum to replace #define's. - * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Modify to - suit above. - From David Huggins-Daines - * elf-hppa.h (elf_hppa_relocate_insn): Update the opcode constants - to the new OP_* ones. - - * elf32-hppa.c (elf32_hppa_size_stubs): Consolidate freeing on - error exit. Bail out earlier on plabel relocs that we aren't - interested in. Don't tell elf32_hppa_stub_hash_lookup to copy - string, and then don't free our copy. - (elf32_hppa_build_one_stub): Make insn unsigned int. - - * libhppa.h (bfd_hppa_insn2fmt): 22 bit branches are only - available with BL, not BE and BLE. - - * elf32-hppa.c (hppa_elf_relocate_insn): Add some more example - code for elf arg relocs. - (elf32_hppa_bfd_final_link_relocate): Replace boolean is_local - argument with elf_link_hash_entry h. Handle undefined weak - symbols. Move $global$ lookup from here... - (elf32_hppa_relocate_section): ...to here. Return correct error - message for non-handled relocs. - (elf32_hppa_size_of_stub): Correctly test branch range. Previous - wrong test was -0x3ffff to +0x40000. - - * elf-hppa.h (elf_hppa_final_link_relocate): R_PARISC_DIR17R, - R_PARISC_DIR17F, and R_PARISC_DIR21L are for absolute branches; - Handle them as such. - (elf_hppa_relocate_insn): Fix a typo. - - * libhppa.h (GET_FIELD, GET_BIT, MASK, CATENATE, ELEVEN): Delete. - (assemble_3, assemble_6, assemble_12, assemble_16, assemble_16a, - assemble_17, assemble_21): Delete. - Supply defines for all 64 possible opcodes. - (bfd_hppa_insn2fmt): Add bfd argument, and use to select wide mode - formats. Handle COMICLR. - (hppa_rebuild_insn): Delete bfd argument. Handle formats 10, -11, - -10, -16, 16, 22. - - * elf32-hppa.c (hppa_elf_relocate_insn): Complete rewrite. - (elf32_hppa_bfd_final_link_relocate): Major rewrite. - (elf32_hppa_build_one_stub): Modify hppa_elf_relocate_insn calls - to suit. - (elf32_hppa_size_stubs): Don't free stub_name twice. Read in all - the local syms - did this code get deleted accidentally? Ignore - undefined and undefweak syms. - - * elf-hppa.h (elf_hppa_final_link): Move hppa_info to outermost - block. Use it instead of elf64_hppa_hash_table (info). - (elf_hppa_final_link_relocate): Use hppa_info instead of - elf64_hppa_hash_table (info). - - * libhppa.h (re_assemble_3, re_assemble_12, re_assemble_16, - re_assemble_17, re_assemble_21, re_assemble_22): Don't mask insn. - (hppa_rebuild_insn): Mask immediate bits here instead. - * elf-hppa.h (elf_hppa_relocate_insn): Mask here too. - -2000-07-08 Alan Modra - - * section.c (struct sec): Add id field. Tidy comment formatting. - (bfd_make_section_anyway): Set id. - (STD_SECTION): Init id too. - Change CONST to const throughout. - * archures.c (bfd_arch_info): Tidy comment. - (bfd_arch_list): Change a CONST to const. - * libbfd-in.h: Tidy comments and replace CONST with const. - * elf-bfd.h: Likewise. - * libbfd.h: Regenerate. - * bfd-in2.h: Regenerate. - * libcoff.h: Regenerate. - -2000-07-07 DJ Delorie - - * archive.c (_bfd_write_archive_contents): Add an informative - comment. - -2000-07-06 Kazu Hirata - - * srec.c: Fix formatting. - -2000-06-05 DJ Delorie - - * MAINTAINERS: new - -2000-07-04 Alexandre Oliva - - * coff-arm.c (coff_arm_relocate_section): Do not ignore the symbol - value of PC-relative offsets. - -2000-07-03 Jim Wilson - - * elf64-alpha.c (alpha_elf_size_info): New. - (elf_backend_size_info): Define to alpha_elf_size_info. - * elfcode.h (elf_size_info): Change hash bucket size to 4. - -2000-07-03 Ulf Carlsson - - * elf32-mips.c: Include elf32-target.h again for the traditional - MIPS targets. - -2000-07-03 Marek Michalkiewicz - - * elf32-avr.c (bfd_elf32_bfd_reloc_type_lookup): - Add ATTRIBUTE_UNUSED to unused arguments to avoid warnings. - (avr_info_to_howto_rela): Likewise. - (elf32_avr_gc_mark_hook): Likewise. - (elf32_avr_gc_sweep_hook): Likewise. - (elf32_avr_relocate_section): Likewise. - -2000-07-03 Mark Elbrecht - - * cofflink.c (_bfd_coff_write_global_sym): Turn a weak symbol into - an external symbol for a non-shared, non-relocatable link. - -2000-07-03 Nick Clifton - - * cofflink.c (IS_EXTERNAL): New macro: Return true if the symbol - is an external symbol. - (IS_WEAK_EXTERNAL): New macro: Return true if the symbol is a weak - external symbol. - -2000-07-03 Kazu Hirata - - * reloc16.c: Fix formatting. - -2000-07-01 Koundinya K - - * config.bfd: Change targ_defvec and targ_selvecs for mips*-*-sysv4* - to add a new target for traditional mips i.e - bfd_elf32_tradbigmips_vec and bfd_elf32_tradlittlemips_vec. - * configure.in: Likewise. - * configure: Rebuild. - * targets.c (bfd_elf32_tradbigmips_vec): Declare and put in - bfd_target_vector. - (bfd_elf32_tradlittlemips_vec): Likewise. - * elfxx-target.h: Add macro INCLUDED_TARGET_FILE which is more a test - to see that elfNN_bed does not get redefined even if the target file - is included twice for a chip. See elf32-mips.c. - -2000-07-01 Alan Modra - - * Makefile.am (DEP): Fix 2000-06-22. grep after running dep.sed - (CLEANFILES): Add DEPA. - * Makefile.in: Regenerate. - -2000-06-30 DJ Delorie - - * peicode.h (coff_swap_filehdr_in): can't use e_magic because we - can't assume the PE header is at 0x80. - -2000-06-29 Mark Elbrecht - - * syms.c (_bfd_stab_section_find_nearest_line): Use IS_ABSOLUTE_PATH. - -2000-06-28 Mark Elbrecht - - * go32stub.h: Update stub. - -2000-06-26 Marek Michalkiewicz - - * archures.c (bfd_mach_avr5): Define. - * bfd-in2.h (bfd_mach_avr5): Define. - * cpu-avr.c (arch_info_struct): Rename bfd_mach_avr4 to - bfd_mach_avr5, add bfd_mach_avr4. Update comments. - (compatible): Update comment. Add missing test. - * elf32-avr.c (avr_final_link_relocate): Support 8K wrap - for avr2 and avr4. Simplify 8K wrap code. - (bfd_elf_avr_final_write_processing): Recognize bfd_mach_avr5. - (elf32_avr_object_p): Recognize E_AVR_MACH_AVR5. - -2000-06-26 Kazu Hirata - - * coff-h8300.c: Fix formatting. - * cpu-h8300.c: Likewise. - -2000-06-24 Alexandre Oliva - - * elf32-arm.h (elf32_arm_final_link_relocate): Print `(local)' - for local symbols whose names are unknown. - -2000-06-22 Alan Modra - - * Makefile.am (DEP): grep for leading `/' in DEP1, and fail if we - find one. - * Makefile.in: Regenerate. - * doc/Makefile.in: Regenerate. - -2000-06-20 H.J. Lu - - * Makefile.am: Rebuild dependency. - * Makefile.in: Rebuild. - -2000-06-20 Maciej W. Rozycki - - * elf32-mips.c (_bfd_mips_elf_copy_indirect_symbol): New function. - (elf_backend_copy_indirect_symbol): Map to the new function. - -2000-06-20 Alan Modra - - * archive.c (normalize): Correct pointer comparison when checking - for backslashes. - (bfd_bsd_truncate_arname): Likewise. - (bfd_gnu_truncate_arname): Likewise. - -2000-06-20 Ulf Carlsson - - * elf-bfd.h (struct elf_obj_tdata): Define per BFD Irix 5 virtual - sections elf_{text,data}_{section,symbol}. - * elf32-mips.c: mips_elf_{text,data}_{section,symbol}{,_ptr}: Remove. - (_bfd_mips_elf_hide_symbol): New function. - (elf_backend_hide_symbol): Map to the new function. - (_bfd_mips_elf_add_symbol_hook): Change to use new per BFD - definitions of mips_elf_{text,data}_{section,symbol}. - (mips_elf_local_relocation_p): Try to find the direct symbol - based on new check_forced argument. - (mips_elf_calculate_relocation): Use new version of - mips_elf_local_relocation_p. - (mips_elf_relocate_section): Likewise. - (_bfd_mips_elf_relocate_section): Likewise. - (mips_elf_sort_hash_table): Only assert that have enough GOT - space. - (mips_elf_got16_entry): Match all 32 bits to the existing GOT - entry if the relocation based on the new external argument. - (mips_elf_create_dynamic_relocation): Assert that we have a - section contents allocated where we can swap out the dynamic - relocations. - (mips_elf_calculate_relocation): Find the real hash-table entry - correctly by using h->root.root.type. Only create a dynamic - relocation entry if the symbol is defined in a shared library. - Create an external GOT entry for the GOT16 relocation if the - symbol was forced local. - (_bfd_mips_elf_finish_dynamic_symbol): Don't assert there is a - dynamic index if the symbol was forced local. - -2000-06-20 Maciej W. Rozycki - - * elf32-mips.c: Fix typos in comments. - -2000-06-19 Mark Kettenis - - * rs6000-core.c: Wrap definition of `union VmInfo' within #ifdef - CORE_VERSION_1. - -2000-06-18 Stephane Carrez - - * Makefile.in, bfd-in2.h, libbfd.h, configure: Rebuild. - * Makefile.am (ALL_MACHINES, ALL_MACHINES_CFILES, BFD32_BACKENDS, - BFD32_BACKENDS_CFILES): Add 68hc12, 68hc11 files. - * configure.in (bfd_elf32_m68hc12_vec): Recognize. - (bfd_elf32_m68hc11_vec): Likewise. - * config.bfd (targ_cpu): Recognize 68hc12 and 68hc11. - Supports 68hc11 & 68hc12 at the same time. - * targets.c (bfd_elf32_m68hc12_vec): Declare and put in - bfd_target_vector. - (bfd_elf32_m68hc11_vec): Likewise. - * elf.c (prep_headers): Recognize bfd_arch_m68hc12 and 68hc11. - * archures.c (bfd_m68hc12_arch): Define and register in global list - (bfd_m68hc11_arch): Likewise. - * reloc.c (BFD_RELOC_M68HC11_HI8, BFD_RELOC_M68HC11_LO8, - BFD_RELOC_M68HC11_3B): Define. - * cpu-m68hc12.c, elf32-m68hc12.c: New files for 68hc12 support. - * cpu-m68hc11.c, elf32-m68hc11.c: New files for 68hc11 support. - -2000-06-18 Ulf Carlsson - - * elf_bfd.h (struct elf_backend_data): Add info argument to - elf_backend_hide_symbol. - (_bfd_elf_link_hash_hide_symbol): Likewise. - * elf.c (_bfd_elf_link_hash_hide_symbol): Likewise. - * elf64-ia64.c (elf64_ia64_hash_hide_symbol): Likewise. - * elflink.h (elf_link_add_object_symbols): Likewise. - (elf_link_assign_sym_version): Likewise. - -2000-06-18 H.J. Lu - - * coff-i386.c (coff_i386_reloc): Don't return in case of - output_bfd == (bfd *) NULL if COFF_WITH_PE is defined. - Compensate PE relocations when linking with non-PE object - files to generate a non-PE executable. - -2000-06-17 Ulf Carlsson - - * elf32-mips.c (mips_elf_calculate_relocation): Explicitly write - GOT entries if we're doing a static link or -Bsymbolic link. - -2000-06-15 Ulf Carlsson - - * elflink.h (elf_link_adjust_relocs): Check for and call backend - specifific swap_reloc_{in,out} and swap_reloca_{in,out} if - available. - (elf_link_output_relocs): Likewise. - (elf_reloc_link_order): Likewise. - -2000-06-16 Nicholas Duffek - - * archures.c (enum bfd_architecture): #define constants for - PowerPc and RS6000 machine numbers. - * bfd-in2.h: Regenerate. - * coffcode.h (coff_set_arch_mach_hook): #ifdef XCOFF64, set arch - to bfd_arch_powerpc instead of bfd_arch_rs6000. Refer to PowerPc - and RS6000 machine numbers using #defined constants from - archures.c. - * cpu-powerpc.c (arch_info_struct): Refer to PowerPc and RS6000 - machine numbers using #defined constants from archures.c. Add - entries for EC603e, 630, A35, RS64II, RS64III, 7400. Specify - 64-bit words in 620 entry. - * cpu-rs6000.c (arch_info_struct): Create with entries for RS1, - RSC, and RS2. - (bfd_rs6000_arch): Change default machine to 0 (bfd_mach_rs6k). - -2000-06-16 Nicholas Duffek - - * coffcode.h (coff_mkobject_hook): Set xcoff_tdata.xcoff64. - * libcoff-in.h (struct xcoff_tdata): Define xcoff64 field. - * libcoff.h (struct xcoff_tdata): Define xcoff64 field. - -2000-06-16 Nicholas Duffek - - * bfd-in.h (bfd_family_coff): Define. - * bfd-in2.h: Regenerate. - * coffgen.c (coff_count_linenumbers, coff_symbol_from, - coff_find_nearest_line): Check COFFness using bfd_family_coff() - instead of bfd_target_coff_flavour. - * cofflink.c (_bfd_coff_final_link): Likewise. - * cpu-ns32k.c (do_ns32k_reloc): Don't strcmp() target name to - exclude XCOFF files. - * reloc.c (bfd_perform_relocation, bfd_install_relocation): - Likewise. - * targets.c (enum bfd_flavour): Add bfd_target_xcoff_flavour. - * xcoff-target.h (TARGET_SYM): Use bfd_target_xcoff_flavour. - * xcofflink.c (XCOFF_XVECP): Delete. - (bfd_xcoff_link_record_set, bfd_xcoff_import_symbol, - bfd_xcoff_export_symbol, bfd_xcoff_link_count_reloc, - bfd_xcoff_record_link_assignment, - bfd_xcoff_size_dynamic_sections): Replace XCOFF_XVECP() with - check for bfd_target_xcoff_flavour. - -2000-06-16 Nicholas Duffek - - * rs6000-core.c: Support 64-bit core files, support pre-4.3 core - files on AIX 4.3. - (read_hdr): New function. - (rs6000coff_core_p): Store mstsave or __context64 struct instead - of trying to extract individual registers. Set abfd->arch_info - to match the architecture that created the core file. - (rs6000coff_get_section_contents): Delete. - * xcoff-target.h (rs6000coff_get_section_contents): Delete. - -2000-06-14 H.J. Lu - - * vms-misc.c (_bfd_vms_next_record): Return -1 if PRIV(vms_rec) - is NULL. - -2000-06-13 H.J. Lu - - * configure: Regenerate. - -2000-06-13 J"orn Rennecke - - * peicode.h (pe_ILF_object_p): Use TARGET_LITTLE_SYM instead of - armpei_little_vec. - -2000-06-08 David O'Brien - - * configure.in (VERSION): Update to show this is the CVS mainline. - -2000-06-07 Alan Modra - - * elf32-d10v.c: Include elf/d10v.h - (enum reloc_type): Delete. - * elf32-d30v.c: Include elf/d30v.h - (enum reloc_type): Delete. - - * Makefile.am: Run "make dep-am" to regenerate dependencies. - * Makefile.in: Regenerate. - - * elf32-i386.c (elf_howto_table): Remove EMPTY_HOWTOs. - (elf32_i386_vtinherit_howto, elf32_i386_vtentry_howto): Delete and - move HOWTOs into elf_howto_table. - (R_386_standard, R_386_ext_offset): Define. - (R_386_ext, R_386_vt_offset, R_386_vt): Define. - (elf_i386_reloc_type_lookup): Modify calculation of index into - elf_howto_table since we've removed the padding. - (elf_i386_info_to_howto_rel): Likewise. - (elf_i386_relocate_section): Likewise. - -2000-06-06 Michael Snyder - - * elf.c (elf_grok_pr_status): Eliminate reference to prgregset_t. - -2000-06-05 H.J. Lu - - * elflink.c (_bfd_elf_link_record_dynamic_symbol): Don't flag - an error when seeing an undefined symbol with hidden/internal - attribute. It is handled in *_relocate_section (). - -2000-06-05 H.J. Lu - - * elflink.h (elf_fix_symbol_flags): Follow the link for the - indirect symbol for the ELF_LINK_NON_ELF bit. - (elf_link_output_extsym): Don't output the indirect symbol even - if the ELF_LINK_NON_ELF bit is set. - -2000-06-01 J.T. Conklin - - * config.bfd (i[3456]86-*-netbsdelf*): New target. - (i[3456]86-*-netbsdaout*): New target. - (i[3456]86-*-netbsd*): Add bfd_elf32_i386_vec to targ_selvecs. - (i[3456]86-*-openbsd*): Likewise. - -2000-05-30 Andrew Cagney - - * trad-core.c: From hpux-core.c, include or - when possible. - -2000-05-31 Ulrich Drepper - - * elf.c (_bfd_elf_slurp_version_tables): Correct reading of version - definitions. We must not assume they are sorted in the file - according to their index numbers. - -2000-05-31 Alan Modra - - * elf-hppa.h: (elf_hppa_final_link_relocate): Use e_rsel field - selector for R_PARISC_PCREL17R. R_PARISC_DIR17R and - R_PARISC_DIR17F are for absolute branches; Handle them as such. - -2000-05-30 Nick Clifton - - * cpu-i960.c (scan_960_mach): Accept 80960KA, 80960KB, - 80960CA, 80960MC as valid machine names. - -2000-05-30 H.J. Lu - - * elflink.c (_bfd_elf_link_record_dynamic_symbol): Clear the - visibility bits if the symbol is undefined. Correctly handle - weak undefined symbols with hidden and internal attributes. - - * elflink.h (elf_link_add_object_symbols): Always turn the - symbol into local if it has the hidden or internal attribute. - -2000-05-29 Philip Blundell - - * ppcboot.c: Add packed attribute if compiling with GCC. - -2000-05-29 Anatoly Vorobey - - * elf.c (_bfd_elf_link_hash_table_init): Initialize dynlocal. - -2000-05-26 Michael Snyder - - * elf.c (elfcore_grok_prstatus, elfcore_grok_pstatus, - elfcore_grok_psinfo): Add code to allow debugging a 32-bit - corefile on a 64-bit (Sparc Solaris) host. Also clean up - a few old comments. - -2000-05-26 Alan Modra - - * Makefile.am: Update dependencies with "make dep-am" - * Makefile.in: Regenerate. - - * sysdep.h (gettext, dgettext, dcgettext, textdomain, - bindtextdomain): Replace defines with those from intl/libgettext.h - to quieten gcc warnings. - -2000-05-26 Eli Zaretskii - - * aoutx.h (find_nearest_line): Use IS_ABSOLUTE_PATH. - - * archive.c (normalize, bfd_bsd_truncate_arname, - bfd_gnu_truncate_arname) [HAVE_DOS_BASED_FILE_SYSTEM]: Support - file names with backslashes. - - * cache.c (bfd_open_file) [__MSDOS__]: Don't unlink the file - before opening it. - - * sysdep.h: Include filenames.h. - -2000-05-26 Alan Modra - - * opncls.c (bfd_close_all_done): Mask file perms with 0777 not 0x777. - -2000-05-26 Jakub Jelinek - - * elf64-sparc.c (sparc64_elf_relax_section): New. - (sparc64_elf_relocate_section): Optimize tail call into branch always - if possible. - * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. - (elf32_sparc_relax_section): New. - -2000-05-26 Jakub Jelinek - - * elf64-sparc.c: Add ATTRIBUTE_UNUSED to unused function parameters. - Remove unusued variables. - (sparc64_elf_relocate_section): Change r_symndx type to unsigned long. - (sparc64_elf_merge_private_bfd_data): Fix shared library case from - previous fix, so that shared libs really don't influence targets - extension mask and memory model. - -2000-05-23 H.J. Lu - - * elf64-alpha.c (elf64_alpha_relocate_section): Check - h->root.other not h->other. - * elf32-mips.c (mips_elf_calculate_relocation): Likewise. - - * elf32-ppc.c (ppc_elf_relocate_section): Fix a typo. - -2000-05-23 H.J. Lu - - * elf32-i386.c (elf_i386_relocate_section): Don't allow the - undefined symbol with the non-default visibility attributes. - * elf-hppa.h (elf_hppa_relocate_section): Likewise. - * elf32-arm.h (elf32_arm_relocate_section): Likewise. - * elf32-i370.c (i370_elf_relocate_section): Likewise. - * elf32-m68k.c (elf_m68k_relocate_section): Likewise. - * elf32-mcore.c (mcore_elf_relocate_section): Likewise. - * elf32-mips.c (mips_elf_calculate_relocation): Likewise. - * elf32-ppc.c (ppc_elf_relocate_section): Likewise. - * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. - * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. - * elf64-ia64.c (elf64_ia64_relocate_section): Likewise. - * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. - -2000-05-22 Richard Henderson - - * elf64-ia64.c (ia64_howto_table): Add PCREL60B, PCREL21BI, - PCREL22, PCREL64I. Zero size of special relocs. - (elf64_ia64_reloc_type_lookup): Likewise. - (USE_BRL, oor_brl, oor_ip): New. - (elf64_ia64_relax_section): New. - (elf64_ia64_check_relocs): Handle PCREL60B, PCREL22, PCREL64I. - (elf64_ia64_install_value): Likewise, plus PCREL21BI. - (elf64_ia64_relocate_section): Likewise. - (bfd_elf64_bfd_relax_section): New. - * reloc.c (BFD_RELOC_IA64_PCREL21BI): New. - (BFD_RELOC_IA64_{PCREL22,PCREL60B,PCREL64I}): New. - * bfd-in2.h, libbfd.h: Regenerate. - -2000-05-22 Nick Clifton - - * configure.in : Add peigen.lo to MIPS PE targets. - * configure: Regenerate. - -2000-05-22 Momchil Velikov - - * libbfd.c (_bfd_generic_verify_endian_match): Compare endianess - only if it is known for both input and output bfds. Separate - error message strings as in some languages, it may be necessary - to change more than one place in the string to change between - 'big' and 'little'. - - * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Remove inline - endianess checks, call _bfd_generic_verify_endian_match() instead. - - * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Likewise. - - * elf32-mcore.c (mcore_elf_merge_private_bfd_data): Likewise. - - * elf32-arm.h (elf32_arm_merge_private_bfd_data): Likewise. Verify - endianess before checking bfd flavours. - -2000-05-22 H.J. Lu - - * elflink.h (elf_link_output_extsym): Clear the visibility - field for symbols not defined locally. - -2000-05-18 Alan Modra - - * libhppa.h (re_assemble_3, re_assemble_12, re_assemble_16, - re_assemble_17, re_assemble_21, re_assemble_22): Don't mask insn. - (hppa_rebuild_insn): Mask immediate bits here instead. - * elf-hppa.h (elf_hppa_relocate_insn): Mask here too. - -2000-05-18 Momchil Velikov - - * elflink.h (elf_bfd_final_link, elf_link_input_bfd): When emiting - relocs for an executable, ensure that they are virtual addresses. - -2000-05-18 Jeffrey A Law (law@cygnus.com) - - * config.bfd (hppa*64*-*-hpux11*): New target triplet. - -2000-05-17 S. Bharadwaj Yadavalli - Rick Gorton - - * elflink.h: Add emitrelocations support: when enabled, relocation - information and relocation sections are put into final output - executables. If the emitrelocations flag is set, do the following: - (elf_bfd_final_link): Emit relocation sections. - (elf_link_input_bfd): Compute relocation section contents. - (elf_gc_sections): Don't clean relocation sections. - -2000-05-16 Catherine Moore - - * som.c (som_decode_symclass): Recognize weak symbols. - -2000-05-16 Szabolcs Szakacsits - - * peigen.c (pe_print_idata): Undo part of 2000-05-12 change that - read idata section only from dataoff. - (pe_print_edata): Correctly check for valid eat_member. - -2000-05-16 J"orn Rennecke - - * elf32-sh.c (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH8. - -2000-05-14 Philip Blundell - - * config.bfd (armeb-*-elf, arm*b-*-linux-gnu*): New targets. - -2000-05-12 Alan Modra - - * targets.c (bfd_target_vector): #ifdef BFD64 rs6000coff64_vec - - * peigen.c (pe_print_idata): Look for .idata section and print - info even if data directory has zero entries. Read idata section - starting from dataoff, and adjust all data offsets to suit. Cast - all bfd_vma vars to unsigned long before passing to fprintf. - * peigen.c (pe_print_edata): Similarly, look for .edata section - and print info even if data directory has zero entries. Cast - all bfd_vma vars to unsigned long before passing to fprintf. - - From Szabolcs Szakacsits - * peigen.c (pe_print_idata): Use bfd_section_size rather than data - directory size which may be bogus. - * peigen.c (pe_print_edata): Similarly. - -2000-05-09 Alan Modra - - * elf.c (bfd_section_from_shdr): Don't set use_rela_p if rela - section is empty. - (copy_private_bfd_data): Allow for space possibly taken up by elf - headers when calculating segment physical address from lma. - -2000-05-08 Alan Modra - - * versados.c (versados_scan): Init stringlen and pass_2_done. - - * trad-core.c (trad_unix_core_file_p): Return - bfd_error_wrong_format rather than bfd_error_file_truncated. - - * peigen.c (_bfd_pei_swap_aouthdr_out): Pass ImageBase to - add_data_entry. DataDirectory virtual address is relative. - (pe_print_idata): Account for relative DataDirectory virtual - addresses. Don't trash datasize inside POWERPC_LE_PE code. - (pe_print_edata): Similarly. - - From Szabolcs Szakacsits - * peigen.c (dir_names): Add Delay Import Directory. - (pe_print_idata): Always search for bfd section containing - idata address rather than looking up section name. Print this - section name rather than .idata. - (pe_print_edata): Similarly. Also print some fields as %08lx. - (_bfd_pe_print_private_bfd_data_common): Print Reserved1 field as - Win32Version. - -2000-05-05 Clinton Popetz - - * xcoff.h: Rename to xcoff-target.h - * Makefile.am: Change all instances of xcoff.h to xcoff-target.h - * coff-rs6000.c: Ditto. - * coff64-rs6000.c: Ditto. - * coff-pmac.c: Ditto. - * Makefile.in: Regenerate. - -2000-05-05 Clinton Popetz - - * coffcode.h (coff_set_arch_mach_hook, coff_set_flags): - Change U802TOC64MAGIC to U803XTOCMAGIC. - -2000-05-04 Michael Snyder - - * elf.c (bfd_elf_get_arch_size): New function, return 32 | 64 | -1. - * bfd-in.h: Prototype bfd_elf_get_arch_size. - * bfd-in2.h: Prototype bfd_elf_get_arch_size. - -2000-05-04 Alan Modra - - * libhppa.h (HPPA_R_CONSTANT): Cast argument to bfd_signed_vma. - -2000-05-03 Martin v. Löwis - - * elflink.h (elf_link_add_object_symbols): Reset dynindx for - hidden and internal symbols. - (elf_fix_symbol_flags): Clear NEEDS_PLT for symbols with - visibility. - * elflink.c (_bfd_elf_link_record_dynamic_symbol): Do not - assign a PLT or GOT entry to symbols with hidden and - internal visibility. - -2000-05-03 Mark Elbrecht - - * coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Add entry for - the .bss section. - * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise. - -2000-05-02 H.J. Lu - - * elf.c (prep_headers): Use ELFOSABI_NONE instead of - ELFOSABI_SYSV. - -2000-05-02 Alan Modra - - * targets.c (bfd_target_vector): Restore bfd_elf32_hppa_vec. - * Makefile.am (BFD32_BACKENDS): Restore elf32-hppa.lo. Regenerate - dependencies. - * Makefile.in: Regenerate. - -2000-05-01 Jim Wilson - - * Makefile.am (BFD32_BACKENDS): Add efi-app-ia32.lo. - (BFD32_BACKENDS_CFILES): Add efi-app-ia32.c. - (BFD64_BACKENDS): Delete coff-ia64.lo. Add efi-app-ia64.lo. - (BFD64_BACKENDS_CFILES): Delete coff-ia64.c. Add efi-app-ia64.c. - * Makefile.in: Rebuild. - -2000-05-02 Alan Modra - - * config.bfd: Re-enable elf32-hppa. It now compiles, even if it - doesn't work very well. - - * elf-hppa.h (elf_hppa_internal_shdr): Define. - (elf_hppa_fake_sections): hdr is elf_hppa_internal_shdr. - Set hdr->s_type to 1 if ARCH_SIZE == 32. - (_bfd_elf_hppa_gen_reloc_type): Add prototype. - (elf_hppa_info_to_howto): Likewise. - (elf_hppa_info_to_howto_rel): Likewise. - (elf_hppa_reloc_type_lookup): Likewise. - (elf_hppa_is_local_label_name): Likewise. - (elf_hppa_fake_sections): Likewise. - (elf_hppa_final_write_processing): Likewise. - (elf_hppa_howto_table): Fully initialise all entries. - (_bfd_elf_hppa_gen_reloc_type): Add ATTRIBUTE_UNUSED to args. - (elf_hppa_info_to_howto): Likewise. - (elf_hppa_info_to_howto_rel): Likewise. - (elf_hppa_reloc_type_lookup): Likewise. - (elf_hppa_final_write_processing, elf_hppa_add_symbol_hook, - elf_hppa_unmark_useless_dynamic_symbols, - elf_hppa_remark_useless_dynamic_symbols, - elf_hppa_record_segment_addrs, elf_hppa_final_link, - elf_hppa_relocate_section, elf_hppa_final_link_relocate, - elf_hppa_relocate_insn): Compile only if ARCH_SIZE == 64 until - elf32-hppa.c mess is cleaned up. - (elf_hppa_final_link_relocate): Make insn and r_type unsigned - int. Delete r_field. In case R_PARISC_PCREL21L, don't set - r_field then call hppa_field_adjust inline func with variable - r_field arg, instead call hppa_field_adjust with fixed arg. - In case R_PARISC_PCREL22F, don't set r_field. - (elf_hppa_relocate_insn): Change args and return type to unsigned - int. Call re_assemble_* funcs to do the work. - - * elf32-hppa.c (hppa_elf_relocate_insn): Don't assume 32 bit when - sign extending. - - * libhppa.h (HPPA_R_CONSTANT): Don't assume 32 bit when sign - extending. - (sign_extend): Mask first before sign extending. - (low_sign_extend): Rewrite without condition expression. - (ones, dis_assemble_3, dis_assemble_12, dis_assemble_16, - dis_assemble_17, dis_assemble_21, dis_assemble_22): Delete. - (assemble_3, assemble_6, assemble_12, assemble_16, assemble_16a, - assemble_17, assemble_21, sign_unext, low_sign_unext): Return - result as function return value rather than through pointer arg. - Accept unsigned int args, and return unsigned int. - (re_assemble_3): New. Combines function of dis_assemble_3 with - re-assembly of opcode and immediate. - (re_assemble_12): Likewise. - (re_assemble_16): Likewise. - (re_assemble_17): Likewise. - (re_assemble_21): Likewise. - (re_assemble_22): Likewise. - (hppa_field_adjust): Rewrite and document, paying attention to - size of types and signed/unsigned issues. - (get_opcode): Shift before masking. - (FDLW): Rename to FLDW. - (bfd_hppa_insn2fmt): Change arg to unsigned int. Delete fmt. - (hppa_rebuild_insn): Change args and return value to unsigned - int. Make use of re_assemble_*. Correct case 11. - - * dep-in.sed: Handle ../opcodes/. - * Makefile.am (SOURCE_HFILES): Add elf-hppa.h, elf32-hppa.h, - elf64-hppa.h, hppa_stubs.h, xcoff.h. - (BFD32_BACKENDS_CFILES): Restore elf32-hppa.c. - Remove elf64-hppa.lo, cpu-ia64.lo, elf64-ia64.lo, elfarm-oabi.lo, - elfarm-nabi.lo dependencies outside of auto-dependency area. - Regenerate dependencies. - * Makefile.in: Regenerate. - - * configure.in (TRAD_HEADER): Test non-null before - AC_DEFINE_UNQUOTED. - * configure: Regenerate. - - * reloc.c: Fix mis-spelling in comment. - -2000-05-01 Alan Modra - - * coff-sh.c (bfd_coff_small_swap_table): Fix Fri Apr 28 change. - * vms.c (vms_openr_next_archived_file): Return NULL. - -2000-04-28 Clinton Popetz - - * coffcode.h Copy changes mistakenly done to libcoff.h in - 4/24/2000 patch. - -2000-04-29 Andreas Jaeger - - * libbfd-in.h: Correctly check GCC version. - * bfd-in.h: Likewise. - * libhppa.h: Likewise. - * libbfd.h: Regenerate. - * bfd-in2.h: Regenerate. - -2000-04-28 Clinton Popetz - - * Makefile.am (BFD64_BACKENDS, BFD64_BACKENDS_CFILES): Add - coffdu-rs6000.{lo,c}. - (coff-pmac.lo, coff-rs6000.lo, coff64-rs6000.lo): Add dependency - on xcoff.h - * Makefile.in: Regenerate. - * xcoff.h: New file. - * coff-pmac.c: Use xcoff.h instead of coff-rs6000.c. - * coff-rs6000.c: Move all declarations and defines that are - common to the xcoff backends into xcoff.h - * coff64-rs6000.c: Ditto, - -2000-04-28 Clinton Popetz - - * coff-mips.c (mips_ecoff_backend_data): Add initialization of - _bfd_coff_force_symnames in strings and - _bfd_coff_debug_string_prefix_length to their default values. - * coff-sh.c: (bfd_coff_small_swap_table): Ditto. - -2000-04-28 Clinton Popetz - - * coff-alpha.c (alpha_ecoff_backend_data): Add initialization of - _bfd_coff_force_symnames in strings and - _bfd_coff_debug_string_prefix_length to their default values. - -2000-04-27 Alan Modra - - * elf32-m68k.c (elf_m68k_gc_sweep_hook): Return if dynobj NULL. - Check local_got_refcounts before dereferencing. - - * elf32-ppc.c (ppc_elf_relocate_section): Check splt != NULL - before deciding we don't need R_PPC_PLT32 relocation. - (ppc_elf_gc_sweep_hook): Check local_got_refcounts before - dereferencing. - - * elflink.h (elf_gc_common_finalize_got_offsets): Fix comment. - - * elf32-i386.c (elf_i386_check_relocs): Reference count .got and - .plt entries. - (elf_i386_gc_sweep_hook): Garbage collect .got and .plt entries. - (elf_i386_adjust_dynamic_symbol): Recognize unused .plt entries. - (elf_i386_relocate_section): Allow for .plt to go missing. - (elf_i386_finish_dynamic_symbol): Use same test to decide if we - can use a relative reloc for got as elf_i386_relocate_section. - (bfd_elf32_bfd_final_link): Define to use gc form of final link. - -2000-04-26 Clinton Popetz - - * config.bfd: Remove extraneous bfd_powerpc_64_arch. - -2000-04-24 Clinton Popetz - - * Makefile.am (coff64-rs6000.lo): New rule. - * Makefile.in: Regenerate. - * coff-rs6000.c (xcoff_mkobject, xcoff_copy_private_bfd_data, - xcoff_is_local_label_name, xcoff_rtype2howto, - xcoff_reloc_type_lookup, xcoff_slurp_armap, xcoff_archive_p, - xcoff_read_ar_hdr, xcoff_openr_next_archived_file, xcoff_write_armap, - xcoff_write_archive_contents): No longer static, and prefix with _bfd_. - (NO_COFF_SYMBOLS): Define. - (xcoff64_swap_sym_in, xcoff64_swap_sym_out, xcoff64_swap_aux_in, - xcoff64_swap_aux_out): New functions; handle xcoff symbol tables - internally. - (MINUS_ONE): New macro. - (xcoff_howto_tabl, xcoff_reloc_type_lookup): Add 64 bit POS - relocation. - (coff_SWAP_sym_in, coff_SWAP_sym_out, coff_SWAP_aux_in, - coff_SWAP_aux_out): Map to the new functions. - * coff64-rs6000.c: New file. - * libcoff.h (bfd_coff_backend_data): Add new fields - _bfd_coff_force_symnames_in_strings and - _bfd_coff_debug_string_prefix_length. - (bfd_coff_force_symnames_in_strings, - bfd_coff_debug_string_prefix_length): New macros for above fields. - * coffcode.h (coff_set_arch_mach_hook): Handle XCOFF64 magic. - Set machine to 620 for XCOFF64. Use bfd_coff_swap_sym_in instead - of using coff_swap_sym_in directly. - (FORCE_SYMNAMES_IN_STRINGS): New macro, defined for XCOFF64. - (coff_set_flags) Set magic for XCOFF64. - (coff_compute_section_file_positions): Add symbol name length to - string section length if bfd_coff_debug_string_prefix_length is - true. - (coff_write_object_contents): Don't do reloc overflow for XCOFF64. - (coff_slurp_line_table): Use bfd_coff_swap_lineno_in instead of - using coff_swap_lineno_in directly. - (bfd_coff_backend_data): Add _bfd_coff_force_symnames_in_strings - and _bfd_coff_debug_string_prefix_length fields. - * coffgen.c (coff_fix_symbol_name, coff_write_symbols): Force - symbol names into strings table when - bfd_coff_force_symnames_in_strings is true. - * coffswap.h (MAX_SCNHDR_NRELOC, MAX_SCNHDR_NLNNO, GET_RELOC_VADDR, - SET_RELOC_VADDR): New macros. - (coff_swap_reloc_in, coff_swap_reloc_out): Use above macros. - (coff_swap_aux_in, coff_swap_aux_out): Remove RS6000COFF_C - code. - (coff_swap_aouthdr_in, coff_swap_aouthdr_out): Handle XCOFF64 - changes within RS6000COFF_C specific code. - (coff_swap_scnhdr_out): Use PUT_SCNHDR_NLNNO, PUT_SCNHDR_NRELOC, - MAX_SCNHDR_NRELOC, and MAX_SCNHDR_NLNNO. - * reloc.c (bfd_perform_relocation, bfd_install_relocation): - Extend existing hack on target name. - * xcofflink.c (XCOFF_XVECP): Extend existing hack on - target name. - * coff-tic54x.c (ticof): Keep up to date with new fields - in bfd_coff_backend_data. - * config.bfd: Add bfd_powerpc_64_arch to targ_arch and define - targ_selvecs to include rs6000coff64_vec for rs6000. - * configure.in: Add rs6000coff64_vec case. - * cpu-powerpc.c: New bfd_arch_info_type. - -2000-04-24 Jeffrey A Law (law@cygnus.com) - - * config.bfd: Only disable elf32-hppa vectors, not all of the - BSD and OSF configuration support. Provide (disabled) clauses - for PA64 support. - * configure.in: Add clause for PA64 support. - * configure: Rebuilt. - - * targets.c (bfd_target_vector): Add bfd_elf64_hppa_vec. - (bfd_elf64_hppa_vec): Declare. - - * Makefile.am (BFD64_BACKENDS): Add elf64-hppa.lo - (BFD64_BACKENDS_CFILES): Add elf64-hppa.c - (elf64-hppa.lo): Add dependencies. - * Makefile.in: Rebuilt. - - * elf64-hppa.c, elf64-hppa.h: New files with PA64 support. - -2000-04-24 Jason Eckhardt - - * libhppa.h (dis_assemble_16): New function. - (pa_arch): Added pa20w element. - -2000-04-24 Ulrich Drepper - - * elf-bfd.h: Add prototypes for bfd_elf32_write_relocs, - bfd_elf32_slurp_reloc_table, bfd_elf64_write_relocs, and - bfd_elf64_slurp_reloc_table. - - * elfcode.h (elf_write_relocs, elf_slurp_reloc_table): New - definitions to get external names. - (elf_write_relocs): Renamed from write_relocs and make global. - (elf_slurp_reloc_table): Make global. - (_bfd_elf,size_info): Use elf_write_relocs instead of write_relocs. - - * archive.c (hpux_uid_gid_encode): New function. - (bfd_ar_hdr_from_filesystem): Use it if HPUX_LARGE_AR_IDS is - defined and the ID is greater than 99999. - (bfd_generic_stat_arch_elt): If HPUX_LARGE_AR_IDS is defined decode - special uid/gid fields into 32 bit values. - -2000-04-21 Matthew Green - - * config.bfd: Add NetBSD/sparc64 support. - -Fri Apr 21 13:20:53 2000 Richard Henderson - David Mosberger - Timothy Wall - Jim Wilson - - * Makefile.am (ALL_MACHINES): Add cpu-ia64.lo. - (ALL_MACHINES_CFILES): Add cpu-ia64.c. - (BFD64_BACKENDS): Add elf64-ia64.lo. - (BFD64_BACKENDS_CFILES): Add elf64-ia64.c. - (cpu-ia64.lo, elf64-ia64.lo): New rules. - * Makefile.in: Rebuild. - * archures.c (enum bfd_architecture): Add bfd_arch_ia64. - (bfd_ia64_arch): Declare. - (bfd_archures_list): Add bfd_ia64_arch. - * bfd-in2.h: Rebuild. - * config.bfd: (ia64*-*-linux-gnu*, ia64*-*-elf*): New targets. - * configure: Rebuild. - * configure.host: (ia64-*-linux*): New host. - * configure.in (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_big_vec, - bfd_efi_app_ia64_vec, bfd_efi_app_ia64_vec): New vectors. - * elf.c (prep_headers): Add bfd_arch_ia64. - * libbfd.h: Rebuild. - * reloc.c: Add IA-64 relocations. - * targets.c (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_big_vec): - Declare. - (bfd_target_vect): Add bfd_elf64_ia64_little_vec. - * cpu-ia64-opc.c, cpu-ia64.c, elf64-ia64.c: New files. - -2000-04-21 Richard Henderson - - * elf32-d30v.c (bfd_elf_d30v_reloc): Don't modify section - contents when performing a partial link. - (bfd_elf_d30v_reloc_21): Likewise. - -2000-04-20 H.J. Lu - - * elf32-i386.c (elf_i386_relocate_section): Restrict 1998-12-10 - patch to symbols defined by a shared object. - * elf32-ppc.c (ppc_elf_relocate_section): Similarly. - -2000-04-19 Michael Sokolov - - K&R compiler fixes. - * dwarf2.c (concat_filename): Avoid string literal concatenation. - * ieee.c (ieee_get_symtab): Don't initialise union in struct. - -Mon Apr 17 19:14:36 2000 David Mosberger - - * Makefile.am (BFD64_BACKENDS): Mention coff-ia64.lo. - (BFD64_BACKENDS_CFILES): Mention coff-ia64.c - (coff-ia64.lo): Add dependency. - * Makefile.in: Regenerate. - * coff-ia64.c: New file. - * efi-app-ia32.c: Ditto. - * efi-app-ia64.c: Ditto. - * coffcode.h (coff_set_arch_mach_hook): Handle IA64MAGIC. - (coff_set_flags): Ditto. - (coff_write_object_contents) [IA64]: Set magic number to ZMAGIC. - * config.bfd (i[3456]86-*-linux-gnu*): Mention bfd_efi_app_ia32_vec. - * configure.in (elf): Handle bfd_efi_app_ia32 and bfd_efi_app_ia64_vec. - * configure: Regenerate. - * libpei.h (GET_OPTHDR_IMAGE_BASE): New macro. - (PUT_OPTHDR_IMAGE_BASE): Ditto. - (GET_OPTHDR_SIZE_OF_STACK_RESERVE): Ditto. - (PUT_OPTHDR_SIZE_OF_STACK_RESERVE): Ditto. - (GET_OPTHDR_SIZE_OF_STACK_COMMIT): Ditto. - (PUT_OPTHDR_SIZE_OF_STACK_COMMIT): Ditto. - (GET_OPTHDR_SIZE_OF_HEAP_RESERVE): Ditto. - (PUT_OPTHDR_SIZE_OF_HEAP_RESERVE): Ditto. - (GET_OPTHDR_SIZE_OF_HEAP_COMMIT): Ditto. - (PUT_OPTHDR_SIZE_OF_HEAP_COMMIT): Ditto. - (GET_PDATA_ENTRY): Ditto. - * peigen.c (_bfd_pei_swap_aouthdr_in) [COFF_WITH_PEP64]: Don't read - data_start. Use above macros to read fields that are 64 bit wide for - COFF_WITH_PEP64. Don't truncate entry and text_start to 32 bits. - (_bfd_pei_swap_aouthdr_out) [PEI_FORCE_MINIMUM_ALIGNMENT]: Force - FileAlignment and SectionAlignment to minimum alignment if they - are zero. - (_bfd_pei_swap_aouthdr_out) [PEI_DEFAULT_TARGET_SUBSYSTEM]: Set - Subsystem to default PEI_DEFAULT_TARGET_SUBSYSTEM. - (_bfd_pei_swap_aouthdr_out) [COFF_WITH_PEP64]: Don't set data_start. - Use above macros to write fields that are 64 bit wide for - COFF_WITH_PEP64. - (pe_print_pdata): Set PDATA_ROW_SIZE to 3*8 for COFF_WITH_PEP64, - 5*4 otherwise. This should be right for IA-32 and IA-64, but may - be wrong for platforms. Use PDATA_ROW_SIZE instead of hardcoded - value of 20 bytes. Modify printing for COFF_WITH_PEP64 to print - begin address, end address, and unwind info address only. Use - GET_PDATA_ENTRY() to read .pdata entries. Use fprintf_vma() to - print addresses. - (tbl): Add SECTION, REL32, RESERVED1, MIPS_JMPADDR16, DIR64, and - HIGH3ADJ relocation names. - (_bfd_pe_print_private_bfd_data): Print Subsystem name in legible form. - * targets.c: Declare bfd_efi_app_ia32_vec and - bfd_efi_app_ia64_vec. - (bfd_target_vector): Mention bfd_efi_app_ia32_vec and - bfd_efi_app_ia64_vec. - -2000-04-17 Timothy Wall - - * bfd-in2.h: Add prototypes for tic54x load page access. - * bfd-in.h: Regenerate. - * coff-tic54x.c: Add load page functions; allow bfd_arch_unknown - in customized _set_arch_mach function. - * coffcode.h (coff_set_alignment_hook): Set section load page if - the appropriate macro is defined. - (write_object_contents): Read section load page. - -2000-04-13 Alan Modra - - * elf32-hppa.h: Update copyright date. - - * elf32-fr30.c (fr30_elf_i20_reloc): Don't use U suffix. - * elf32-mips.c (_bfd_mips_elf_relocate_section): And here. - - * elf32-d30v.c (MAX32): Don't use LL suffix. - (MIN32): Define in terms of MAX32. - (bfd_elf_d30v_reloc): Make relocation a bfd_signed_vma. - - * coff-a29k.c (SIGN_EXTEND_HWORD): Replace with more concise - expression. - - * peicode.h (pe_ILF_build_a_bfd): Remove UL from hex constants. - -2000-04-12 Alan Modra - - * dep-in.sed: Match space before file name, not after. - * Makefile.am: Regenerate dependencies. - * Makefile.in: Regenerate. - - * reloc.c (_bfd_relocate_contents): In complain_overflow_bitfield - case, allow address wrap-around stupidly removed 2000-03-17. Sign - extend without an if statement. - -2000-04-11 Alan Modra - - * coff-mips.c (mips_gprel_reloc): Test for 16 bit range using - signed quantites. - * elf32-mips.c (gprel16_with_gp): Likewise. - * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Test range - here using -0x40000, not (int)0xfffc0000. - (elf32_hppa_size_of_stub): Likewise. - -2000-04-11 Timothy Wall - - * coff-tic54x.c: Now builds with all targets. - * Makefile.am: Add coff/tic54x.h to coff-tic54x.o dependencies. - * Makefile.in: Regenerate. - * coffcode.h (coff_set_arch_mach_hook): Eliminate warning on - unitialized variable. - -Fri Apr 7 15:56:57 2000 Andrew Cagney - - * configure.in (WARN_CFLAGS): Set to -W -Wall by default. Add - --enable-build-warnings option. - * Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions. - * Makefile.in, configure: Re-generate. - -2000-04-07 Nick Clifton - - * reloc.c: Add BFD_RELOC_ARM_PCREL_BLX and - BFD_RELOC_THUMB_PCREL_BLX. - - * elf32-arm.h (elf32_arm_final_link_relocate): Handle - R_ARM_XPC25 and R_ARM_THM_PC22. - - * elfarm-nabi.c (elf32_arm_howto_): Fix definitions of - R_ARM_XPC25 and R_ARM_THM_XPC22. - (elf32_arm_reloc_map): Make BFD_RELOC_{ARM|THUMB}_PCREL_BLX to - R_ARM_[XPC25|THM_XPC22]. - - * elfarm-oabi.c: Define OLD_ARM_ABI and change include from - elf/arm-oabi.h to elf/arm.h - - * Makefile.am: Fix dependency for elfarm-oabi.c - * Makefile.in: Regenerate. - - * bfd-in2.h: Regenerate. - * libbfd.h: Regenerate. - -2000-04-06 Michael Snyder - - * elfcore.h (elf_core_file_p): preserve value of tdata at entry, - and restore it on failure. Release newly allocated tdata on - failure. - -Fri Apr 7 11:33:47 2000 Jim Wilson - - * dwarf2.c (struct dwarf2_debug): New field dwarf_line_size. - (decode_line_info): Set it. Report error if unit->line_offset is - equal to or larger than it. - -2000-04-07 Timothy Wall - - * targets.c: Added vecs for tic54x. - * reloc.c: Added relocs for tic54x. - * libbfd.h: Regenerated. - * configure: Add TI COFF vecs for tic54x. - * configure.in: Ditto. - * config.bfd (targ_cpu): Recognize new tic54x target. - * coffcode.h (coff_slurp_symbol_table): Additions for TI COFF handling. - * bfd-in2.h: Add tic54x target and relocations. - * Makefile.am, Makefile.in: Add tic54x target. - * archures.c (bfd_archures_list): Add tic54x target. - * coff-tic54x.c: New. - * cpu-tic54x.c: New. - -2000-04-06 Michael Snyder - - * elfcore.h (elf_core_file_p): call backend_object_p which - thereby gets an opportunity to update the arch/machine type. - -2000-04-06 Timothy Wall - - * coffcode.h (coff_slurp_symbol_table): Handle C_STATLAB storage - class. Handle SEC_CLINK and SEC_BLOCK flags. - * section.c: Add SEC_CLINK and SEC_BLOCK flags. - * bfd-in2.h: Add SEC_CLINK and SEC_BLOCK flags. - -2000-04-06 Nick Clifton - - * elf32-arm.h (elf32_arm_set_private_flags): Only check for - EF_INTERWORK if this is an unknown EABI. - (elf32_arm_merge_private_bfd_data): Check EABI version - numbers. Only check EF_xxx flags if the EABI version number - is unknown. - (elf32_arm_check_private_bfd_data): Only check EF_xxx flags - if the EABI version number is unknown. - (elf32_arm_print_private_bfd_data): Only decode EF_xxx flags - if the EABI version number is unknown. - -Wed Apr 5 22:04:20 2000 J"orn Rennecke - - * reloc.c (_bfd_relocate_contents): Add BFD_RELOC_SH_LOOP_START and - BFD_RELOC_SH_LOOP_END. - * elf32-sh.c (sh_elf_howto_tab): Change special_func to - sh_elf_ignore_reloc for all entries that sh_elf_reloc used to ignore. - Add entries for R_SH_LOOP_START and R_SH_LOOP_END. - (sh_elf_reloc_loop): New function. - (sh_elf_reloc): No need to test for always-to-be-ignored relocs - any more. - (sh_rel): Add entries for BFD_RELOC_SH_LOOP_{START,END}. - (sh_elf_relocate_section): Handle BFD_RELOC_SH_LOOP_{START,END}. - * bfd-in2.h, libbfd.h: Regenerate. - -2000-04-04 Alan Modra - - * po/bfd.pot: Regenerate. - - * Makefile.am: Remove extraneous mkdep comment. - (MKDEP): Use gcc -MM rather than mkdep. - (DEP): Quote when passing vars to sub-make. Add warning - message to end. - (DEP1): Rewrite for "gcc -MM". - (CLEANFILES): Add DEP2. - Update dependencies. - * Makefile.in: Regenerate. - -2000-04-03 Kevin Buettner - - * configure.in: Added corefile support for AIX 4.3. In particular, - AIX_CORE_DUMPX_CORE will be defined in addition to AIX_CORE when - compiling rs6000-core.c. - * configure: Regenerated. - -2000-04-03 H.J. Lu - - * cache.c (bfd_open_file): Unlink the output file only if - it has non-zero size. - -2000-04-01 Ken Block USG - - * elf64-alpha.c (elf64_alpha_relocate_section): Don't emit - relative relocations for non-loaded sections in shared objects. - (elf64_alpha_check_relocs): Similarly. - -Mon Apr 3 13:37:15 2000 Hans-Peter Nilsson - - * aoutx.h (NAME(aout,reloc_type_lookup)): Add BFD_RELOC_8 and - BFD_RELOC_16 to switch for extended relocs. - (MY_swap_ext_reloc_in): New. - (MY_swap_ext_reloc_out): New. - (NAME(aout,slurp_reloc_table)): Use MY_swap_ext_reloc_in rather - than NAME(aout,swap_ext_reloc_in) for extended relocs. - (NAME(aout,squirt_out_relocs)): Similarly use - MY_swap_ext_reloc_out. - (aout_link_reloc_link_order): Use MY_put_ext_reloc if defined. - -2000-04-03 Kazu Hirata - - * coff-h8300.c (h8300_reloc16_extra_cases): Add bsr:16 -> bsr:8 to - the R_PCRWORD_B case. - -2000-03-31 Thomas de Lellis - - * srec.c : Set CHUNK size to 16 bytes to prevent download failures - on some targets. - * ihex.c : Ditto. - -Wed Mar 30 15:28:00 2000 Donald Lindsay - - * elf32-m32r.c (m32r_elf_generic_reloc): new function. All - HOWTO references to bfd_elf_generic_reloc, that have - partial_inplace == true, now use the new function. The function - is based on the recent rewrite of m32r_elf_lo16_reloc(), and - extends its fixes to the R_M32R_{16,24,32} relocs. - The new logic in m32r_elf_lo16_reloc() has been removed, and - it instead calls the new routine to obtain that functionality. - -2000-03-27 Alan Modra - - * elf32-avr.c (elf32_avr_gc_mark_hook, elf32_avr_gc_sweep_hook, - elf32_avr_check_relocs, avr_final_link_relocate, - elf32_avr_relocate_section, bfd_elf_avr_final_write_processing, - elf32_avr_object_p): Add prototypes. - (elf32_avr_gc_mark_hook): Add default for h->root.type. - (bfd_elf_avr_final_write_processing): Make static. - -2000-03-27 Denis Chertykov - - * cpu-avr.c: New file. BFD support routines for AVR architecture. - * archures.c (bfd_architecture): Add AVR architecture. - (bfd_archures_list): Add reference to AVR architecture info. - * elf.c (prep_headers): Handle bfd_arch_avr. - * reloc.c: Add various AVR relocation enums. - * targets.c (bfd_elf32_avr_vec): Declare and add to target vector - list. - * Makefile.am: Add support for AVR elf. - * configure.in: Likewise. - * config.bfd: Likewise. - * Makefile.in: Regenerate. - * configure: This too. - * bfd-in2.h: And this. - * libbfd.h: And this. - -2000-03-24 H.J. Lu - - * elf64-alpha.c (elf64_alpha_merge_ind_symbols): Add prototype. - (elf64_alpha_find_reloc_at_ofs): Likewise. - -2000-03-17 Alan Modra - - * reloc.c (bfd_check_overflow): In case complain_overflow_bitfield, - flag an overflow if the bitfield is outside -2**n to 2**n-1. The - allowable range used to be -2**(n-1) to 2**n-1. - * reloc.c (_bfd_relocate_contents): Same here. Also replace - "boolean overflow" with "bfd_reloc_status_type flag". - -2000-03-14 Doug Evans - - * elf32-m32r.c (m32r_elf_lo16_reloc): Rewrite. - -2000-03-14 Kazu Hirata - - * reloc16.c (bfd_coff_reloc16_relax_section): Count the total number - of shrinks properly, including the last reloc. - -2000-03-13 Kazu Hirata - - * coff-h8300.c (h8300_reloc16_extra_cases): Fix the sanity - check for R_MOVL2. - -2000-03-11 Alan Modra - - * ieee.c (ieee_archive_p): Return bfd_error_wrong_format on - a format mismatch rather than an "error" from bfd_read such as - bfd_error_file_truncated. - -2000-03-10 Geoff Keating - - * elf32-mips.c (_bfd_mips_elf_relocate_section): Do proper - sign-extension and big-endian compensation for - R_MIPS_64 even in ld -r. - -2000-03-10 Geoffrey Keating - - * elf32-mips.c (mips_elf_next_relocation): Rename from - mips_elf_next_lo16_relocation, and generalize to look - for any relocation type. - (elf_mips_howto_table): Make R_MIPS_PC16 pcrel_offset. - (elf_mips_gnu_rel_hi16): Howto for R_MIPS_GNU_REL_HI16. - (elf_mips_gnu_rel_lo16): Howto for R_MIPS_GNU_REL_LO16. - (elf_mips_gnu_rel16_s2): Howto for R_MIPS_GNU_REL16_S2. - (elf_mips_gnu_pcrel64): Howto for R_MIPS_PC64. - (elf_mips_gnu_pcrel32): Howto for R_MIPS_PC32. - (bfd_elf32_bfd_reloc_type_lookup): Add new relocs. - (mips_rtype_to_howto): Likewise. - (mips_elf_calculate_relocation): Handle new relocs. - (_bfd_mips_elf_relocate_section): REL_HI16/REL_LO16 relocs - are paired. The addend for R_MIPS_GNU_REL16_S2 - is shifted right two bits. - -2000-03-10 Alan Modra - - * reloc.c (bfd_perform_relocation): Undo emacs formatting of - comment, and ensure it doesn't happen again. - (bfd_install_relocation): Same here. - (_bfd_relocate_contents): Don't bother assigning unused signmask - shift result. Fix typos in comments. - Remove trailing whitespace throughout file. - -2000-03-07 Doug Evans - - * reloc.c (reloc_howto_struct): Fix partial_inplace comment. - * bfd-in2.h: Rebuild. - -2000-03-06 Nick Clifton - - * peicode.h (struct pe_ILF_vars): Add sym_ptr_table and - sym_ptr_ptr fields. - (SIZEOF_ILF_SYM_PTR_TABLE): Define. - (SIZEOF_ILF_STRINGS): Redefine. - (pe_ILF_make_a_symbol-reloc): New function. Creates a symbol - relative reloc, as opposed to a section relative reloc. - (pe_ILF_make_a_symbol): Set the class of local symbols to C_STAT - not C_LABEL. - Add length of symbol's prefix to string pointer. - Store a pointer to the symbol in the symbol pointer table. - (pe_ILF_build_a_bfd): Do not build .idata$2 or .idata$7. - Initialise the symbol pointer table. - Store the hint in the Hint/Name table. - Make the jump reloc be symbol realtive, not section relative. - Create an import symbol for imported code. - -2000-03-06 Catherine Moore - - * elf.c (swap_out_syms): Check for null type_ptr. - -2000-03-01 Hans-Peter Nilsson - - * aout-target.h (MY(write_object_contents)): Remove unused - and unusable "#if CHOOSE_RELOC_SIZE". - * pc532-mach.c (MY(write_object_contents)): Ditto. - * netbsd.h (MY(write_object_contents)): Ditto. - * hp300hpux.c (MY(write_object_contents)): Ditto. - * freebsd.h (MY(write_object_contents)): Ditto. - * aout-tic30.c (tic30_aout_write_object_contents): Ditto. - -2000-02-29 H.J. Lu - - * peicode.h (jtab): Make it static. - - * coff-sh.c (sh_align_load_span): Declared if COFF_WITH_PE is - defined and COFF_IMAGE_WITH_PE is not defined. - (_bfd_sh_align_load_span): Defined as sh_align_load_span if - COFF_WITH_PE is defined and COFF_IMAGE_WITH_PE is not defined. - -2000-03-01 Nick Clifton - - * coff-arm.c (bfd_arm_process_before_allocation): Make - 'symndx' signed to prevent compile time warning. - - * coff-mcore.c: Remove unused prototype for pe_object_p. - - * coff-sh.c: Add "#ifndef COFF_IMAGE_WITH_PE" around static - functions that are not used when COFF_IMAGE_WITH_PE is - defined. - (struct sh_opcode): Change type of 'flags' field to unsigned - long so that it can hold the USESAS flag. - - * coffcode.h (styp_to_sec_flags): Initialise 'target_name'. - - * elf-m10300.c (mn10300_elf_relax_section): Initialise - 'sym_sec'. - - * elf32-i370.c: Add ATTRIBUTE_UNUSED to unused function - parameters. - Remove unusued variables and code. - (elf_backend_add_symbol_hook): Fix prototype. - - * elf32-m68k.c (elf_m68k_gc_sweep_hook): Initialise 'sgot' and - 'srelgot'. - - * elf32-mcore.c (mcore_elf_relocate_section): Initialise - 'oldinst'. - - * elf32-mips.c: Add ATTRIBUTE_UNUSED to unused function - parameters. - Remove unusued variables and code. - (elf_backend_add_symbol_hook): Fix prototype. - - * elf32-sh.c (sh_elf_set_mach_from_flags): Use 'flags'. - - * elflink.h (elf_bfd_link_add_symbols): Add ATTRIBUTE_UNUSED - to unused function parameter. - - * pe-mips.c: Add ATTRIBUTE_UNUSED to unused function - parameters. - Use EMPTY_HOWTO to initialise empty howto slots. - Remove unused variables. - - * peicode.h (pe_ILF_build_a_bfd): Initialise id6. - -2000-03-01 H.J. Lu - - * aoutx.h (aout_link_input_section_std): Pass "true" to - the undefined_symbol callback. - (aout_link_input_section_ext): Likewise. - * bout.c (get_value): Likewise. - * coff-a29k.c (coff_a29k_relocate_section): Likewise. - * coff-alpha.c (alpha_ecoff_get_relocated_section_conten): - Likewise. - (alpha_relocate_section): Likewise. - * coff-arm.c (coff_arm_relocate_section): Likewise. - * coff-i960.c (coff_i960_relocate_section): Likewise. - * coff-mcore.c (coff_mcore_relocate_section): Likewise. - * coff-mips.c (mips_relocate_section): Likewise. - * coff-ppc.c (coff_ppc_relocate_section): Likewise. - * coff-sh.c (sh_relocate_section): Likewise. - * coff-tic80.c (coff_tic80_relocate_section): Likewise. - * cofflink.c (_bfd_coff_generic_relocate_section): Likewise. - * elf-m10200.c (mn10200_elf_relocate_section): Likewise. - * elf-m10300.c (mn10300_elf_relocate_section): Likewise. - * elf32-d10v.c (elf32_d10v_relocate_section): Likewise. - * elf32-fr30.c (fr30_elf_relocate_section): Likewise. - * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. - * elf32-i370.c (i370_elf_relocate_section): Likewise. - * elf32-m32r.c (m32r_elf_relocate_section): Likewise. - * elf32-mcore.c (mcore_elf_relocate_section): Likewise. - * elf32-sh.c (sh_elf_relocate_section): Likewise. - * elf32-v850.c (v850_elf_relocate_section): Likewise. - * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise. - * elflink.h (elf_link_output_extsym): Likewise. - * pe-mips.c (coff_pe_mips_relocate_section): Likewise. - * reloc.c (bfd_generic_get_relocated_section_conten): Likewise. - * reloc16.c (_bfd_ppc_xcoff_relocate_section): Likewise. - - * elf-hppa.h (elf_hppa_relocate_section): Pass "false" to the - undefined_symbol callback when building shared library with - -Bsymbolic and undefined symbols are allowed. Otherwise, pass - "true". - * elf32-arm.h (elf32_arm_relocate_section): Likewise. - * elf32-i386.c (elf_i386_relocate_section): Likewise. - * elf32-m68k.c (elf_m68k_relocate_section): Likewise. - * elf32-mips.c (mips_elf_calculate_relocation): Likewise. - (elf32_mips_get_relocated_section_content): Likewise. - * elf32-ppc.c (ppc_elf_relocate_section): Likewise. - * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. - * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. - * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. - -2000-02-28 Nick Clifton - - * Makefile.am: Add rules to build pe[i]-{sh|mips}.lo objects. - * Makefile.in: Regenerate. - - * configure.in: Add support for mips and sh pe vectors. - * configure: regenerate. - - * config.bfd: Add support for arm-wince, mips-pe and sh-pe - targets. - - * targets.c: Add mips and sh pe vectors. - - * libpei.h (coff_final_link_postscript): Only define if not - already defined. - - * coffcode.h: Add support for WinCE magic numbers. - - * peigen.c (pe_print_reloc): Update comment and rearrange - appending of newline character. - - * peicode.h: Add support for Image Library Format. - (pe_ILF_vars): Structure containing data used by ILF code. - (pe_ILF_make_a_section): New function. Create a section based - on ILF data. - (pe_ILF_make_a_reloc): New function. Create a reloc based on - ILF data. - (pe_ILF_make_a_symbol): New function. Create a symbol based - on ILF data. - (pe_ILF_save_relocs): New function. Store the relocs created - by pe_ILF_make_a_reloc in a section. - (pe_ILF_build_a_bfd): New function. Create a BFD describing - an ILF object. - (pe_ILF_object_p): New function. Return a bfd_target pointer - for an ILF object. - (pe_bfd_object_p): If an ILF object is detected call - pe_ILF_object_p on it. - - * coff-arm.c: Add support for WinCE relocs which are different - from normal ARM COFF relocs. - * pe-arm.c: Unset TARGET_UNDERSCORE for a WinCE target. - - * coff-sh.c: Add support for sh-pe target. - * pe-sh.c: New file. Support code for sh-pe target. - * pei-sh.c: New file. Support code for sh-pe target. - - * pe-mips.c: New file. Support code for mips-pe target. - * pei-mips.c: New file. Support code for mips-pe target. - -2000-02-27 Jakub Jelinek - - * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Don't bump - architecture if the object causing the bump is dynamic. - * elf64-sparc.c (sparc64_elf_merge_private_bfd_data): Likewise, - and also don't it for memory ordering. - (sparc64_elf_write_relocs): Take src_rela out of the loop. - -2000-02-27 Ian Lance Taylor - - * dwarf2.c (read_abbrevs): Use _raw_size directly rather than - calling bfd_get_section_size_before_reloc. - (decode_line_info): Likewise. - (_bfd_dwarf2_find_nearest_line): Likewise. - -2000-02-27 Eli Zaretskii - - * Makefile.am (stamp-lib): Use $(LIBTOOL) --config to get the - name of the libtool directory. - * Makefile.in: Rebuild. - -Fri Feb 25 18:39:26 2000 Rodney Brown (RodneyBrown@pmsc.com) - - * som.c (SOM_HOWTO): Define. - (som_hppa_howto_table): Use it. - -2000-02-25 Alexandre Oliva - - * config.bfd: Enable 64 bit support for GNU/Linux/sparc. - - * config.bfd: Enable 64 bit support for Solaris7+/sparc. - -2000-02-24 Catherine Moore - - * som.c (som_misc_symbol_info): Add field - secondary_def. - (som_bfd_derive_misc_symbol_info): Initialize - secondary_def. - (som_build_and_write_symbol_table): Keep track - of secondary_def field. - (som_slurp_symbol_table): Set BSF_WEAK symbol flag - if secondary_def field is set. - (som_bfd_ar_write_symbol_stuff): Initialize - secondary_def. - -2000-02-23 Stephane Carrez - - * dwarf2.c (read_address): Read 16-bits addresses. - (parse_comp_unit): Accept addr_size == 2. - -2000-02-23 Alan Modra - - * bfd-in.h: Update copyright date. - -2000-02-23 Linas Vepstas - - * cpu-i370.c: New file. - * elf32-i370.c: New file. - * archures.c (enum bfd_architecture): Add bfd_arch_i370. - (bfd_i370_arch): New. - (bfd_archures_list): Add bfd_i370_arch. - * elf.c (prep_headers): Add bfd_arch_i370. - * Makefile.am: Add support for IBM 370 elf. - * config.bfd: Likewise. - * configure.in: Likewise. - * libbfd.h (bfd_reloc_code_real_names): Likewise. - * reloc.c (bfd_reloc_code_type): Likewise. - * targets.c: Likewise. - - * Makefile.in: Regenerate. - * configure: Regenerate. - * bfd-in2.h: Regenerate. - -2000-02-22 Ian Lance Taylor - - * elf32-i386.c (elf_i386_info_to_howto_rel): Give a warning for - invalid relocation types, and change them to R_386_NONE. - -2000-02-22 H.J. Lu - - * elflink.h (elf_link_add_object_symbols): If a version symbol is - not defined, don't add a second ELF_VER_CHR. - - * elflink.h (elf_bfd_final_link): Call output_extsym for global - symbols converted to local symbols even when stripping all - symbols. - (elf_link_output_extsym): Process global symbols converted to - local symbols even if they are being stripped. - -2000-02-21 Alan Modra - - * archures.c (bfd_octets_per_byte): Return unsigned int. - (bfd_arch_mach_octets_per_byte): Ditto. - * libbfd.c (bfd_read, bfd_seek): Quell signed vs. unsigned - comparison warning. - * section.c (bfd_get_section_size_before_reloc): Quell signed - vs. unsigned comparison warning. - (bfd_get_section_size_after_reloc): Same here. Fix parentheses too. - * trad-core.c (trad_unix_core_file_p): Correct 2000-01-27 - change. What was I thinking? - * bfd-in2.h: Regenerate. - - * elflink.h (elf_gc_sweep): Skip non-elf input bfds. - (elf_gc_sections): Same here. - (elf_gc_common_finalize_got_offsets): And here. - -2000-02-21 Ian Lance Taylor - - ELF HPPA doesn't work at present; remove it until it does. - * config.bfd: Comment out setting targ_defvec to - bfd_elf32_hppa_vec. - * Makefile.am: Rebuild dependencies. - (BFD32_BACKENDS): Remove elf32-hppa.lo. - (BFD32_BACKENDS_CFILES): Remove elf32-hppa.c. - (SOURCE_HFILES): Remove elf32-hppa.h and hppa_stubs.h. - * Makefile.in: Rebuild. - * targets.c (bfd_target_vector): Comment out bfd_elf32_hppa_vec. - -2000-02-18 Geoff Keating - - * coffcode.h (coff_set_arch_mach_hook): Use free(), because there - is no bfd_free(). Revert bfd_free part of previous change. - -2000-02-18 Geoff Keating - - * coffcode.h (coff_set_arch_mach_hook): Don't use variable-size - arrays. - (coff_compute_section_file_positions): Use bfd_free to pair - bfd_malloc. - (coff_write_object_contents): Likewise. - - * coff-rs6000.c (xcoff_howto_table_16): New variable. - (xcoff_rtype2howto): Handle 16-bit variants of 32-bit relocs. - -2000-02-18 Ulrich Drepper - - * coff-rs6000.c (XCOFFARMAGBIG): New macro. - (xcoff_ar_file_hdr_big): New structure. - (SIZEOF_AR_FILE_HDR_BIG): New macro. - (xcoff_ar_hdr_big): New structure. - (SIZEOF_AR_HDR_BIG): New macro. - (xcoff_big_format_p): New macro. - (xcoff_ardata_big): New macro. - (arch_xhdr_big): New macro. - (xcoff_slurp_armap): Handle large archives. - (xcoff_archive_p): Detect large archives. - (xcoff_read_ar_hdr): Handle large archives. - (xcoff_openr_next_archived_file): Handle large archives. - (xcoff_generic_stat_arch_elt): Handle large archives. - (xcoff_write_armap_old): Rename from xcoff_write_armap. - (xcoff_write_armap_big): New function. - (xcoff_write_armap): New function, dispatch to _old or _big. - (xcoff_write_archive_contents_old): Rename from - xcoff_write_archive_contents. - (xcoff_write_archive_contents_big): New function. - (xcoff_write_archive_contents): New function, dispatch to _old or - _big. - -2000-02-18 Richard Henderson - - * elf-bfd.h (struct elf_link_hash_table): Remove copy_indirect - and hide_symbol members. - (elf_link_hash_copy_indirect): Remove. - (elf_link_hash_hide_symbol): Remove. - (struct elf_backend_data): Add elf_backend_copy_indirect_symbol - and elf_backend_hide_symbol. - (_bfd_elf_link_hash_copy_indirect): Declare. - (_bfd_elf_link_hash_hide_symbol): Declare. - * elf.c (_bfd_elf_link_hash_copy_indirect): Remove table argument. - (_bfd_elf_link_hash_hide_symbol): Likewise. - (_bfd_elf_link_hash_table_init): Don't init killed members. - * elflink.h (elf_link_add_object_symbols): Use the bed function - pointers not elf_link_hash_{copy_indirect,hide_symbol}. - (elf_link_assign_sym_version): Likewise. - * elfxx-target.h (elf_backend_copy_indirect_symbol): Default. - (elf_backend_hide_symbol): Likewise. - (elfNN_bed): Update for new members. - -2000-02-17 Kevin Buettner - - * rs6000-core.c (CORE_DATA_SIZE_FIELD, CORE_COMM_FIELD, SAVE_FIELD, - STACK_END_ADDR): Define for new core file format. - (LOADER_OFFSET_FIELD, LOADER_REGION_SIZE, CORE_DUMP): New defines - for handling the vagaries of the various core file structures used - by AIX over the years. - (rs6000coff_core_p, rs6000coff_core_file_matches_executable, - Rs6kCorData): Use above defines to adapt code to use AIX 4.3's - core_dumpx structure. - -Thu Feb 17 00:04:48 2000 J"orn Rennecke - - * archures.c (bfd_mach_sh2, bfd_mach_sh_dsp): New macros. - (bfd_mach_sh3_dsp): Likewise. - (bfd_mach_sh4): Reinstate. - (bfd_default_scan): Recognize 7410, 7708, 7729 and 7750. - * bfd-in2.h: Regenerate. - * coff-sh.c (struct sh_opcode): flags is no longer short. - (USESAS, USESAS_REG, USESR8, SETSAS, SETSAS_REG): New macros. - (sh_opcode41, sh_opcode42): Integrate as sh_opcode41. - (sh_opcode01, sh_opcode02, sh_opcode40): Add sh-dsp opcodes. - (sh_opcode41, sh_opcode4, sh_opcode80): Likewise. - (sh_opcodes): No longer const. - (sh_dsp_opcodef0, sh_dsp_opcodef): New arrays. - (sh_insn_uses_reg): Check for USESAS and USESR8. - (sh_insn_sets_reg, sh_insns_conflict): Check for SETSAS. - (_bfd_sh_align_load_span): Return early for SH4. - Modify sh_opcodes lookup table for sh-dsp / sh3-dsp. - Take into account that field b of a parallel processing insn - could be mistaken for a separate insn. - * cpu-sh.c (arch_info_struct): New array elements for - sh2, sh-dsp and sh3-dsp. - Reinstate element for sh4. - (SH2_NEXT, SH_DSP_NEXT, SH3_DSP_NEXT): New macros. - (SH4_NEXT): Reinstate. - (SH3_NEXT, SH3E_NEXT): Adjust. - * elf-bfd.h (_sh_elf_set_mach_from_flags): Declare. - * elf32-sh.c (sh_elf_set_private_flags): New function. - (sh_elf_copy_private_data, sh_elf_set_mach_from_flags): Likewise. - (sh_elf_merge_private_data): New function. - (elf_backend_object_p, bfd_elf32_bfd_set_private_bfd_flags): Define. - (bfd_elf32_bfd_copy_private_bfd_data): Define. - (bfd_elf32_bfd_merge_private_bfd_data): Change to - sh_elf_merge_private_data. - -2000-02-13 Richard Henderson - - * elf-bfd.h (struct elf_link_hash_table): Add copy_indirect and - hide_symbol members. - (elf_link_hash_copy_indirect): New. - (elf_link_hash_hide_symbol): New. - * elflink.h (elf_link_add_object_symbols): Break out copy from - indirect new new symbol to elf.c. - (elf_link_assign_sym_version): Break out privatization of - non-exported symbol to elf.c. - * elf.c (_bfd_elf_link_hash_copy_indirect): New. - (_bfd_elf_link_hash_hide_symbol): New. - (_bfd_elf_link_hash_table_init): Init copy_indirect and hide_symbol. - -2000-02-13 Ian Lance Taylor - - * section.c (_bfd_strip_section_from_output): Add info parameter. - If it passed as non-NULL, use it to check whether any input BFD - has an input section which uses this output section. Change all - callers. - * bfd-in2.h: Rebuild. - - * bfd-in.h: Move declarations of bfd_get_elf_phdr_upper_bound and - bfd_get_elf_phdrs in from bfd-in2.h, correcting patch of - 1999-11-29. - * bfd-in2.h: Rebuild. - -2000-02-10 Timothy Wall - - * coffswap.h (coff_swap_sym_in): Add hook SWAP_SYM_IN_POST to - allow final modifications of swapped-in symbol. - (coff_swap_sym_out): Ditto with SWAP_SYM_OUT_POST. - * coffcode.h (coff_write_relocs): Use macro - SECTION_RELATIVE_ABSOLUTE_SYMBOL_P if defined to determine whether - symbol index should be set to -1. - -Thu Feb 10 20:07:50 GMT 2000 Toshiyasu Morita (toshi.morita@sega.com) - - * coff-sh.c (USES1_REG, USES2_REG, SETS1_REG, SETS2_REG, - USESF1_REG, USESF2_REG, SETSF1_REG, SETSF2_REG): New macros. - * (sh_insn_sets_reg, sh_insn_sets_freg): New prototypes. - * (sh_insn_sets_reg, sh_insn_uses_or_sets_reg, sh_insns_sets_freg, - sh_insns_uses_or_sets_freg): New functions. - * (sh_insn_uses_reg, sh_insn_uses_freg): Use new macros. - * (sh_insns_conflict): Use new functions and new macros to - detect conflicts when two instructions both set same integer registers, - both set same fp register, and both set special register. - -2000-02-09 Timothy Wall - - * coffgen.c (coff_real_object_p): Set arch/mach info prior to - swapping in sections, so that the swapping routines have access to - the arch/mach info. - -2000-02-08 Mark Elbrecht - - * coff-go32.c: Update comment. Update copyright. - -2000-01-27 Thomas de Lellis - - * syms.c (bfd_decode_symclass) - Two new class characters were added - 'V' and 'v'. The - meaning of 'W' is now restricted to just weak non-object - symbols. This allows differentiation between, for example, - weak functions vs weak objects. nm for example now dumps: - 'W' = weak global - 'w' = weak unresolved - 'V' = weak global object - 'v' = weak unresolved object - - (bfd_is_undefined_symclass): New function. Return true if the - given symbol class represents and undefined/unresolved symbol. - - (bfd_symbol_info): Use bfd_is_undefined_symclass to check for - unresolved symbols. - - * bfd-in2.h: Add prototype for bfd_is_undefined_symbol(). - - * elf32-arm.h (elf32_arm_get_symbol_type): If a symbol has the - STT_ARM_16BIT flag set, but it is not attached to a data object - return STT_ARM_16BIT so that it will be treated as code by the - disassembler. - -2000-01-27 Alan Modra - - * coff-i386.c (i3coff_object_p): Remove prototype. - Update copyright. - - * elflink.c (_bfd_elf_link_record_dynamic_symbol): Add const - to name. Update copyright. - - * trad-core.c (trad_unix_core_file_p): Cast core_regsec - assignment to avoid warning. Update copyright. - -2000-01-24 Robert Lipe (robertl@sco.com) - - * coffcode.h (coff_write_object_contents): Get buff via bfd_malloc - instead of using GNU C extension. - -2000-01-21 Nick Clifton - - * libbfd.c (bfd_read): Do not attempt to get a negativly sized - amount from a bfd_in_memory structure. - (bfd_seek): Do not allow seeks past the end of a bfd_in_memory - structure. - -2000-01-14 Nick Clifton - - * linker.c (default_indirect_link_order): oops - fix incorrectly - applied patch from Tim Wall. - -2000-01-13 Timothy Wall (twall@tiac.net> - - * coffcode.h: Use bfd_coff_xxx instead of the macro XXX (where xxx - = scnhsz, filhsz, relsz, aoutsz, etc) - - * coffswap.h: Ditto. - -2000-01-13 Nick Clifton - - * elf32-arm.h (elf32_thumb_to_arm_stub): Fix offset in branch to - interwork thumb to arm stub. - -2000-01-13 Timothy Wall (twall@tiac.net> - - * archures.c (bfd_octets_per_byte): New function: Return - target byte size. - (bfd_arch_mach_octets_per_byte): New function: Return target - byte size. - - * section.c: Distinguish between octets and bytes for usage of - _cooked_size, _raw_size, and output_offset. Clarify - description of bfd_set_section_contents. - - * bfd-in2.h: Regenerate. - - * coffgen.c: Indicate that the offset parameter is in bytes, not - octets. - - * cofflink.c (bfd_coff_link_input_bfd): Use bfd_octets_per_byte - where appropriate to get the octet offset when calling - bfd_set_section_contents. - (bfd_coff_reloc_link_order): Ditto. - - * linker.c (bfd_generic_reloc_link_order): Ditto. - (_bfd_default_link_order): Ditto. - - * reloc.c (bfd_perform_relocation): Distinguish between octets - and bytes. Use octets when indexing into octet data; use bytes - when calculating target addresses. - (bfd_install_relocation): Ditto. - - * srec.c (srec_write_section): Ditto. - -2000-01-13 Nick Clifton - - * coff-mcore.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Change from - 3 to 2. This allows 4 byte sized sections, which is necessary for - dlltool to build functioning DLLs. - -2000-01-10 Philip Blundell - - * config.bfd (arm*-*-linux-gnu*): Match instead of arm*-*-linux-gnu. - (arm*-*-conix*): New target. - -2000-01-10 Egor Duda - - * config.bfd: Include elf32_i386 vector to target list for cygwin - and mingw. - - * config.in: Undefine HAVE_WIN32_PSTATUS_T. - * configure.in: Test for structure win32_pstatus_t in - - * configure: Regenerate. - - * elf.c (elfcore_grok_win32pstatus): New function: process - win32_pstatus_t notes in elf core file. - (elfcore_grok_note): Detect win32_pstatus notes. - -2000-01-03 Martin v. Loewis - - * elflink.c (_bfd_elf_link_record_dynamic_symbol): Process symbol - visibility. - * elflink.h (elf_link_add_object_symbols): Combine visibilities. - * elf.c (bfd_elf_print_symbol): Interpret st_other as visibility. - -For older changes see ChangeLog-9899 - -Local Variables: -mode: change-log -left-margin: 8 -fill-column: 74 -version-control: never -End: + +2001-09-06 Thiemo Seufer + + * elf64-mips.c (mips_elf64_howto_table_rel): Fix relocation HOWTO + definitions. + (mips_elf64_howto_table_rel): Likewise. + +2001-09-05 Tom Rix + + * xcofflink.c (bfd_xcoff_import_symbol): Handle import file XMC_XO + and syscall symbols. + (write_global_symbol) : Same. + (bfd_xcoff_export_symbol): Remove unused syscall param. + * libxcoff.h: Change prototype of bfd_xcoff_export symbol and + bfd_xcoff_import_symbol. + * bfd-in.h: Same. + * bfd-in2.h : Regenerate. + +2001-09-04 Richard Henderson + + * elf64-alpha.c (SKIP_HOWTO): New. + (elf64_alpha_howto_table): Use it to remove dead ECOFF relocs. + Fix sizes of 16-bit mem format relocs. + (elf64_alpha_reloc_map): Update to match. + (elf64_alpha_relax_with_lituse): Use GPREL16 as appropriate. + (elf64_alpha_relax_without_lituse): Likewise. + (elf64_alpha_check_relocs): Handle GPREL16. + (elf64_alpha_relocate_section): Likewise. + * reloc.c (BFD_RELOC_ALPHA_USER_*): Remove. + (BFD_RELOC_ALPHA_GPREL_HI16, BFD_RELOC_ALPHA_GPREL_LO16): New. + * bfd-in2.h, libbfd.h: Rebuild. + +2001-09-04 Jeff Law + + * elf32-h8300.c (elf32_h8_relax_section): New function. + (elf32_h8_relax_delete_bytes): Likewise. + (elf32_h8_symbol_address_p): Likewise. + (elf32_h8_get_relocated_section_contents): Likewise. + (bfd_elf32_bfd_relax_section): Define. + (bfd_elf32_bfd_get_relocated_section_contents): Likewise. + + * elf32-h8300.c (special): New function. + (h8_elf_howto_table): Use it for SPECIAL_FUNCTION field in + all relocations. + (elf32_h8_final_link_relocate): Treat R_H8_DIR24A8 like 32bit + relocations. Fix problems with the true 24bit reloc R_H8_DIR24R8. + Fix minor problems with 8bit and 16bit PC relative relocations. + +2001-09-01 Andreas Jaeger + + * vms-tir.c: Add missing prototypes. + * vms-hdr.c: Likewise. + * vms-gsd.c: Likewise. + * vms-misc.c: Likewise. + +2001-08-31 H.J. Lu + + * elf32-mips.c (_bfd_mips_elf_check_relocs): Report filename + with bad relocation. + +2001-08-31 Eric Christopher + Jason Eckhardt + + * bfd/archures.c: Add mipsisa32 and mipsisa64. Remove mips32, + mips32_4k and mips64. + * bfd/aoutx.h: Remove bfd_mach_mips32, bfd_mach_mips32_4k, + bfd_mach_mips64. Add bfd_mach_mipsisa32, bfd_mach_mipsisa64. + * bfd/cpu-mips.c: Ditto. + * bfd/elf32-mips.c (_bfd_mips_elf_final_write_processing): Ditto. + * bfd/bfd-in2.h: Regenerate. + +2001-08-31 Jakub Jelinek + + * elf64-alpha.c (elf64_alpha_relocate_section): Duplicate memory + value into R_ALPHA_RELATIVE's addend. + (elf64_alpha_finish_dynamic_symbol): Likewise. + +2001-08-31 Nick Clifton + + * elf32-arm.h (elf32_arm_relocate_section): Do not rightshift + recomputed addend during relocatable link if not USE_REL. + + * elflink.h (elf_gc_propagate_vtable_entries_used): Fix off-by-one + error. + +2001-08-30 H.J. Lu + + * elf32-mips.c (mips_elf_calculate_relocation): Revert the last + 2 changes. + (_bfd_mips_elf_adjust_dynamic_symbol): Allocate dynamic + relocations for weak definitions. + +2001-08-30 H.J. Lu + + * Makefile.am (BFD32_BACKENDS): Add elf32-h8300.lo. + (BFD32_BACKENDS_CFILES): Add elf32-h8300.c. + * Makefile.in: Rebuild. + +2001-08-30 H.J. Lu + + * elf32-mips.c (mips_elf_calculate_relocation): Don't create + dynamic relocation for undefined weak symbols when creating + executables. Check h->root.root.type, instead of h->root.type. + +2001-08-29 Joel Sherrill + + * config.bfd (i[3456]86-*-rtems*, m68*-*-rtems*): Change + default from coff to elf. + +2001-08-29 Jeff Law + + * elf32-h8300.c (h8_elf_howto_table): Add new PC relative + relocations. + (h8_reloc_map): Similarly. + (elf32_h8_final_link_relocate): Remove incorrect overflow tests. + Add support for PC relative relocations. + + * elf32-h8300.c: Put all prototypes together. + (elf32_h8_info_to_howto): Parameter elf_reloc is used. + (elf32_h8_final_link_relocate): New function for linker. + (elf32_h8_relocate_section): Similarly. + (elf_backend_relocate_section): Define. + + * cpu-h8300.c (h8300_scan, compatible): Prototype. + (h8300_scan): Handle architecture:machine encodings typically + found in linker scripts. + * elf.c (prep_headers): Do not try to do H8 machine recognition + here. + * elf32-h8300.c: Add some missing prototypes. + (elf32_h8_mach, elf32_h8_final_write_processing): New functions. + (elf32_h8_object_p): Similarly. + +2001-08-29 Tom Rix + + * xcofflink.c (xcoff_link_add_symbols): Fix XTY_LD symbol that + does not follow a XTY_SD. + +2001-08-29 Alan Modra + + * targmatch.sed: Delete case statements. + * config.bfd : Select 64 bit xcoff for + aix4.3 and above. + +Wed Aug 29 02:27:36 2001 J"orn Rennecke + + * Makefile.am (elf32-h8300.lo): New target. + * config.bfd (h8300*-*-elf): New case. + * configure.in (bfd_elf32_h8300_vec): New case. + * elf.c (prep_headers): Add case for bfd_arch_h8300. + * reloc.c (BFD_RELOC_H8_DIR16A8): New relocation. + (BFD_RELOC_H8_DIR16R8, BFD_RELOC_H8_DIR24A8): Likewise. + (BFD_RELOC_H8_DIR24R8, BFD_RELOC_H8_DIR32A16): Likewise. + * targets.c (bfd_target bfd_elf32_h8300_vec): New extern declaration. + * elf32-h8300.c: New file. + * Makefile.in, bfd-in2.h, libbfd.h, configure: Regenerated. + +2001-08-28 Nick Clifton + + * sparclynx.c: Add missing prototypes. + * coff-mcore.c: Add missing prototypes. + * elf32-pj.c: Add missing prototypes. + * nlm32-sparc.c: Add missing prototypes. + * oasys.c: Add missing prototypes. + * pdp11.c: Add missing prototypes. + * pe-mips.c: Add missing prototypes. + * riscix.c: Add missing prototypes. + +2001-08-27 Daniel Jacobowitz + + * elf32-i386.c: Add missing prototypes. + * elf32-ppc.c: Likewise. + * elf32-sh-lin.c: Likewise. + * elfarm-nabi.c: Likewise. + +2001-08-27 Daniel Jacobowitz + + * elf32-i386.c (elf_i386_grok_prstatus): New function. + (elf_i386_grok_psinfo): New function. + (elf_backend_grok_prstatus): Define. + (elf_backend_grok_psinfo): Likewise. + * elf32-ppc.c (ppc_elf_grok_prstatus): New function. + (ppc_elf_grok_psinfo): New function. + (elf_backend_grok_prstatus): Define. + (elf_backend_grok_psinfo): Likewise. + * elf32-sh-lin.c (elf32_shlin_grok_prstatus): New function. + (elf32_shlin_grok_psinfo): New function. + (elf_backend_grok_prstatus): Define. + (elf_backend_grok_psinfo): Likewise. + * elfarm-nabi.c (elf32_arm_nabi_grok_prstatus): New function. + (elf32_arm_nabi_grok_psinfo): New function. + (elf_backend_grok_prstatus): Define. + (elf_backend_grok_psinfo): Likewise. + +2001-08-27 H.J. Lu + + * elf32-mips.c (mips_elf_create_dynamic_relocation): Add more + sanity check. + (mips_elf_calculate_relocation): Create dynamic relocation for + symbols with weak definition or the ELF_LINK_HASH_DEF_REGULAR + bit is not set. + +2001-08-27 H.J. Lu + + * elf32-mips.c (_bfd_mips_elf_hide_symbol): Add prototype. + (_bfd_mips_elf_copy_indirect_symbol): Likewise. + (_bfd_elf32_mips_grok_prstatus): Likewise. + (_bfd_elf32_mips_grok_psinfo): Likewise. + (_bfd_mips_elf_hide_symbol): Make it static and cast to + `struct mips_elf_link_hash_entry *'. + (_bfd_mips_elf_copy_indirect_symbol): Make it static. + +2001-08-27 Nick Clifton + + * mipsbsd.c: Add missing prototypes. + * hp300hpux.c: Add missing prototypes. + * i386aout.c: Add missing prototypes. + * i386lynx.c: Add missing prototypes. + * i386mach3.c: Add missing prototypes. + * i386msdos.c: Add missing prototypes. + * i386os9k.c: Add missing prototypes. + +2001-08-27 Linus Nordberg + Torbjorn Granlund + Staffan Ulfberg + Alan Modra + + * config.bfd: Add powerpc64 target. Add powerpc64 vectors to + targ64_selvecs for 32 bit powerpc targets. + * Makefile.am (BFD64_BACKENDS): Add elf64-ppc.lo. + (BFD64_BACKENDS_CFILES): Add elf64-ppc.c. + Run "make dep-am". + * Makefile.in: Regenerate. + * configure.in: Add elf64_powerpc vecs. + * configure: Regenerate. + * cpu-powerpc.c: Default to bfd_mach_ppc_620 entry for 64 bit. + * elf.c (prep_headers): EM_PPC64 for 64 bit ppc elf target. + * targets.c: Add bfd_elf64_powerpc_vec and bfd_elf64_powerpcle_vec. + * elf64-ppc.c: New file. + * reloc.c: Add powerpc64 relocs. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + +2001-08-27 Andreas Schwab + + * elf32-m68k.c (elf32_m68k_check_relocs): Set DF_TEXTREL if the + reloc is against read-only section. + (elf32_m68k_size_dynamic_sections): Use DF_TEXTREL flag instead of + looking up section names for DT_TEXTREL. + (elf32_m68k_reloc_type_class): New function. + (elf_backend_reloc_type_class): Define. + +2001-08-27 Andreas Jaeger + + * elf64-s390.c (elf_s390_check_relocs): Set DF_TEXTREL if the + reloc is against read-only section. + (elf_s390_size_dynamic_sections): Use DF_TEXTREL flag instead of + looking up section names for DT_TEXTREL. + (elf_s390_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + + * elf32-s390.c (elf_s390_check_relocs): Set DF_TEXTREL if the + reloc is against read-only section. + (elf_s390_size_dynamic_sections): Use DF_TEXTREL flag instead of + looking up section names for DT_TEXTREL. + (elf_s390_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + + * elf32-ppc.c (ppc_elf_check_relocs): Set DF_TEXTREL if the reloc + is against read-only section. + (ppc_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of + looking up section names for DT_TEXTREL. + (ppc_elf_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + +2001-08-26 Andreas Jaeger + + * elf32-cris.c (cris_elf_check_relocs): Set DF_TEXTREL if the + reloc is against read-only section. + (elf_cris_size_dynamic_sections): Use DF_TEXTREL flag instead of + looking up section names for DT_TEXTREL. + (elf_cris_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + + * elf32-sh.c (sh_elf_check_relocs): Set DF_TEXTREL if the reloc is + against read-only section. + (elf_backend_reloc_type_class): Define. + (sh_elf_reloc_type_class): New. + (sh_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of + looking up section names for DT_TEXTREL. + + * elf32-arm.h (elf32_arm_check_relocs): Set DF_TEXTREL if the + reloc is against read-only section. + (elf32_arm_size_dynamic_sections): Use DF_TEXTREL flag instead of + looking up section names for DT_TEXTREL. + (elf32_arm_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + +2001-08-25 Andreas Jaeger + + * oasys.c: Add missing prototypes. + + * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Add unused + attribute for parameter. + * elf.c (_bfd_elf_reloc_type_class): Likewise. + + * versados.c (get_4): Make static. + (get_10): Make static. + Add missing prototypes. + (process_esd): Fix call to versados_new_symbol. + +2001-08-25 Nick Clifton + + * coff-a29k.c: Add missing prototypes. + * coff-apollo.c: Add missing prototypes. + * coff-arm.c: Add missing prototypes. + * coff-i860.c: Add missing prototypes. + * coff-rs6000.c: Add missing prototypes. + * coff-tic80.c: Add missing prototypes. + * elf-m10200.c: Add missing prototypes. + * elf-m10300.c: Add missing prototypes. + * elf32-arm.h: Add missing prototypes. + * elf32-d10v.c: Add missing prototypes. + * elf32-m32r.c: Add missing prototypes. + * elf32-mcore.c: Add missing prototypes. + * elf32-openrisc.c: Add missing prototypes. + * elf32-sh.c: Add missing prototypes. + * elf32-sparc.c: Add missing prototypes. + * elf32-v850.c: Add missing prototypes. + * elfarm-nabi.c: Add missing prototypes. + * elfarm-oabi.c: Add missing prototypes. + +2001-08-25 Thiemo Seufer + + * elf32-mips.c (elf_mips_abi_name): Return the right ABI string for + E_MIPS_ABI_O64 and E_MIPS_ABI_EABI64 + +2001-08-24 H.J. Lu + + * elf.c (_bfd_elf_merge_sections): Fail if not using an ELF + hash structure. + +2001-08-24 Nick Clifton + + * elf-bfd.h (elf_hash_table): Revert definition. + (is_elf_hash_table): New macro. + * elflink.h (elf_link_add_object_symbols): Test + is_elf_hash_table before accessing ELF only fields in hash + structure. + (elf_link_create_dynamic_sections): Fail if not using an ELF + hash structure. + (elf_add_dynamic_entry): Fail if not using an ELF hash + structure. + (elf_link_record_local_dynamic_symbol): Fail if not using an + ELF hash structure. + (size_dynamic_sections): Fail if not using an ELF hash + structure. + (elf_adjust_dynamic_symbol): Fail if not using an ELF + hash structure. + (elf_bfd_final_link): Fail if not using an ELF hash + structure. + +2001-08-24 H.J. Lu + + * elf-bfd.h (elf_hash_table): Return NULL if the linker hash + table is not an ELF linker hash table. + + * elf.c (_bfd_elf_link_hash_table_init): Set the linker hash + table type to bfd_link_elf_hash_table. + + * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_create): Revert + the last change. + + * linker.c (_bfd_link_hash_table_init): Set the linker hash + table type to bfd_link_generic_hash_table. + +2001-08-24 Alexandre Oliva + + * bfd.c (bfd_alt_mach_code): New function. + * bfd-in2.h: Rebuilt. + +2001-08-24 Alexandre Oliva + + * elf-m10300.c (mn10300_elf_relocate_section): Test the right + `type' field in the hash entry when deciding whether to follow a + link. + +2001-08-24 Jakub Jelinek + + * elflink.h (elf_link_sort_cmp1): Sort RELATIVE relocs first, not + last. + (elf_link_sort_relocs): Adjust accordingly. + + * elf64-alpha.c (struct alpha_elf_link_hash_entry): Add reltext flag. + (elf64_alpha_check_relocs): Set it if section this reloc is against + is read-only. Set DF_TEXTREL if a RELATIVE reloc is needed against + read-only section. + (elf64_alpha_calc_dynrel_sizes): Set DF_TEXTREL flag if relocation + is is against read-only section. + (elf64_alpha_size_dynamic_sections): Use DF_TEXTREL flag, don't + check section names. + (elf64_alpha_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + +2001-08-24 Thiemo Seufer + + * linker.c (_bfd_generic_link_add_archive_symbols): Replace alloca() + by bfd_malloc(). + +2001-08-23 Andreas Jaeger + + * elf64-x86-64.c (elf64_x86_64_check_relocs): Set DF_TEXTREL if + the reloc is against read-only section. + (elf64_x86_64_size_dynamic_sections): Use DF_TEXTREL flag instead + of looking up section names for DT_TEXTREL. + (elf64_x86_64_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + +2001-08-23 H.J. Lu + + * syms.c (bfd_print_symbol_vandf): Add abfd to arg. + * bfd-in2.h (bfd_print_symbol_vandf): Regenerated. + + * aoutx.h (NAME(aout,print_symbol)): Pass abfd to + bfd_print_symbol_vandf. + * coffgen.c (coff_print_symbol): Likewise. + * elf.c (bfd_elf_print_symbol): Likewise. + * ieee.c (ieee_print_symbol): Likewise. + * nlmcode.h (nlm_print_symbol): Likewise. + * oasys.c (oasys_print_symbol): Likewise. + * pdp11.c (NAME(aout,print_symbol)): Likewise. + * som.c (som_print_symbol): Likewise. + * srec.c (srec_print_symbol): Likewise. + * tekhex.c (tekhex_print_symbol): Likewise. + * versados.c (versados_print_symbol): Likewise. + * vms.c (vms_print_symbol): Likewise. + + * elf.c (_bfd_elf_print_private_bfd_data): Replace fprintf_vma + with bfd_fprintf_vma. + (bfd_elf_print_symbol): Likewise. + * syms.c (bfd_print_symbol_vandf): Likewise. + +2001-08-23 Nick Clifton + + * aoutf1.h (sunos_write_object_contents): Silence compile time + warning. + * libaout.h (N_SET_DYNAMIC): Silence compile time warning. + + * bout.c: Add missing function prototypes. Fix formatting. + * coff-z8k.c: Add missing function prototypes. Fix formatting. + * coff-w65.c: Add missing function prototypes. Fix formatting. + * coff-h8500.c: Add missing function prototypes. Fix formatting. + * coff-h8300.c: Add missing function prototypes. Fix formatting. + * coff-tic54x.c: Add missing function prototypes. Fix formatting. + * coff-tic30.c: Add missing function prototypes. Fix formatting. + * coff-m68k.c: Add missing function prototypes. Fix formatting. + * coff-rs6000.c: Add missing function prototypes. Fix formatting. + * coff-sh.c: Add missing function prototypes. Fix formatting. + +2001-08-23 Jakub Jelinek + + * elf-bfd.h (enum elf_reloc_type_class): New. + (struct elf_backend_data): Add elf_backend_reloc_type_class. + (_bfd_elf_reloc_type_class): New. + * elfxx-target.h (elf_backend_reloc_type_class): Define. + (elfNN_bed): Add elf_backend_reloc_type_class. + * elf.c (_bfd_elf_reloc_type_class): New. + * elf32-i386.c (elf_i386_check_relocs): Set DF_TEXTREL if the reloc + is against read-only section. + (elf_i386_size_dynamic_sections): Use DF_TEXTREL flag instead of + looking up section names for DT_TEXTREL. + (elf_i386_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + * elf32-sparc.c (elf32_sparc_check_relocs): Set DF_TEXTREL if the + reloc is against read-only section. + (elf32_sparc_size_dynamic_sections): Use DF_TEXTREL flag instead of + looking up section names for DT_TEXTREL. + (elf32_sparc_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + * elf64-sparc.c (sparc64_elf_check_relocs): Set DF_TEXTREL if the + reloc is against read-only section. + (sparc64_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of + looking up section names for DT_TEXTREL. + (sparc64_elf_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add reltext field. + (elfNN_ia64_hash_table_create): Clear ia64_info. + (get_reloc_section): Set DF_TEXTREL if the reloc is against read-only + section. + (elfNN_ia64_size_dynamic_sections): Use ia64_info->reltext flag + instead of looking up section names for DT_TEXTREL. + (elfNN_ia64_reloc_type_class): New. + (elf_backend_reloc_type_class): Define. + * elflink.h (size_dynamic_sections): Add spare DT_NULL tags. + (struct elf_link_sort_rela): New. + (elf_link_sort_cmp1, elf_link_sort_cmp2, elf_link_sort_relocs): New. + (elf_bfd_final_link): Call elf_link_sort_relocs. + Convert one spare DT_NULL into DT_RELCOUNT resp. DT_RELACOUNT if + necessary. + +2001-08-23 Nick Clifton + + * configure.in (x86-bsdi): No corefile support. + * configure: Regenerate. + +2001-08-22 Nick Clifton + + * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Add missing + comma. + +2001-08-21 Mark Elbrecht + + * coff-go32.c: Make DWARF2 sections use an alignment of 0. Set + the alignment of dwarf2 linkonce sections to 0. + * coff-sto32.c: Likewise. + +2001-08-20 Andreas Jaeger + + * coff-sparc.c: Add missing prototypes. + * elf32-s390.c: Likewise. + * elf32-i960.c: Likewise. + * aout-target.h: Likewise. + +2001-08-20 H.J. Lu + + * elf-bfd.h (elf_obj_tdata): Add num_section_syms. + (elf_num_section_syms): New for num_section_syms. + + * elf.c (elf_map_symbols): Set num_section_syms. + (_bfd_elf_symbol_from_bfd_symbol): Check num_section_syms for + the section symbol index. + +2001-08-20 Nick Clifton + + * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_create): Never + select the generic has table creator. All elf backends need elf + specific fields in the hash table. + +2001-08-20 Alan Modra + + * archive.c (offsetof): Remove define. + * elf.c: Likewise. + * oasys.c: Likewise + * sysdep.h (offsetof): Define. + +2001-08-17 Alan Modra + + * bfd.c (bfd_get_gp_size): Return an unsigned int. + (bfd_set_gp_size): Make param unsigned. + * bfd-in2.h: Regenerate. + * elf32-ppc.c (ppc_elf_add_symbol_hook): Use elf_gp_size rather + than calling bfd_get_gp_size. + * elf64-alpha.c (elf64_alpha_add_symbol_hook): Likewise. + * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Likewise. + +2001-08-17 Alan Modra + + * linker.c (default_fill_link_order): Handle four byte fill value. + +2001-08-17 Alan Modra + + * elf64-sparc.c (sparc64_elf_output_arch_syms): Add missing + prototype. + * nlm32-alpha.c (nlm_alpha_write_external): Fix warning. + + * elf64-mips.c (UNUSED_RELOC): Define. + (mips_elf64_howto_table_rel): Use it. + (mips_elf64_howto_table_rela): Here too. + (mips_elf64_write_relocs): Fix signed/unsigned warning. + + * coffcode.h (coff_write_object_contents): Add ATTRIBUTE_UNUSED to + silence warning. + * coffgen.c (coff_print_symbol): Fix warnings. + (coff_find_nearest_line): Likewise. + * cofflink.c (_bfd_coff_link_input_bfd): Likewise. + * coff-alpha.c (alpha_convert_external_reloc): Likewise. + * format.c (bfd_check_format_matches): Likewise. + (bfd_set_format): Likewise. + * coff-ia64.c: Add missing prototypes. + * elf64-alpha.c (struct alpha_elf_link_hash_entry): Make addend + signed to silence warnings. + (elf64_alpha_relocate_section): Likewise. + (elf64_alpha_find_reloc_at_ofs): Fix warnings. + (elf64_alpha_add_symbol_hook): Likewise. + (elf64_alpha_final_link): Likewise. + (elf64_alpha_relax_section): Remove redundant assign to info.gotent. + (elf64_alpha_merge_gots): Add ATTRIBUTE_UNUSED to unused args. + (elf64_alpha_size_got_sections): Likewise. + * elfxx-ia64.c: Add missing prototypes. + (elfNN_ia64_relocate_section): Fix warning. + (elfNN_ia64_unwind_entry_compare): Make params const. + +2001-08-17 Alan Modra + + * config.bfd (targ64_selvecs): New. + : Use it here instead of ineffectual #ifdef. + + * bfd-in.h (BFD_VERSION): Remove wrong comment. + (BFD_DEFAULT_TARGET_SIZE): New. + (BFD_ARCH_SIZE): Comment. + * configure.in (target_size): New. Set instead of target64 in + selvecs case statement. Set target64 from it. + (bfd_default_target_size): New. Set from taget_size. AC_SUBST. + * bfd-in2.h: Regenerate. + * configure: Regenerate. + +2001-08-17 Alan Modra + + * bfd.c (enum bfd_error): Add bfd_error_wrong_object_format. + (bfd_errmsgs): Add corresponding message. + * archive.c (bfd_generic_archive_p): Don't release bfd_ardata when + finding an archive that contains different format object files. + Return bfd_error_wrong_object_format for this case. + * format.c: Formatting fixes. s/CONST/const/. + (bfd_check_format_matches): Accept archives that give + bfd_error_wrong_object_format if no full match is found. Tidy + code handling matching_vector. Don't return a pointer to freed + memory in `matching'. Handle ambiguous matches as for partial + archive matches. + * bfd-in2.h: Regenerate. + +2001-08-15 Alan Modra + + * libieee.h (common_header_type): Add last_byte field. + + * ieee.c: Add missing prototypes. Some format fixes. + (struct output_buffer_struct): Move for availability to prototypes. + (ieee_part_after): New function. + (ieee_slurp_debug): Use it here. + (ieee_seek): Pass in ieee_data_struct rather than bfd. Use + ieee_part_after to set last_byte to one past end of current part. + Update callers. + (ieee_pos): Pass in ieee_data_struct rather than bfd. + Update callers. + (parse_expression): Don't go beyond the end of the current part. + (ieee_slurp_external_symbols): Correct type passed to read_2bytes. + (ieee_get_symtab_upper_bound, ieee_get_symtab, + ieee_get_symbol_info, ieee_print_symbol, ieee_new_section_hook, + ieee_get_reloc_upper_bound, ieee_canonicalize_reloc, block, + ieee_set_section_contents, ieee_write_object_contents, + ieee_make_empty_symbol): Make static. + (ieee_archive_p): Correct comments regarding bfd_read. + (ieee_object_p): Similarly. + (ieee_mkobject): Move it. Clear output_ptr_start, output_ptr, + output_ptr_end, input_ptr_start, input_ptr, input_ptr_end, + input_bfd, output_bfd, output_buffer. + (do_as_repeat): Write out ieee_set_current_pc_enum value as for + do_with_relocs, ie. as a symbol for relocatable files. + (ieee_vec): Add comments showing functions referenced by macros. + +2001-08-14 Nick Clifton + + * aout-tic30.c: Add missing prototypes. Fix formatting. + * aout-ns32k.c: Add missing prototypes. Fix formatting. + * peXXigen.c: Add missining prototypes. Fix formatting. + * aout-adobe.c: Add missining prototypes. Fix formatting. + +2001-08-13 Nick Clifton + + * elf32-v850.c: Add missing function prototypes. + Fix some formatting. + + * cpu-v850.c: Add missing function prototype. + Fix some formatting. + +2001-08-11 Nick Clifton + + * elf-bfd.h (struct elf_backend_data): Add new fields + 'elf_backend_sprintf_vma' and 'elf_backend_fprintf_vma'. + (bfd_elf_sprintf_vma): Rename function prototype to + '_bfd_elf_sprintf_vma'. + (bfd_elf_fprintf_vma): Rename function prototype to + '_bfd_elf_fprintf_vma'. + * bfd.c (bfd_sprintf_vma): Do not invoke bfd_elf_sprintf_vma + directly, instead indirect via the elf_backend_data structure. + (bfd_fprintf_vma): Do not invoke bfd_elf_fprintf_vma directly, + instead indirect via the elf_backend_data structure. + * elf.c (bfd_elf_sprintf_vma): Rename to _bfd_elf_sprintf_vma. + (bfd_elf_fprintf_vma): Rename to _bfd_elf_fprintf_vma. + * elfxx-target.h (elf_backend_sprintf_vma): Initialise if not + already defined. + (elf_backend_fprintf_vma): Initialise if not already defined. + (struct elf_backend_data): Initialise the + elf_backend_sprintf_vma and elf_backend_fprintf_vma fields. + +2001-08-10 Andreas Jaeger + + * elf64-sparc.c: Add missing prototypes. + * elf32-cris.c: Likewise. + * elf32-i370.c: Likewise. + * elf64-hppa.c: Likewise. + * elf64-s390.c: Likewise. + +2001-08-10 Andreas Jaeger + + * elf64-x86-64.c (elf64_x86_64_elf_object_p): Make static. + Add prototypes where needed. + +2001-08-10 H.J. Lu + + * bfd.c (bfd_sprintf_vma): Fix a typo in the last change. + (bfd_fprintf_vma): Likewise. + +2001-08-10 H.J. Lu + + * bfd.c (bfd_sprintf_vma): Don't return void. + (bfd_fprintf_vma): Likewise. + +2001-08-10 Andreas Jaeger + + * configure.in: Add -Wstrict-prototypes and -Wmissing-prototypes + to build warnings. + * configure: Regenerate. + +2001-08-10 Alan Modra + + * elf.c (bfd_elf_sprintf_vma): Add ATTRIBUTE_UNUSED to quiet + warning if not BFD64. Add braces so emacs auto format works. + (bfd_elf_fprintf_vma): Likewise. + + * libxcoff.h (struct xcoff_backend_data_rec): Constify src param + of _xcoff_swap_ld*. + * coff-rs6000.c (xcoff_swap_ldhdr_in): Modify type of external + param to agree with libxcoff.h. + (xcoff_swap_ldhdr_out): Likewise. + (xcoff_swap_ldsym_in): Likewise. + (xcoff_swap_ldsym_out): Likewise. + (xcoff_swap_ldrel_in): Likewise. + (xcoff_swap_ldrel_out): Likewise. + (xcoff_create_csect_from_smclas): Likewise. + * coff64-rs6000.c: Add missing prototypes. + (xcoff64_swap_ldhdr_in): Modify type of external param to agree + with libxcoff.h. + (xcoff64_swap_ldhdr_out): Likewise. + (xcoff64_swap_ldsym_in): Likewise. + (xcoff64_swap_ldsym_out): Likewise. + (xcoff64_swap_ldrel_in): Likewise. + (xcoff64_swap_ldrel_out): Likewise. + (xcoff64_ppc_relocate_section): Make static. + (xcoff64_slurp_armap): Likewise. + (xcoff64_archive_p): Likewise. + (xcoff64_openr_next_archived_file): Likewise. + (xcoff64_sizeof_headers): Likewise. + (xcoff64_is_lineno_count_overflow): Likewise. + (xcoff64_is_reloc_count_overflow): Likewise. + (xcoff64_loader_symbol_offset): Likewise. + (xcoff64_loader_reloc_offset): Likewise. + * elf64-gen.c: Add missing prototypes. + +2001-08-09 H.J. Lu + + * elf.c (bfd_elf_sprintf_vma): Check ELFCLASS64 only in BFD64. + (bfd_elf_fprintf_vma): Likewise. + +2001-08-09 H.J. Lu + + * bfd-in.h (bfd_elf_sprintf_vma, bfd_elf_fprintf_vma): Moved + to ... + * elf-bfd.h: Here. + * bfd-in2.h: Regenerated. + +2001-08-09 H.J. Lu + + * bfd-in.h (bfd_sprintf_vma): New prototype. + (bfd_fprintf_vma): Likewise. + (bfd_elf_sprintf_vma): Likewise. + (bfd_elf_fprintf_vma): Likewise. + (bfd_printf_vma): New. Defined with bfd_fprintf_vma. + * bfd-in2.h: Regenerated. + + * bfd.c (bfd_sprintf_vma): New. Defined. + (bfd_fprintf_vma): Likewise. + + * elf.c (bfd_elf_sprintf_vma): New. Defined. + (bfd_elf_fprintf_vma): Likewise. + +2001-08-09 Alan Modra + + * coff-rs6000.c: Add missing prototypes. + (xcoff_ppc_relocate_section, xcoff_is_lineno_count_overflow, + xcoff_is_reloc_count_overflow, xcoff_loader_symbol_offset, + xcoff_loader_reloc_offset): Make static. + * dwarf1.c: Add missing prototypes. + * dwarf2.c: Add missing prototypes. + (struct abbrev_info): Move definition. + (struct attr_abbrev, ABBREV_HASH_SIZE, ATTR_ALLOC_CHUNK): Likewise. + * elf.c: Add missing prototypes. + * elf32-gen.c: Likewise. + * elf32-i386.c: Likewise. + * elf32-ppc.c: Likewise. + (ppc_elf_sort_rela): Use PTR instead of "void *". + * elflink.h: Add missing prototypes. Formatting fixes. + * merge.c: Add missing prototypes. + (last4_eq): Use PTR instead of "void *". + (last_eq): Likewise. + * syms.c: Add missing prototypes. + +2001-08-09 Nick Clifton + + * bfd.c: Fix formatting. + * bfd-in2.h: Regenerate. + +2001-08-09 Nick Clifton + + * elf32-arc.c (R_ARC_B22_PCREL): Change 'partial_inplace' to + true (this target uses REL relocations) and 'pcrel_offset' to + false (the PC is implied, not stored in the offset). + +2001-08-08 Alan Modra + + 1999-10-19 Linus Nordberg + * elf-bfd.h (struct elf_backend_data): Add want_got_sym. + * elfxx-target.h (elf_backend_want_got_sym): Define. + (elfNN_bed): Add elf_backend_want_got_sym. + * elflink.c (_bfd_elf_create_got_section): Define + _GLOBAL_OFFSET_TABLE_ only if bed->want_got_sym. + +2001-08-08 Alexandre Oliva + + * dwarf2.c (struct dwarf2_debug): Add sec, sec_info_ptr and syms. + (find_rela_addend): New function. + (parse_comp_unit): Call it to find the abbrev offset addend. + (_bfd_dwarf2_find_nearest_line): Initialize and maintain the new + members of dwarf2_debug as debugging information is read. + +2001-08-07 Nick Clifton + + * coff-sh.c (sh_coff_reloc_type_lookup): Provide for sh-coff + targets as well as sh-pe. + +2001-08-03 Ben Harris + + * elf32-arm.h (elf32_arm_final_link_relocate): Include offset of + reloc from start of section when computing value for R_ARM_REL32 + reloc. + +2001-08-03 Alan Modra + + From H.J. Lu + * elf32-i386.c (allocate_plt_and_got_and_discard_relocs): Don't + keep relocs for undefined syms if there are no dynamic sections in + executable. + * elf32-hppa.c (allocate_plt_and_got_and_discard_relocs): Likewise. + +2001-08-02 Paul Sokolovsky + + * cofflink.c (coff_link_check_ar_symbols): also search for + __imp__symbol as well as _symbol. + * linker.c (_bfd_generic_link_add_archive_symbols): also + search for __imp__symbol as well as _symbol. + +2001-08-01 Adam Nemet + + * elf.c (elf_sort_sections): Return zero only as the last step. + +2001-08-01 Nick Clifton + + * config.bfd (arm-vxworks): Change name of define from VXWORKS to + ARM_COFF_BUGFIX. + (arm-epoc-pe): Define ARM_COFF_BUGFIX. + coff-arm.c (coff_arm_relocate_section): Replace VXWORKS with + ARM_COFF_BUGFIX. + +2001-07-30 Rainer Orth + + * libecoff.h (_bfd_ecoff_styp_to_sec_flags): Changed return type + to match corresponding bfd_coff_backend data member. + +2001-07-24 Alan Modra + + * Makefile.am: Update dependencies with "make dep-am". + * Makefile.in: Regenerate + +2001-07-15 H.J. Lu + + * Makefile.am (po/SRC-POTFILES.in): Use tmp.src instead of tmp. + (po/BLD-POTFILES.in): Use tmp.bld instead of tmp. + * Makefile.in: Regenerate. + +2001-07-11 H.J. Lu + + * elf64-alpha.c (elf64_alpha_check_relocs): Set the ALLOC|LOAD + flags when creating the reloc section if the ALLOC flag in the + source section is set. + +2001-07-11 Steve Ellcey + + * reloc.c (bfd_reloc_code_type): Add IA64 relocs + BFD_RELOC_IA64_LTOFF_FPTR32MSB and BFD_RELOC_IA64_LTOFF_FPTR32LSB + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * elfxx-ia64.c (ia64_howto_table): Define how to handle + new relocations. + (elfNN_ia64_reloc_type_lookup): Handle new relocations. + (elfNN_ia64_check_relocs): Likewise. + (elfNN_ia64_install_value): Likewise. + (elfNN_ia64_relocate_section): Likewise. + +2001-07-11 Jakub Jelinek + + * elf32-sparc.c (_bfd_sparc_elf_howto_table): Remove support for + R_SPARC_UA64. + (elf32_sparc_check_relocs): Likewise. + Only create .rela section for alloced sections in shared libraries. + (elf32_sparc_relocate_section): Likewise. + Remove redundant check. + Optimize unaligned reloc usage. + * elf64-sparc.c (sparc64_elf_relocate_section): Remove redundant + check. + +2001-07-11 H.J. Lu + + * elf64-alpha.c (elf64_alpha_check_relocs): Only use the same + ALLOC|LOAD flags as the source section for debugging sections + when creating the reloc section. + +2001-07-05 Jim Wilson + + * linker.c (_bfd_generic_link_add_one_symbol, case BIG): Use + the section of the bigger symbol. + + * syms.c (bfd_is_local_label): Return false if BSF_SECTION_SYM. + +2001-07-05 Nick Clifton + + * peicode.h (coff_swap_scnhdr_in): For sections containing + uninitialised data, only set their size to s_paddr if this does + not reset their size to zero. MS's latest compilers will set + s_paddr to zero. + +2001-07-04 H.J. Lu + + * bfd/elf32-mips.c (_bfd_mips_elf_final_write_processing): + Handle bfd_mach_mips4400, bfd_mach_mips4600 and + bfd_mach_mips5000. + +2001-07-03 Mark Elbrecht + + * bfd.c (bfd_get_sign_extend_vma): Support DJGPP COFF targets. + + * cofflink.c (_bfd_coff_link_input_bfd): Skip section symbols from + sections being discarded. + +2001-06-30 Alan Modra + + * elfcore.h (elf_core_file_p): Call bfd_section_from_phdr directly + instead of _bfd_elfcore_section_from_phdr. + * elf-bfd.h (_bfd_elfcore_section_from_phdr): Remove. + * elf.c (_bfd_elfcore_section_from_phdr): Remove. + (_bfd_elfcore_make_pseudosection): Expedite tail-call. + (elfcore_grok_prstatus): Likewise. + (elfcore_grok_lwpstatus): Likewise. + (bfd_get_elf_phdr_upper_bound): Likewise. + (elfcore_make_note_pseudosection): Formatting. + (_bfd_elfcore_strndup): Formatting. + * elf32-mips.c (mips_elf_sym_is_global): Formatting. + (_bfd_elf32_mips_grok_prstatus): Expedite tail-call. + +2001-06-29 Daniel Jacobowitz + + * elf-bfd.h: Add prototypes for _bfd_elfcore_make_pseudosection + and _bfd_elfcore_strndup. + (struct elf_backend_data): Add elf_backend_grok_prstatus + and elf_backend_grok_psinfo. + * elf.c (_bfd_elfcore_make_pseudosection): New function. + (elfcore_grok_prstatus): Use it. + (elfcore_make_note_pseudosection): Likewise. + (elfcore_strndup): Rename to... + (_bfd_elfcore_strndup): Here, and make global. + (elfcore_grok_psinfo): Use _bfd_elfcore_strndup. + (elfcore_grok_note): Call elf_backend_grok_prstatus + and elf_backend_grok_psinfo if available. + * elf32-mips.c (_bfd_elf32_mips_grok_prstatus): New function. + (_bfd_elf32_mips_grok_psinfo): New function. + (elf_backend_grok_prstatus): Define. + (elf_backend_grok_psinfo): Define. + * elfxx-target.h (elf_backend_grok_prstatus): Default to NULL. + (elf_backend_grok_psinfo): Likewise. + (elfNN_bed): Include elf_backend_grok_prstatus and + elf_backend_grok_psinfo. + +2001-06-29 H.J. Lu + + * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Check if + hplink->sgot is NULL before filling GOT. Check if hplink->splt + is NULL before filling PLT. + +2001-06-29 Alan Modra + + * elflink.h (elf_link_output_extsym): Revert 1999-04-10. + +2001-06-27 Alan Modra + + * elf32-hppa.c (elf32_hppa_check_relocs): Don't make syms dynamic + here.. + (elf32_hppa_adjust_dynamic_symbol): ..nor here.. + (allocate_plt_and_got_and_discard_relocs): .. instead do so here + after gc has run. + + * elf32-hppa.c (RELATIVE_DYNAMIC_RELOCS): Delete. + (IS_ABSOLUTE_RELOC): Define. + (elf32_hppa_link_hash_entry): Always include reloc_entries field. + (hppa_link_hash_newfunc): Always init it. + (elf32_hppa_check_relocs): Mark symbols as ELF_LINK_NON_GOT_REF to + create COPY relocs only when the reloc is in a read-only section. + Instead, allocate space for a dynamic reloc to reference the + library symbol directly. Keep track of space we allocate using + relocs_entries. + (hppa_discard_copies): Delete, and move code to.. + (allocate_plt_and_got): ..here. Rename to + allocate_plt_and_got_and_discard_relocs. Remove unneeded dynamic + relocs for non-shared link. + (elf32_hppa_size_dynamic_sections): Update calls to above. + (elf32_hppa_relocate_section): Write out the dynamic relocs used + in lieu of COPY relocs. + + * elf32-i386.c (elf_i386_check_relocs): Don't make syms dynamic + here.. + (elf_i386_adjust_dynamic_symbol): ..nor here.. + (allocate_plt_and_got_and_discard_relocs): .. instead do so here + after gc has run. + (elf_i386_size_dynamic_sections): Fix a comment. + (elf_i386_relocate_section ): Rearrange code + involved in writing reloc out. + +2001-06-25 Alan Modra + + * elf32-i386.c (elf_i386_check_relocs ): + Ensure syms are dynamic if we might be emitting a reloc. + (allocate_plt_and_got_and_discard_relocs): Don't discard relocs + for undefweak or undefined syms.. + (elf_i386_relocate_section ): .. and emit. + + * elf32-i386.c (allocate_plt_and_got_and_discard_relocs): Discard + relocs without ELF_LINK_HASH_DEF_DYNAMIC set. + (elf_i386_relocate_section ): Remove + redundant bfd_link_hash_defined, bfd_link_hash_defweak test. + +2001-06-24 H.J. Lu + + * cpu-i960.c (scan_960_mach): Don't modify const char *. Use + strncasecmp/strcasecmp instead of strncmp/strcmp. + +2001-06-23 H.J. Lu + + * elf32-i386.c (elf_i386_relocate_section ): + Check ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined + in the regular object file and treat the weak definition as + the normal one. + +2001-06-23 Alan Modra + + * elf32-i386.c (elf_i386_relocate_section ): Tighten + unresolved_reloc test to exclude cases where we use "relocation" + before setting it to point into the .got. Reinstate fudge for + unresolved relocs in debugging sections. + + * elf32-i386.c (elf_i386_relocate_section): Replace ugly + complicated tests for unresolvable relocs with a simple direct + scheme using "unresolved_reloc" var. + + * elf32-i386.c (struct elf_i386_pcrel_relocs_copied): Rename to + elf_i386_dyn_relocs. Update comment. + (struct elf_i386_link_hash_entry): Rename pcrel_relocs_copied to + dyn_relocs. + (elf_i386_adjust_dynamic_symbol): Remove a BFD_ASSERT, change + others to aborts. + (allocate_plt_and_got_and_discard_relocs): Replace BFD_ASSERT with + abort. + (elf_i386_size_dynamic_sections): Likewise. + (elf_i386_finish_dynamic_symbol): Likewise. + (elf_i386_finish_dynamic_sections): Likewise. + (elf_i386_relocate_section): Likewise. Tidy R_386_GOT32 and error + handling code. + + Avoid creating COPY relocs if possible. + * elf32-i386.c (elf_i386_check_relocs): Tweak condition under + which .got created. Mark symbols used by R_386_32 and R_386_PC32 + relocs as ELF_LINK_NON_GOT_REF to create COPY relocs only when the + reloc is in a read-only section. Instead, allocate space for a + dynamic reloc to reference the library symbol directly. Keep + track of space we allocate using pcrel_relocs_copied. + (discard_copies): Delete, and move code to .. + (allocate_plt_and_got): ..here. Rename to + allocate_plt_and_got_and_discard_relocs. Remove unneeded dynamic + relocs for non-shared link. + (elf_i386_size_dynamic_sections): Update calls to above functions. + (elf_i386_relocate_section): Write out the dynamic relocs. Add + more ugly logic to avoid "unresolvable relocation" error. Use + htab shortcut in place of elf_hash_table macro. + (elf_i386_finish_dynamic_sections): Allow that dynamic .got may + not always be created now. + +2001-06-20 Bo Thorsen + + * elf64-x86-64.c (elf64_x86_64_relocate_section): Fix linking of + shared libraries. + +2001-06-18 Thiemo Seufer + + * configure.host (mips64-*-linux): Reformat. + +2001-06-21 Alan Modra + + * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Always + allocate local .got space. Use shortcuts from hash table for .got + and .plt rather than comparing section names. + (elf32_hppa_check_relocs): Use local_plt_refcounts var rather than + adjusting index into local_got_refcounts to document what we are + really doing. + (elf32_hppa_relocate_section): Similarly for local_plt_offsets. + Tidy .got and .plt error checking. + +2001-06-20 Catherine Moore + + * elf-bfd.h (struct elf_backend_data): + elf_backend_emit_relocs: New field: Function for emitting + relocs. + elf_backend_count_relocs: New field: Function for determining + the number of relocs to be emitted. + * elfxx-target.h: Provide default (NULL) values for + elf_backend_emit_relocs and elf_backend_count_relocs. + * elflink.h (elf_link_size_reloc_section): Make the hash table + big enough to hold the relocs counted by either reloc_count or + o->reloc_count. + (elf_bfd_final_link) emit_relocs: New boolean, set if relocs + should be emitted, either because of a command line option + stored in the info structure or because the target provides a + special reloc emitting function. + If the target provides a reloc counting function use it, + unless performing a relocatable link or emitting all relocs. + Also set the SEC_RELOC flag on any output section which will + contain relocs. + (elf_link_input_bfd): emit_relocs: New boolean, set if relocs + should be emitted, either because of a command line option + stored in the info structure or because the target provides a + special reloc emitting function. + If the target provides a reloc emitting function, use it, + unless performing a relocatable link or emitting all relocs. + +2001-06-20 H.J. Lu + + * elf32-i386.c (elf_i386_size_dynamic_sections): Always + allocate local .got space. + +2001-06-19 Andreas Jaeger + + * elf64-x86-64.c (elf64_x86_64_relocate_section): Fix creation of + dynamic symbols. + +2001-06-18 Hans-Peter Nilsson + + * elflink.h (struct elf_assign_sym_version_info): Remove member + export_dynamic. All users changed to use info member. + NAME(bfd_elf,size_dynamic_sections)): Remove parameter + export_dynamic, instead use member in parameter info. + * bfd-in.h (bfd_elf32_size_dynamic_sections, + bfd_elf64_size_dynamic_sections): Update prototype. + * bfd-in2.h: Regenerate. + +2001-06-18 H.J. Lu + + * elflink.h (elf_info_failed): Add a new field, verdefs. + (NAME(bfd_elf,size_dynamic_sections): Pass verdefs to + elf_export_symbol. + (elf_export_symbol): Check eif->verdefs to decide if a symbol + should be exported. + +2001-06-17 H.J. Lu + + * elf32-mips.c (mips_elf_link_hash_entry): Add a new field, + readonly_reloc, to record if a relocation in the .rel.dyn + section is against a read-only section. + (mips_elf_link_hash_newfunc): Initialize the readonly_reloc + field to false. + (_bfd_mips_elf_check_relocs): Record if there is a relocation + in the .rel.dyn section against a read-only section by setting + DF_TEXTREL or readonly_reloc. + (_bfd_mips_elf_copy_indirect_symbol): Copy readonly_reloc if + it is true. + (_bfd_mips_elf_adjust_dynamic_symbol): Record DF_TEXTREL if + there is a relocation in the .rel.dyn section against a + read-only section. + (_bfd_mips_elf_size_dynamic_sections): Set DT_TEXTREL if + DF_TEXTREL is set. + +2001-06-12 Nick Clifton + + * coffcode.h (styp_flags_to_sec_flags): Change to a boolean + function. Move flagword result into parameter list. Remove + comment about setting bfd_error_handler to intercept failure + results. + * coffgen.c (make_a_section_from_file): Examine result of + calling bfd_coff_styp_to_sec_flags and pass a failure back to + caller. + * ecoff.h (styp_flags_to_sec_flags): Change to a boolean + function. Move flagword result into parameter list. + * libcoff.h: Regenerate. + * libecoff.h: Regenerate. + +2001-06-13 Nick Clifton + + * aoutx.h (adjust_z_magic): Only pad the tesxt section if the data + section is going to follow it. + +2001-06-12 Catherine Moore + + * elflink.h (elf_gc_propagate_vtable_entries): Replace FILE_ALIGN + with the file_align entry from elf_backend_data. + (elf_gc_smash_unused_vtentry_relocs): Likewise. + (elf_gc_record_vtentry): Likewise. + +2001-06-10 Alan Modra + + * elflink.h: Whitespace changes. + (elf_link_read_relocs_from_section): Use "unsigned int" iterator + rather than "unsigned char". + (elf_link_output_relocs): Likewise. + (elf_link_input_bfd): Likewise. + (elf_reloc_link_order): LIkewise. + * elf.c: s/CONST/const/. Whitespace changes. + * elf32-mips.c: Formatting fix. + + * Makefile.am (SOURCE_HFILES): Include xcoff-target.h, remove xcoff.h. + * Makefile.in: Regenerate. + * po/Make-in: Remove trailing tab. + +2001-06-09 Philip Blundell + + * elf32-arm.h (elf32_arm_plt0_entry): Correct error in last + change. + (elf32_arm_plt_entry): Likewise. + +2001-06-08 H.J. Lu + + * elf.c (swap_out_syms): Keep names for global section symbols. + +2001-06-07 H.J. Lu + + * config.bfd: Put back ecoff for Linux/mips. Firmwares on some + MIPS-based machines need it. + +2001-06-07 H.J. Lu + + * elf32-mips.c (_bfd_mips_elf_object_p): Set the bad symtab + for SGI only. + + * config.bfd: Remove ecoff from Linux/mips. + +2001-06-07 Andreas Jaeger + + * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Add an + assertion. + (elf64_x86_64_check_relocs): Fix VTENTRY relocation; set an + alignment of 8 for .rela sections; handle further relocations. + +2001-06-06 Christian Groessler + + * coff-z8k.c: Fix formatting. + Fix howtos: howto->size was always 1. + +2001-06-05 Thiemo Seufer + + * configure.host (mips64*-*-linux*): Define. + +2001-06-05 Alan Modra + + * elf32-i386.c (elf_i386_discard_copies): Rename to + discard_copies, and use elf_link_hash_entry arg rather than + elf_i386_link_hash_entry. + (elf_i386_link_hash_traverse): Delete. + (elf_i386_size_dynamic_sections): Adjust call to discard_copies. + Tidy sizing of dynamic sections. + (elf_i386_check_relocs ): Reference count + possible .plt entries. + (elf_i386_gc_sweep_hook): Likewise. + (elf_i386_adjust_dynamic_symbol): Discard .plt entries for + everything with plt.refcount <= 0. + + * elf32-i386.c (elf_i386_check_relocs): Don't allocate .got and + .relgot space here. + (elf_i386_gc_sweep_hook): ..and no need to deallocate here.. + (elf_i386_adjust_dynamic_symbol): ..and don't allocate .plt and + .rel.plt here.. + (allocate_plt_and_got): ..instead do it all here. New function. + (elf_i386_size_dynamic_sections): Allocate local .got space and + call allocate_plt_and_got. No need to zap .relgot if not dynamic. + (bfd_elf32_bfd_final_link): Delete. (ie. use regular final link + rather than gc variety). + (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define. + (elf_i386_relocate_section): Use it here and correct handling of + R_386_GOT32. Provide section and offset for "unresolvable + relocation" error message. + (elf_i386_finish_dynamic_symbol): Correct handling of R_386_GOT32. + + * elf32-i386.c (struct elf_i386_link_hash_table): Add sgot, + sgotplt, srelgot, splt, srelplt, sdynbss, srelbss fields. + (elf_i386_link_hash_table_create): Init them. + (create_got_section): New function. + (elf_i386_create_dynamic_sections): New function. + (elf_backend_create_dynamic_sections): Set to above. + (elf_i386_check_relocs): Use shortcuts from hash table rather than + calling bfd_get_section_by_name. + (elf_i386_gc_sweep_hook): Likewise. + (elf_i386_adjust_dynamic_symbol): Likewise. + (elf_i386_size_dynamic_sections): Likewise. + (elf_i386_relocate_section): Likewise. + (elf_i386_finish_dynamic_sections): Likewise. + + * elf32-hppa.c (allocate_plt_and_got): Skip indirect and warning syms. + +2001-06-02 H.J. Lu + + * elf32-hppa.c (elf32_hppa_object_p): Check ELFOSABI_LINUX + and ELFOSABI_HPUX. + * elf64-hppa.c (elf64_hppa_object_p): Likewise. + +2001-06-02 H.J. Lu + + * aout-cris.c (MACHTYPE_OK): New. Defined. + +2001-06-02 Hans-Peter Nilsson + + * section.c (_bfd_strip_section_from_output): Handle NULL + output_section. + +2001-06-02 H.J. Lu + + * config.bfd (powerpc-*-aix*, powerpc-*-beos*, rs6000-*-*): Add + rs6000coff64_vec only if BFD64 is defined. + (powerpc64-*-aix*): Enable only if BFD64 is defined. + +2001-06-02 H.J. Lu + + * coff-ia64.c (ia64coff_object_p): Rewrite with + external_PEI_DOS_hdr and external_PEI_IMAGE_hdr. + +2001-06-01 Andreas Jaeger + + * elf64-x86-64.c (elf64_x86_64_relocate_section): Add PC8 + relocation, small reformatting. + +2001-05-29 Andreas Jaeger + + * elf64-x86-64.c (elf64_x86_64_check_relocs): Handle R_X86_64_64. + (elf64_x86_64_relocate_section): Likewise. + +2001-05-30 Alan Modra + + * elf32-hppa.c (elf32_hppa_check_relocs): Don't NEED_PLT for + millicode. Don't allocate .got and .rela.got space here.. + (elf32_hppa_gc_sweep_hook): ..and no need to deallocate here.. + (elf32_hppa_adjust_dynamic_symbol): ..and don't allocate .plt and + .rela.plt here.. + (hppa_handle_PIC_calls): ..nor here.. + (allocate_plt_and_got): ..instead do it all here. New function. + (elf32_hppa_size_dynamic_sections): Allocate local .got space and + call allocate_plt_and_got. No need to zap .got if not dynamic. + (elf32_hppa_final_link): Call regular bfd_final_link instead of + gc_common_final_link. + (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define. + (elf32_hppa_relocate_section): Use it here. + (elf32_hppa_finish_dynamic_symbol): Remove superfluous test of + dynamic_sections_created. + (hppa_type_of_stub): Don't LONG_BRANCH_VIA_PLT if millicode sym. + +2001-05-28 Andreas Jaeger + + * elf64-x86-64.c (elf64_86_64_size_info): Remove, we can use the + generic version since we want a hashsize of 4. + (elf_backend_size_info): Likewise. + +2001-05-28 Thiemo Seufer + + * elflink.h (elf_link_size_reloc_section): Use bfd_zmalloc instead of + a zeroing loop. + (elf_link_output_relocs): Handle MIPS ELF64 relocations correctly. + (elf_link_input_bfd): Likewise. + (elf_reloc_link_order): Likewise. + (elf_finish_pointer_linker_section): Typo. Handle MIPS ELF64 + relocations correctly. + +2001-05-28 Nicolas Pitre + + * elf32-arm.h: fix PLT generation for big endian ARM + +2001-05-28 Alan Modra + + * elf32-hppa.c (elf32_hppa_relocate_section): Set up .plt entries + for symbols forced local that need plabels. + (elf32_hppa_adjust_dynamic_symbol): Don't allocate space in + .plt.rela for local syms if non-shared. + (hppa_build_one_stub): Mask lsb of plt.offset. + (elf32_hppa_finish_dynamic_symbol): Abort if lsb of plt.offset set. + (clobber_millicode_symbols): Correct comment. + (elf32_hppa_relocate_section): Likewise. + (elf32_hppa_finish_dynamic_symbol): Likewise. + +2001-05-28 Jeff Sturm + + * reloc.c: Add BFD_RELOC_SPARC_UA16 and BFD_RELOC_SPARC_UA64. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * elf32-sparc.c: Enable BFD_RELOC_SPARC_UA16, BFD_RELOC_SPARC_UA32 + and BFD_RELOC_SPARC_UA64 mapping + * elf64-sparc.c: Likewise. + +2001-05-25 H.J. Lu + + * Makefile.am (BFD32_BACKENDS): Remove coff-pmac.lo. + (BFD32_BACKENDS_CFILES): Remove coff-pmac.c. + (coff-rs6000.lo): Remove the old dependency. + * Makefile.in: Rebuild. + + * configure.in (pmac_xcoff_vec): Replace coff-pmac.lo with + coff-rs6000.lo. + +2001-05-25 H.J. Lu + + * coff-rs6000.c (rs6000coff_vec): Use rs6000coff_core_p, + rs6000coff_core_file_matches_executable_p, + rs6000coff_core_file_failing_command and + rs6000coff_core_file_failing_signal only if AIX_CORE is + defined. + (pmac_xcoff_vec): Likewise. + * coff64-rs6000.c (rs6000coff64_vec): Likewise. + +2001-05-25 Timothy Wall + + * elfxx-ia64.c (allocate_dynrel_entries): Don't allocate an entry + for __GLOB_DATA_PTR on AIX5. Clean up some relocation bugs. + +2001-05-25 H.J. Lu + + * bfd-in2.h: Regenerated. + * libcoff.h: Likewise. + +2001-05-25 Alan Modra + + * elf32-hppa.c (elf32_hppa_relocate_section): Don't allow + undefined millicode syms in shared libs. + (hppa_build_one_stub): Turn BFD_ASSERTs into aborts. + (elf32_hppa_check_relocs): Likewise. + (elf32_hppa_adjust_dynamic_symbol): Likewise. + (elf32_hppa_size_dynamic_sections): Likewise. + (elf32_hppa_relocate_section): Likewise. + (elf32_hppa_finish_dynamic_symbol): Likewise. + (elf32_hppa_finish_dynamic_sections): Likewise. + +2001-05-24 Tom Rix + + * Makefile.am coff-pmac bfd now defined in coff-rs6000.c + xcoff-target.h not used to define rs6000 or ppc bfd. + * Makefile.in same + + * bfd-in.h : (struct lineno_cache_entry) promote element "offset" + to 64 bit. + + * coff-rs6000.c : Many changes for 64 bit support. Move common + 32/64 code to xcofflink.c. Explictly define the rs6000coff_vec + and pmac_xcoff_vec + + * coff64-rs6000.c : Many changes for 64 bit support. 64 bit + linker now supported. Explictly define the rs6000coff64_vec. + + * coffcode.h : (coff_set_arch_mach_hook) xcoff 64 bit support + (coff_print_aux) same + (coff_write_object_contents) same + (coff_slurp_line_table) same + + * coffgen.c : (coff_fix_symbol_name) formatting + (coff_mangle_symbols) xcoff 64 bit support + (coff_write_symbol) same + (coff_write_alien_symbol) same + (coff_write_native_symbol) same + (coff_write_symbols) same + (coff_get_symbol_info) same + (bfd_coff_get_syment) same + (coff_print_symbol) same + + * config.bfd : add powerpc64-*-aix* target + + * libcoff-in.h : formatting + + * libcoff.h : move xcoff extern declarations to libxcoff.h + + * libxcoff.h : New file + + * xcofflink.c : Many changes for xcoff64 support. Move common + structures to include/coff/xcoff.h. Move specific structure to + backends coff-rs6000.c and coff64-rs6000.c. Use new backend + functions, defined in libxcoff.h, to isolate 32/64 dependencies. + + (bfd_xcoff_size_dynamic_sections) : special __rtinit symbol for + aix4.2+ -binitfini. + + (xcoff_build_ldsyms) : handle special __rtinit symbol. + +2001-05-23 Alexandre Oliva + + * elf64-sparc.c (sparc64_elf_slurp_reloc_table): Fix typo + s/ENTIRES/ENTRIES/. + +2001-05-23 Thiemo Seufer + + * reloc.c (bfd_reloc_code_real): Add MIPS ELF64 relocations. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + + * aoutx.h (aout_@var{size}_machine_type): Add MIPS r12k support. + * archures.c (bfd_mach_mips12000): Define. + * cpu-mips.c (arch_info_struct): Add MIPS r12k support. + * elf32-mips.c (_bfd_mips_elf_final_write_processing): Add MIPS r12k + support. + (_bfd_mips_elf_size_dynamic_sections): Use official bfd typedef. + * bfd-in2.h: Regenerate. + * elfxx-target.h: Do not redefine bfd_elfNN_bfd_make_debug_symbol. + +2001-05-23 kaz Kojima + + * elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry, + elf_sh_plt_entry_be, elf_sh_plt_entry, elf_sh_pic_plt_entry_be, + elf_sh_pic_plt_entry): New PLT code, that does not use r2, since + that is used by GCC. + +2001-05-23 Nick Clifton + + * elf-bfd.h (NUM_SHDR_ENTRIES): New macro: compute the number + of entries in a structured section. + * elf.c: Use new macro. + * elf32-i386.c: Use new macro. + * elf32-mips.c: Use new macro. + * elf64-alpha.c: Use new macro. + * elf64-sparc.c: Use new macro. + * elfcode.h: Use new macro. + * elflink.h: Use new macro. + +2001-05-23 Nick Clifton + + * bfdint.texi: Replace -oformat with --oformat. + +2001-05-21 Andreas Jaeger + + * dwarf2.c (decode_line_info): Fix error message. + (read_abbrevs): Fix test for offset as suggested by Alan Modra and + adjust error message. + +2001-05-18 H.J. Lu + + * elflink.h (elf_link_add_object_symbols): Revert the last + change. + +2001-05-17 Alan Modra + + * elf32-hppa.c (clobber_millicode_symbols): Temporarily set + ELF_LINK_FORCED_LOCAL to suit 2001-04-30 change. + (hppa_build_one_stub): Add an assert to check plt.offset. + +2001-05-17 H.J. Lu + + * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the + version definition to basename of the output filename. + +2001-05-17 H.J. Lu + + * elflink.h (elf_link_add_object_symbols): Set DT_NEEDED to + basename of the bfd filename. + +2001-05-16 Alan Modra + + * section.c (asection): Add linker_has_input field. + (STD_SECTION): Adjust initialization to suit. + * ecoff.c (bfd_debug_section): Likewise. + * bfd-in2.h: Regenerate. + +2001-05-15 Alexandre Oliva + + * elf-m10300.c (mn10300_elf_relax_section): Don't relax + negative 32-bit operands to 16 operands when the operand is + going to be zero-extended by the modified opcode. + +2001-05-12 Peter Targett + + * cpu-arc.c (arch_info_struct): Add entry 'base' representing old + name for 'arc5' core versions. + (bfd_arc_arch): Make bfd_mach_arc_6 default. + + * elf32-arc.c (arc_elf_object_p): Make E_ARC_MACH_ARC6 default + architecture. + (arc_elf_final_write_processing): Make bfd_mach_arc_6 default. + +2001-05-11 Jakub Jelinek + + * elfxx-ia64.c (is_unwind_section_name): Consider linkonce unwind + sections as well. + (elfNN_ia64_final_write_processing): Map .gnu.linkonce.ia64unw.FOO + to .gnu.linkonce.t.FOO text section. + +2001-05-11 Jakub Jelinek + + * merge.c (struct sec_merge_hash_entry): Add u.entsize and u.suffix + fields, change sec into secinfo. + (struct sec_merge_info): Add chain, remove last fields. + (struct sec_merge_sec_info): Add next, sec, psecinfo fields. + (sec_merge_hash_lookup): If lookup could not use a string only + because it has bad alignment, mark the old string for deletion. + (sec_merge_add): Add secinfo argument. Don't compute entry's + position, instead record the section. + (sec_merge_emit): Update for the sec into secinfo change in + struct sec_merge_hash_entry. + (_bfd_merge_section): Only record the section for merging, defer + putting strings into the hash table. + (cmplengthentry, last4_eq, last_eq, record_section, merge_strings, + _bfd_merge_sections): New functions. + (_bfd_merged_section_offset): Update for the sec_merge_hash_entry + changes. + * libbfd-in.h (_bfd_merge_sections): Add prototype. + (_bfd_nolink_bfd_merge_sections): Define. + * libbfd.h: Likewise. + (bfd_generic_merge_sections): Add prototype. + * targets.c (BFD_JUMP_TABLE_LINK): Add _bfd_merge_sections. + (struct bfd_target): Likewise. + * bfd.c (bfd_merge_sections): Define. + * bfd-in2.h: Rebuilt. + * elf.c (_bfd_elf_merge_sections): New function. + * elf-bfd.h (_bfd_elf_merge_sections): Add prototype. + * elfxx-target.h (bfd_elfNN_bfd_merge_sections): Define. + * reloc.c (bfd_generic_merge_sections): New function. + * vms.c (vms_bfd_merge_sections): New function. + * aout-adobe.c (aout_32_bfd_merge_sections): Define. + * aout-target.h (MY_bfd_merge_sections): Define. + * aout-tic30.c (MY_bfd_merge_sections): Define. + * binary.c (binary_bfd_merge_sections): Define. + * bout.c (b_out_bfd_merge_sections): Define. + * coff-alpha.c (_bfd_ecoff_bfd_merge_sections): Define. + * coffcode.c (coff_bfd_merge_sections): Define. + * coff-mips.c (_bfd_ecoff_bfd_merge_sections): Define. + * i386msdos.c (msdos_bfd_merge_sections): Define. + * i386os9k.c (os9k_bfd_merge_sections): Define. + * ieee.c (ieee_bfd_merge_sections): Define. + * ihex.c (ihex_bfd_merge_sections): Define. + * nlm-target.h (nlm_bfd_merge_sections): Define. + * oasys.c (oasys_bfd_merge_sections): Define. + * ppcboot.c (ppcboot_bfd_merge_sections): Define. + * som.c (som_bfd_merge_sections): Define. + * srec.c (srec_bfd_merge_sections): Define. + * tekhex.c (tekhex_bfd_merge_sections): Define. + * versados.c (versados_bfd_merge_sections): Define. + * xcoff-target.h (_bfd_xcoff_bfd_merge_sections): Define. + +2001-05-11 Nick Clifton + + * dwarf1.c (_bfd_dwarf1_find_nearest_line): Change type of 'addr' + to be unsigned long, in order to match its use. + +2001-05-10 H.J. Lu + + * linker.c (_bfd_generic_link_add_one_symbol): Check loop on + indirect symbols. + +2001-05-09 H.J. Lu + + * elflink.h (elf_link_add_object_symbols): Fix a typo. Allocate + versymhdr->sh_size bytes for extversym instead of hdr->sh_size. + Remove the unused veriable `dynver'. + +2001-05-08 Ian Lance Taylor + + * coff-i386.c (coff_i386_reloc): Don't dump core if output_bfd is + NULL or is not COFF. + (coff_i386_rtype_to_howto): Don't dump core if output section + owner is not COFF. + +2001-05-07 Thiemo Seufer + + * ecoff.c (bfd_debug_section): Fix initialization. + * elf.c (_bfd_elf_slurp_version_tables): Change maxidx to unsigned, it + is always a positive integer. Cast away sign mismatch. + * elf32-mips.c: Fix misleading comment and typo. + (_bfd_mips_elf_section_from_bfd_section): Remove unused attribute, use + correct data type. + * elflink.c: Fix typo. + (_bfd_elf_create_dynamic_sections): Remove superfluous initialization. + * ecoffswap.h (ecoff_swap_fdr_in): Cast away sign mismatch. + +2001-05-04 Richard Henderson + + * elf64-alpha.c (SREL16, SREL32, SREL64): Set pcrel_offset true. + +2001-05-04 Nick Clifton + + * elf32-arm.h (elf32_arm_final_link_relocate): Set + EF_ARM_HASENTRY if the start address is set. + +2001-05-03 Nick Clifton + + * targets.c (_bfd_target_vector_entries): Compute value based on + the size of the _bfd_target_vector and not bfd_target_vector. + +2001-05-03 H.J. Lu + + * elfcode.h: Include "libiberty.h". + + * elflink.h (elf_link_add_object_symbols): Set + elf_dt_name (abfd) to basename of the bfd filename. + (NAME(bfd_elf,size_dynamic_sections)): Set vn_file to basename + of the bfd filename. + +2001-05-03 Andreas Jaeger + + * elf64-gen.c (elf_generic_info_to_howto): Add unused attribute. + (elf_generic_info_to_howto_rel): Likewise. + * coff-alpha.c (reloc_nil): Likewise. + (alpha_ecoff_bad_format_hook): Likewise. + (alpha_adjust_reloc_out): Likewise. + (alpha_bfd_reloc_type_lookup): Likewise. + (alpha_convert_external_reloc): Likewise. + * elf64-alpha.c (elf64_alpha_reloc_nil): Likewise. + (elf64_alpha_reloc_bad): Likewise. + (elf64_alpha_reloc_gpdisp): Likewise. + (elf64_alpha_bfd_reloc_type_lookup): Likewise. + (elf64_alpha_info_to_howto): Likewise. + (elf64_alpha_add_symbol_hook): Likewise. + (elf64_alpha_create_got_section): Likewise. + (elf64_alpha_is_local_label_name): Likewise. + (elf64_alpha_merge_ind_symbols): Likewise. + * elf64-mips.c (mips_elf64_reloc_type_lookup): Likewise. + (mips_elf64_get_reloc_upper_bound): Likewise. + * nlm32-alpha.c (nlm_alpha_mangle_relocs): Likewise. + (nlm_alpha_get_public_offset): Likewise. + +2001-05-02 Johan Rydberg + + * elf32-openrisc.c (openrisc_elf_howto_table): Do not complain + about overflow in R_OPENRISC_LO_16_IN_INSN and + R_OPENRISC_HI_16_IN_INSN.Index: bfd/elf32-openrisc.c + +2001-04-30 H.J. Lu + + * elf.c (_bfd_elf_link_hash_hide_symbol): Set dynindx to -1 + only for ELF_LINK_FORCED_LOCAL. + * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise. + * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise. + * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise. + + * elflink.h (elf_fix_symbol_flags): Set ELF_LINK_FORCED_LOCAL + if the symbol has hidden or internal visibility. + +2001-04-30 Alan Modra + + * elf32-hppa.c (final_link_relocate): Branch to .+8 for + calls to undefined weak symbols. + +2001-04-30 Andreas Jaeger , Andreas Schwab + + * elf64-x86-64.c (elf64_x86_64_relocate_section): Correct test for + R_X86_64_GOTPCREL, don't use assignments instead of comparisons. + +2001-04-27 Andreas Jaeger + + * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Only swap + out handled entries. + (elf64_x86_64_finish_dynamic_symbol): Set up GOT entries. + (elf64_x86_64_relocate_section): Fix GOTPCREL calculation. + (elf64_x86_64_relocate_section): Merge entries for GOTPCREL and + GOT32. + +2001-04-27 Sean McNeil + + * config.bfd: Add arm-vxworks target. + * coff-arm (coff_arm_relocate_section): Add in symbol value to + addend (fro VXworks targets). + +2001-04-26 H.J. Lu + + * elf32-i386.c (elf_i386_check_relocs): Verify if r_symndx is + valid. + +2001-04-25 Frank Ch. Eigler + + * bfd-in.h (bfd_cache_close): Declare newly exported function. + * bfd-in2.h: Regenerated. + +2001-04-24 Jakub Jelinek + + * merge.c (struct sec_merge_hash_entry): Add alignment field. + (struct sec_merge_hash): Remove alignment_power. + (sec_merge_hash_newfunc): Clear alignment. + (sec_merge_hash_lookup): Pass alignment as argument. + Use hashp->root.next, not hashp->next to walk the hash chain. + If a string already in the hashtable does not have required + alignment, create a new hashtable entry. + (sec_merge_init): Remove alignment_power argument. + (sec_merge_add): Add alignment argument. + (sec_merge_emit): Alignment is now a per-entity thing, not per + section. + (_bfd_merge_section): Sanity check even non-SEC_STRINGS sections + for proper alignment. + Pass alignment information to sec_merge_add. + +2001-04-24 Christian Groessler + + * coff-z8k.c (extra_case): added handler for R_DISP7, R_CALLR + and R_REL16 reloc types; accept odd values for R_REL16 type + +2001-04-24 Johan Rydberg + + * cpu-openrisc.c: New file. + * elf32-openrisc.c: Likewise. + + * Makefile.am (ALL_MACHINES): Add cpu-openrisc.lo. + (ALL_MACHINES_CFILES): Add cpu-openrisc.c. + (BFD32_BACKENDS): Add elf32-openrisc.lo. + (BFD32_BACKENDS_CFILES): Add elf32-openrisc.c. + (cpu-openrisc.lo, elf32-openrisc.lo): New rules. + * Makefile.in: Regenerated. + * config.bfd: (openrisc-*-elf): New target. + * configure.in (bfd_elf32_openrisc_vec): New vector. + * configure: Regenerated. + * libbfd.h: Regenerated. + * bfd-in2.h: Regenerated. + * reloc.c: Add OpenRISC relocations. + * targets.c (bfd_elf32_openrisc_vec): Declare. + (bfd_target_vect): Add bfd_elf32_openrisc_vec. + * archures.c (enum bfd_architecture): Add bfd_arch_openrisc. + (bfd_openrisc_arch): Declare. + (bfd_archures_list): Add bfd_openrisc_arch. + * elf.c (prep_headers): Add bfd_arch_openrisc. + +2001-04-23 Bo Thorsen + + * elf64-x86-64.c: Add c++ vtable hack. + Small whitespace and comment changes. + +2001-04-19 Andreas Jaeger + + * elf64-x86-64.c (elf64_x86_64_plt0_entry): Fix instructions. + (elf64_x86_64_plt_entry): Likewise. + (elf64_x86_64_finish_dynamic_sections): Fix PLT0 generation. + (elf64_x86_64_finish_dynamic_symbol): Fix PLT generation. + +2001-04-17 Hans-Peter Nilsson + + * elf32-cris.c: Tweak comments related to dynamic linking. + (cris_elf_relocate_section): When not creating shared object, fill + in the .got table for any symbol not in the dynamic symbol table. + (elf_cris_finish_dynamic_symbol): When not creating shared object, + only emit a .got.rela reloc if the symbol is in the dynamic symbol + table. + (cris_elf_check_relocs): Use variable r_type in all places rather + than the original expression. Add default case in switch for + reloc types. + (elf_cris_size_dynamic_sections): Iterate over + elf_cris_discard_excess_program_dynamics when not creating shared + library. + (elf_cris_discard_excess_dso_dynamics): Renamed from + elf_cris_discard_copies. Correct typo, s/Rel/Rela/. + (elf_cris_discard_excess_program_dynamics): New. + +2001-04-14 Mark Elbrecht + + * coffcode.h (coff_write_object_contents): Use + bfd_coff_swap_filehdr_out instead of coff_swap_filehdr_out. + +2001-04-14 H.J. Lu + + * bfd-in2.h: Regenerate. + +2001-04-14 Jakub Jelinek + + * section.c (STD_SECTION): Add entsize. + +2001-04-13 H.J. Lu + + * section.c (SEC_MERGE): Define new flag for merging. + (SEC_STRINGS): Likewise. + (entsize): New field. + +2001-04-13 Roger Sayle + + * coff-i386.c (TARGET_SYM): SEC_READONLY is an applicable section + flag on pe-i386 targets. + +2001-04-13 Jakub Jelinek + + * libbfd-in.h (_bfd_merge_section): New. + (_bfd_write_merged_section): New. + (_bfd_merged_section_offset): New. + * libbfd.h: Rebuilt. + * linker.c (_bfd_generic_link_output_symbols): Handle + discard_sec_merge. + * aoutx.h (aout_link_write_symbols): Likewise. + * pdp11.c (aout_link_write_symbols): Likewise. + * elflink.h (elf_link_add_object_symbols): Call _bfd_merge_section. + (elf_bfd_final_link): Adjust global symbols pointing into SEC_MERGE + sections. + (elf_link_sec_merge_syms): New. + (elf_link_input_bfd): Call _bfd_merged_section_offset + and _bfd_write_merged_section. + Handle discard_sec_merge. + * elf-bfd.h (struct elf_link_hash_table): Add merge_info + field. + (struct bfd_elf_section_data): Likewise. + * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_MERGE and + SEC_STRINGS section flags and entsize from their ELF counterparts. + (_bfd_elf_link_hash_table_init): Initialize merge_info. + (elf_fake_sections): Set SHF_MERGE, SHF_STRINGS and sh_entsize + from their BFD counterparts. + * merge.c: New file. + * Makefile.am: Add strtab.lo. + * Makefile.in: Rebuilt. + +2001-04-09 Hans-Peter Nilsson + + * elflink.h (elf_fix_symbol_flags): For non-default visibilities, + only hide symbols marked STV_INTERNAL or STV_HIDDEN. + +2001-04-05 Steven J. Hill + + * config.bfd (mips*el*-*-linux-gnu*): Use traditional little + endian MIPS ELF target. + * config.bfd (mips*-*-linux-gnu*): Use traditional big endian + MIPS ELF target. + + * configure.in (bfd_elf64_tradbigmips_vec): New. Traditional + 64bit big endian MIPS ELF target. + (bfd_elf64_tradlittlemips_vec): New. Traditional 64bit little + endian MIPS ELF target. + * configure: Regenerated. + + * elf32-mips.c (IRIX_COMPAT): Handle traditional 64bit and + little endian targets. + (mips_elf_sym_is_global): Handle traditional targets. + + * elf64-mips.c (bfd_elf64_tradbigmips_vec): New. Traditional + 64bit big endian MIPS ELF target. + (bfd_elf64_tradlittlemips_vec): New. Traditional 64bit little + endian MIPS ELF target. + + * targets.c: (_bfd_target_vector): Add bfd_elf64_tradbigmips_vec + and bfd_elf64_tradlittlemips_vec. + +2001-04-05 David Mosberger + + * elf32-i386.c (elf_i386_fake_sections): Treat ".reloc" as an + ordinary "progbits" section. + +2001-04-04 Alan Modra + + * elflink.h (elf_fix_symbol_flags): Call elf_backend_hide_symbol + when -Bsymbolic causes a symbol to no longer need a .plt entry. + +2001-04-03 David Mosberger + + * efi-app-ia32.c (ALIGN_SECTIONS_IN_FILE): Deleted. + +2001-03-30 H.J. Lu + + * efi-app-ia32.c (PEI_TARGET_SUBSYSTEM): Rename from ... + (PEI_DEFAULT_TARGET_SUBSYSTEM): This. + +2001-03-26 H.J. Lu + + * elf32-gen.c (elf32_generic_link_add_symbols): New. Check + if there are any relocations for generic ELF. + (bfd_elf32_bfd_link_add_symbols): Defined to + elf32_generic_link_add_symbols. + * elf64-gen.c (elf64_generic_link_add_symbols): New. Check + if there are any relocations for generic ELF. + (bfd_elf64_bfd_link_add_symbols): Defined to + elf64_generic_link_add_symbols. + +2001-03-23 Nick Clifton + + * Makefile.am (BUILD_CFILES): New variable: List of C source + files created in build directory. + (BUILD_HFILES): New variable: List of header files created in + build directory. + (POTFILES): Delete. + (po/POTFILES.in): Replace rule with empty entry. + (po/SRC-POTFILES.in): New rule: Create a list of source files + in the source directory. + (po/BLD-POTFILES.in): New rule: Create a list of source files + in the build directory. + (MOSTLYCLEAN): Do not delete source files created in build + directory. + * Makefile.in: Regenerate. + * configure.in: Insert SRC-POTFILES.in and BLD-POTFILES.in + into po/Makefile. + * configure: Regenerate. + + * po/Make-in: Replace occurrences of POTFILES with SRC-POTFILES + and BLD_POTFILES. + Add .. to the search path when building bfd.pot. + Delete POTFILES when performing distclean. + Add comment describing why distclean is broken in maintainer mode. + * po/POTFILES.in: Delete. + * po/SRC-POTFILES.in: New file. + * po/BLD-POTFILES.in: New file. + * po/bfd.pot: Regenerate. + +2001-03-22 Hans-Peter Nilsson + + * elf32-cris.c: Shlib and PIC support. PCREL tweaks. + (elf_cris_discard_copies, elf_cris_adjust_gotplt_to_got, + elf_cris_try_fold_plt_to_got, elf_cris_link_hash_newfunc, + elf_cris_link_hash_table_create, elf_cris_adjust_dynamic_symbol, + elf_cris_size_dynamic_sections, elf_cris_finish_dynamic_symbol, + elf_cris_finish_dynamic_sections,elf_cris_hide_symbol): New + functions. + (cris_elf_howto_table) : Correct comments. Set pcrel_offset to false. + : + New HOWTO members for new relocs. + (cris_reloc_map): Map new relocs. + (ELF_DYNAMIC_INTERPRETER): Define. + (PLT_ENTRY_SIZE): Define. + (elf_cris_plt0_entry, elf_cris_plt_entry, elf_cris_pic_plt0_entry, + elf_cris_pic_plt_entry): New, PLT templates. + (struct elf_cris_pcrel_relocs_copied, struct + elf_cris_link_hash_entry, struct elf_cris_link_hash_table): New. + (elf_cris_link_hash_traverse, elf_cris_hash_table): Define. + (cris_final_link_relocate): Check that 16-bit GOT relocs have + positive values. Adjust PCREL relocs to be relative to location + after relocation. + (cris_elf_relocate_section): Handle relocations to dynamic + objects. Handle new relocations. Call error handler when seeing + non-PIC relocation for read-only sections while generating shared + object. + (cris_elf_check_relocs): Set reference counts for GOT and PLT + entries. + (bfd_elf32_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_create_dynamic_sections, bfd_elf32_bfd_final_link, + elf_backend_hide_symbol, 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. + + * reloc.c: (BFD_RELOC_CRIS_COPY, BFD_RELOC_CRIS_GLOB_DAT, + BFD_RELOC_CRIS_JUMP_SLOT, BFD_RELOC_CRIS_RELATIVE, + BFD_RELOC_CRIS_32_GOT, BFD_RELOC_CRIS_16_GOT, + BFD_RELOC_CRIS_32_GOTPLT, BFD_RELOC_CRIS_16_GOTPLT, + BFD_RELOC_CRIS_32_GOTREL, BFD_RELOC_CRIS_32_PLT_GOTREL, + BFD_RELOC_CRIS_32_PLT_PCREL): New relocs. + * bfd-in2.h, libbfd.h: Regenerate. + +2001-03-21 Diego Novillo + + (_bfd_mips_elf_relocate_section): Give a better error message when + a relocation is not recognized. + +2001-03-21 Alan Modra + + * elf32-hppa.c (elf32_hppa_set_gp): Check sec->output_section + non-NULL before attempting to dereference. + +2001-03-20 H.J. Lu + + * configure.in: Remove the redundent AC_ARG_PROGRAM. + * configure: Rebuild. + +2001-03-20 Andreas Schwab + + * elf32-m68k.c (elf_m68k_relocate_section): Don't need the + relocation value when resolving a reference from a debugging + section. + +2001-03-16 Scott Thomason + + * coff64-rs6000.c (xcoff64_swap_sym_out): Fix syntax errors. + (xcoff64_swap_sym_out): Fix syntax errors. + +2001-03-16 Richard Sandiford + + * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix warning. + +2001-03-15 Alan Modra + + * elf32-hppa.c (elf32_hppa_link_hash_entry): Add maybe_pic_call. + (hppa_link_hash_newfunc): Init it. + (hppa_type_of_stub): Only use non-PIC to PIC call stub if caller + section appears to be non-PIC. + (final_link_relocate): Likewise. + (elf32_hppa_adjust_dynamic_symbol): Set maybe_pic_call for any + possible candidate function, and set pic_call for those that will + only have a .plt entry for the PIC call stub. + (hppa_handle_PIC_calls): Set maybe_pic_call. + +2001-03-12 DJ Delorie + + * elf32-sh.c (sh_elf_relocate_section): Only relocation + R_SH_DIR8WP* relocs if they're against external symbols, else + they're just for relaxing. Validate the reloc values. + +2001-03-12 Stefan Geuken + + * binary.c (bfd_external_binary_architecture): Declare. + (binary_object_p): If bfd_external_binary_architecture is defined, + set the architecture to this string. + +2001-03-11 Philip Blundell + + * elf32-arm.h (elf32_arm_finish_dynamic_symbol): Don't make PLT + entries that could serve as a definition for a weak symbol. + +2001-03-08 Nick Clifton + + * Most files: Update copyright notices using Perl script created + by Kevin Buettner . + +2001-03-07 Nick Clifton + + * elf32-arm.h (elf32_arm_final_link_relocate): Conditionalise + prior patch on ! defined OLD_ARM_ABI. + +2001-03-07 Andreas Jaeger + + * elf64-x86-64.c (elf64_x86_64_relocate_section): Fix handling of + some relocation values. + +2001-03-06 Nick Clifton + + * elf32-arm.h (elf32_arm_final_link_relocate): Clear bit zero + of offset in BLX(1) instruction. + * coff-arm.c (coff_arm_relocate_section): Clear bit zero of + offset in BLX(1) instruction. + Fix formatting. + +2001-03-06 Nick Clifton + + * coff-arm.c (coff_arm_reloc_type_lookup): Add + BFD_RELOC_THUMB_PCREL_BLX. + +2001-03-06 Igor Shevlyakov + + * archures.c (bfd_default_scan): Add Coldfire CPUs. + * bfd-in2.h: Regenerate. + * cpu-m68k.c: Add Coldfire CPUs for arch table. + * ieee.c (ieee_write_processor): Set proper id for + Coldfire CPUs. + +2001-03-01 D.J. Barrow + + * configure.in: Add s390 target. + * configure: Regenerate. + +2001-02-28 Andreas Jaeger + + * elf64-x86-64.c (elf64_x86_64_relocate_section): Add relocation + to addend. + +2001-02-28 Philip Blundell + + * elf32-arm.h: Update mentions of renamed EF_xx constants. + (elf32_arm_print_private_bfd_data): Handle ARM EABI version 2. + +2001-02-27 H.J. Lu + + * aoutx.h (NAME(aout,bfd_free_cached_info)): Return true if + abfd->tdata.aout_data == NULL. + +2001-02-27 Alan Modra + + * elf32-hppa.c: Correct field selector in stub comments. + (clobber_millicode_symbols): Formatting fix. + + * configure.in: Bump version to 2.11.90. + * configure: Regenerate. + * Makefile.am (CFILES): Rename to SOURCE_CFILES. + (CFILES): $SOURCE_CFILES + generated C files. + (POTFILES): Include $HFILES not $SOURCE_HFILES. + Run "make dep-am" + * Makefile.in: Regenerate. + * doc/Makefile.in: This too. + +2001-02-26 Timothy Wall + + * elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Remove obsolete + comments. + +2001-02-26 Nick Clifton + + * coffcode.h (styp_to_sec_flags) [COFF_WITH_PE version]: Tidy + up, replacing multiple if statements with a switch. + (handle_COMDAT): New function. + +2001-02-26 H.J. Lu + + * coffcode.h (styp_to_sec_flags) [COFF_WITH_PE version]: Issue + a warning for section flags we do not handle instead of + aborting. + +2001-02-26 Andreas Jaeger + + * elf64-x86-64.c (x86_64_elf_howto_table): Fix order of entries. + +2001-02-22 Timothy Wall + + * config.bfd (targ_cpu): Add vectors for ia64-*-aix* (aka Monterey). + * configure.in: Add objects for elf64_ia64_aix vectors. + * configure: Regenerated. + * configure.host: Recognize ia64-*-aix*. + * elfxx-ia64.c: Add hooks for ELF64 on AIX5. Define new vectors + for AIX. AIX5 requires most relocations to be dynamic (*all* + binaries are somewhat similar to shared libraries). + * targets.c: Add elf64_ia64_aix vectors. + +2001-02-21 David Mosberger + + * cpu-ia64-opc.c (elf64_ia64_operands}: Fix typo: error string for + C8 said "1" instead of "8". Clarify error string for IMM22: + "signed integer" instead of just "integer". + +2001-02-20 Andreas Jaeger + + * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Don't make + PLT entries that could serve as a definition for a weak symbol. + +2001-02-19 Jakub Jelinek + + * elf32-sparc.c (elf32_sparc_finish_dynamic_symbol): Don't make PLT + entries that could serve as a definition for a weak symbol. + * elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Likewise. + +2001-02-18 David O'Brien + + * configure.in: Recognize FreeBSD/arm, FreeBSD/PowerPC, and treat + FreeBSD/i386-CURRENT differently until I can figure out the needed + corefile changes. + * configure: Regenerate. + * config.bfd: Recognize FreeBSD/x86-64, FreeBSD/ia64, FreeBSD/arm, + FreeBSD/PowerPC, and FreeBSD/sparc64. + +2001-02-18 lars brinkhoff + + * Makefile.am: Add PDP-11 a.out target. + * config.bfd: Likewise. + * configure.in: Likewise. + * targets.c: Likewise. + * archures.c: Likewise. + * bfd-in2.h: Likewise. Add PDP-11 relocations. + * libbfd.h: Add PDP-11 relocations. + * reloc.c: Likewise. + * cpu-pdp11.c: New file. + * pdp11.c: New file. + + * libaout.h (GET_WORD) [ARCH_SIZE==16]: Define. + (GET_SWORD) [ARCH_SIZE==16]: Likewise. + (GET_SWORD) [ARCH_SIZE==16]: Likewise. + (PUT_WORD) [ARCH_SIZE==16]: Likewise. + (GET_MAGIC): New macro. + (PUT_MAGIC): Likewise. + * aout-target.h (MY(object_p)): Use GET_MAGIC to read magic word. + +2001-02-18 Jim Kingdon + + * irix-core.c (irix_core_core_file_p): Set the architecture (GDB + multiarch needs it). + +2001-02-18 H.J. Lu + + * elflink.h (elf_link_input_bfd): Ignore invalid section symbol + index. + +2001-02-18 Kazu Hirata + + * vms-misc.c: Fix formatting. + +2001-02-16 Kazu Hirata + + * vms.c: Fix formatting. + +2001-02-14 H.J. Lu + + * elf.c (elf_find_function): New function. + (_bfd_elf_find_nearest_line): Call elf_find_function () to find + the file name and function name. + +2001-02-14 Nick Clifton + + * ecoff.c (bfd_debug_section): Update to initialise new fields in + asection structure. + + * Makefile.am (BFD32_BACKENDS_CFILES): Remove peigen.c + (BFD64_BACKENDS): Add pepigen.c + Add rules to create peigen.c and pepigen.c from peXXigen.c. + + * Makefile.in: Regenerate. + * configure: Regenerate. + * po/POTFILES.in: Regenerate. + * po/bfd.pot: Regenerate. + +2001-02-14 H.J. Lu + + * libcoff-in.h (pe_tdata): Add members target_subsystem and + force_minimum_alignment. + +2001-02-14 Bo Thorsen + + * elf64-x86-64.c: Small formatting fixes and rearrangements of code. + (elf64_86_64_size_info): Struct added to fix a problem + with the hashtable string entries. + (elf64_x86_64_adjust_dynamic_symbol): Add generation of .got.plt. + (elf64_x86_64_size_dynamic_sections): A FIXME removed. + (elf64_x86_64_size_dynamic_sections): Fix a dynamic entry and + remove the FIXME for this. + (elf64_x86_64_adjust_dynamic_symbol): Fix check for unneeded .plt + section. Also removed the FIXME for it. + (x86_64_elf_howto_table): Use bfd_elf_generic_reloc. + (ELF_DYNAMIC_INTERPRETER): Fix the name of the dynamic linker. + (elf64_x86_64_finish_dynamic_sections): Enable .got.plt writing. + +2001-02-13 Richard Henderson + + * elfxx-ia64.c (elfNN_ia64_final_link): Set __gp if required + and not user provided. + +2001-02-13 Kazu Hirata + + * vms.c (vms_print_symbol): Remove unreachable code. + + * rs6000-core.c: Fix formatting. + +2001-02-13 David Mosberger + + * peicode.h (coff_swap_filehdr_out) [COFF_IMAGE_WITH_PE]: Define + as _bfd_XXi_only_swap_filehdr_out. + (pe_mkobject) [PEI_FORCE_MINIMUM_ALIGNMENT]: Set + pe->force_minimum_alignment to TRUE. + (pe_mkobject) [PEI_TARGET_SUBSYSTEM]: Set pe->target_subsystem to + PEI_TARGET_SUBSYSTEM. + (pe_print_private_bfd_data): Call + _bfd_XX_print_private_bfd_data_common() instead of + _bfd_pe_print_private_bfd_data_common(). + (pe_bfd_copy_private_bfd_data): Call + _bfd_XX_bfd_copy_private_bfd_data_common() instead of + _bfd_pe_bfd_copy_private_bfd_data_common(). + (coff_bfd_copy_private_section_data): Define as + _bfd_XX_bfd_copy_private_section_data instead of + _bfd_pe_bfd_copy_private_section_data. + (coff_get_symbol_info): Define as _bfd_XX_get_symbol_info instead + of a _bfd_pe_get_symbol_info. + + * peigen.c: Delete. + + * peXXigen.c: Renamed from peigen.c. + (COFF_WITH_XX): Define this macro (will get expanded into + COFF_WITH_pep or COFF_WITH_pe, depending on whether this is being + compiled as peigen.c or pepigen.c. + [COFF_WITH_pep]: Include "coff/ia64.h" instead of "coff/i386.h" to + define the canonical PEP structures and definitions. + (_bfd_XXi_swap_aouthdr_out): If pe->force_minimum_alignment is in + effect, enforce minimum file and section alignments. If + extra->Subsystem is IMAGE_SUBSYSTEM_UNKNOWN, set it to + pe->target_subsystem (this defaults to IMAGE_SUBSYSTEM_UNKNOWN, + so, by default, this is a no-op). + + * libpei.h: Rename COFF_WITH_PEP to COFF_WITH_pep. + (_bfd_XX_bfd_copy_private_bfd_data_common): Add macros to map + _bfd_XXfoo to _bfd_pepfoo if COFF_WIT_PEP is defined and to + _bfd_pefoo if it's not defined. Use these macros to define + coff swap macros. + + * libcoff.h (pe_tdata): Add members target_subsystem and + force_minimum_alignment. + + * efi-app-ia64.c (COFF_WITH_pep): Rename COFF_WITH_PEP to + COFF_WITH_pep. + (PEI_TARGET_SUBSYSTEM): Rename from PEI_DEFAULT_TARGET_SUBSYSTEM. + + * configure.in (bfd_efi_app_ia64_vec): Use pepigen.lo instead of + peigen.lo. + + * coff-ia64.c: Rename COFF_WITH_PEP to COFF_WITH_pep. + (AOUTSZ): Rename PEP64AOUTSZ and PEP64AOUTHDR to PEPAOUTSZ and + PEPAOUTHDR. + + * Makefile.in (BFD64_BACKENDS): Mention pepigen.lo. + (BFD64_BACKENDS_CFILES): Mention pepigen.c + (peigen.c): Add rule to generate from peXXigen.c. + (pepigen.c): Ditto. + (pepigen.lo): List dependencies for pepigen.lo. + +2001-02-13 Alan Modra + + * elf32-hppa.c (elf32_hppa_set_gp): Handle weak $global$. If + $global$ referenced but not defined, set its value here. + +2001-02-09 Bo Thorsen + + * elf64-x86-64.c (elf64_x86_64_check_relocs): Set .rela.got section + alignment to 3. + (elf64_x86_64_check_relocs): Write R_X86_64_GOTPCREL GOT entry + and relocation. + (elf64_x86_64_relocate_section): Fix formatting. + (elf64_x86_64_relocate_section): Fix addend for relocation of + R_X86_64_(8|16|32|PC8|PC16|PC32). + +2001-02-12 Jan Hubicka + + * elf64-x86-64.c (x86_64_elf_howto): Fix name of R_X86_64_GOTPCREL. + +2001-02-11 H.J. Lu + + * elflink.h (elf_bfd_final_link): Use file_align for SYMTAB + alignment. + +2001-02-11 Maciej W. Rozycki + + * elf32-mips.c (mips_elf_create_dynamic_relocation): Undo patch + from 2000-10-13. Do not add the symbol's value for R_MIPS_REL32 + relocations against dynsym symbols. + + * elf32-mips.c (elf_mips_howto_table): Fix the comment on + the R_MIPS_26 relocation. + (mips_elf_calculate_relocation): Use (p + 4) instead of p for + the R_MIPS_26 relocation. + (mips_elf_perform_relocation): Fix the comment on the R_MIPS16_26 + relocation. + * elf64-mips.c (mips_elf64_howto_table_rel): Fix the comment on + the R_MIPS_26 relocation. + (mips_elf64_howto_table_rela): Likewise. + + * elf32-mips.c (struct mips_elf_link_hash_entry): Added no_fn_stub + member to mark symbols that have non-CALL relocations against + them. + (mips_elf_link_hash_newfunc): Initialize no_fn_stub. + (mips_elf_calculate_relocation): Handle R_MIPS_CALL16 like + R_MIPS_GOT16. + (_bfd_mips_elf_check_relocs): Set no_fn_stub for a symbol if a + non-CALL relocation against it is encountered. + (_bfd_mips_elf_copy_indirect_symbol): Merge no_fn_stub as well. + (_bfd_mips_elf_adjust_dynamic_symbol): Only create a stub if + no_fn_stub is not set. + + * elf32-mips.c (mips_elf_output_extsym): Get the output section + information from the real symbol for indirect ones. + Check no_fn_stub to find out if a symbol has a function stub + indeed. + +2001-02-11 Michael Sokolov + + * Makefile.am (stamp-lib): ranlib the libbfd.a in the build directory. + * Makefile.in: Regenerate. + +2001-02-09 David Mosberger + + * elfxx-ia64.c (is_unwind_section_name): New function. Returns + true if section name is an unwind table section name. + (elfNN_ia64_additional_program_headers): Count each unwind section + separately. + (elfNN_ia64_modify_segment_map): Install one unwind program header + for each unwind separate section. Note: normally the linker + script merges the unwind sections that go into a single segment, + so this still generates at most one unwind program header per + segment. + + * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Accept any section + name for SHT_IA_64_UNWIND, not just .IA_64.unwind. + (elfNN_ia64_fake_sections): Mark sections with names that start + with .IA_64.unwind but not with .IA_64.unwind_info as an IA-64 + unwind section. + + * elfxx-ia64.c (elfNN_ia64_final_write_processing): New function. + Use it to make sh_info in unwind section point to the text section + it applies to. + +2001-02-09 Martin Schwidefsky + + * Makefile.am: Add linux target for S/390. + * archures.c: Likewise. + * bfd-in2.h: Likewise. + * config.bfd: Likewise. + * configure.in: Likewise. + * elf.c: Likewise. + * libbfd.h: Likewise. + * targets.c: Likewise. + * cpu-s390.c: New file. + * elf32-s390.c: New file. + * elf64-s390.c: New file. + +2001-02-09 Nick Clifton + + * peigen.c (_bfd_pe_get_symbol_info): Suppress addition of + ImageBase. This has already been done by coff_swap_hdr_in. + +2001-02-09 Jakub Jelinek + + * elf64-sparc.c (sparc64_elf_copy_private_bfd_data): New function. + +2001-02-09 Jakub Jelinek + + * elf64-sparc.c (sparc64_elf_check_relocs): Don't trust reloc_count. + (sparc64_elf_relocate_section): Likewise. + +2001-02-09 Mark Kettenis + + * elf32-sparc.c (_bfd_sparc_elf_howto_table): Treat R_SPARC_UA32 + similar to R_SPARC_32. + * elf64-sparc.c (sparc64_elf_howto_table): Likewise. + +2001-02-08 H.J. Lu + + * elf32-i386.c (elf_i386_check_relocs): Reserve R_386_PC32 + relocation entries for weak definitions when building DSO with + -Bsymbolic. + +2001-02-08 Richard Henderson + + * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Respect weakness + before visibility. Locally defined protected symbols are not + dynamic. + +2001-02-08 Geoffrey Keating + + * config.bfd: Enable coff64 for rs6000-*. Patch from + . + +2001-02-07 Mark Elbrecht + + * coffgen.c (coff_find_nearest_line): If stabs info is successfully + found, do not attempt to find dwarf2 info before returning. + +2001-02-07 Jakub Jelinek + + * elflink.h (is_global_symbol_definition): Rename to + is_global_data_symbol_definition and have it reject function + symbols. + (elf_link_is_defined_archive_symbol): Use renamed function. + +2001-02-07 Todd Vierling + + * libbfd-in.h (bfd_target_vector): Change extern array to pointer. + * libbfd.h (bfd_target_vector): Likewise. + * targets.c (bfd_target_vector): Rename to _bfd_target_vector and + make static; create pointer reference named bfd_target_vector. + (_bfd_target_vector_entries): Calculate this based on the array + typed _bfd_target_vector. + +2001-02-06 H.J. Lu + + * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Only hidden and + internal symbols are not dynamic. + * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise. + +2001-02-06 Nick Clifton + + * Makefile.am (BFD64_BACKENDS_CFILES): Remove elf64-ia64.c, so + that it will not be pulled into the list of files that make up + po/POTFILES.in. + * Makefile.in: Regenerate. + * po/bfd.pot: Regenerate. + +2001-02-06 H.J. Lu + + * peicode.h (coff_swap_filehdr_in): Remove the e_magic + checking. + (pe_bfd_object_p): Rewrite with external_PEI_DOS_hdr and + external_PEI_IMAGE_hdr. + +2001-02-06 Kazu Hirata + + * elf-m10200.c: Fix formatting. + +2001-02-04 Nick Clifton + + * elf32-v850.c (v850_elf_reloc): Do not convert reloc addend to PC + rel, it will be handled later on. + +2001-02-02 Fred Fish + + * Makefile.in: Fix typo. + +2001-02-01 Kazu Hirata + + * elf-m10300.c: Fix formatting. + +2001-01-30 Alan Modra + + * elf64-hppa.c (elf64_hppa_elf_get_symbol_type): New function. + (elf_backend_get_symbol_type): Define. + (elf64_hppa_object_p): Set architecture and machine from elf + header flags. + +2001-01-30 Curtis L. Janssen + + * elf64-alpha.c (elf64_alpha_find_nearest_line): Query dwarf2 + before mdebug. + +2001-01-26 Richard Henderson + + * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Return false + for non-default visibility. + * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise, but + delete ugly macro and replace with pretty function. + +2001-01-25 Mark Elbrecht + + * coff-go32.c: Update copyright. + * coff-stgo32.c: Likewise. + * coff-go32.c (COFF_LONG_FILENAMES): Define. + * coff-stgo32.c (COFF_LONG_FILENAMES): Likewise. + * coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Remove .bss entry. + * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise. + +2001-01-25 Kazu Hirata + + * bfd-in2.h: Rebuild. + * libbfd.h: Likewise. + +2001-01-23 H.J. Lu + + * bfd-in2.h: Rebuild. + +2001-01-23 H.J. Lu + + * vms-misc.c (_bfd_vms_next_record): Return -1 if PRIV(vms_buf) + is NULL or PRIV(vms_rec) is outside of the buffer. + +2001-01-23 Kazu Hirata + + * coff64-rs6000.c: Fix formatting. + * coff-arm.c: Likewise. + * coffgen.c: Likewise. + * cofflink.c: Likewise. + * coff-mcore.c: Likewise. + * coff-mips.c: Likewise. + * coff-pmac.c: Likewise. + * coff-ppc.c: Likewise. + * coff-rs6000.c: Likewise. + * elf32.c: Likewise. + * elf32-fr30.c: Likewise. + * elf32-i370.c: Likewise. + * elf32-i860.c: Likewise. + * elf32-m32r.c: Likewise. + * elf32-m68k.c: Likewise. + * elf32-mcore.c: Likewise. + * elf32-ppc.c: Likewise. + * elf32-sh.c: Likewise. + * elf32-v850.c: Likewise. + * elf64-alpha.c: Likewise. + * elf64-sparc.c: Likewise. + * elflink.c: Likewise. + * elflink.h: Likewise. + * elf-m10200.c: Likewise. + * elf-m10300.c: Likewise. + * elfxx-ia64.c: Likewise. + + * aoutx.h: Fix formatting. + * bfd.c: Likewise. + * bfd-in2.h: Likewise. + * bfd-in.h: Likewise. + * cpu-i386.c: Likewise. + * cpu-m68hc11.c: Likewise. + * dwarf2.c: Likewise. + * elf64-x86-64.c: Likewise. + * format.c: Likewise. + * freebsd.h: Likewise. + * hash.c: Likewise. + * hp300hpux.c: Likewise. + * hppabsd-core.c: Likewise. + * hpux-core.c: Likewise. + +2001-01-22 Bo Thorsen + + * elf64-x86-64.c: Added PIC support for X86-64. + (elf64_x86_64_link_hash_newfunc): Function added. + (elf64_x86_64_link_hash_table_create): Likewise. + (elf64_x86_64_check_relocs): Likewise. + (elf64_x86_64_gc_mark_hook): Likewise. + (elf64_x86_64_gc_sweep_hook): Likewise. + (elf64_x86_64_adjust_dynamic_symbol): Likewise. + (elf64_x86_64_size_dynamic_sections): Likewise. + (elf64_x86_64_discard_copies): Likewise. + (elf64_x86_64_finish_dynamic_symbol): Likewise. + (elf64_x86_64_finish_dynamic_sections): Likewise. + (elf64_x86_64_relocate_section): Add relocation of PIC sections. + +2001-01-21 Maciej W. Rozycki + + * Makefile.am (install-data-local): Make use of $(DESTDIR). + * Makefile.in: Regenerate. + +2001-01-21 Kazu Hirata + + * coff-a29k.c: Fix formatting. + +2001-01-19 H.J. Lu + + * elf32-i386.c (elf_i386_check_relocs): Report files with bad + relocation section names. + (elf_i386_relocate_section): Report files with bad relocation + section names and return false. + +2001-01-17 Bo Thorsen + + * targets.c: Alphabetize list of xvecs. + +2001-01-14 Alan Modra + + * config.bfd: Add linux target variant for elfxx-hppa. + * configure.in: Recognize bfd_elf32_hppa_linux_vec and + bfd_elf64_hppa_linux_vec. + * configure: Regenerate. + * elf64-hppa.c: Include elf64-target.h again to support linux + target variant. + (elf64_hppa_post_process_headers): Set ELFOSABI_LINUX for linux. + * elf32-hppa.c: Include elf32-target.h again to support linux + target variant. + (elf32_hppa_post_process_headers): New function. + (elf_backend_post_process_headers): Define. + * targets.c (bfd_target_vector): Add bfd_elf64_hppa_linux_vec and + bfd_elf32_hppa_linux_vec. + + * elf32-hppa.c (elf32_hppa_link_hash_table): Add text_segment_base, + and data_segment_base fields. + (elf32_hppa_link_hash_table_create ): Init them. + (elf32_hppa_check_relocs): Update comments. + (hppa_record_segment_addr): New function. + (elf32_hppa_relocate_section): Call it. + (final_link_relocate): Handle R_PARISC_SEGREL32. + (elf32_hppa_final_link): New function. + (bfd_elf32_bfd_final_link): Define to call it. + (hppa_unwind_entry_compare): New function. + * cache.c (bfd_open_file): Create files in write+read mode. + + * elf-hppa.h (elf_hppa_howto_table): Set bitsize value for + SEGREL32 and numerous other relocs. Change duplicate + R_PARISC_NONE relocs to R_PARISC_UNIMPLEMENTED. + + * opncls.c (bfd_fdopenr): Add parens like the comment says around + O_ACCMODE. + + * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Don't create + .plt entries for DT_INIT and DT_FINI. + (elf32_hppa_finish_dynamic_sections): Remove special handling of + DT_INIT and DT_FINI. + + * elf64-hppa.c (elf64_hppa_finish_dynamic_symbol): Use 16-bit + offsets for stub .plt access if wide mode. Check offset in range. + +2001-01-13 Nick Clifton + + * elf32-fr30.c (fr30_elf_howto_table): Remove spurious blank + line. + + * coffcode.h (coff_canonicalize_reloc): Remove spurious blank + line. + +2001-01-12 Alan Modra + + * configure.in ([bfd_elf64_x86_64_vec]): Set target64. + * configure: Regenerate. + +2001-01-11 Peter Targett + + * bfd-in2.h (bfd_architecture): Add bfd_mach_arc_5, + bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8 for ARC variants. + * cpu-arc.c (arch_info_struct): Add entries for variants. + (bfd_arc_arch) Set default to bfd_mach_arc_5. + (arc_get_mach) Don't assume machine names prefixed arc- before + testing. + * elf32-arc.c (arc_elf_object_p): Set machine number based on new + selections. + (arc_elf_final_write_processing) Likewise. + (ELF_MACHINE_CODE) Use EM_ARC. + +2001-01-10 Nick Clifton + + * coff-arm.c (LOCAL_LABEL_PREFIX): Change definition to "". + +2001-01-07 Philip Blundell + + * README: Replace `bug-gnu-utils@gnu.org' with + `bug-binutils@gnu.org'. + +2001-01-04 Kazu Hirata + + * som.c: Fix formatting. + +2001-01-03 Kazu Hirata + + * ecoffswap.h: Fix formatting. + * elf-bfd.h: Likewise. + * elfarm-nabi.c: Likewise. + * elfarm-oabi.c: Likewise. + * elfcode.h: Likewise. + * elfcore.h: Likewise. + * elflink.c: Likewise. + * elflink.h: Likewise. + * elfxx-ia64.c: Likewise. + * elfxx-target.h: Likewise. + * libbfd.c: Likewise + * linker.c: Likewise. + * lynx-core.c: Likewise. + +2001-01-02 Kazu Hirata + + * pc532-mach.c: Fix formatting. + * pe-arm.c: Likewise. + * pe-i386.c: Likewise. + * pe-mips.c: Likewise. + * pe-ppc.c: Likewise. + * pe-sh.c: Likewise. + * pei-mips.c: Likewise. + * pei-sh.c: Likewise. + * peicode.h: Likewise. + * ppcboot.c: Likewise. + * ptrace-core.c: Likewise. + +2001-01-01 Kazu Hirata + + * reloc.c: Fix formatting. + * riscix.c: Likewise. + * rs6000-core.c: Likewise. + * xcoff-target.h: Likewise. + +2000-12-29 Hans-Peter Nilsson + + * elfcode.h (elf_object_p): Also restore the bfd mach field on + error, by calling bfd_default_set_arch_mach with incoming + values. + +2000-12-26 Kazu Hirata + + * vaxnetbsd.c: Fix formatting. + * versados.c: Likewise. + * vms-gsd.c: Likewise. + * vms-hdr.c: Likewise. + * vms-misc.c: Likewise. + +2000-12-25 Alexandre Oliva + + * archive.c (coff_write_armap): Don't write more than symbol_count + `archive_member_file_ptr's. + +2000-12-25 Kazu Hirata + + * vms-tir.c: Fix formatting. + +2000-12-23 Kazu Hirata + + * vms.c: Fix formatting. + * vms.h: Likewise. + +2000-12-21 Santeri Paavolainen + + * vms-hdr.c: Include alloca.h if HAVE_ALLOCA_H is defined. + + * peicode.h (pe_ILF_object_p): Add const to import of TARGET_LITTLE_SYM. + + * elf32-m32r.c (m32r_elf_generic_reloc): Add cast to avoid (void *) + arithmetic. + + * elf32-fr30.c: Add casts to avoid (void *) arithmetic. + + * coffcode.h (styp_to_sec_flags): Add empty statement after label. + +2000-12-21 Richard Sandiford + + * libbfd.c (bfd_get_bits): Added + (bfd_put_bits): Likewise + * bfd-in.h: Declared the above. + * bfd-in2.h: Regenerated. + +2000-12-20 Kazu Hirata + + * targets.c: Fix formatting. + * tekhex.c: Likewise. + * trad-core.c: Likewise. + +2000-12-19 Kazu Hirata + + * sco5-core.c: Fix formatting. + * section.c: Likewise. + * sparclinux.c: Likewise. + * sparclynx.c: Likewise. + * sparcnetbsd.c: Likewise. + * srec.c: Likewise. + * stabs.c: Likewise. + * stab-syms.c: Likewise. + * sunos.c: Likewise. + * syms.c: Likewise. + * sysdep.h: Likewise. + +2000-12-18 Nick Clifton + + * coff-arm.c (EXTRA_S_FLAGS): Only define if not already + defined. + * epoc-pe-arm.c (EXTRA_S_FLAGS): Define. + * epoc-pei-arm.c (EXTRA_S_FLAGS): Define. + +2000-12-18 Nick Clifton + + * vms-misc.c (_bfd_vms_get_record): Add default case to + file_format switch. + +2000-12-15 Miloslav Trmac + + * elfcore.h (elf_core_file_p): Move to the start of the program + headers before attempting to read them. + +2000-12-14 Kazu Hirata + + * peigen.c: Fix formatting. + * som.c: Likewise. + * som.h: Likewise. + +2000-12-13 Kazu Hirata + + * peigen.c: Fix formatting. + +2000-12-12 Jim Wilson + + * elfxx-ia64.c (get_dyn_sym_info): Cast %p argument to void *. + +2000-12-08 Mark Salter + + * binary.c (binary_set_section_contents): Ignore sections + with zero size. + +2000-12-12 Kazu Hirata + + * m68klinux.c: Fix formatting. + * m68knetbsd.c: Likewise. + * mipsbsd.c: Likewise. + * netbsd-core.c: Likewise. + * netbsd.h: Likewise. + * newsos3.c: Likewise. + * nlm32-alpha.c: Likewise. + * nlm32-i386.c: Likewise. + * nlm32-ppc.c: Likewise. + * nlm32-sparc.c: Likewise. + * nlmcode.h: Likewise. + * nlmswap.h: Likewise. + * nlm-target.h: Likewise. + * ns32knetbsd.c: Likewise. + +2000-12-10 Fred Fish + + * elflink.h (elf_link_output_extsym): Don't complain about undefined + symbols in shared objects if allow_shlib_undefined is true. + +2000-12-12 Nick Clifton + + * cpu-sh.c: Fix formattng. + * elf.c: Fix formattng. + * elf32-mips.c: Fix formattng. + * elf32-sh.c: Fix formattng. + * elf64-alpha.c: Fix formattng. + +2000-12-09 Nick Clifton + + * elf32-mips.c (_bfd_mips_elf_find_nearest_line): Pass + dwarf2_find_line_info as last parameter to invocation of + _bfd_dwarf2_find_nearest_line. + * elf32-arm.h (elf32_arm_find_nearest_line): Pass + dwarf2_find_line_info as last parameter to invocation of + _bfd_dwarf2_find_nearest_line. + +2000-12-08 Mark Elbrecht + + * Makefile.am (BFD32_BACKENDS): Move dwarf2.lo from here... + (BFD_LIBS): ...to here. + (BFD32_BACKENDS_CFILES): Move dwarf2.c from here... + (BFD_LIBS_CFILES): ...to here. + * Makefile.in: Regenerate. + * configure.in: Remove dwarf.lo from the elf shell variable. + * configure: Regenerate. + * libcoff-in.h (coff_tdata): Add pointer dwarf2_find_line_info. + * libcoff.h: Regenerate. + * coffgen.c (coff_find_nearest_line): Call + _bfd_dwarf2_find_nearest_line. + * dwarf2.c (_bfd_dwarf2_find_nearest_line): Add parameter. Update + accordingly. + (read_abbrevs): Likewise + (decode_line_info): Likewise. + (parse_comp_unit): Likewise. + (comp_unit_find_nearest_line): Likewise. + * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype. + * libbfd.h: Regenerate. + * elf.c (_bfd_elf_find_nearest_line): Update call. + * elf-bfd.h (elf_obj_tdata): Change dwarf2_find_line_info to type PTR. + * dwarf2.c (concat_filename): Use IS_ABSOLUTE_PATH. + * coffcode.h (STYP_XCOFF_DEBUG, STYP_DEBUG_INFO): New macros. + (sec_to_styp_flags): Use them. Handle DWARF2 sections. + (styp_to_sec_flags): Handle DWARF2 sections. + * elf32-arm.h (elf32_arm_find_nearest_line): Add parameter to call + to _bfd_find_nearest_line. + * elf32-mips.c (_bfd_mips_elf_find_nearest_line): Add parameter to + call to _bfd_find_nearest_line. + +2000-12-08 Kazu Hirata + + * coffgen.c: Fix formatting. + * elf-m10300.c: Likewise. + * elf32-i386.c: Likewise. + * elf32-i960.c: Likewise. + * elf32-m68k.c: Likewise. + * elf32-mcore.c: Likewise. + * elf32-ppc.c: Likewise. + * elf32-sh.c: Likewise. + * elf32-sparc.c: Likewise. + * elf32-v850.c: Likewise. + * elf64-alpha.c: Likewise. + * elf64-hppa.c: Likewise. + * elf64-mips.c: Likewise. + * elf64-sparc.c: Likewise. + +2000-12-07 Kazu Hirata + + * elf32-ppc.c: Fix formatting. + * elf64-x86-64.c: Likewise. + +2000-12-06 Ulf Carlsson + + From Ralf Baechle + + * elf32-mips.c (elf32_mips_merge_private_bfd_data): Always permit + BFDs containing no sections or empty .text, .data or .bss sections + to be merged, regardless of their flags. + +2000-12-06 Kazu Hirata + + * elf32-m32r.c: Fix formatting. + * elf32-m68hc11.c: Likewise. + * elf32-m68hc12.c: Likewise. + * elf32-m68k.c: Likewise. + * elf32-mcore.c: Likewise. + * elf32-pj.c: Likewise. + * elf32-ppc.c: Likewise. + +2000-12-05 Kazu Hirata + + * elf32-fr30.c: Fix formatting. + * elf32-hppa.c: Likewise. + * elf32-i370.c: Likewise. + * elf32-i386.c: Likewise. + * elf32-i860.c: Likewise. + * elf32-i960.c: Likewise. + +2000-12-03 Kazu Hirata + + * elf32-arm.h: Fix formatting. + * elf32-avr.c: Likewise. + * elf32-cris.c: Likewise. + * elf32-d10v.c: Likewise. + * elf32-d30v.c: Likewise. + * elf-hppa.h: Likewise. + * elf-m10200.c: Likewise. + * elf-m10300.c: Likewise. + +2000-12-01 Chris Demetriou + + * aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mips32 and + bfd_mach_mips32_4k. Update FIXME comment. + * archures.c (bfd_mach_mips32): New constant. + (bfd_mach_mips4K, bfd_mach_mips32_4k) Rename the former to + the latter, renumber it. + * bfd-in2.h (bfd_mach_mips32): New constant. + (bfd_mach_mips4K, bfd_mach_mips32_4k) Rename the former to + the latter, renumber it. + * cpu-mips.c (I_mips32): New constant. + (I_mips4K, I_mips32_4k): Rename the former to the latter. + (arch_info_struct): Add bfd_mach_mips32 entry, replace + bfd_mach_mips4K entry with bfd_mach_mips32_4k entry. + * elf32-mips.c (elf_mips_isa): Add E_MIPS_ARCH_32 case. + (elf_mips_mach): Likewise. Also, replace E_MIPS_MACH_MIPS32 + with E_MIPS_MACH_MIPS32_4K. + (_bfd_mips_elf_final_write_processing): Replace + bfd_mach_mips4K with bfd_mach_mips32_4k case, add + bfd_mach_mips32 case. + (_bfd_mips_elf_merge_private_bfd_data): Generalize ISA mixing + comparison with support for MIPS32. + (_bfd_mips_elf_print_private_bfd_data): Print ISA name for + MIPS32. + + * aoutx.h (NAME(aout,machine_type)): Add cases for + bfd_mach_mips5 and bfd_mach_mips64. + * archures.c (bfd_mach_mips5, bfd_mach_mips64): New constants. + * bfd-in2.h (bfd_mach_mips5, bfd_mach_mips64): Likewise. + * cpu_mips.c (I_mips5, I_mips64): New definitions. + (arch_info_struct): Add entries for bfd_mach_mips5 and + bfd_mach_mips64. + * elf32-mips.c (elf_mips_isa, elf_mips_mach, + _bfd_mips_elf_print_private_bfd_data): Add cases for + E_MIPS_ARCH_5 and E_MIPS_ARCH_64. + (_bfd_mips_elf_final_write_processing): Add cases for + bfd_mach_mips5 and bfd_mach_mips64. + + * aoutx.h (NAME(aout,machine_type)): Add a + bfd_mach_mips_sb1 case. + * archures.c (bfd_mach_mips_sb1): New constant. + * bfd-in2.h (bfd_mach_mips_sb1): New constant. + * cpu-mips.c (I_sb1): New constant. + (arch_info_struct): Add entry for bfd_mach_mips_sb1. + * elf32-mips.c (elf_mips_mach): Add case for + E_MIPS_MACH_SB1. + (_bfd_mips_elf_final_write_processing): Add case for + bfd_mach_mips_sb1. + +2000-12-01 Joel Sherrill + + * config.bfd (arm-*-rtems*, a29k-*rtems*): New targets. + (sparc*-*-rtemself*, sparc*-*-rtemsaout*): New targets. + (sparc*-*-rtems*): Switched from a.out to ELF. + +2000-11-30 Jan Hubicka + + * Makefile.am (BFD64_BACKENDS): Add elf64-x86-64.lo + BFD64_BACKENDS_CFILES): Add elf64-x86-64.c + (elf64-x86-64.lo): Add dependencies. + * archures.c (DESCRIPTION): Add bfd_mach_x86_64, + bfd_mach_x86_64_intel_syntax. + * elf.c (prep_headers): Use EM_x86_64 for 64bit output. + * config.bfd (x86_64): Add. + * configure.in: Add support for bfd_elf64_x86_64_vec. + * cpu-i386.c (bfd_x86_64_arch_intel_syntax, bfd_x86_64_arch): Add. + (bfd_i386_arch, i8086_ar): Link in. + * elf64-x86-64.c: New file. + * reloc.c (ENUMDOC): Add BFD_RELOC_X86_64*. + * targets.c (bfd_elf64_x86_64_vec): Add. + (bfd_target_vect): Add bfd_elf64_x86_64_vec. + +2000-11-30 Kazu Hirata + + * xcofflink.c: Fix formatting. + +2000-11-28 Kazu Hirata + + * aoutx.h: Fix formatting. + * bfd-in.h: Likewise. + * bfd-in2.h: Likewise. + * cache.c: Likewise. + * cisco-core.c: Likewise. + * coff64-rs6000.c: Likewise. + * coffcode.h: Likewise. + * coffswap.h: Likewise. + * corefile.c: Likewise. + * elf32-mips.c: Likewise. + +2000-11-27 Kazu Hirata + + * aout-adobe.c: Fix formatting. + * coff64-rs6000.c: Likewise. + * coffgen.c: Likewise. + * cofflink.c: Likewise. + +2000-11-27 Philip Blundell + + * libcoff-in.h (coff_tdata): Add `strings_written' flag. + (obj_coff_strings_written): New accessor macro for above. + * libcoff.h: Regenerate. + * cofflink.c (_bfd_coff_final_link): Say that we wrote the + strings. + * coffcode.h (coff_write_object_contents): No need to write out + the string table if it's already been done. + +2000-11-22 Philip Blundell + + * cofflink.c (_bfd_coff_generic_relocate_section): Don't object to + weak undefined symbols. + +2000-11-24 Nick Clifton + + * archures.c (bfd_mach_arm_5TE): Define. + (bfd_mach_arm+XScale): Define. + * bfd-in2.h: Regenerate. + + * coff-arm.c (coff_arm_reloc_type_lookup): Accept + BFD_RELOC_ARM_PCREL_BLX. + + * coffcode.h (coff_set_flags): Set flags for 5t, 5te and + XScale machine numbers. + + * config.bfd (xscale-elf): Add target. + (xscale-coff): Add target. + + * cpu-arm.c: Add xscale machine name. + Add v5t, v5te and XScale machine numbers. + +2000-11-23 Kazu Hirata + + * aix386-core.c: Fix formatting. + +2000-11-22 Jim Wilson + + * coff-ia64.c (howto_table): Use EMPTY_HOWTO. + (in_reloc_p): Add ATTRIBUTE_UNUSED to unused parameters. + * cpu-ia64-opc.c (ins_rsvd, ext_rsvd, ins_const, ext_const): Likewise. + (ins_imms_scaled): Initialize sign_bit at function entry. + (elf64_ia64_operands): Add missing initializers. + * elfxx-ia64.c (elfNN_ia64_reloc, elfNN_ia64_reloc_type_lookup, + elfNN_ia64_info_to_howto, elfNN_ia64_fake_sections, + elfNN_ia64_add_symbol_hook, elfNN_ia64_is_local_label_name, + elfNN_ia64_local_hash_table_init, get_fptr, get_pltoff, + elfNN_ia64_adjust_dynamic_symbol): Add ATTRIBUTE_UNUSED for unused + parameters. + (elfNN_ia64_info_to_howto): Initialize free_relocs, free_contents, + and free_extsyms at function entry. + (elfNN_add_symbol_hook): Add unsigned cast to bfd_get_gp_size result. + (elfNN_ia64_create_dynamic_sections): Delete unused local h. + (get_got): Delete unused local srel. + (elfNN_ia64_check_relocs): Initialize dynrel_type when declared. + (elfNN_ia64_relocate_section): Delete unused local dynindx. + +2000-11-21 Kazu Hirata + + * coff-a29k.c: Fix formatting. + * coff-h8500.c: Likewise. + * coff-i960.c: Likewise. + * coff-ppc.c: Likewise. + * coff-rs6000.c: Likewise. + * coff-stgo32.c: Likewise. + * coff-tic54x.c: Likewise. + * coff-w65.c: Likewise. + * cpu-h8500.c: Likewise. + * cpu-hppa.c: Likewise. + * cpu-ns32k.c: Likewise. + * ecoff.c: Likewise. + * ecofflink.c: Likewise. + +2000-11-21 Nick Clifton + + * elf32-sh.c (sh_elf_reloc_loop): Fix compile time warning, and + remove possibility of infinite loop. + +2000-11-20 Kazu Hirata + + * aix386-core.c: Fix formatting. + * aout-adobe.c: Likewise. + * aout-arm.c: Likewise. + * aout-encap.c: Likewise. + * aout-ns32k.c: Likewise. + * aout-target.h: Likewise. + * aout-tic30.c: Likewise. + * aoutf1.h: Likewise. + * aoutx.h: Likewise. + * archive.c: Likewise. + * bfd-in.h: Likewise. + * bfd-in2.h: Likewise. + * bfd.c: Likewise. + * bout.c: Likewise. + +2000-11-17 H.J. Lu + + * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Don't create + pltoff entries for DT_INIT and DT_FINI. + (elfNN_ia64_final_link): Don't set DT_INIT/FINI entries. + (elfNN_ia64_finish_dynamic_sections): Don't fill in DT_INIT/FINI + entries. + +2000-11-16 Richard Henderson + + * elfxx-ia64.c (elfNN_ia64_check_relocs): Handle IPLT relocs. + (allocate_dynrel_entries): Likewise. + (elfNN_ia64_relocate_section): Likewise. Set REL addends correctly. + (set_pltoff_entry): Likewise. + (ia64_howto_table): Remove R_IA64_SEGBASE, and R_IA64_EPLT[ML]SB + (elfNN_ia64_reloc_type_lookup): Likewise. + (elfNN_ia64_install_value): Likewise. + (elfNN_ia64_relocate_section): Likewise. + * reloc.c (BFD_RELOC_IA64_SEGBASE): Remove. + (BFD_RELOC_IA64_EPLTMSB, BFD_RELOC_IA64_EPLTLSB): Remove. + +2000-11-16 Kazu Hirata + + * cpu-a29k.c: Fix formatting. + * cpu-alpha.c: Likewise. + * cpu-arm.c: Likewise. + * cpu-avr.c: Likewise. + * cpu-d10v.c: Likewise. + * cpu-h8500.c: Likewise. + * cpu-hppa.c: Likewise. + * cpu-i370.c: Likewise. + * cpu-i386.c: Likewise. + * cpu-i960.c: Likewise. + * cpu-ia64-opc.c: Likewise. + * cpu-ia64.c: Likewise. + * cpu-m32r.c: Likewise. + * cpu-m68hc11.c: Likewise. + * cpu-m68hc12.c: Likewise. + * cpu-m68k.c: Likewise. + * cpu-m88k.c: Likewise. + * cpu-mips.c: Likewise. + * cpu-ns32k.c: Likewise. + * cpu-pj.c: Likewise. + * cpu-powerpc.c: Likewise. + * cpu-sh.c: Likewise. + * cpu-sparc.c: Likewise. + * cpu-tic54x.c: Likewise. + * cpu-v850.c: Likewise. + * cpu-vax.c: Likewise. + * cpu-w65.c: Likewise. + * cpu-we32k.c: Likewise. + * cpu-z8k.c: Likewise. + * dwarf1.c: Likewise. + * dwarf2.c: Likewise. + +2000-11-15 Kazu Hirata + + * coff-arm.c: Fix formatting. + * coff-ppc.c: Likewise. + * coff-rs6000.c: Likewise. + * coff-sh.c: Likewise. + * coff-sparc.c: Likewise. + * coff-tic30.c: Likewise. + * coff-tic54x.c: Likewise. + * coff-tic80.c: Likewise. + * coff-w65.c: Likewise. + * coff-we32k.c: Likewise. + * coff-z8k.c: Likewise. + +2000-11-15 Richard Henderson + + * elf64-alpha.c (elf64_alpha_check_relocs): Create the reloc + section with the same ALLOC|LOAD flags as the source section. + +2000-11-14 Jakub Jelinek + + * elf64-alpha.c (elf64_alpha_relax_opt_call): Only check bits used + by STO_ALPHA constants. + +2000-11-14 Kazu Hirata + + * coff-pmac.c: Fix formatting. + * coff-ppc.c: Likewise. + +2000-11-13 H.J. Lu + + * elflink.h (elf_link_add_object_symbols): Also add indirect + symbols for common symbols with the default version. + +2000-11-09 Philip Blundell + + * section.c (STD_SECTION): Set gc_mark flag. + +2000-11-11 Kazu Hirata + + * coff-i960.c: Likewise. + * coff-m68k.c: Likewise. + * coff-m88k.c: Likewise. + * coff-mcore.c: Likewise. + * coff-mips.c: Likewise. + +2000-11-11 Bernd Schmidt + + * elf32-sh.c (sh_elf_relocate_section): Ignore R_SH_NONE relocs. + +2000-11-10 Kazu Hirata + + * coff-h8300.c: Fix formatting. + * coff-h8500.c: Likewise. + * coff-i386.c: Likewise. + * coff-i860.c: Likewise. + * coff-i960.c: Likewise. + * coff-ia64.c: Likewise. + +2000-11-09 Kazu Hirata + + * archive.c: Fix formatting. + * archures.c: Likewise. + +2000-11-07 Richard Henderson + + * elfxx-ia64.c (elf64_ia64_final_link): New local unwind_output_sec. + Set it before bfd_elf64_bfd_final_link call. Use it after the call. + * section.c (bfd_set_section_contents): Call memcpy if + section->contents set and location not equal to contents plus offset. + +2000-11-08 Kazu Hirata + + * bfd-in.h: Fix formatting. + * bfd-in2.h: Likewise. + * bfd.c: Likewise. + * binary.c: Likewise. + * bout.c: Likewise. + * coff-a29k.c: Likewise. + * coff-alpha.c: Likewise. + * coff-apollo.c: Likewise. + * coff-aux.c: Likewise. + +2000-11-07 Kazu Hirata + + * aix386-core.c: Fix formatting. + * aoutf1.h: Likewise. + * aoutx.h: Likewise. + * archures.c: Likewise. + * armnetbsd.c: Likewise. + +2000-11-07 Alan Modra + + * coff-h8300.c (special): Adjust reloc address. + +2000-11-06 Steve Ellcey + + * archures.c (bfd_mach_ia64_elf64, bfd_mach_ia64_elf32): Add defines + to differentiate elf32 and elf64 on ia64. + * bfd-in2.h: Regenerate. + * config.bfd: Add target for "ia64*-*-hpux*". + * configure.in: Add bfd_elf32_ia64_big_vec to selvecs switch. + * configure: Regenerate. + * cpu-ia64.c (bfd_ia64_elf32_arch): Add elf32 arch info structure. + * targets.c: Add bfd_target bfd_elf32_ia64_big_vec. + + * Makefile.am: Make elf32-ia64.c and elf64-ia64.c derived objects + from elfxx-ia64.c. Add depenency rules for making elf32-ia64.lo. + * Makefile.in: Regnerate. + * elf64-ia64.c: Deleted. + * elfxx-ia64.c: New file, paramaterized version of elf64-ia64.c. + +2000-11-06 Kazu Hirata + + * aout-adobe.c: Fix formatting. + * aout-arm.c: Likewise. + * aout-cris.c: Likewise. + * aout-encap.c: Likewise. + * aout-ns32k.c: Likewise. + * aout-target.h: Likewise. + * aout-tic30.c: Likewise. + +2000-11-05 Philip Blundell + + * elf32-arm.h (elf32_arm_merge_private_bfd_data): Always permit + BFDs containing no sections to be merged, regardless of their flags. + +2000-11-04 Philip Blundell + + * elf32-arm.h (elf32_arm_relocate_section): Suppress error message + if a relocation for an undefined symbol also results in an + overflow. + +2000-11-06 Christopher Faylor + + * config.bfd: Add support for Sun Chorus. + +2000-11-05 David O'Brien + + * configure.in: Recognize alpha-*-freebsd*. + * configure: Regenerate. + +2000-11-02 Luciano Gemme + + * srec.c (CHUNK): Rename to DEFAULT_CHUNK. + (Chunk): New global variable set by a parameter in objcopy.c. + (S3Forced): New global variable set by a parameter in + objcopy.c. + (srec_set_section_contents): If S3Forced is true, always generate + S3 records. + (srec_write_section): Use 'Chunk' to limit maximum length of S + records. + +2000-11-02 Per Lundberg + + * config.bfd: Add support for i[3456]86-chaosdev-storm-chaos. + * Makefile.in: Regenerate. + * bfd-in2.h: Regenerate. + * po/bfd.pot: Regenerate. + +2000-10-31 Philip Blundell + + * elf32-arm.h (elf32_arm_merge_private_bfd_data): Only handle + EF_SOFT_FLOAT if it is defined. + +2000-10-27 Philip Blundell + + * elf32-arm.h (elf32_arm_copy_private_bfd_data): Don't refuse + attempts to mix PIC code with non-PIC, just mark the output as + being position dependent. + (elf32_arm_merge_private_bfd_data): Likewise. Print an error + message for EF_SOFT_FLOAT mismatches. Display diagnostics for + all mismatches, not just the first one. + +2000-10-25 Chris Demetriou + + * ieee.c (ieee_archive_p): Plug one of many possible + memory leaks in error handling. + +2000-10-20 Jakub Jelinek + + * elf32-sparc.c (elf32_sparc_merge_private_bfd_data, + elf32_sparc_object_p, elf32_sparc_final_write_processing): + Support v8plusb. + * elf64-sparc.c (sparc64_elf_merge_private_bfd_data, + sparc64_elf_object_p): Support v9b. + * archures.c: Declare v8plusb and v9b machines. + * bfd-in2.h: Ditto. + * cpu-sparc.c: Ditto. + +2000-10-16 Geoffrey Keating + + * elf64-sparc.c (sparc64_elf_relocate_section): Clear the location + of a GOT reloc. + + * elf32-ppc.c (SYMBOL_REFERENCES_LOCAL): New macro. + (SYMBOL_CALLS_LOCAL): New macro. + (ppc_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL. + (ppc_elf_check_relocs): Use SYMBOL_REFERENCES_LOCAL. + (ppc_elf_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL. + (ppc_elf_relocate_section): Use flag variable to determine + whether the relocation refers to a local symbol. + Test whether a PLTREL24 reloc will produce a reloc by looking + to see whether a PLT entry was made. + +2000-10-14 Geoffrey Keating + + * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Don't make PLT + entries that could serve as a definition for a weak symbol. + +2000-10-13 Ulf Carlsson + + From Ralf Baechle + + * elf32-mips.c (mips_elf_create_dynamic_relocation): New argument + local_p. Add symbol value only for non-R_MIPS_REL32 relocations + against local symbols. + (_bfd_mips_elf_finish_dynamic_sections): Undo patch from 2000-10-01. + +2000-10-12 Alan Modra + + * section.c (struct sec): Add kept_section. + (struct bfd_comdat_info): Remove sec, we can use above. + (STD_SECTION): Add initializer. + (bfd_make_section_anyway): Init here too. + + * bfd-in2.h: Regenerate. + + * elflink.h (elf_link_add_object_symbols): Remove unnecessary + zeroing of `flags'. + (elf_link_input_bfd): Set all asection->symbol->value's here, and + fudge values for discarded link-once section symbols. + + * elf64-hppa.c: Include alloca-conf.h + +2000-10-11 Alan Modra + + * elf.c (swap_out_syms): Revert 2000-10-07 changes. + + * ieee.c (ieee_make_empty_symbol): Oops, bfd_zalloc needs another arg. + +2000-10-10 Alan Modra + + * ieee.c (ieee_make_empty_symbol): Use bfd_zalloc, not bfd_zmalloc. + +2000-10-10 Tom Rix + + * section.c (bfd_make_section_anyway): Release newsect ptr when + newsect->symbol fails to alloc. Use bfd_release instead of free. + +2000-10-09 Richard Henderson + + * elflink.h (size_dynamic_sections): Don't create various tags if + .dynstr is excluded from the link. Don't set first dynsym entry + if dynsymcount is zero. + (elf_bfd_final_link): Don't try to swap out dynamic syms if + .dynsym excluded from the link. Don't try to write any dynamic + sections excluded from the link. + + * elf.c (swap_out_syms): Handle global section symbols. + +2000-10-05 DJ Delorie + + * peigen.c (_bfd_pei_swap_scnhdr_out): note extended relocs + * coffcode.h (coff_set_alignment_hook): read extended reloc count + (coff_write_relocs): write extended reloc count + (coff_write_object_contents): account for extended relocs + +2000-10-05 Jim Wilson + + * elf-bfd.h (struct elf_backend_data): Add elf_backend_section_flags + field. + * elf.c (_bfd_elf_make_section_from_shdr): Call the + elf_backend_section_flags function. + * elf64-ia64.c (elf64_ia64_section_from_shdr): Delete flag conversion + code. + (elf64_ia64_section_flags): New function containing flag conversion + code. + (elf_backend_section_flags): Define to elf64_ia64_section_flags. + * elfxx-target.h (elf_backend_section_flags): Define. + (elfNN_bed): Initialize elf_backend_section_flags field. + +2000-10-02 Alan Modra + + * elf32-hppa.c (elf32_hppa_check_relocs): Correct call to + _bfd_elf32_gc_record_vtable. Correct a comment. + +2000-10-01 Ulf Carlsson + + From Ralf Baechle + + * elf32-mips.c (_bfd_mips_elf_finish_dynamic_sections): Mark gld + produces binaries with got[1] = 0x80000001 to differenciate them + for the dynamic linker from the broken binaries produced by old + versions. + +2000-09-30 Petr Sorfa + + * elf.c (elfcore_grok_pstatus): Check for size of pxstatus_t. + (elfcore_grok_lwpstatus): Check for size of lwpxstatus_t. + * configure.in: Add check for pxstatus_t and lwpxstatus_t. + * configure: Regenerate. + +2000-09-27 Hans-Peter Nilsson + + Define two bfd_targets for absence and presence of leading + underscore on symbols. Make sure to only link same kind. + * elf32-cris.c (cris_elf_object_p, + cris_elf_final_write_processing, cris_elf_print_private_bfd_data, + cris_elf_merge_private_bfd_data): New. + (elf_backend_object_p, elf_backend_final_write_processing, + bfd_elf32_bfd_print_private_bfd_data, + bfd_elf32_bfd_merge_private_bfd_data): Define. + : Include elf32-target.h twice with + different macro settings: + (TARGET_LITTLE_SYM): First as bfd_elf32_cris_vec, then as + bfd_elf32_us_cris_vec. + (TARGET_LITTLE_NAME): First as "elf32-cris", then "elf32-us-cris". + (elf_symbol_leading_char): First as 0, then '_'. + (INCLUDED_TARGET_FILE): Define for second include of elf32-target.h. + * config.bfd (cris-*-*): Add bfd_elf32_us_cris_vec to targ_selvecs. + * configure.in (bfd_elf32_cris_vec, cris_aout_vec): New vector. + * configure: Regenerate. + * targets.c: Declare bfd_elf32_us_cris_vec. + * po/bfd.pot: Regenerate. + +2000-09-29 Momchil Velikov + + * elf32-arm.h (arm_add_to_rel): Correctly adjust the addend for + R_ARM_THM_PC22 relocations. + +2000-09-29 NIIBE Yutaka + + * elflink.h (elf_link_add_object_symbols): Don't bfd_release runpath. + +2000-09-29 Momchil Velikov + + * elf.c (elf_fake_sections): Do not mark the section SHT_NOBITS if + is has the SEC_HAS_CONTENTS flag set. + +2000-09-28 Örjan Friberg + Hans-Peter Nilsson + + * aout-cris.c (N_TXTADDR): Define. + +2000-09-28 John David Anglin + + * som.c: Include alloca-conf.h. + * Makefile.am: "make dep-am" + * Makefile.in: Regenerate. + +2000-09-27 Alan Modra + + * elf32-hppa.c (plt_stub): New. + (PLT_STUB_ENTRY): Define. + (elf32_hppa_link_hash_table): Change multi_subspace to packed + boolean. Add need_plt_stub, has_12bit_branch and has_17bit_branch. + (elf32_hppa_link_hash_table_create): Init to suit. + (elf32_hppa_check_relocs): Set has_12bit_branch and + has_17bit_branch as appropriate. + (elf32_hppa_adjust_dynamic_symbol): Set need_plt_stub for + non-local functions. + (elf32_hppa_size_dynamic_sections): Correct setting of reltext. + Add space for plt_stub as needed. + (elf32_hppa_finish_dynamic_symbol): Point .plt entries for global + functions at plt_stub. + (elf32_hppa_finish_dynamic_sections): Write plt_stub. + (elf32_hppa_create_dynamic_sections): Leave .plt executable. + + * elf32-hppa.h (elf32_hppa_size_stubs): Add group_size param. + * elf32-hppa.c (elf32_hppa_size_stubs): Likewise. Use it instead + of fixed size, and if negative, disable handling of input sections + before stub section. Set up default stub group size depending + on detected branch relocs. + (hppa_build_one_stub): Use lrsel and rrsel for import stubs to + ensure different offsets from sym_value aren't rounded to + different 2k blocks. Use lrsel and rrsel for other stubs too for + consistency rather than necessity. + (elf32_hppa_check_relocs): Handle R_PARISC_DIR14F. + (final_link_relocate): Likewise. + (elf32_hppa_relocate_section): Likewise. + + * elf-hppa.h (elf_hppa_howto_table): Add R_PARISC_DIR14F reloc. + (_bfd_elf_hppa_gen_reloc_type): Generate them. + (elf_hppa_final_link_relocate): Handle them. + (elf_hppa_relocate_insn): Likewise. + (_bfd_elf_hppa_gen_reloc_type): Add missing e_ldsel and e_rdsel cases. + +2000-09-26 Hans-Peter Nilsson + + * elfcode.h (elf_object_p): Preserve and clear abfd section + information. Restore at error. + +2000-09-26 Paul Sokolovsky + + * peigen.c (_bfd_pei_swap_aouthdr_in): If some DataDirectory + is empty, make sure that its rva also 0. NT loader dislikes + having otherwise. + +2000-09-26 Steve Ellcey + + * som.c (som_bfd_derive_misc_symbol_info): Make weak symbols + global by default. + +2000-09-21 Alan Modra + + * elf32-hppa.c (elf32_hppa_check_relocs): Fix weak sym handling in + currently unused RELATIVE_DYNAMIC_RELOCS code. + (hppa_discard_copies): Likewise. + (elf32_hppa_size_stubs): Size `input_list' array correctly. Correct + comments. Don't check non-code output sections for stub grouping. + +2000-09-20 Alan Modra + + * section.c (bfd_get_unique_section_name): Return NULL if + bfd_malloc fails. + +2000-09-19 Michael Sokolov + + * elf32-m68k.c (elf_cpu32_plt0_entry): Change the PLT entry 0 + instruction sequence to actually work. + (elf_m68k_finish_dynamic_sections): Change the patch-in offset + accordingly. + +2000-09-18 Alexandre Oliva + + * elf32-sh.c (sh_elf_relocate_section): Use + _bfd_final_link_relocate to apply the relocation against a section + symbol, when doing relocatable links. + +2000-09-18 Alan Modra + + * elf32-hppa.c (elf32_hppa_stub_hash_entry): Rename input_section + to id_sec. + (stub_hash_newfunc): Here too. + (hppa_add_stub): And here. + (elf32_hppa_link_hash_table): Remove stub_section_created, + reloc_section_created, first_init_sec and first_fini_sec. Add + stub_group. + (elf32_hppa_link_hash_table_create): Init to suit. + (hppa_get_stub_entry): Add support for grouping stub sections. + (hppa_add_stub): Likewise. Remove sec_count param and init/fini + section code. Index stub vars by section->id. + (elf32_hppa_size_stubs): Likewise. Remove duplicated function + exit paths. Zap allocation of above removed vars. Refine + link-once test. + + * elf32-hppa.h (elf32_hppa_size_stubs): Add output_bfd param. + * elf32-hppa.c (elf32_hppa_size_stubs): Likewise. + (hppa_get_stub_entry): Pass in pointer to elf32_hppa_link_hash_table + rather than pointer to bfd_link_info. + (hppa_add_stub): Likewise. + (final_link_relocate): Likewise. + +2000-09-17 David Huggins-Daines + + (elf32_hppa_size_stubs): Don't try to build stubs for discarded + link-once sections. + +2000-09-16 Alexandre Oliva + + * elf32-sh.c (ELF_MAXPAGESIZE): Define to 128, to match + ld/emulparams/shelf.sh. + +2000-09-10 Michael Sokolov + + * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): New function. + * bfd-in.h (bfd_m68k_elf32_create_embedded_relocs): Add declaration. + * bfd-in2.h: Regenerate. + +2000-09-15 Kenneth Block + + * elf64-alpha.c (elf64_alpha_relax_with_lituse): ld performs + LITUSE relocations incorrectly if -relax is specified on the ld + command line and the displacement field of the load or store + instruction is non-zero. (Patch by paul.winalski@compaq.com) + +2000-09-15 Alan Modra + + * elf32-hppa.c (hppa_add_stub): Dont set first_init_sec and + first_fini_sec here. + (elf32_hppa_size_stubs): Instead correctly find the first .init + and .fini section here. + +2000-09-15 David Huggins-Daines + + * elf32-hppa.c (clobber_millicode_symbols): New function. + (elf32_hppa_size_dynamic_sections): Call it. + +2000-09-14 Alan Modra + + * elf32-hppa.c (elf32_hppa_link_hash_entry): Make pic_call + packed. Add plabel, plt_abs packed booleans. + (hppa_link_hash_newfunc): Init new fields. + (PLABEL_PLT_ENTRY_SIZE): Define. + (hppa_stub_name): Use size_t len vars. + (hppa_add_stub): Likewise. + (elf32_hppa_build_stubs): Likewise. + (hppa_build_one_stub): Kill some compiler warnings. + (elf32_hppa_check_relocs): Always generate a plt entry for PLABELs + if dynamic linking. Munge the local plt offsets into + local_got_refcounts. Set h->plabel for all global PLABELs. Use + size_t len vars. Add assert for plabel addend. + (elf32_hppa_gc_sweep_hook): Sweep local plt entries too. + (elf32_hppa_hide_symbol): New function. + (elf_backend_hide_symbol): Define. + (elf32_hppa_adjust_dynamic_symbol): Don't throw away plt entries + with h->plabel set. Don't make plt entries to have dynamic syms + when they have been forced local. If plt entry is used by a + plabel, make it PLABEL_PLT_ENTRY_SIZE. + (elf32_hppa_size_dynamic_sections): Set plt_abs for init fns. + Set up .plt offsets for local syms. + (elf32_hppa_relocate_section): Initialise plt entries for local + syms. Leave weak undefined plabels zero. Make global plabel + relocs against function symbol, and leave the addend zero. + Use *ABS* DIR32 relocs instead of SEGREL32 for dynamic got relocs. + (elf32_hppa_finish_dynamic_symbol): Set up IPLT relocs for + non-dynamic syms. Init extra plt for plabels. Use *ABS* DIR32 + relocs instead of SEGREL32 for dynamic got relocs. + (elf32_hppa_finish_dynamic_sections): Reserve one more .got entry. + (elf_backend_got_header_size): Adjust. + (elf32_hppa_set_gp): Calculate an "ideal" LTP. + + * elf32-hppa.c (LONG_BRANCH_VIA_PLT): Define. + (hppa_type_of_stub): Use it instead of #if 0 + (hppa_discard_copies): Use it here too. + (elf32_hppa_size_dynamic_sections): And here. + + * elf32-hppa.c (elf32_hppa_link_hash_table): Remove `offset' field. + (elf32_hppa_link_hash_table_create): And here. + (hppa_build_one_stub): And here. Instead keep track of stub + offset using _raw_size. + (elf32_hppa_size_stubs): Likewise. + (elf32_hppa_build_stubs): Likewise. + (hppa_size_one_stub): Likewise. Resize reloc section too. + + * elf32-hppa.c (hppa_add_stub): Correct first_init_sec and + first_fini_sec handling. Don't search for reloc section or set + hplink->reloc_section_created here. + (elf32_hppa_size_stubs): Instead search for reloc sections, and + set reloc_section_created here. + (hppa_handle_PIC_calls): Set ELF_LINK_HASH_NEEDS_PLT. + (elf32_hppa_size_dynamic_sections): Make a .plt entry for DT_INIT + and DT_FINI. + (elf32_hppa_finish_dynamic_sections): Set DT_INIT and DT_FINI. + + * elf32-hppa.c (hppa_build_one_stub): Replace `elf_hash_table (info)' + with `hplink->root.'. + (elf32_hppa_check_relocs): Likewise. + (elf32_hppa_gc_sweep_hook): Likewise. + (elf32_hppa_adjust_dynamic_symbol): Likewise. + (hppa_handle_PIC_calls): Likewise. + (elf32_hppa_size_dynamic_sections): Likewise. + (elf32_hppa_set_gp): Likewise. + (elf32_hppa_relocate_section): Likewise. + (elf32_hppa_finish_dynamic_symbol): Likewise. + (elf32_hppa_finish_dynamic_sections): Likewise. + + From David Huggins-Daines + * elf32-hppa.c (hppa_type_of_stub): Generate import stubs for + defined weak symbols in shared links. + (final_link_relocate): Calls to defined weak symbols in shared + objects must go via import stubs, as the target might not be known + at link time. + +2000-09-14 Alexandre Oliva + + * elf32-sh.c (sh_elf_howto_table): Moved R_SH_GOT32, R_SH_PLT32, + R_SH_COPY, R_SH_GLOB_DAT, R_SH_JMP_SLOT, R_SH_RELATIVE, + R_SH_GOTOFF, R_SH_GOTPC) to the range from 160 to 167. Replaced + the original entries with EMPTY_HOWTOs, and added new ones to fill + in the gap. + (sh_elf_info_to_howto): Make sure the new gap isn't used. + (sh_elf_relocate_section): Likewise. + +2000-09-13 Anders Norlander + + * cpu-mips.c (arch_info_struct): Add mips:4K + * bfd-in2.h (bfd_mach_mips4K): New define. + * archures.c: Add bfd_mach_mips4K to comment. + * elf32-mips.c (_bfd_mips_elf_final_write_processing): Return + E_MIPS_ARCH_2 for bfd_mach_mips4K. + +2000-09-13 Marco Franzen + + * som.c (som_write_symbol_strings): Do not used fixed buffers, + use size_t as a counter. + (som_write_space_strings): Similarly. + +2000-09-12 Jason Eckhardt + + * elf32-i860.c (elf32_i860_relocate_pc26): New function + and prototype. + (elf32_i860_relocate_section): Invoke new function from here. + +2000-09-11 Michael Sokolov + + * elf.c (_bfd_elf_make_section_from_shdr): Make debug_sec_names + static. + +2000-09-10 Michael Sokolov + + * coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): Emit 8 NULs for + target section name instead of dumping core when the target symbol is + undefined. + +2000-09-09 Kazu Hirata + + * riscix.c: Remove DEFUN. + +2000-09-08 Nick Clifton + + * elf32-arm.h (elf32_arm_merge_private_bfd_data): Do not + initialise flags in output bfd if the input bfd is the default + architecture with the default flags. + +2000-09-08 Kazu Hirata + + * archive.c: Fix formatting. + * coff-arm.c: Likewise. + * doc/chew.c: Likewise. + +2000-09-08 Alan Modra + + * section.c (bfd_get_unique_section_name): Put a dot before the + numeric suffix. + +2000-09-07 Kazu Hirata + + * doc/chew.c: Remove all uses of DEFUN and DEFUN_VOID. + * elf.c: Fix formatting. + +2000-09-07 Alexandre Oliva + + * config.bfd (sh-*-linux*): Added. + * configure.in (bfd_elf32_shlin_vec, bfd_elf32_shblin_vec): New. + * targets.c: Declare them. + * elf32-sh-lin.c: New file. + * Makefile.am: Compile it. + * elf32-sh.c: Don't override defines from elf32-sh-lin.c. + * configure, Makefile.in: Rebuilt. + +2000-09-06 Geoffrey Keating + + * xcofflink.c (xcoff_link_input_bfd): Include the .tocbss + pseduo-section when determining where the TOC ends. + + * coff-rs6000.c (_bfd_xcoff_swap_aux_out): Use bfd_h_put_16 to + output x_tvndx as it is only two bytes wide. + + * coff-rs6000.c (xcoff_howto_table): A modifiable branch-absolute + reloc is 26 or 32 bits wide. + + * coff-rs6000.c (_bfd_xcoff_rtype2howto): The bitsize is irrelevant + for relocs that don't change anything. Also look at the full + 6 bits of bitsize. + +2000-09-06 Philip Blundell + + * config.bfd (arm*-*-uclinux*): New target. + +2000-09-06 Alexandre Oliva + + * configure: Rebuilt with new libtool.m4. + +2000-09-06 Alan Modra + + * section.c (bfd_get_unique_section_name): Avoid c++ reserved + word for variable name. + * bfd-in2.h: Regenerate. + +2000-09-05 Nick Clifton + + * config.in: Regenerate. + * libbfd.h: Regenerate. + * po/bfd.pot: Regenerate. + * doc/bfdint.texi: Remove CVS date string - it foils compares with + local versions. + +2000-09-05 Steven Johnson + + * cpu-powerpc.c (arch_info_struct): Added MPC860 Family entry. + +2000-09-05 Alan Modra + + Shared library and PIC support. + * elf32-hppa.c (PLT_ENTRY_SIZE): New. + (GOT_ENTRY_SIZE): New. + (ELF_DYNAMIC_INTERPRETER): New. + (STUB_SUFFIX): Define. + (LONG_BRANCH_PIC_IN_SHLIB): Define. + (RELATIVE_DYNAMIC_RELOCS): Define. + (enum elf32_hppa_stub_type): New. + (struct elf32_hppa_stub_hash_entry): Rename offset to + stub_offset. Add a number of new fields. + (struct elf32_hppa_link_hash_entry): New. + (struct elf32_hppa_link_hash_table): Add numerous fields. Remove + global_value. + (elf32_hppa_hash_table): Rename to hppa_link_hash_table. + (elf32_hppa_stub_hash_lookup): Rename to hppa_stub_hash_lookup. + (elf32_hppa_stub_hash_newfunc): Rename to stub_hash_newfunc. Init + new fields. + (hppa_link_hash_newfunc): New function. + (elf32_hppa_link_hash_table_create): Use above function. Init new + fields. + (elf32_hppa_stub_name): Rename to hppa_stub_name. Pass in reloc + instead of addend, and remove sym_name from args. Don't use + symbol name for local syms, instead use sym index. + (elf32_hppa_size_of_stub): Rename to hppa_type_of_stub, and return + stub type rather than size. Pass in hash and handle import stub + case. Also pass in reloc instead of offset so we can calculate + PCREL22F and PCREL12F branches properly. + (elf32_hppa_build_one_stub): Rename to hppa_build_one_stub. Build + import and export stubs too. + (elf32_hppa_size_one_stub): Rename to hppa_size_one_stub. Handle + import and export stub sizing. + (elf32_hppa_check_relocs): New function. + (elf32_hppa_adjust_dynamic_symbol): New function. + (hppa_discard_copies): New function. + (elf32_hppa_size_dynamic_sections): New function. + (elf_backend_size_dynamic_sections): Define. + (elf32_hppa_finish_dynamic_symbol): New function. + (elf_backend_finish_dynamic_symbol): Define. + (elf32_hppa_size_stubs): Stash params in link hash table, and move + some local vars into the link hash table too. For shared links, + trundle over function syms, generating export stubs. Handle + PCREL22F branches. Break out stub creation code from here.. + (hppa_add_stub): .. to here. New function. + (elf32_hppa_final_link): Rename to elf32_hppa_set_gp, and don't + call the bfd linker. Use elf_gp to record global pointer. + Calculate a value from sections if $global$ is missing. + (bfd_elf32_bfd_final_link): Define as _bfd_elf32_gc_common_final_link. + (elf32_hppa_gc_mark_hook): New function. + (elf_backend_gc_mark_hook): Define. + (elf32_hppa_gc_sweep_hook): New function. + (elf_backend_gc_sweep_hook): Define. + (elf32_hppa_bfd_final_link_relocate): Rename to final_link_relocate. + Add rel to args, and remove howto, input_bfd, offset, addend, + sym_name as we can recalculate these locally. Handle calls to + dynamic objects, extra PIC relocs, PCREL22F branches. Change + handling of undefined weak syms. Check that stubs are in range. + Only look for import stubs on PCREL17F and PCREL22F relocs. Add + message on hitting a DPREL21L reloc that needs fixing. Subtract + off PC for PCREL14F. Break out code that does a stub lookup from + here.. + (hppa_get_stub_entry): ..to here. New function. + (elf32_hppa_relocate_insn): Merge into final_link_relocate. + (elf32_hppa_relocate_section): Handle got and plt relocs, dynamic + relocs, etc. etc. + (elf32_hppa_finish_dynamic_sections): New function. + (elf_backend_finish_dynamic_sections): Define. + (elf_backend_final_write_processing) Define. + (hppa_handle_PIC_calls): New function. + (elf32_hppa_build_stubs): Call it. Pass link_info to + hppa_build_one_stub. + (elf32_hppa_create_dynamic_sections): New function + to create .plt and .got then set .plt flags correctly. + (elf_backend_create_dynamic_sections): Define. + (elf32_hppa_object_p): New function. + (elf_backend_object_p): Define. + (elf32_hppa_elf_get_symbol_type): New function. + (elf_backend_get_symbol_type): Define. + (elf_backend_can_gc_sections): Define. + (elf_backend_want_got_plt): Define. + (elf_backend_plt_alignment): Set to 2. + (elf_backend_plt_readonly): Define. + (elf_backend_want_plt_sym): Define. + (elf_backend_got_header_size): Reserve one entry. + + * elf32-hppa.h (elf32_hppa_build_stubs): Don't pass stub bfd. + (elf32_hppa_size_stubs): Pass in multi_subspace. + (elf32_hppa_set_gp): Declare. + + * section.c (SEC_HAS_GOT_REF): Define new flag for asection. + (bfd_get_unique_section_name): New function. + * bfd-in2.h: Regenerate. + + * elf64-hppa.c (elf64_hppa_check_relocs): Handle R_PARISC_PCREL12F. + (elf64_hppa_size_dynamic_sections): Remove the FIXME at bfd_zalloc + comment. + + From David Huggins-Daines + * elf64-hppa.c (elf64_hppa_check_relocs): Fix a warning. + (elf64_hppa_mark_exported_functions): Set dyn_h->st_shndx. + (elf64_hppa_link_output_symbol_hook): Test dyn_h->st_shndx has + been updated in finish_dynamic_symbol before modifying function + symbol. + + * elf-hppa.h (elf_hppa_howto_table): Restructure into groups of + eight entries. Replace NULL with bfd_elf_generic_reloc. Add + R_PARISC_GNU_VTENTRY, R_PARISC_GNU_VTINHERIT and R_PARISC_PCREL12F. + (_bfd_elf_hppa_gen_reloc_type): Handle R_PARISC_GNU_VT*. Add some + comments. Handle format == 12 for R_HPPA_PCREL_CALL. + (elf_hppa_final_link_relocate): Handle R_PARISC_PCREL12F. + (elf_hppa_relocate_insn): Likewise. Reformat some comments. + (elf_hppa_final_write_processing): Expose it for ARCH_SIZE == 32. + + From David Huggins-Daines + * elf-hppa.h (elf_hppa_is_local_label_name): Accept the SysV/ELF + style of local labels as well. + +2000-09-03 Philip Blundell + + * elf32-arm.h (elf32_arm_relocate_section): Don't try to relocate + references to undefined symbols in debugging sections. + +2000-09-02 H.J. Lu + + * reloc.c (BFD_RELOC_SH_COPY, BFD_RELOC_SH_GLOB_DAT, + BFD_RELOC_SH_JMP_SLOT, BFD_RELOC_SH_RELATIVE, + BFD_RELOC_SH_GOTPC): Move them from the MIPS section to the SH + section. + +2000-09-02 Jason Eckhardt + + * elf32-i860.c (bfd_elf32_bfd_is_local_label_name): Define macro. + (elf32_i860_is_local_label_name): New function and prototype. + +2000-09-02 Nick Clifton + + * configure.in: Increase version number to 2.10.91. + * configure: Regenerate. + * aclocal.m4: Regenerate. + * config.in: Regenerate. + * po/bfd.pot: Regenerate. + +2000-09-02 Daniel Berlin + + * elf.c (_bfd_elf_make_section_from_shdr): Add + .gnu.linkobce.wi. to the list of debug section names. + +2000-09-02 Nick Clifton + + * dwarf2.c (find_debug_info): New function: Locate a section + containing dwarf2 debug information. + (bfd_dwarf2_find_nearest_line): Find all sections containing + debug information and include them in the stash. + +2000-09-01 Niibe Yutaka , Kaz Kojima , Alexandre Oliva + + * elf32-sh.c (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT, + R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): New. + (sh_reloc_map): Add new relocs. + (sh_elf_check_relocs, sh_elf_link_hash_newfunc, + sh_elf_link_hash_table_create, sh_elf_adjust_dynamic_symbol, + sh_elf_size_dynamic_sections, sh_elf_finish_dynamic_symbol, + sh_elf_finishe_dynamic_sections, sh_elf_discard_copies): New + functions. + (ELF_DYNAMIC_INTERPRETER, PLT_ENTRY_SIZE): Define. + (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): + New array constants. + (elf_sh_plt0_entry, elf_sh_plt_entry, elf_sh_pic_plt_entry): + New variables. + (elf_sh_sizeof_plt, elf_sh_plt_plt0_offset, + elf_sh_plt0_linker_offset, elf_sh_plt0_gotid_offset, + elf_sh_plt_temp_offset, elf_sh_plt_symbol_offset, + elf_sh_plt_reloc_offset): Define. + (elf_sh_pcrel_relocs_copied, elf_sh_link_hash_entry, + elf_sh_link_hash_table): New structs. + (sh_elf_link_hash_traverse, sh_elf_hash_table): New macros. + (sh_elf_relocate_section, sh_elf_check_relocs): Handle new + relocation types. + (elf_backend_create_dynamic_sections, + bfd_elf32_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. + * reloc.c (BFD_RELOC_SH_COPY, BFD_RELOC_SH_GLOB_DAT, + BFD_RELOC_SH_JMP_SLOT, BFD_RELOC_SH_RELATIVE, BFD_RELOC_SH_GOTPC): + New relocs. + * bfd-in2.h, libbfd.h: Rebuilt. + +2000-09-01 Alan Modra + + * elf32-i386.c (elf_i386_finish_dynamic_symbol): Revert 2000-08-27 + change. + +2000-08-31 J"orn Rennecke + + * elf32-sh.c (sh_elf_merge_private_data): If ibfd's elf header flags + not initialized, set them to indicate the SH1 instruction set. + +2000-08-31 Alexandre Oliva + + * acinclude.m4: Include libtool and gettext macros from the + top level. + * aclocal.m4, configure: Rebuilt. + +2000-08-29 Michael Snyder + + * elf.c: Eliminate references to __sparcv9 macro; replace with + autoconf variables HAVE_PSINFO32_T etc. + * configure.in: Auto-configure HAVE_PSINFO_32_T, HAVE_PRPSINFO32_T, + HAVE_PSTATUS32_T, HAVE_PRSTATUS32_T, HAVE_PRSTATUS32_T_PR_WHO. + * config.in: Ditto. + * acinclude.m4 (BFD_HAVE_SYS_PROCFS_TYPE) define _SYSCALL32 so it can + detect the above typedefs. (BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): Ditto. + * aclocal.m4: Ditto. + * configure: Regenerate. + +2000-08-27 Alan Modra + + * elf32-i386.c (elf_i386_check_relocs): Keep info on relocs copied + for any shared link, not just shared -Bsymbolic. + (elf_i386_size_dynamic_sections): Call elf_i386_discard_copies on + any shared link, and pass link info to it. + (elf_i386_size_dynamic_sections): Update comment. + (elf_i386_discard_copies): Modify to discard relocs for symbols + that have been forced local. + (elf_i386_finish_dynamic_symbol): Don't copy relocs for symbols + that have been forced local. + +2000-08-24 Denis Chertykov & Nick Clifton + + * elflink.h (elf_link_add_object_symbols): Allow common + symbols to have an alignment of 1 if explicitly requested, and + not overridden by other definitions. + +2000-08-22 Doug Kwan + + * coff-w65.c (CREATE_LITTLE_COFF_TARGET): Fix typo. + * coffcode.h (coff_set_flags): Add detection of w65 architecture. + +2000-08-22 H.J. Lu + + * elf-bfd.h (elf_link_hash_table): Add runpath. + + * bfd-in.h (bfd_elf_get_runpath_list): New prototype. + * bfd-in2.h: Rebuilt. + + * elf.c (_bfd_elf_link_hash_table_init): Initialize the + "runpath" field to NULL. + (bfd_elf_get_runpath_list): New function. + + * elflink.h (elf_link_add_object_symbols): Record DT_RPATH and + DT_RUNPATH entries. + +2000-08-22 Alexandre Oliva + + * elf32-sh.c (sh_elf_relocate_section) [R_SH_IND12W, + R_SH_DIR8WPN, R_SH_DIR8WPZ, R_SH_DIR8WPL]: Handle them + explicitly. Improve validation of r_type. + +2000-08-21 H.J. Lu + + * elf32-i386.c (elf_i386_size_dynamic_sections): Zero out the + dynamic allocated content space. Add a comment to remind us that + one day this ought to be fixed. + * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise. + * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise. + * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise. + +2000-08-21 Jason Eckhardt + + * elf32-i860.c (elf32_i860_relocate_pc16): Just write the immediate + field with the newly relocated value instead of adding it to the + existing immediate field. + (elf32_i860_relocate_splitn): Likewise. + (elf32_i860_relocate_highadj): Likewise. + +2000-08-16 Jason Eckhardt + + * elf32-i860.c (elf32_i860_relocate_pc16): Implemented function (it + was previously just a stub). + +2000-08-16 Alexandre Oliva + + * elflink.c (_bfd_elf_create_got_section): Don't abort(). + Formatting fixes. + (_bfd_elf_create_dynamic_sections): Likewise. + +2000-08-16 Andrew Macleod + + * elf64-sparc.c (sparc64_elf_relocate_section): Set relocation address + for undefined symbols to be the beginning of the section. + + * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Don't allocate + four extra entries at the beginning of the .rela.plt section. + (sparc64_elf_finish_dynamic_symbol): Adjust the offset in the .rela.plt + section to account for the four reserved entries in the .plt section. + +2000-08-15 Geoffrey Keating + + * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Add ori r0,r0,0 + to the list of NOPs we recognize after a branch-and-link. + Use the ori NOP when one is needed. + + * coff-rs6000.c (_bfd_xcoff_slurp_armap): Finish implementation + for large archives. + +2000-08-14 Jim Wilson + + * elf64-ia64.c (elf64_ia64_merge_private_bfd_data): Handle + EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP, and EF_IA_64_NOFUNCDESC_CONS_GP. + (elf64_ia64_print_private_bfd_data): Likewise. Also handle + EF_IA_64_ABSOLUTE. + +2000-08-11 Alexandre Oliva + + * elf32-sh.c (sh_elf_set_mach_from_flags): Make it static. + +2000-08-10 Jason Eckhardt + + * elf32-i860.c (elf32_i860_relocate_section): New function. + (i860_final_link_relocate): New function. + (elf32_i860_relocate_splitn): New function. + (elf32_i860_relocate_pc16): New function. + (elf32_i860_relocate_highadj): New function. + (elf32_i860_howto): Minor adjustments to some relocations. + (elf_info_to_howto_rel): Define. + (elf_backend_relocate_section): Define. + +2000-08-10 Nick Clifton + + * elf32-arm.h: Fix formatting. + +2000-08-10 Bernd Schmidt + + * elf32-sh.c (sh_elf_reloc_loop): Make LAST_SYMBOL_SECTION static. + +2000-08-08 Jason Eckhardt + + * elf32-i860.c (elf32_i860_howto_table): Updated some fields. + +2000-08-07 Kazu Hirata + + * ieee.c (ieee_write_debug_part): Rewrite a comment. + * elf64-ia64.c: Fix a typo. + +2000-08-05 Jason Eckhardt + + * elf32-i860.c (elf32_i860_howto_table): New structure. + (lookup_howto): New function. + (elf32_i860_reloc_type_lookup): New function. + (elf32_i860_info_to_howto_rela): New function. + (elf_code_to_howto_index): New structure. + (elf_info_to_howto): Re-define as elf32_i860_info_to_howto_rela. + (bfd_elf32_bfd_reloc_type_lookup): Re-define as + elf32_i860_reloc_type_lookup. + +2000-08-04 Rodney Brown + + * som.c (struct fixup_format): Constify `format'. + (som_hppa_howto_table): Use SOM_HOWTO macro. + (try_prev_fixup, hppa_som_reloc): Decorate unused parameter. + (som_bfd_reloc_type_lookup): Likewise. + (compare_subspaces): Remove unused `count1', `count2'. + (som_begin_writing): Remove unused `total_reloc_size'. + (som_bfd_derive_misc_symbol_info): Decorate unused parameter. + (som_print_symbol, som_bfd_is_local_label_name): Likewise. + (som_set_reloc_info): Constify `cp'. Remove unused `addend'. + (som_find_nearest_line): Decorate unused parameter(s). + (som_sizeof_headers, som_get_symbol_info, som_write_armap): Likewise. + (som_bfd_link_split_section): Likewise. + +2000-08-03 Nick Clifton + + * section.c: Restore backed out code. + * elf.c: Restore backed out code. + (copy_private_bfd_data): Fix bug preventing stipped dynamic + binaries from working. + * bfd-in2.h: Regenerate. + +2000-08-03 H.J. Lu + + * section.c: Back out the change made by Nick Clifton + on 2000-07-31. It breaks stripping dynamic + binaries. + * bfd-in2.h: Likewise. + * elf.c: Likewise. + +2000-08-03 Alexandre Oliva + + * elf32-sh.c (sh_elf_reloc_loop): Warning removal. + +2000-07-31 Jason Eckhardt + + * reloc.c (BFD_RELOC_860_*): New bfd relocs for i860. + * bfd-in2.h, libbfd.h: Regenerate. + +2000-07-31 Nick Clifton + + * section.c (struct sec): Add new boolean field 'segment_mark'. + (STD_SECTION): Initialise new field to zero. + + * bfd-in2.h: Regenerate. + + * elf.c (copy_private_bfd_data): Reorganise section to segment + mapping to cope with moved sections requiring new segments, + and overlapping segments. + (SEGMENT_END): New macro: Return the end address of a segment. + (IS_CONTAINED_BY_VMA): New macro: Determine if a segment + contains a section by comparing their VMA addresses. + (IS_CONTAINED_BY_LMA): New macro: Determine if a segment + contains a section by comparing their LMA addresses. + (INCLUDE_SECTION_IN_SEGMENT): New macro: Determine if a + section should be included in a segment. + (SEGMENT_AFTER_SEGMENT): New macro: Determine if one segment + follows another in memory. + (SEGMENT_OVERLAPS_SEGMENT): New macro: Determine if two + segments overlap. + +2000-07-22 Jason Eckhardt + + * cpu-i860.c: Added comments. + + * elf32-i860.c (TARGET_LITTLE_SYM): Defined to + bfd_elf32_i860_little_vec. + (TARGET_LITTLE_NAME): Defined to "elf32-i860-little". + (ELF_MAXPAGESIZE): Changed to 4096. + + * targets.c (bfd_elf32_i860_little_vec): Declaration of + new target. + (bfd_target_vector): Added bfd_elf32_i860_little_vec. + + * config.bfd (i860-stardent-sysv4*, i860-stardent-elf*): Added + config for little endian elf32 i860. + (targ_defvec): Define for the new config above + as "bfd_elf32_i860_little_vec". + (targ_selvecs): Define for the new config above + as "bfd_elf32_i860_vec bfd_elf32_i860_little_vec" + + * configure.in (bfd_elf32_i860_little_vec): Added recognition + of new target vec. + + * configure: Regenerated. + +2000-07-27 H.J. Lu + + * elflink.h (elf_merge_symbol): Take one more argument, + dt_needed, to indicate if the symbol comes from a DT_NEEDED + entry. Don't overide the existing weak definition if dt_needed + is true. + (elf_link_add_object_symbols): Pass dt_needed to + elf_merge_symbol (). + +2000-07-27 Nick Clifton + + * elflink.h (elf_link_size_reloc_section): Zeroes the section's + allocated contents. + +2000-07-25 Geoffrey Keating + + * configure.host (*-*-aix*): AIX has 'long long' always. + + * coff-rs6000.c (xcoff_write_one_armap_big): New procedure. + (xcoff_write_armap_big): Write both 32-bit and 64-bit armaps. + (xcoff_write_archive_contents_big): Don't update the offset + of the symbol table, xcoff_write_armap will do it. + +2000-07-23 Ulf Carlsson + + * elf32-mips.c (_bfd_mips_elf_check_relocs): Use abfd instead + of dynobj for SGI_COMPAT checks. + +2000-07-21 Michael Sokolov + + * coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): New function. + * bfd-in.h (bfd_m68k_coff_create_embedded_relocs): Add declaration. + * bfd-in2.h: Regenerate. + +2000-07-21 Nick Clifton + + * elf32-mips.c (_bfd_mips_elf_check_relocs): Detect out of + range symbol indices in relocs and issue an error message. + +2000-07-20 H.J. Lu + + * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Don't check + info->new_dtags when setting DT_FLAGS_1. It will only be set + by the new linker options. It shouldn't break anything. + +2000-07-20 H.J. Lu + + * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set DT_FLAGS_1 + only if info->new_dtags is true. + +2000-07-20 H.J. Lu + + * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set + DT_RUNPATH and DT_FLAGS only if info->new_dtags is true. + +2000-07-20 Hans-Peter Nilsson + + * Makefile.am (ALL_MACHINES): Add cpu-cris.lo. + (ALL_MACHINES_CFILES): Add cpu-cris.c. + (BFD32_BACKENDS): Add aout-cris.lo and elf32-cris.lo. + (BFD32_BACKENDS_CFILES): Add aout-cris.c and elf32-cris.c. + (cpu-cris.lo, aout-cris.lo, elf32-cris.lo): New rules. + * Makefile.in: Rebuild. + * aclocal.m4: Rebuild. + * aoutx.h (NAME(aout,machine_type)): Add case for bfd_arch_cris. + * archures.c (enum bfd_architecture): Add bfd_arch_cris. + (bfd_cris_arch): Declare. + (bfd_archures_list): Add bfd_cris_arch. + * bfd-in2.h: Rebuild. + * config.bfd: (cris-*-*): New target. + * configure.in (bfd_elf32_cris_vec, cris_aout_vec): New vectors. + * configure: Rebuild. + * elf.c (prep_headers): Add bfd_arch_cris. + * libbfd.h: Rebuild. + * libaout.h (enum machine_type): Add M_CRIS. + * reloc.c: Add CRIS relocations. + * targets.c (bfd_elf32_cris_vec, cris_aout_vec): Declare. + (bfd_target_vect): Add bfd_elf32_cris_vec and cris_aout_vec. + * cpu-cris.c, aout-cris.c, elf32-cris.c: New files. + * po/POTFILES.in, po/bfd.pot: Regenerate. + +2000-07-19 H.J. Lu + + * elf32-arm.h (elf32_arm_size_dynamic_sections): Also set + DF_TEXTREL if DT_TEXTREL is set. + * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise. + * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise. + * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise. + * elf32-mips.c (_bfd_mips_elf_size_dynamic_sections): Likewise. + * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise. + * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise. + * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise. + * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise. + * elf64-ia64.c (elf64_ia64_size_dynamic_sections): Likewise. + * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise. + + * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also + set DF_SYMBOLIC for symbolic link. Also set DT_RUNPATH if + DT_RPATH is set. + Set the DT_FLAGS and DT_FLAGS_1 entries if necessary. + +2000-07-19 H.J. Lu + + * bfd-in.h (bfd_elf_set_dt_needed_soname): New. + * bfd-in2.h: Rebuild. + + * elf-bfd.h (elf_obj_tdata): Add dt_soname. + (elf_dt_soname): New. + + * elf.c (bfd_elf_set_dt_needed_soname): New. + + * elflink.h (elf_link_add_object_symbols): Add the DT_NEEDED + entry if the shared object loaded by DT_NEEDED is used to + resolve the reference in a regular object. + +2000-07-19 H.J. Lu + + * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_CONFIG, + DT_DEPAUDIT and DT_AUDIT as strings. + +2000-07-19 Nick Clifton + + * format.c: Fix formatting. + +2000-07-19 H.J. Lu + + * elf.c (_bfd_elf_print_private_bfd_data): Fix DT_CHECKSUM. + +2000-07-19 H.J. Lu + + * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_BIND_NOW, + DT_INIT_ARRAY, DT_FINI_ARRAY, DT_INIT_ARRAYSZ, DT_FINI_ARRAYSZ, + DT_RUNPATH, DT_FLAGS, DT_PREINIT_ARRAY, DT_PREINIT_ARRAYSZ, + DT_PLTPADSZ, DT_MOVEENT, DT_MOVESZ, DT_FEATURE, DT_POSFLAG_1, + DT_SYMINSZ, DT_SYMINENT, DT_CONFIG, DT_DEPAUDIT, DT_AUDIT, + DT_PLTPAD, DT_MOVETAB, DT_SYMINFO, DT_RELACOUNT, DT_RELCOUNT, + DT_FLAGS_1, DT_USED and DT_CHECKSUM. + +2000-07-18 Andrew Cagney + + * elf.c (bfd_elf_get_sign_extend_vma, bfd_elf_get_arch_size): Move + renamed functions from here... + (assign_section_numbers): Use renamed functions. + (prep_headers): Use renamed functions. + + * bfd.c (bfd_get_sign_extend_vma, bfd_get_arch_size): ...To here. + * bfd-in.h (bfd_get_sign_extend_vma, bfd_get_arch_size): Update. + * bfd-in2.h: Regenerate. + +2000-07-18 Ulf Carlsson + + * elf32-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Add + parenthesis in if statement. + +2000-07-17 Koundinya K + + Enable the support for Traditional MIPS. + * elf32-mips.c (IRIX_COMPAT): Recognize bfd_elf32_tradbigmips_vecand + return ict_none appropriately for traditional mips targets. + (STUB_LW): Change 0x8f998000 to 0x8f998010 for traditional mips. + (STUB_MOVE): Conditionalize for traditonal mips. + (STUB_LI16): Likewise. + (_bfd_mips_elf_modify_segment_map): Conditionalize to avoid making + room for RTPROC header. + (_bfd_mips_elf_modify_segment_map): For a normal mips executable set + the permission for the PT_DYNAMIC as read, write and execute. + (mips_elf_calculate_relocation): Check for the symbol _DYNAMIC_LINKING + for traditonal mips. + (_bfd_mips_elf_create_dynamic_sections): Add the symbol + _DYNAMIC_LINKING for traditonal mips. + (_bfd_mips_elf_create_dynamic_sections): Add the symbol __RLD_MAP + in case of traditonal mips. + (_bfd_mips_elf_adjust_dynamic_symbol): Create a stub only if a PLT + entry is required. For a function if PLT is not required then set the + corresponding hash table entry to 0. + (_bfd_mips_elf_size_dynamic_sections): Add DT_DEBUG entry for + traditonal mips. + (_bfd_mips_elf_finish_dynamic_symbol): for a undefined symbol in a + shared object set the value to 0. + (_bfd_mips_elf_finish_dynamic_symbol): Check for the symbol + _DYNAMIC_LINKING for traditonal mips. + (_bfd_mips_elf_finish_dynamic_symbol): Check for the symbol __RLD_MAP + for traditonal mips. + +2000-07-15 H.J. Lu + + * aoutx.h (translate_to_native_sym_flags): Handle BSF_LOCAL. + +2000-07-12 Charles Wilson + + * libbfd.c (bfd_seek): fix 'seek beyond EOF' error when writing + out a structure that is BFD_IN_MEMORY. + +2000-07-11 Alan Modra + + * elf64-hppa.c (get_dyn_name): Pass in section pointer instead of + bfd pointer. Print section id instead of bfd pointer for local + syms. Prefix addend with `+' for global syms as well as local. + Correct calculation of name component lengths. + (elf64_hppa_check_relocs): Update call to get_dyn_name. + + From David Huggins-Daines + * elf-hppa.h (elf_hppa_relocate_section): Update calls here too. + * elf64-hppa.c (elf64_hppa_check_relocs): Fix some warnings. + (elf64_hppa_modify_segment_map): Likewise. + +2000-07-11 Andrew Cagney + + * elf.c (bfd_elf_get_sign_extend_vma): Return tendency of VMA + addresses to be "naturally" sign extended. Return -1 if unknown. + * bfd-in.h (bfd_elf_get_sign_extend_vma): Add declaration. + * bfd-in2.h: Regenerate. + +2000-07-11 Andrew Cagney + + * ecoffswap.h (ecoff_get_off, ecoff_put_off): Add ECOFF_SIGNED_32 + and ECOF_SIGNED_64 to list ways to extract an offset. + (ecoff_swap_fdr_in, ecoff_swap_fdr_out, ecoff_swap_pdr_in, + ecoff_swap_pdr_out, ecoff_swap_ext_in, ecoff_swap_ext_out): + Update. + * elf64-mips.c (ECOFF_SIGNED_64): Define instead of ECOFF_64. + * elf32-mips.c (ECOFF_SIGNED_32): Define instead of ECOFF_32. + +2000-07-11 Andrew Cagney + + * elfcode.h (elf_object_p): Use bfd_set_start_address and not + bfd_get_start_address. + (elf_swap_ehdr_in): Sign extend e_entry when applicable. + (elf_swap_ehdr_out): Ditto. + +2000-07-10 Alexander Aganichev + + * archures.c (bfd_default_scan): Add set of bfd_mach_ cases for + compatibility with older binutils. + +2000-07-10 Alan Modra + + * section.c (bfd_make_section_anyway): Start section_id at 0x10. + (STD_SECTION): Avoid negative ids, instead use 0 to 3. + + From Ryan Bradetich + * dwarf1.c (parse_die): Cure signed/unsigned char warnings. + (parse_line_table): Ditto. + (_bfd_dwarf1_find_nearest_line): Ditto. + * syms.c (cmpindexentry): Remove extra `*' from params. + +2000-07-09 Koundinya K + + * elf32-mips.c (sort_dynamic_relocs): New Function. + (_bfd_mips_elf_finish_dynamic_sections): Call sort_dynamic_relocs + via qsort to sort the dynamic relocations in increasing r_symndx + value. + +2000-07-09 Alan Modra + + * elf64-hppa.c (elf64_hppa_dyn_hash_table_init): Add + ATTRIBUTE_UNUSED to unused args. + (get_opd): Likewise. + (get_plt): Likewise. + (get_dlt): Likewise. + (get_stub): Likewise. + (elf64_hppa_adjust_dynamic_symbol): Likewise. + (elf64_hppa_link_output_symbol_hook): Likewise. + (elf64_hppa_check_relocs): Delete unused var. + (elf64_hppa_size_dynamic_sections): Likewise. + (elf64_hppa_finalize_opd): Likewise. + (elf64_hppa_finalize_dynreloc): Likewise. + (elf64_hppa_modify_segment_map): Likewise. + (elf64_hppa_finish_dynamic_sections): Likewise. + + * elf-hppa.h (elf_hppa_final_write_processing): Add + ATTRIBUTE_UNUSED to unused args. + (elf_hppa_final_link_relocate): Likewise. + (elf_hppa_record_segment_addrs): Add paretheses. + (elf_hppa_relocate_section): Constify dyn_name. + + From David Huggins-Daines + * config.bfd: Add hppa*64*-*-linux-gnu 64-bit target, and + rearrange case statement so that it gets preferred to 32-bit ones. + + * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Use + asection->id instead of address of asection structure. + (elf32_hppa_size_stubs): Likewise. + + * elf32-hppa.c (elf32_hppa_size_stubs): Use just one stub section + for .init* and .fini*. + + * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Mask pointers + and addends used in stub names to 32 bits. + (elf32_hppa_size_stubs): Likewise. + + * elf-hppa.h (elf_hppa_final_link_relocate): Don't sum addend + twice for R_PARISC_GPREL64. Use bfd_put_32 for R_PARISC_PCREL32, + not bfd_put_64. Fix minor comment typo and formatting. + + Changes to create multiple linker stubs, positioned immediately + before the section where they are required. + * elf32-hppa.c: Don't include hppa_stubs.h. + (elf32_hppa_stub_hash_entry): Add a pointer to the stub section. + (elf32_hppa_stub_hash_table): Delete. + (elf32_hppa_link_hash_entry): Delete. + (elf32_hppa_link_hash_table): Use plain bfd_hash_table for + stub_hash_table, and store the struct here rather than a pointer. + Delete output_symbol_count. Add offset array. Change + global_value to a bfd_vma. + (elf32_hppa_stub_hash_lookup): Use table instead of table->root. + (elf32_hppa_stub_hash_traverse): Delete. + (elf32_hppa_name_of_stub): Delete. + (elf32_hppa_link_hash_lookup): Delete. + (elf32_hppa_link_hash_traverse): Delete. + (elf32_hppa_stub_hash_table_init): Delete. + (elf32_hppa_size_of_stub): Pass input section and offset rather + than location and calculate location here. Don't pass name as all + stubs are now the same size. + (elf32_hppa_stub_hash_newfunc): Init new fields. + (elf32_hppa_link_hash_table_create): Likewise, and stub_hash_table + too. + (elf32_hppa_bfd_final_link_relocate): Cast enums to int before + comparing against ints. Rewrite stub handling code. + (elf32_hppa_relocate_section): Make r_type and r_symndx unsigned. + Case enums to int before comparing against ints. Remove + bfd_reloc_dangerous case. + (elf32_hppa_build_one_stub): Rewrite. + (elf32_hppa_size_one_stub): New function. + (elf32_hppa_build_stubs): Rewrite. + (elf32_hppa_size_stubs): Pass in linker call-back functions. + Rewrite stub-handling specific code. + + * elf32-hppa.h (elf32_hppa_size_stubs): Update prototype. + + * elf64-hppa.c (elf64_hppa_dyn_hash_entry): Fix a comment typo. + + * hppa_stubs.h: Delete. + * Makefile.am (SOURCE_HFILES): Remove hppa_stubs.h + (elf32-hppa.lo): Remove hppa_stubs.h from dependencies. + * Makefile.in: Regenerate. + + * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle e_nlsel and + e_nlrsel. + + * libhppa.h (hppa_field_adjust): Correct e_nsel case. + + * elf32-hppa.c (elf32_hppa_relocate_section): Mention the offset + and section name for bfd_reloc_notsupported error message. + (elf32_hppa_bfd_final_link_relocate): Print reasons for returning + bfd_reloc_notsupported. + (elf32_hppa_relocate_section): Add ATTRIBUTE_UNUSED to output_bfd. + + * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Handle + undefined weak symbols for all relocs. + (elf32_hppa_size_of_stub): Adjust calculation by 8 since branch + offsets are relative to one past the delay slot. + (elf32_hppa_size_stubs): Account for reloc addend when calculating + branch destination. Put addend into stub name too. + (elf32_hppa_bfd_final_link_relocate): Account for reloc addend and + adjust by 8 when deciding whether a linker stub is needed. Put + addend into stub name as for above. + + * elf32-hppa.c (hppa_elf_relocate_insn): Change signed/unsigned on + various args and vars. + (elf32_hppa_bfd_final_link_relocate): Here too. + (elf32_hppa_size_stubs): Rename index -> indx. Use e_indx for + inner block var to avoid shadowing. + + * elf32-hppa.h (_bfd_elf32_hppa_gen_reloc_type): Make `field' arg + unsigned. + * elf64-hppa.h (_bfd_elf64_hppa_gen_reloc_type): Ditto. + * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Ditto. + (elf_hppa_fake_sections): Rename local var to avoid shadowing. + + * libhppa.h: Change practically all unsigned ints to plain ints. + Remove tests on gcc version. Instead use ATTRIBUTE_UNUSED for + prototypes. + + From Ryan Bradetich + * libhppa.h (hppa_opcode_type): New enum to replace #define's. + * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Modify to + suit above. + From David Huggins-Daines + * elf-hppa.h (elf_hppa_relocate_insn): Update the opcode constants + to the new OP_* ones. + + * elf32-hppa.c (elf32_hppa_size_stubs): Consolidate freeing on + error exit. Bail out earlier on plabel relocs that we aren't + interested in. Don't tell elf32_hppa_stub_hash_lookup to copy + string, and then don't free our copy. + (elf32_hppa_build_one_stub): Make insn unsigned int. + + * libhppa.h (bfd_hppa_insn2fmt): 22 bit branches are only + available with BL, not BE and BLE. + + * elf32-hppa.c (hppa_elf_relocate_insn): Add some more example + code for elf arg relocs. + (elf32_hppa_bfd_final_link_relocate): Replace boolean is_local + argument with elf_link_hash_entry h. Handle undefined weak + symbols. Move $global$ lookup from here... + (elf32_hppa_relocate_section): ...to here. Return correct error + message for non-handled relocs. + (elf32_hppa_size_of_stub): Correctly test branch range. Previous + wrong test was -0x3ffff to +0x40000. + + * elf-hppa.h (elf_hppa_final_link_relocate): R_PARISC_DIR17R, + R_PARISC_DIR17F, and R_PARISC_DIR21L are for absolute branches; + Handle them as such. + (elf_hppa_relocate_insn): Fix a typo. + + * libhppa.h (GET_FIELD, GET_BIT, MASK, CATENATE, ELEVEN): Delete. + (assemble_3, assemble_6, assemble_12, assemble_16, assemble_16a, + assemble_17, assemble_21): Delete. + Supply defines for all 64 possible opcodes. + (bfd_hppa_insn2fmt): Add bfd argument, and use to select wide mode + formats. Handle COMICLR. + (hppa_rebuild_insn): Delete bfd argument. Handle formats 10, -11, + -10, -16, 16, 22. + + * elf32-hppa.c (hppa_elf_relocate_insn): Complete rewrite. + (elf32_hppa_bfd_final_link_relocate): Major rewrite. + (elf32_hppa_build_one_stub): Modify hppa_elf_relocate_insn calls + to suit. + (elf32_hppa_size_stubs): Don't free stub_name twice. Read in all + the local syms - did this code get deleted accidentally? Ignore + undefined and undefweak syms. + + * elf-hppa.h (elf_hppa_final_link): Move hppa_info to outermost + block. Use it instead of elf64_hppa_hash_table (info). + (elf_hppa_final_link_relocate): Use hppa_info instead of + elf64_hppa_hash_table (info). + + * libhppa.h (re_assemble_3, re_assemble_12, re_assemble_16, + re_assemble_17, re_assemble_21, re_assemble_22): Don't mask insn. + (hppa_rebuild_insn): Mask immediate bits here instead. + * elf-hppa.h (elf_hppa_relocate_insn): Mask here too. + +2000-07-08 Alan Modra + + * section.c (struct sec): Add id field. Tidy comment formatting. + (bfd_make_section_anyway): Set id. + (STD_SECTION): Init id too. + Change CONST to const throughout. + * archures.c (bfd_arch_info): Tidy comment. + (bfd_arch_list): Change a CONST to const. + * libbfd-in.h: Tidy comments and replace CONST with const. + * elf-bfd.h: Likewise. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + * libcoff.h: Regenerate. + +2000-07-07 DJ Delorie + + * archive.c (_bfd_write_archive_contents): Add an informative + comment. + +2000-07-06 Kazu Hirata + + * srec.c: Fix formatting. + +2000-06-05 DJ Delorie + + * MAINTAINERS: new + +2000-07-04 Alexandre Oliva + + * coff-arm.c (coff_arm_relocate_section): Do not ignore the symbol + value of PC-relative offsets. + +2000-07-03 Jim Wilson + + * elf64-alpha.c (alpha_elf_size_info): New. + (elf_backend_size_info): Define to alpha_elf_size_info. + * elfcode.h (elf_size_info): Change hash bucket size to 4. + +2000-07-03 Ulf Carlsson + + * elf32-mips.c: Include elf32-target.h again for the traditional + MIPS targets. + +2000-07-03 Marek Michalkiewicz + + * elf32-avr.c (bfd_elf32_bfd_reloc_type_lookup): + Add ATTRIBUTE_UNUSED to unused arguments to avoid warnings. + (avr_info_to_howto_rela): Likewise. + (elf32_avr_gc_mark_hook): Likewise. + (elf32_avr_gc_sweep_hook): Likewise. + (elf32_avr_relocate_section): Likewise. + +2000-07-03 Mark Elbrecht + + * cofflink.c (_bfd_coff_write_global_sym): Turn a weak symbol into + an external symbol for a non-shared, non-relocatable link. + +2000-07-03 Nick Clifton + + * cofflink.c (IS_EXTERNAL): New macro: Return true if the symbol + is an external symbol. + (IS_WEAK_EXTERNAL): New macro: Return true if the symbol is a weak + external symbol. + +2000-07-03 Kazu Hirata + + * reloc16.c: Fix formatting. + +2000-07-01 Koundinya K + + * config.bfd: Change targ_defvec and targ_selvecs for mips*-*-sysv4* + to add a new target for traditional mips i.e + bfd_elf32_tradbigmips_vec and bfd_elf32_tradlittlemips_vec. + * configure.in: Likewise. + * configure: Rebuild. + * targets.c (bfd_elf32_tradbigmips_vec): Declare and put in + bfd_target_vector. + (bfd_elf32_tradlittlemips_vec): Likewise. + * elfxx-target.h: Add macro INCLUDED_TARGET_FILE which is more a test + to see that elfNN_bed does not get redefined even if the target file + is included twice for a chip. See elf32-mips.c. + +2000-07-01 Alan Modra + + * Makefile.am (DEP): Fix 2000-06-22. grep after running dep.sed + (CLEANFILES): Add DEPA. + * Makefile.in: Regenerate. + +2000-06-30 DJ Delorie + + * peicode.h (coff_swap_filehdr_in): can't use e_magic because we + can't assume the PE header is at 0x80. + +2000-06-29 Mark Elbrecht + + * syms.c (_bfd_stab_section_find_nearest_line): Use IS_ABSOLUTE_PATH. + +2000-06-28 Mark Elbrecht + + * go32stub.h: Update stub. + +2000-06-26 Marek Michalkiewicz + + * archures.c (bfd_mach_avr5): Define. + * bfd-in2.h (bfd_mach_avr5): Define. + * cpu-avr.c (arch_info_struct): Rename bfd_mach_avr4 to + bfd_mach_avr5, add bfd_mach_avr4. Update comments. + (compatible): Update comment. Add missing test. + * elf32-avr.c (avr_final_link_relocate): Support 8K wrap + for avr2 and avr4. Simplify 8K wrap code. + (bfd_elf_avr_final_write_processing): Recognize bfd_mach_avr5. + (elf32_avr_object_p): Recognize E_AVR_MACH_AVR5. + +2000-06-26 Kazu Hirata + + * coff-h8300.c: Fix formatting. + * cpu-h8300.c: Likewise. + +2000-06-24 Alexandre Oliva + + * elf32-arm.h (elf32_arm_final_link_relocate): Print `(local)' + for local symbols whose names are unknown. + +2000-06-22 Alan Modra + + * Makefile.am (DEP): grep for leading `/' in DEP1, and fail if we + find one. + * Makefile.in: Regenerate. + * doc/Makefile.in: Regenerate. + +2000-06-20 H.J. Lu + + * Makefile.am: Rebuild dependency. + * Makefile.in: Rebuild. + +2000-06-20 Maciej W. Rozycki + + * elf32-mips.c (_bfd_mips_elf_copy_indirect_symbol): New function. + (elf_backend_copy_indirect_symbol): Map to the new function. + +2000-06-20 Alan Modra + + * archive.c (normalize): Correct pointer comparison when checking + for backslashes. + (bfd_bsd_truncate_arname): Likewise. + (bfd_gnu_truncate_arname): Likewise. + +2000-06-20 Ulf Carlsson + + * elf-bfd.h (struct elf_obj_tdata): Define per BFD Irix 5 virtual + sections elf_{text,data}_{section,symbol}. + * elf32-mips.c: mips_elf_{text,data}_{section,symbol}{,_ptr}: Remove. + (_bfd_mips_elf_hide_symbol): New function. + (elf_backend_hide_symbol): Map to the new function. + (_bfd_mips_elf_add_symbol_hook): Change to use new per BFD + definitions of mips_elf_{text,data}_{section,symbol}. + (mips_elf_local_relocation_p): Try to find the direct symbol + based on new check_forced argument. + (mips_elf_calculate_relocation): Use new version of + mips_elf_local_relocation_p. + (mips_elf_relocate_section): Likewise. + (_bfd_mips_elf_relocate_section): Likewise. + (mips_elf_sort_hash_table): Only assert that have enough GOT + space. + (mips_elf_got16_entry): Match all 32 bits to the existing GOT + entry if the relocation based on the new external argument. + (mips_elf_create_dynamic_relocation): Assert that we have a + section contents allocated where we can swap out the dynamic + relocations. + (mips_elf_calculate_relocation): Find the real hash-table entry + correctly by using h->root.root.type. Only create a dynamic + relocation entry if the symbol is defined in a shared library. + Create an external GOT entry for the GOT16 relocation if the + symbol was forced local. + (_bfd_mips_elf_finish_dynamic_symbol): Don't assert there is a + dynamic index if the symbol was forced local. + +2000-06-20 Maciej W. Rozycki + + * elf32-mips.c: Fix typos in comments. + +2000-06-19 Mark Kettenis + + * rs6000-core.c: Wrap definition of `union VmInfo' within #ifdef + CORE_VERSION_1. + +2000-06-18 Stephane Carrez + + * Makefile.in, bfd-in2.h, libbfd.h, configure: Rebuild. + * Makefile.am (ALL_MACHINES, ALL_MACHINES_CFILES, BFD32_BACKENDS, + BFD32_BACKENDS_CFILES): Add 68hc12, 68hc11 files. + * configure.in (bfd_elf32_m68hc12_vec): Recognize. + (bfd_elf32_m68hc11_vec): Likewise. + * config.bfd (targ_cpu): Recognize 68hc12 and 68hc11. + Supports 68hc11 & 68hc12 at the same time. + * targets.c (bfd_elf32_m68hc12_vec): Declare and put in + bfd_target_vector. + (bfd_elf32_m68hc11_vec): Likewise. + * elf.c (prep_headers): Recognize bfd_arch_m68hc12 and 68hc11. + * archures.c (bfd_m68hc12_arch): Define and register in global list + (bfd_m68hc11_arch): Likewise. + * reloc.c (BFD_RELOC_M68HC11_HI8, BFD_RELOC_M68HC11_LO8, + BFD_RELOC_M68HC11_3B): Define. + * cpu-m68hc12.c, elf32-m68hc12.c: New files for 68hc12 support. + * cpu-m68hc11.c, elf32-m68hc11.c: New files for 68hc11 support. + +2000-06-18 Ulf Carlsson + + * elf_bfd.h (struct elf_backend_data): Add info argument to + elf_backend_hide_symbol. + (_bfd_elf_link_hash_hide_symbol): Likewise. + * elf.c (_bfd_elf_link_hash_hide_symbol): Likewise. + * elf64-ia64.c (elf64_ia64_hash_hide_symbol): Likewise. + * elflink.h (elf_link_add_object_symbols): Likewise. + (elf_link_assign_sym_version): Likewise. + +2000-06-18 H.J. Lu + + * coff-i386.c (coff_i386_reloc): Don't return in case of + output_bfd == (bfd *) NULL if COFF_WITH_PE is defined. + Compensate PE relocations when linking with non-PE object + files to generate a non-PE executable. + +2000-06-17 Ulf Carlsson + + * elf32-mips.c (mips_elf_calculate_relocation): Explicitly write + GOT entries if we're doing a static link or -Bsymbolic link. + +2000-06-15 Ulf Carlsson + + * elflink.h (elf_link_adjust_relocs): Check for and call backend + specifific swap_reloc_{in,out} and swap_reloca_{in,out} if + available. + (elf_link_output_relocs): Likewise. + (elf_reloc_link_order): Likewise. + +2000-06-16 Nicholas Duffek + + * archures.c (enum bfd_architecture): #define constants for + PowerPc and RS6000 machine numbers. + * bfd-in2.h: Regenerate. + * coffcode.h (coff_set_arch_mach_hook): #ifdef XCOFF64, set arch + to bfd_arch_powerpc instead of bfd_arch_rs6000. Refer to PowerPc + and RS6000 machine numbers using #defined constants from + archures.c. + * cpu-powerpc.c (arch_info_struct): Refer to PowerPc and RS6000 + machine numbers using #defined constants from archures.c. Add + entries for EC603e, 630, A35, RS64II, RS64III, 7400. Specify + 64-bit words in 620 entry. + * cpu-rs6000.c (arch_info_struct): Create with entries for RS1, + RSC, and RS2. + (bfd_rs6000_arch): Change default machine to 0 (bfd_mach_rs6k). + +2000-06-16 Nicholas Duffek + + * coffcode.h (coff_mkobject_hook): Set xcoff_tdata.xcoff64. + * libcoff-in.h (struct xcoff_tdata): Define xcoff64 field. + * libcoff.h (struct xcoff_tdata): Define xcoff64 field. + +2000-06-16 Nicholas Duffek + + * bfd-in.h (bfd_family_coff): Define. + * bfd-in2.h: Regenerate. + * coffgen.c (coff_count_linenumbers, coff_symbol_from, + coff_find_nearest_line): Check COFFness using bfd_family_coff() + instead of bfd_target_coff_flavour. + * cofflink.c (_bfd_coff_final_link): Likewise. + * cpu-ns32k.c (do_ns32k_reloc): Don't strcmp() target name to + exclude XCOFF files. + * reloc.c (bfd_perform_relocation, bfd_install_relocation): + Likewise. + * targets.c (enum bfd_flavour): Add bfd_target_xcoff_flavour. + * xcoff-target.h (TARGET_SYM): Use bfd_target_xcoff_flavour. + * xcofflink.c (XCOFF_XVECP): Delete. + (bfd_xcoff_link_record_set, bfd_xcoff_import_symbol, + bfd_xcoff_export_symbol, bfd_xcoff_link_count_reloc, + bfd_xcoff_record_link_assignment, + bfd_xcoff_size_dynamic_sections): Replace XCOFF_XVECP() with + check for bfd_target_xcoff_flavour. + +2000-06-16 Nicholas Duffek + + * rs6000-core.c: Support 64-bit core files, support pre-4.3 core + files on AIX 4.3. + (read_hdr): New function. + (rs6000coff_core_p): Store mstsave or __context64 struct instead + of trying to extract individual registers. Set abfd->arch_info + to match the architecture that created the core file. + (rs6000coff_get_section_contents): Delete. + * xcoff-target.h (rs6000coff_get_section_contents): Delete. + +2000-06-14 H.J. Lu + + * vms-misc.c (_bfd_vms_next_record): Return -1 if PRIV(vms_rec) + is NULL. + +2000-06-13 H.J. Lu + + * configure: Regenerate. + +2000-06-13 J"orn Rennecke + + * peicode.h (pe_ILF_object_p): Use TARGET_LITTLE_SYM instead of + armpei_little_vec. + +2000-06-08 David O'Brien + + * configure.in (VERSION): Update to show this is the CVS mainline. + +2000-06-07 Alan Modra + + * elf32-d10v.c: Include elf/d10v.h + (enum reloc_type): Delete. + * elf32-d30v.c: Include elf/d30v.h + (enum reloc_type): Delete. + + * Makefile.am: Run "make dep-am" to regenerate dependencies. + * Makefile.in: Regenerate. + + * elf32-i386.c (elf_howto_table): Remove EMPTY_HOWTOs. + (elf32_i386_vtinherit_howto, elf32_i386_vtentry_howto): Delete and + move HOWTOs into elf_howto_table. + (R_386_standard, R_386_ext_offset): Define. + (R_386_ext, R_386_vt_offset, R_386_vt): Define. + (elf_i386_reloc_type_lookup): Modify calculation of index into + elf_howto_table since we've removed the padding. + (elf_i386_info_to_howto_rel): Likewise. + (elf_i386_relocate_section): Likewise. + +2000-06-06 Michael Snyder + + * elf.c (elf_grok_pr_status): Eliminate reference to prgregset_t. + +2000-06-05 H.J. Lu + + * elflink.c (_bfd_elf_link_record_dynamic_symbol): Don't flag + an error when seeing an undefined symbol with hidden/internal + attribute. It is handled in *_relocate_section (). + +2000-06-05 H.J. Lu + + * elflink.h (elf_fix_symbol_flags): Follow the link for the + indirect symbol for the ELF_LINK_NON_ELF bit. + (elf_link_output_extsym): Don't output the indirect symbol even + if the ELF_LINK_NON_ELF bit is set. + +2000-06-01 J.T. Conklin + + * config.bfd (i[3456]86-*-netbsdelf*): New target. + (i[3456]86-*-netbsdaout*): New target. + (i[3456]86-*-netbsd*): Add bfd_elf32_i386_vec to targ_selvecs. + (i[3456]86-*-openbsd*): Likewise. + +2000-05-30 Andrew Cagney + + * trad-core.c: From hpux-core.c, include or + when possible. + +2000-05-31 Ulrich Drepper + + * elf.c (_bfd_elf_slurp_version_tables): Correct reading of version + definitions. We must not assume they are sorted in the file + according to their index numbers. + +2000-05-31 Alan Modra + + * elf-hppa.h: (elf_hppa_final_link_relocate): Use e_rsel field + selector for R_PARISC_PCREL17R. R_PARISC_DIR17R and + R_PARISC_DIR17F are for absolute branches; Handle them as such. + +2000-05-30 Nick Clifton + + * cpu-i960.c (scan_960_mach): Accept 80960KA, 80960KB, + 80960CA, 80960MC as valid machine names. + +2000-05-30 H.J. Lu + + * elflink.c (_bfd_elf_link_record_dynamic_symbol): Clear the + visibility bits if the symbol is undefined. Correctly handle + weak undefined symbols with hidden and internal attributes. + + * elflink.h (elf_link_add_object_symbols): Always turn the + symbol into local if it has the hidden or internal attribute. + +2000-05-29 Philip Blundell + + * ppcboot.c: Add packed attribute if compiling with GCC. + +2000-05-29 Anatoly Vorobey + + * elf.c (_bfd_elf_link_hash_table_init): Initialize dynlocal. + +2000-05-26 Michael Snyder + + * elf.c (elfcore_grok_prstatus, elfcore_grok_pstatus, + elfcore_grok_psinfo): Add code to allow debugging a 32-bit + corefile on a 64-bit (Sparc Solaris) host. Also clean up + a few old comments. + +2000-05-26 Alan Modra + + * Makefile.am: Update dependencies with "make dep-am" + * Makefile.in: Regenerate. + + * sysdep.h (gettext, dgettext, dcgettext, textdomain, + bindtextdomain): Replace defines with those from intl/libgettext.h + to quieten gcc warnings. + +2000-05-26 Eli Zaretskii + + * aoutx.h (find_nearest_line): Use IS_ABSOLUTE_PATH. + + * archive.c (normalize, bfd_bsd_truncate_arname, + bfd_gnu_truncate_arname) [HAVE_DOS_BASED_FILE_SYSTEM]: Support + file names with backslashes. + + * cache.c (bfd_open_file) [__MSDOS__]: Don't unlink the file + before opening it. + + * sysdep.h: Include filenames.h. + +2000-05-26 Alan Modra + + * opncls.c (bfd_close_all_done): Mask file perms with 0777 not 0x777. + +2000-05-26 Jakub Jelinek + + * elf64-sparc.c (sparc64_elf_relax_section): New. + (sparc64_elf_relocate_section): Optimize tail call into branch always + if possible. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + (elf32_sparc_relax_section): New. + +2000-05-26 Jakub Jelinek + + * elf64-sparc.c: Add ATTRIBUTE_UNUSED to unused function parameters. + Remove unusued variables. + (sparc64_elf_relocate_section): Change r_symndx type to unsigned long. + (sparc64_elf_merge_private_bfd_data): Fix shared library case from + previous fix, so that shared libs really don't influence targets + extension mask and memory model. + +2000-05-23 H.J. Lu + + * elf64-alpha.c (elf64_alpha_relocate_section): Check + h->root.other not h->other. + * elf32-mips.c (mips_elf_calculate_relocation): Likewise. + + * elf32-ppc.c (ppc_elf_relocate_section): Fix a typo. + +2000-05-23 H.J. Lu + + * elf32-i386.c (elf_i386_relocate_section): Don't allow the + undefined symbol with the non-default visibility attributes. + * elf-hppa.h (elf_hppa_relocate_section): Likewise. + * elf32-arm.h (elf32_arm_relocate_section): Likewise. + * elf32-i370.c (i370_elf_relocate_section): Likewise. + * elf32-m68k.c (elf_m68k_relocate_section): Likewise. + * elf32-mcore.c (mcore_elf_relocate_section): Likewise. + * elf32-mips.c (mips_elf_calculate_relocation): Likewise. + * elf32-ppc.c (ppc_elf_relocate_section): Likewise. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. + * elf64-ia64.c (elf64_ia64_relocate_section): Likewise. + * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. + +2000-05-22 Richard Henderson + + * elf64-ia64.c (ia64_howto_table): Add PCREL60B, PCREL21BI, + PCREL22, PCREL64I. Zero size of special relocs. + (elf64_ia64_reloc_type_lookup): Likewise. + (USE_BRL, oor_brl, oor_ip): New. + (elf64_ia64_relax_section): New. + (elf64_ia64_check_relocs): Handle PCREL60B, PCREL22, PCREL64I. + (elf64_ia64_install_value): Likewise, plus PCREL21BI. + (elf64_ia64_relocate_section): Likewise. + (bfd_elf64_bfd_relax_section): New. + * reloc.c (BFD_RELOC_IA64_PCREL21BI): New. + (BFD_RELOC_IA64_{PCREL22,PCREL60B,PCREL64I}): New. + * bfd-in2.h, libbfd.h: Regenerate. + +2000-05-22 Nick Clifton + + * configure.in : Add peigen.lo to MIPS PE targets. + * configure: Regenerate. + +2000-05-22 Momchil Velikov + + * libbfd.c (_bfd_generic_verify_endian_match): Compare endianess + only if it is known for both input and output bfds. Separate + error message strings as in some languages, it may be necessary + to change more than one place in the string to change between + 'big' and 'little'. + + * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Remove inline + endianess checks, call _bfd_generic_verify_endian_match() instead. + + * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Likewise. + + * elf32-mcore.c (mcore_elf_merge_private_bfd_data): Likewise. + + * elf32-arm.h (elf32_arm_merge_private_bfd_data): Likewise. Verify + endianess before checking bfd flavours. + +2000-05-22 H.J. Lu + + * elflink.h (elf_link_output_extsym): Clear the visibility + field for symbols not defined locally. + +2000-05-18 Alan Modra + + * libhppa.h (re_assemble_3, re_assemble_12, re_assemble_16, + re_assemble_17, re_assemble_21, re_assemble_22): Don't mask insn. + (hppa_rebuild_insn): Mask immediate bits here instead. + * elf-hppa.h (elf_hppa_relocate_insn): Mask here too. + +2000-05-18 Momchil Velikov + + * elflink.h (elf_bfd_final_link, elf_link_input_bfd): When emiting + relocs for an executable, ensure that they are virtual addresses. + +2000-05-18 Jeffrey A Law (law@cygnus.com) + + * config.bfd (hppa*64*-*-hpux11*): New target triplet. + +2000-05-17 S. Bharadwaj Yadavalli + Rick Gorton + + * elflink.h: Add emitrelocations support: when enabled, relocation + information and relocation sections are put into final output + executables. If the emitrelocations flag is set, do the following: + (elf_bfd_final_link): Emit relocation sections. + (elf_link_input_bfd): Compute relocation section contents. + (elf_gc_sections): Don't clean relocation sections. + +2000-05-16 Catherine Moore + + * som.c (som_decode_symclass): Recognize weak symbols. + +2000-05-16 Szabolcs Szakacsits + + * peigen.c (pe_print_idata): Undo part of 2000-05-12 change that + read idata section only from dataoff. + (pe_print_edata): Correctly check for valid eat_member. + +2000-05-16 J"orn Rennecke + + * elf32-sh.c (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH8. + +2000-05-14 Philip Blundell + + * config.bfd (armeb-*-elf, arm*b-*-linux-gnu*): New targets. + +2000-05-12 Alan Modra + + * targets.c (bfd_target_vector): #ifdef BFD64 rs6000coff64_vec + + * peigen.c (pe_print_idata): Look for .idata section and print + info even if data directory has zero entries. Read idata section + starting from dataoff, and adjust all data offsets to suit. Cast + all bfd_vma vars to unsigned long before passing to fprintf. + * peigen.c (pe_print_edata): Similarly, look for .edata section + and print info even if data directory has zero entries. Cast + all bfd_vma vars to unsigned long before passing to fprintf. + + From Szabolcs Szakacsits + * peigen.c (pe_print_idata): Use bfd_section_size rather than data + directory size which may be bogus. + * peigen.c (pe_print_edata): Similarly. + +2000-05-09 Alan Modra + + * elf.c (bfd_section_from_shdr): Don't set use_rela_p if rela + section is empty. + (copy_private_bfd_data): Allow for space possibly taken up by elf + headers when calculating segment physical address from lma. + +2000-05-08 Alan Modra + + * versados.c (versados_scan): Init stringlen and pass_2_done. + + * trad-core.c (trad_unix_core_file_p): Return + bfd_error_wrong_format rather than bfd_error_file_truncated. + + * peigen.c (_bfd_pei_swap_aouthdr_out): Pass ImageBase to + add_data_entry. DataDirectory virtual address is relative. + (pe_print_idata): Account for relative DataDirectory virtual + addresses. Don't trash datasize inside POWERPC_LE_PE code. + (pe_print_edata): Similarly. + + From Szabolcs Szakacsits + * peigen.c (dir_names): Add Delay Import Directory. + (pe_print_idata): Always search for bfd section containing + idata address rather than looking up section name. Print this + section name rather than .idata. + (pe_print_edata): Similarly. Also print some fields as %08lx. + (_bfd_pe_print_private_bfd_data_common): Print Reserved1 field as + Win32Version. + +2000-05-05 Clinton Popetz + + * xcoff.h: Rename to xcoff-target.h + * Makefile.am: Change all instances of xcoff.h to xcoff-target.h + * coff-rs6000.c: Ditto. + * coff64-rs6000.c: Ditto. + * coff-pmac.c: Ditto. + * Makefile.in: Regenerate. + +2000-05-05 Clinton Popetz + + * coffcode.h (coff_set_arch_mach_hook, coff_set_flags): + Change U802TOC64MAGIC to U803XTOCMAGIC. + +2000-05-04 Michael Snyder + + * elf.c (bfd_elf_get_arch_size): New function, return 32 | 64 | -1. + * bfd-in.h: Prototype bfd_elf_get_arch_size. + * bfd-in2.h: Prototype bfd_elf_get_arch_size. + +2000-05-04 Alan Modra + + * libhppa.h (HPPA_R_CONSTANT): Cast argument to bfd_signed_vma. + +2000-05-03 Martin v. Löwis + + * elflink.h (elf_link_add_object_symbols): Reset dynindx for + hidden and internal symbols. + (elf_fix_symbol_flags): Clear NEEDS_PLT for symbols with + visibility. + * elflink.c (_bfd_elf_link_record_dynamic_symbol): Do not + assign a PLT or GOT entry to symbols with hidden and + internal visibility. + +2000-05-03 Mark Elbrecht + + * coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Add entry for + the .bss section. + * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise. + +2000-05-02 H.J. Lu + + * elf.c (prep_headers): Use ELFOSABI_NONE instead of + ELFOSABI_SYSV. + +2000-05-02 Alan Modra + + * targets.c (bfd_target_vector): Restore bfd_elf32_hppa_vec. + * Makefile.am (BFD32_BACKENDS): Restore elf32-hppa.lo. Regenerate + dependencies. + * Makefile.in: Regenerate. + +2000-05-01 Jim Wilson + + * Makefile.am (BFD32_BACKENDS): Add efi-app-ia32.lo. + (BFD32_BACKENDS_CFILES): Add efi-app-ia32.c. + (BFD64_BACKENDS): Delete coff-ia64.lo. Add efi-app-ia64.lo. + (BFD64_BACKENDS_CFILES): Delete coff-ia64.c. Add efi-app-ia64.c. + * Makefile.in: Rebuild. + +2000-05-02 Alan Modra + + * config.bfd: Re-enable elf32-hppa. It now compiles, even if it + doesn't work very well. + + * elf-hppa.h (elf_hppa_internal_shdr): Define. + (elf_hppa_fake_sections): hdr is elf_hppa_internal_shdr. + Set hdr->s_type to 1 if ARCH_SIZE == 32. + (_bfd_elf_hppa_gen_reloc_type): Add prototype. + (elf_hppa_info_to_howto): Likewise. + (elf_hppa_info_to_howto_rel): Likewise. + (elf_hppa_reloc_type_lookup): Likewise. + (elf_hppa_is_local_label_name): Likewise. + (elf_hppa_fake_sections): Likewise. + (elf_hppa_final_write_processing): Likewise. + (elf_hppa_howto_table): Fully initialise all entries. + (_bfd_elf_hppa_gen_reloc_type): Add ATTRIBUTE_UNUSED to args. + (elf_hppa_info_to_howto): Likewise. + (elf_hppa_info_to_howto_rel): Likewise. + (elf_hppa_reloc_type_lookup): Likewise. + (elf_hppa_final_write_processing, elf_hppa_add_symbol_hook, + elf_hppa_unmark_useless_dynamic_symbols, + elf_hppa_remark_useless_dynamic_symbols, + elf_hppa_record_segment_addrs, elf_hppa_final_link, + elf_hppa_relocate_section, elf_hppa_final_link_relocate, + elf_hppa_relocate_insn): Compile only if ARCH_SIZE == 64 until + elf32-hppa.c mess is cleaned up. + (elf_hppa_final_link_relocate): Make insn and r_type unsigned + int. Delete r_field. In case R_PARISC_PCREL21L, don't set + r_field then call hppa_field_adjust inline func with variable + r_field arg, instead call hppa_field_adjust with fixed arg. + In case R_PARISC_PCREL22F, don't set r_field. + (elf_hppa_relocate_insn): Change args and return type to unsigned + int. Call re_assemble_* funcs to do the work. + + * elf32-hppa.c (hppa_elf_relocate_insn): Don't assume 32 bit when + sign extending. + + * libhppa.h (HPPA_R_CONSTANT): Don't assume 32 bit when sign + extending. + (sign_extend): Mask first before sign extending. + (low_sign_extend): Rewrite without condition expression. + (ones, dis_assemble_3, dis_assemble_12, dis_assemble_16, + dis_assemble_17, dis_assemble_21, dis_assemble_22): Delete. + (assemble_3, assemble_6, assemble_12, assemble_16, assemble_16a, + assemble_17, assemble_21, sign_unext, low_sign_unext): Return + result as function return value rather than through pointer arg. + Accept unsigned int args, and return unsigned int. + (re_assemble_3): New. Combines function of dis_assemble_3 with + re-assembly of opcode and immediate. + (re_assemble_12): Likewise. + (re_assemble_16): Likewise. + (re_assemble_17): Likewise. + (re_assemble_21): Likewise. + (re_assemble_22): Likewise. + (hppa_field_adjust): Rewrite and document, paying attention to + size of types and signed/unsigned issues. + (get_opcode): Shift before masking. + (FDLW): Rename to FLDW. + (bfd_hppa_insn2fmt): Change arg to unsigned int. Delete fmt. + (hppa_rebuild_insn): Change args and return value to unsigned + int. Make use of re_assemble_*. Correct case 11. + + * dep-in.sed: Handle ../opcodes/. + * Makefile.am (SOURCE_HFILES): Add elf-hppa.h, elf32-hppa.h, + elf64-hppa.h, hppa_stubs.h, xcoff.h. + (BFD32_BACKENDS_CFILES): Restore elf32-hppa.c. + Remove elf64-hppa.lo, cpu-ia64.lo, elf64-ia64.lo, elfarm-oabi.lo, + elfarm-nabi.lo dependencies outside of auto-dependency area. + Regenerate dependencies. + * Makefile.in: Regenerate. + + * configure.in (TRAD_HEADER): Test non-null before + AC_DEFINE_UNQUOTED. + * configure: Regenerate. + + * reloc.c: Fix mis-spelling in comment. + +2000-05-01 Alan Modra + + * coff-sh.c (bfd_coff_small_swap_table): Fix Fri Apr 28 change. + * vms.c (vms_openr_next_archived_file): Return NULL. + +2000-04-28 Clinton Popetz + + * coffcode.h Copy changes mistakenly done to libcoff.h in + 4/24/2000 patch. + +2000-04-29 Andreas Jaeger + + * libbfd-in.h: Correctly check GCC version. + * bfd-in.h: Likewise. + * libhppa.h: Likewise. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + +2000-04-28 Clinton Popetz + + * Makefile.am (BFD64_BACKENDS, BFD64_BACKENDS_CFILES): Add + coffdu-rs6000.{lo,c}. + (coff-pmac.lo, coff-rs6000.lo, coff64-rs6000.lo): Add dependency + on xcoff.h + * Makefile.in: Regenerate. + * xcoff.h: New file. + * coff-pmac.c: Use xcoff.h instead of coff-rs6000.c. + * coff-rs6000.c: Move all declarations and defines that are + common to the xcoff backends into xcoff.h + * coff64-rs6000.c: Ditto, + +2000-04-28 Clinton Popetz + + * coff-mips.c (mips_ecoff_backend_data): Add initialization of + _bfd_coff_force_symnames in strings and + _bfd_coff_debug_string_prefix_length to their default values. + * coff-sh.c: (bfd_coff_small_swap_table): Ditto. + +2000-04-28 Clinton Popetz + + * coff-alpha.c (alpha_ecoff_backend_data): Add initialization of + _bfd_coff_force_symnames in strings and + _bfd_coff_debug_string_prefix_length to their default values. + +2000-04-27 Alan Modra + + * elf32-m68k.c (elf_m68k_gc_sweep_hook): Return if dynobj NULL. + Check local_got_refcounts before dereferencing. + + * elf32-ppc.c (ppc_elf_relocate_section): Check splt != NULL + before deciding we don't need R_PPC_PLT32 relocation. + (ppc_elf_gc_sweep_hook): Check local_got_refcounts before + dereferencing. + + * elflink.h (elf_gc_common_finalize_got_offsets): Fix comment. + + * elf32-i386.c (elf_i386_check_relocs): Reference count .got and + .plt entries. + (elf_i386_gc_sweep_hook): Garbage collect .got and .plt entries. + (elf_i386_adjust_dynamic_symbol): Recognize unused .plt entries. + (elf_i386_relocate_section): Allow for .plt to go missing. + (elf_i386_finish_dynamic_symbol): Use same test to decide if we + can use a relative reloc for got as elf_i386_relocate_section. + (bfd_elf32_bfd_final_link): Define to use gc form of final link. + +2000-04-26 Clinton Popetz + + * config.bfd: Remove extraneous bfd_powerpc_64_arch. + +2000-04-24 Clinton Popetz + + * Makefile.am (coff64-rs6000.lo): New rule. + * Makefile.in: Regenerate. + * coff-rs6000.c (xcoff_mkobject, xcoff_copy_private_bfd_data, + xcoff_is_local_label_name, xcoff_rtype2howto, + xcoff_reloc_type_lookup, xcoff_slurp_armap, xcoff_archive_p, + xcoff_read_ar_hdr, xcoff_openr_next_archived_file, xcoff_write_armap, + xcoff_write_archive_contents): No longer static, and prefix with _bfd_. + (NO_COFF_SYMBOLS): Define. + (xcoff64_swap_sym_in, xcoff64_swap_sym_out, xcoff64_swap_aux_in, + xcoff64_swap_aux_out): New functions; handle xcoff symbol tables + internally. + (MINUS_ONE): New macro. + (xcoff_howto_tabl, xcoff_reloc_type_lookup): Add 64 bit POS + relocation. + (coff_SWAP_sym_in, coff_SWAP_sym_out, coff_SWAP_aux_in, + coff_SWAP_aux_out): Map to the new functions. + * coff64-rs6000.c: New file. + * libcoff.h (bfd_coff_backend_data): Add new fields + _bfd_coff_force_symnames_in_strings and + _bfd_coff_debug_string_prefix_length. + (bfd_coff_force_symnames_in_strings, + bfd_coff_debug_string_prefix_length): New macros for above fields. + * coffcode.h (coff_set_arch_mach_hook): Handle XCOFF64 magic. + Set machine to 620 for XCOFF64. Use bfd_coff_swap_sym_in instead + of using coff_swap_sym_in directly. + (FORCE_SYMNAMES_IN_STRINGS): New macro, defined for XCOFF64. + (coff_set_flags) Set magic for XCOFF64. + (coff_compute_section_file_positions): Add symbol name length to + string section length if bfd_coff_debug_string_prefix_length is + true. + (coff_write_object_contents): Don't do reloc overflow for XCOFF64. + (coff_slurp_line_table): Use bfd_coff_swap_lineno_in instead of + using coff_swap_lineno_in directly. + (bfd_coff_backend_data): Add _bfd_coff_force_symnames_in_strings + and _bfd_coff_debug_string_prefix_length fields. + * coffgen.c (coff_fix_symbol_name, coff_write_symbols): Force + symbol names into strings table when + bfd_coff_force_symnames_in_strings is true. + * coffswap.h (MAX_SCNHDR_NRELOC, MAX_SCNHDR_NLNNO, GET_RELOC_VADDR, + SET_RELOC_VADDR): New macros. + (coff_swap_reloc_in, coff_swap_reloc_out): Use above macros. + (coff_swap_aux_in, coff_swap_aux_out): Remove RS6000COFF_C + code. + (coff_swap_aouthdr_in, coff_swap_aouthdr_out): Handle XCOFF64 + changes within RS6000COFF_C specific code. + (coff_swap_scnhdr_out): Use PUT_SCNHDR_NLNNO, PUT_SCNHDR_NRELOC, + MAX_SCNHDR_NRELOC, and MAX_SCNHDR_NLNNO. + * reloc.c (bfd_perform_relocation, bfd_install_relocation): + Extend existing hack on target name. + * xcofflink.c (XCOFF_XVECP): Extend existing hack on + target name. + * coff-tic54x.c (ticof): Keep up to date with new fields + in bfd_coff_backend_data. + * config.bfd: Add bfd_powerpc_64_arch to targ_arch and define + targ_selvecs to include rs6000coff64_vec for rs6000. + * configure.in: Add rs6000coff64_vec case. + * cpu-powerpc.c: New bfd_arch_info_type. + +2000-04-24 Jeffrey A Law (law@cygnus.com) + + * config.bfd: Only disable elf32-hppa vectors, not all of the + BSD and OSF configuration support. Provide (disabled) clauses + for PA64 support. + * configure.in: Add clause for PA64 support. + * configure: Rebuilt. + + * targets.c (bfd_target_vector): Add bfd_elf64_hppa_vec. + (bfd_elf64_hppa_vec): Declare. + + * Makefile.am (BFD64_BACKENDS): Add elf64-hppa.lo + (BFD64_BACKENDS_CFILES): Add elf64-hppa.c + (elf64-hppa.lo): Add dependencies. + * Makefile.in: Rebuilt. + + * elf64-hppa.c, elf64-hppa.h: New files with PA64 support. + +2000-04-24 Jason Eckhardt + + * libhppa.h (dis_assemble_16): New function. + (pa_arch): Added pa20w element. + +2000-04-24 Ulrich Drepper + + * elf-bfd.h: Add prototypes for bfd_elf32_write_relocs, + bfd_elf32_slurp_reloc_table, bfd_elf64_write_relocs, and + bfd_elf64_slurp_reloc_table. + + * elfcode.h (elf_write_relocs, elf_slurp_reloc_table): New + definitions to get external names. + (elf_write_relocs): Renamed from write_relocs and make global. + (elf_slurp_reloc_table): Make global. + (_bfd_elf,size_info): Use elf_write_relocs instead of write_relocs. + + * archive.c (hpux_uid_gid_encode): New function. + (bfd_ar_hdr_from_filesystem): Use it if HPUX_LARGE_AR_IDS is + defined and the ID is greater than 99999. + (bfd_generic_stat_arch_elt): If HPUX_LARGE_AR_IDS is defined decode + special uid/gid fields into 32 bit values. + +2000-04-21 Matthew Green + + * config.bfd: Add NetBSD/sparc64 support. + +Fri Apr 21 13:20:53 2000 Richard Henderson + David Mosberger + Timothy Wall + Jim Wilson + + * Makefile.am (ALL_MACHINES): Add cpu-ia64.lo. + (ALL_MACHINES_CFILES): Add cpu-ia64.c. + (BFD64_BACKENDS): Add elf64-ia64.lo. + (BFD64_BACKENDS_CFILES): Add elf64-ia64.c. + (cpu-ia64.lo, elf64-ia64.lo): New rules. + * Makefile.in: Rebuild. + * archures.c (enum bfd_architecture): Add bfd_arch_ia64. + (bfd_ia64_arch): Declare. + (bfd_archures_list): Add bfd_ia64_arch. + * bfd-in2.h: Rebuild. + * config.bfd: (ia64*-*-linux-gnu*, ia64*-*-elf*): New targets. + * configure: Rebuild. + * configure.host: (ia64-*-linux*): New host. + * configure.in (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_big_vec, + bfd_efi_app_ia64_vec, bfd_efi_app_ia64_vec): New vectors. + * elf.c (prep_headers): Add bfd_arch_ia64. + * libbfd.h: Rebuild. + * reloc.c: Add IA-64 relocations. + * targets.c (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_big_vec): + Declare. + (bfd_target_vect): Add bfd_elf64_ia64_little_vec. + * cpu-ia64-opc.c, cpu-ia64.c, elf64-ia64.c: New files. + +2000-04-21 Richard Henderson + + * elf32-d30v.c (bfd_elf_d30v_reloc): Don't modify section + contents when performing a partial link. + (bfd_elf_d30v_reloc_21): Likewise. + +2000-04-20 H.J. Lu + + * elf32-i386.c (elf_i386_relocate_section): Restrict 1998-12-10 + patch to symbols defined by a shared object. + * elf32-ppc.c (ppc_elf_relocate_section): Similarly. + +2000-04-19 Michael Sokolov + + K&R compiler fixes. + * dwarf2.c (concat_filename): Avoid string literal concatenation. + * ieee.c (ieee_get_symtab): Don't initialise union in struct. + +Mon Apr 17 19:14:36 2000 David Mosberger + + * Makefile.am (BFD64_BACKENDS): Mention coff-ia64.lo. + (BFD64_BACKENDS_CFILES): Mention coff-ia64.c + (coff-ia64.lo): Add dependency. + * Makefile.in: Regenerate. + * coff-ia64.c: New file. + * efi-app-ia32.c: Ditto. + * efi-app-ia64.c: Ditto. + * coffcode.h (coff_set_arch_mach_hook): Handle IA64MAGIC. + (coff_set_flags): Ditto. + (coff_write_object_contents) [IA64]: Set magic number to ZMAGIC. + * config.bfd (i[3456]86-*-linux-gnu*): Mention bfd_efi_app_ia32_vec. + * configure.in (elf): Handle bfd_efi_app_ia32 and bfd_efi_app_ia64_vec. + * configure: Regenerate. + * libpei.h (GET_OPTHDR_IMAGE_BASE): New macro. + (PUT_OPTHDR_IMAGE_BASE): Ditto. + (GET_OPTHDR_SIZE_OF_STACK_RESERVE): Ditto. + (PUT_OPTHDR_SIZE_OF_STACK_RESERVE): Ditto. + (GET_OPTHDR_SIZE_OF_STACK_COMMIT): Ditto. + (PUT_OPTHDR_SIZE_OF_STACK_COMMIT): Ditto. + (GET_OPTHDR_SIZE_OF_HEAP_RESERVE): Ditto. + (PUT_OPTHDR_SIZE_OF_HEAP_RESERVE): Ditto. + (GET_OPTHDR_SIZE_OF_HEAP_COMMIT): Ditto. + (PUT_OPTHDR_SIZE_OF_HEAP_COMMIT): Ditto. + (GET_PDATA_ENTRY): Ditto. + * peigen.c (_bfd_pei_swap_aouthdr_in) [COFF_WITH_PEP64]: Don't read + data_start. Use above macros to read fields that are 64 bit wide for + COFF_WITH_PEP64. Don't truncate entry and text_start to 32 bits. + (_bfd_pei_swap_aouthdr_out) [PEI_FORCE_MINIMUM_ALIGNMENT]: Force + FileAlignment and SectionAlignment to minimum alignment if they + are zero. + (_bfd_pei_swap_aouthdr_out) [PEI_DEFAULT_TARGET_SUBSYSTEM]: Set + Subsystem to default PEI_DEFAULT_TARGET_SUBSYSTEM. + (_bfd_pei_swap_aouthdr_out) [COFF_WITH_PEP64]: Don't set data_start. + Use above macros to write fields that are 64 bit wide for + COFF_WITH_PEP64. + (pe_print_pdata): Set PDATA_ROW_SIZE to 3*8 for COFF_WITH_PEP64, + 5*4 otherwise. This should be right for IA-32 and IA-64, but may + be wrong for platforms. Use PDATA_ROW_SIZE instead of hardcoded + value of 20 bytes. Modify printing for COFF_WITH_PEP64 to print + begin address, end address, and unwind info address only. Use + GET_PDATA_ENTRY() to read .pdata entries. Use fprintf_vma() to + print addresses. + (tbl): Add SECTION, REL32, RESERVED1, MIPS_JMPADDR16, DIR64, and + HIGH3ADJ relocation names. + (_bfd_pe_print_private_bfd_data): Print Subsystem name in legible form. + * targets.c: Declare bfd_efi_app_ia32_vec and + bfd_efi_app_ia64_vec. + (bfd_target_vector): Mention bfd_efi_app_ia32_vec and + bfd_efi_app_ia64_vec. + +2000-04-17 Timothy Wall + + * bfd-in2.h: Add prototypes for tic54x load page access. + * bfd-in.h: Regenerate. + * coff-tic54x.c: Add load page functions; allow bfd_arch_unknown + in customized _set_arch_mach function. + * coffcode.h (coff_set_alignment_hook): Set section load page if + the appropriate macro is defined. + (write_object_contents): Read section load page. + +2000-04-13 Alan Modra + + * elf32-hppa.h: Update copyright date. + + * elf32-fr30.c (fr30_elf_i20_reloc): Don't use U suffix. + * elf32-mips.c (_bfd_mips_elf_relocate_section): And here. + + * elf32-d30v.c (MAX32): Don't use LL suffix. + (MIN32): Define in terms of MAX32. + (bfd_elf_d30v_reloc): Make relocation a bfd_signed_vma. + + * coff-a29k.c (SIGN_EXTEND_HWORD): Replace with more concise + expression. + + * peicode.h (pe_ILF_build_a_bfd): Remove UL from hex constants. + +2000-04-12 Alan Modra + + * dep-in.sed: Match space before file name, not after. + * Makefile.am: Regenerate dependencies. + * Makefile.in: Regenerate. + + * reloc.c (_bfd_relocate_contents): In complain_overflow_bitfield + case, allow address wrap-around stupidly removed 2000-03-17. Sign + extend without an if statement. + +2000-04-11 Alan Modra + + * coff-mips.c (mips_gprel_reloc): Test for 16 bit range using + signed quantites. + * elf32-mips.c (gprel16_with_gp): Likewise. + * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Test range + here using -0x40000, not (int)0xfffc0000. + (elf32_hppa_size_of_stub): Likewise. + +2000-04-11 Timothy Wall + + * coff-tic54x.c: Now builds with all targets. + * Makefile.am: Add coff/tic54x.h to coff-tic54x.o dependencies. + * Makefile.in: Regenerate. + * coffcode.h (coff_set_arch_mach_hook): Eliminate warning on + unitialized variable. + +Fri Apr 7 15:56:57 2000 Andrew Cagney + + * configure.in (WARN_CFLAGS): Set to -W -Wall by default. Add + --enable-build-warnings option. + * Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions. + * Makefile.in, configure: Re-generate. + +2000-04-07 Nick Clifton + + * reloc.c: Add BFD_RELOC_ARM_PCREL_BLX and + BFD_RELOC_THUMB_PCREL_BLX. + + * elf32-arm.h (elf32_arm_final_link_relocate): Handle + R_ARM_XPC25 and R_ARM_THM_PC22. + + * elfarm-nabi.c (elf32_arm_howto_): Fix definitions of + R_ARM_XPC25 and R_ARM_THM_XPC22. + (elf32_arm_reloc_map): Make BFD_RELOC_{ARM|THUMB}_PCREL_BLX to + R_ARM_[XPC25|THM_XPC22]. + + * elfarm-oabi.c: Define OLD_ARM_ABI and change include from + elf/arm-oabi.h to elf/arm.h + + * Makefile.am: Fix dependency for elfarm-oabi.c + * Makefile.in: Regenerate. + + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2000-04-06 Michael Snyder + + * elfcore.h (elf_core_file_p): preserve value of tdata at entry, + and restore it on failure. Release newly allocated tdata on + failure. + +Fri Apr 7 11:33:47 2000 Jim Wilson + + * dwarf2.c (struct dwarf2_debug): New field dwarf_line_size. + (decode_line_info): Set it. Report error if unit->line_offset is + equal to or larger than it. + +2000-04-07 Timothy Wall + + * targets.c: Added vecs for tic54x. + * reloc.c: Added relocs for tic54x. + * libbfd.h: Regenerated. + * configure: Add TI COFF vecs for tic54x. + * configure.in: Ditto. + * config.bfd (targ_cpu): Recognize new tic54x target. + * coffcode.h (coff_slurp_symbol_table): Additions for TI COFF handling. + * bfd-in2.h: Add tic54x target and relocations. + * Makefile.am, Makefile.in: Add tic54x target. + * archures.c (bfd_archures_list): Add tic54x target. + * coff-tic54x.c: New. + * cpu-tic54x.c: New. + +2000-04-06 Michael Snyder + + * elfcore.h (elf_core_file_p): call backend_object_p which + thereby gets an opportunity to update the arch/machine type. + +2000-04-06 Timothy Wall + + * coffcode.h (coff_slurp_symbol_table): Handle C_STATLAB storage + class. Handle SEC_CLINK and SEC_BLOCK flags. + * section.c: Add SEC_CLINK and SEC_BLOCK flags. + * bfd-in2.h: Add SEC_CLINK and SEC_BLOCK flags. + +2000-04-06 Nick Clifton + + * elf32-arm.h (elf32_arm_set_private_flags): Only check for + EF_INTERWORK if this is an unknown EABI. + (elf32_arm_merge_private_bfd_data): Check EABI version + numbers. Only check EF_xxx flags if the EABI version number + is unknown. + (elf32_arm_check_private_bfd_data): Only check EF_xxx flags + if the EABI version number is unknown. + (elf32_arm_print_private_bfd_data): Only decode EF_xxx flags + if the EABI version number is unknown. + +Wed Apr 5 22:04:20 2000 J"orn Rennecke + + * reloc.c (_bfd_relocate_contents): Add BFD_RELOC_SH_LOOP_START and + BFD_RELOC_SH_LOOP_END. + * elf32-sh.c (sh_elf_howto_tab): Change special_func to + sh_elf_ignore_reloc for all entries that sh_elf_reloc used to ignore. + Add entries for R_SH_LOOP_START and R_SH_LOOP_END. + (sh_elf_reloc_loop): New function. + (sh_elf_reloc): No need to test for always-to-be-ignored relocs + any more. + (sh_rel): Add entries for BFD_RELOC_SH_LOOP_{START,END}. + (sh_elf_relocate_section): Handle BFD_RELOC_SH_LOOP_{START,END}. + * bfd-in2.h, libbfd.h: Regenerate. + +2000-04-04 Alan Modra + + * po/bfd.pot: Regenerate. + + * Makefile.am: Remove extraneous mkdep comment. + (MKDEP): Use gcc -MM rather than mkdep. + (DEP): Quote when passing vars to sub-make. Add warning + message to end. + (DEP1): Rewrite for "gcc -MM". + (CLEANFILES): Add DEP2. + Update dependencies. + * Makefile.in: Regenerate. + +2000-04-03 Kevin Buettner + + * configure.in: Added corefile support for AIX 4.3. In particular, + AIX_CORE_DUMPX_CORE will be defined in addition to AIX_CORE when + compiling rs6000-core.c. + * configure: Regenerated. + +2000-04-03 H.J. Lu + + * cache.c (bfd_open_file): Unlink the output file only if + it has non-zero size. + +2000-04-01 Ken Block USG + + * elf64-alpha.c (elf64_alpha_relocate_section): Don't emit + relative relocations for non-loaded sections in shared objects. + (elf64_alpha_check_relocs): Similarly. + +Mon Apr 3 13:37:15 2000 Hans-Peter Nilsson + + * aoutx.h (NAME(aout,reloc_type_lookup)): Add BFD_RELOC_8 and + BFD_RELOC_16 to switch for extended relocs. + (MY_swap_ext_reloc_in): New. + (MY_swap_ext_reloc_out): New. + (NAME(aout,slurp_reloc_table)): Use MY_swap_ext_reloc_in rather + than NAME(aout,swap_ext_reloc_in) for extended relocs. + (NAME(aout,squirt_out_relocs)): Similarly use + MY_swap_ext_reloc_out. + (aout_link_reloc_link_order): Use MY_put_ext_reloc if defined. + +2000-04-03 Kazu Hirata + + * coff-h8300.c (h8300_reloc16_extra_cases): Add bsr:16 -> bsr:8 to + the R_PCRWORD_B case. + +2000-03-31 Thomas de Lellis + + * srec.c : Set CHUNK size to 16 bytes to prevent download failures + on some targets. + * ihex.c : Ditto. + +Wed Mar 30 15:28:00 2000 Donald Lindsay + + * elf32-m32r.c (m32r_elf_generic_reloc): new function. All + HOWTO references to bfd_elf_generic_reloc, that have + partial_inplace == true, now use the new function. The function + is based on the recent rewrite of m32r_elf_lo16_reloc(), and + extends its fixes to the R_M32R_{16,24,32} relocs. + The new logic in m32r_elf_lo16_reloc() has been removed, and + it instead calls the new routine to obtain that functionality. + +2000-03-27 Alan Modra + + * elf32-avr.c (elf32_avr_gc_mark_hook, elf32_avr_gc_sweep_hook, + elf32_avr_check_relocs, avr_final_link_relocate, + elf32_avr_relocate_section, bfd_elf_avr_final_write_processing, + elf32_avr_object_p): Add prototypes. + (elf32_avr_gc_mark_hook): Add default for h->root.type. + (bfd_elf_avr_final_write_processing): Make static. + +2000-03-27 Denis Chertykov + + * cpu-avr.c: New file. BFD support routines for AVR architecture. + * archures.c (bfd_architecture): Add AVR architecture. + (bfd_archures_list): Add reference to AVR architecture info. + * elf.c (prep_headers): Handle bfd_arch_avr. + * reloc.c: Add various AVR relocation enums. + * targets.c (bfd_elf32_avr_vec): Declare and add to target vector + list. + * Makefile.am: Add support for AVR elf. + * configure.in: Likewise. + * config.bfd: Likewise. + * Makefile.in: Regenerate. + * configure: This too. + * bfd-in2.h: And this. + * libbfd.h: And this. + +2000-03-24 H.J. Lu + + * elf64-alpha.c (elf64_alpha_merge_ind_symbols): Add prototype. + (elf64_alpha_find_reloc_at_ofs): Likewise. + +2000-03-17 Alan Modra + + * reloc.c (bfd_check_overflow): In case complain_overflow_bitfield, + flag an overflow if the bitfield is outside -2**n to 2**n-1. The + allowable range used to be -2**(n-1) to 2**n-1. + * reloc.c (_bfd_relocate_contents): Same here. Also replace + "boolean overflow" with "bfd_reloc_status_type flag". + +2000-03-14 Doug Evans + + * elf32-m32r.c (m32r_elf_lo16_reloc): Rewrite. + +2000-03-14 Kazu Hirata + + * reloc16.c (bfd_coff_reloc16_relax_section): Count the total number + of shrinks properly, including the last reloc. + +2000-03-13 Kazu Hirata + + * coff-h8300.c (h8300_reloc16_extra_cases): Fix the sanity + check for R_MOVL2. + +2000-03-11 Alan Modra + + * ieee.c (ieee_archive_p): Return bfd_error_wrong_format on + a format mismatch rather than an "error" from bfd_read such as + bfd_error_file_truncated. + +2000-03-10 Geoff Keating + + * elf32-mips.c (_bfd_mips_elf_relocate_section): Do proper + sign-extension and big-endian compensation for + R_MIPS_64 even in ld -r. + +2000-03-10 Geoffrey Keating + + * elf32-mips.c (mips_elf_next_relocation): Rename from + mips_elf_next_lo16_relocation, and generalize to look + for any relocation type. + (elf_mips_howto_table): Make R_MIPS_PC16 pcrel_offset. + (elf_mips_gnu_rel_hi16): Howto for R_MIPS_GNU_REL_HI16. + (elf_mips_gnu_rel_lo16): Howto for R_MIPS_GNU_REL_LO16. + (elf_mips_gnu_rel16_s2): Howto for R_MIPS_GNU_REL16_S2. + (elf_mips_gnu_pcrel64): Howto for R_MIPS_PC64. + (elf_mips_gnu_pcrel32): Howto for R_MIPS_PC32. + (bfd_elf32_bfd_reloc_type_lookup): Add new relocs. + (mips_rtype_to_howto): Likewise. + (mips_elf_calculate_relocation): Handle new relocs. + (_bfd_mips_elf_relocate_section): REL_HI16/REL_LO16 relocs + are paired. The addend for R_MIPS_GNU_REL16_S2 + is shifted right two bits. + +2000-03-10 Alan Modra + + * reloc.c (bfd_perform_relocation): Undo emacs formatting of + comment, and ensure it doesn't happen again. + (bfd_install_relocation): Same here. + (_bfd_relocate_contents): Don't bother assigning unused signmask + shift result. Fix typos in comments. + Remove trailing whitespace throughout file. + +2000-03-07 Doug Evans + + * reloc.c (reloc_howto_struct): Fix partial_inplace comment. + * bfd-in2.h: Rebuild. + +2000-03-06 Nick Clifton + + * peicode.h (struct pe_ILF_vars): Add sym_ptr_table and + sym_ptr_ptr fields. + (SIZEOF_ILF_SYM_PTR_TABLE): Define. + (SIZEOF_ILF_STRINGS): Redefine. + (pe_ILF_make_a_symbol-reloc): New function. Creates a symbol + relative reloc, as opposed to a section relative reloc. + (pe_ILF_make_a_symbol): Set the class of local symbols to C_STAT + not C_LABEL. + Add length of symbol's prefix to string pointer. + Store a pointer to the symbol in the symbol pointer table. + (pe_ILF_build_a_bfd): Do not build .idata$2 or .idata$7. + Initialise the symbol pointer table. + Store the hint in the Hint/Name table. + Make the jump reloc be symbol realtive, not section relative. + Create an import symbol for imported code. + +2000-03-06 Catherine Moore + + * elf.c (swap_out_syms): Check for null type_ptr. + +2000-03-01 Hans-Peter Nilsson + + * aout-target.h (MY(write_object_contents)): Remove unused + and unusable "#if CHOOSE_RELOC_SIZE". + * pc532-mach.c (MY(write_object_contents)): Ditto. + * netbsd.h (MY(write_object_contents)): Ditto. + * hp300hpux.c (MY(write_object_contents)): Ditto. + * freebsd.h (MY(write_object_contents)): Ditto. + * aout-tic30.c (tic30_aout_write_object_contents): Ditto. + +2000-02-29 H.J. Lu + + * peicode.h (jtab): Make it static. + + * coff-sh.c (sh_align_load_span): Declared if COFF_WITH_PE is + defined and COFF_IMAGE_WITH_PE is not defined. + (_bfd_sh_align_load_span): Defined as sh_align_load_span if + COFF_WITH_PE is defined and COFF_IMAGE_WITH_PE is not defined. + +2000-03-01 Nick Clifton + + * coff-arm.c (bfd_arm_process_before_allocation): Make + 'symndx' signed to prevent compile time warning. + + * coff-mcore.c: Remove unused prototype for pe_object_p. + + * coff-sh.c: Add "#ifndef COFF_IMAGE_WITH_PE" around static + functions that are not used when COFF_IMAGE_WITH_PE is + defined. + (struct sh_opcode): Change type of 'flags' field to unsigned + long so that it can hold the USESAS flag. + + * coffcode.h (styp_to_sec_flags): Initialise 'target_name'. + + * elf-m10300.c (mn10300_elf_relax_section): Initialise + 'sym_sec'. + + * elf32-i370.c: Add ATTRIBUTE_UNUSED to unused function + parameters. + Remove unusued variables and code. + (elf_backend_add_symbol_hook): Fix prototype. + + * elf32-m68k.c (elf_m68k_gc_sweep_hook): Initialise 'sgot' and + 'srelgot'. + + * elf32-mcore.c (mcore_elf_relocate_section): Initialise + 'oldinst'. + + * elf32-mips.c: Add ATTRIBUTE_UNUSED to unused function + parameters. + Remove unusued variables and code. + (elf_backend_add_symbol_hook): Fix prototype. + + * elf32-sh.c (sh_elf_set_mach_from_flags): Use 'flags'. + + * elflink.h (elf_bfd_link_add_symbols): Add ATTRIBUTE_UNUSED + to unused function parameter. + + * pe-mips.c: Add ATTRIBUTE_UNUSED to unused function + parameters. + Use EMPTY_HOWTO to initialise empty howto slots. + Remove unused variables. + + * peicode.h (pe_ILF_build_a_bfd): Initialise id6. + +2000-03-01 H.J. Lu + + * aoutx.h (aout_link_input_section_std): Pass "true" to + the undefined_symbol callback. + (aout_link_input_section_ext): Likewise. + * bout.c (get_value): Likewise. + * coff-a29k.c (coff_a29k_relocate_section): Likewise. + * coff-alpha.c (alpha_ecoff_get_relocated_section_conten): + Likewise. + (alpha_relocate_section): Likewise. + * coff-arm.c (coff_arm_relocate_section): Likewise. + * coff-i960.c (coff_i960_relocate_section): Likewise. + * coff-mcore.c (coff_mcore_relocate_section): Likewise. + * coff-mips.c (mips_relocate_section): Likewise. + * coff-ppc.c (coff_ppc_relocate_section): Likewise. + * coff-sh.c (sh_relocate_section): Likewise. + * coff-tic80.c (coff_tic80_relocate_section): Likewise. + * cofflink.c (_bfd_coff_generic_relocate_section): Likewise. + * elf-m10200.c (mn10200_elf_relocate_section): Likewise. + * elf-m10300.c (mn10300_elf_relocate_section): Likewise. + * elf32-d10v.c (elf32_d10v_relocate_section): Likewise. + * elf32-fr30.c (fr30_elf_relocate_section): Likewise. + * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. + * elf32-i370.c (i370_elf_relocate_section): Likewise. + * elf32-m32r.c (m32r_elf_relocate_section): Likewise. + * elf32-mcore.c (mcore_elf_relocate_section): Likewise. + * elf32-sh.c (sh_elf_relocate_section): Likewise. + * elf32-v850.c (v850_elf_relocate_section): Likewise. + * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise. + * elflink.h (elf_link_output_extsym): Likewise. + * pe-mips.c (coff_pe_mips_relocate_section): Likewise. + * reloc.c (bfd_generic_get_relocated_section_conten): Likewise. + * reloc16.c (_bfd_ppc_xcoff_relocate_section): Likewise. + + * elf-hppa.h (elf_hppa_relocate_section): Pass "false" to the + undefined_symbol callback when building shared library with + -Bsymbolic and undefined symbols are allowed. Otherwise, pass + "true". + * elf32-arm.h (elf32_arm_relocate_section): Likewise. + * elf32-i386.c (elf_i386_relocate_section): Likewise. + * elf32-m68k.c (elf_m68k_relocate_section): Likewise. + * elf32-mips.c (mips_elf_calculate_relocation): Likewise. + (elf32_mips_get_relocated_section_content): Likewise. + * elf32-ppc.c (ppc_elf_relocate_section): Likewise. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. + * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. + +2000-02-28 Nick Clifton + + * Makefile.am: Add rules to build pe[i]-{sh|mips}.lo objects. + * Makefile.in: Regenerate. + + * configure.in: Add support for mips and sh pe vectors. + * configure: regenerate. + + * config.bfd: Add support for arm-wince, mips-pe and sh-pe + targets. + + * targets.c: Add mips and sh pe vectors. + + * libpei.h (coff_final_link_postscript): Only define if not + already defined. + + * coffcode.h: Add support for WinCE magic numbers. + + * peigen.c (pe_print_reloc): Update comment and rearrange + appending of newline character. + + * peicode.h: Add support for Image Library Format. + (pe_ILF_vars): Structure containing data used by ILF code. + (pe_ILF_make_a_section): New function. Create a section based + on ILF data. + (pe_ILF_make_a_reloc): New function. Create a reloc based on + ILF data. + (pe_ILF_make_a_symbol): New function. Create a symbol based + on ILF data. + (pe_ILF_save_relocs): New function. Store the relocs created + by pe_ILF_make_a_reloc in a section. + (pe_ILF_build_a_bfd): New function. Create a BFD describing + an ILF object. + (pe_ILF_object_p): New function. Return a bfd_target pointer + for an ILF object. + (pe_bfd_object_p): If an ILF object is detected call + pe_ILF_object_p on it. + + * coff-arm.c: Add support for WinCE relocs which are different + from normal ARM COFF relocs. + * pe-arm.c: Unset TARGET_UNDERSCORE for a WinCE target. + + * coff-sh.c: Add support for sh-pe target. + * pe-sh.c: New file. Support code for sh-pe target. + * pei-sh.c: New file. Support code for sh-pe target. + + * pe-mips.c: New file. Support code for mips-pe target. + * pei-mips.c: New file. Support code for mips-pe target. + +2000-02-27 Jakub Jelinek + + * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Don't bump + architecture if the object causing the bump is dynamic. + * elf64-sparc.c (sparc64_elf_merge_private_bfd_data): Likewise, + and also don't it for memory ordering. + (sparc64_elf_write_relocs): Take src_rela out of the loop. + +2000-02-27 Ian Lance Taylor + + * dwarf2.c (read_abbrevs): Use _raw_size directly rather than + calling bfd_get_section_size_before_reloc. + (decode_line_info): Likewise. + (_bfd_dwarf2_find_nearest_line): Likewise. + +2000-02-27 Eli Zaretskii + + * Makefile.am (stamp-lib): Use $(LIBTOOL) --config to get the + name of the libtool directory. + * Makefile.in: Rebuild. + +Fri Feb 25 18:39:26 2000 Rodney Brown (RodneyBrown@pmsc.com) + + * som.c (SOM_HOWTO): Define. + (som_hppa_howto_table): Use it. + +2000-02-25 Alexandre Oliva + + * config.bfd: Enable 64 bit support for GNU/Linux/sparc. + + * config.bfd: Enable 64 bit support for Solaris7+/sparc. + +2000-02-24 Catherine Moore + + * som.c (som_misc_symbol_info): Add field + secondary_def. + (som_bfd_derive_misc_symbol_info): Initialize + secondary_def. + (som_build_and_write_symbol_table): Keep track + of secondary_def field. + (som_slurp_symbol_table): Set BSF_WEAK symbol flag + if secondary_def field is set. + (som_bfd_ar_write_symbol_stuff): Initialize + secondary_def. + +2000-02-23 Stephane Carrez + + * dwarf2.c (read_address): Read 16-bits addresses. + (parse_comp_unit): Accept addr_size == 2. + +2000-02-23 Alan Modra + + * bfd-in.h: Update copyright date. + +2000-02-23 Linas Vepstas + + * cpu-i370.c: New file. + * elf32-i370.c: New file. + * archures.c (enum bfd_architecture): Add bfd_arch_i370. + (bfd_i370_arch): New. + (bfd_archures_list): Add bfd_i370_arch. + * elf.c (prep_headers): Add bfd_arch_i370. + * Makefile.am: Add support for IBM 370 elf. + * config.bfd: Likewise. + * configure.in: Likewise. + * libbfd.h (bfd_reloc_code_real_names): Likewise. + * reloc.c (bfd_reloc_code_type): Likewise. + * targets.c: Likewise. + + * Makefile.in: Regenerate. + * configure: Regenerate. + * bfd-in2.h: Regenerate. + +2000-02-22 Ian Lance Taylor + + * elf32-i386.c (elf_i386_info_to_howto_rel): Give a warning for + invalid relocation types, and change them to R_386_NONE. + +2000-02-22 H.J. Lu + + * elflink.h (elf_link_add_object_symbols): If a version symbol is + not defined, don't add a second ELF_VER_CHR. + + * elflink.h (elf_bfd_final_link): Call output_extsym for global + symbols converted to local symbols even when stripping all + symbols. + (elf_link_output_extsym): Process global symbols converted to + local symbols even if they are being stripped. + +2000-02-21 Alan Modra + + * archures.c (bfd_octets_per_byte): Return unsigned int. + (bfd_arch_mach_octets_per_byte): Ditto. + * libbfd.c (bfd_read, bfd_seek): Quell signed vs. unsigned + comparison warning. + * section.c (bfd_get_section_size_before_reloc): Quell signed + vs. unsigned comparison warning. + (bfd_get_section_size_after_reloc): Same here. Fix parentheses too. + * trad-core.c (trad_unix_core_file_p): Correct 2000-01-27 + change. What was I thinking? + * bfd-in2.h: Regenerate. + + * elflink.h (elf_gc_sweep): Skip non-elf input bfds. + (elf_gc_sections): Same here. + (elf_gc_common_finalize_got_offsets): And here. + +2000-02-21 Ian Lance Taylor + + ELF HPPA doesn't work at present; remove it until it does. + * config.bfd: Comment out setting targ_defvec to + bfd_elf32_hppa_vec. + * Makefile.am: Rebuild dependencies. + (BFD32_BACKENDS): Remove elf32-hppa.lo. + (BFD32_BACKENDS_CFILES): Remove elf32-hppa.c. + (SOURCE_HFILES): Remove elf32-hppa.h and hppa_stubs.h. + * Makefile.in: Rebuild. + * targets.c (bfd_target_vector): Comment out bfd_elf32_hppa_vec. + +2000-02-18 Geoff Keating + + * coffcode.h (coff_set_arch_mach_hook): Use free(), because there + is no bfd_free(). Revert bfd_free part of previous change. + +2000-02-18 Geoff Keating + + * coffcode.h (coff_set_arch_mach_hook): Don't use variable-size + arrays. + (coff_compute_section_file_positions): Use bfd_free to pair + bfd_malloc. + (coff_write_object_contents): Likewise. + + * coff-rs6000.c (xcoff_howto_table_16): New variable. + (xcoff_rtype2howto): Handle 16-bit variants of 32-bit relocs. + +2000-02-18 Ulrich Drepper + + * coff-rs6000.c (XCOFFARMAGBIG): New macro. + (xcoff_ar_file_hdr_big): New structure. + (SIZEOF_AR_FILE_HDR_BIG): New macro. + (xcoff_ar_hdr_big): New structure. + (SIZEOF_AR_HDR_BIG): New macro. + (xcoff_big_format_p): New macro. + (xcoff_ardata_big): New macro. + (arch_xhdr_big): New macro. + (xcoff_slurp_armap): Handle large archives. + (xcoff_archive_p): Detect large archives. + (xcoff_read_ar_hdr): Handle large archives. + (xcoff_openr_next_archived_file): Handle large archives. + (xcoff_generic_stat_arch_elt): Handle large archives. + (xcoff_write_armap_old): Rename from xcoff_write_armap. + (xcoff_write_armap_big): New function. + (xcoff_write_armap): New function, dispatch to _old or _big. + (xcoff_write_archive_contents_old): Rename from + xcoff_write_archive_contents. + (xcoff_write_archive_contents_big): New function. + (xcoff_write_archive_contents): New function, dispatch to _old or + _big. + +2000-02-18 Richard Henderson + + * elf-bfd.h (struct elf_link_hash_table): Remove copy_indirect + and hide_symbol members. + (elf_link_hash_copy_indirect): Remove. + (elf_link_hash_hide_symbol): Remove. + (struct elf_backend_data): Add elf_backend_copy_indirect_symbol + and elf_backend_hide_symbol. + (_bfd_elf_link_hash_copy_indirect): Declare. + (_bfd_elf_link_hash_hide_symbol): Declare. + * elf.c (_bfd_elf_link_hash_copy_indirect): Remove table argument. + (_bfd_elf_link_hash_hide_symbol): Likewise. + (_bfd_elf_link_hash_table_init): Don't init killed members. + * elflink.h (elf_link_add_object_symbols): Use the bed function + pointers not elf_link_hash_{copy_indirect,hide_symbol}. + (elf_link_assign_sym_version): Likewise. + * elfxx-target.h (elf_backend_copy_indirect_symbol): Default. + (elf_backend_hide_symbol): Likewise. + (elfNN_bed): Update for new members. + +2000-02-17 Kevin Buettner + + * rs6000-core.c (CORE_DATA_SIZE_FIELD, CORE_COMM_FIELD, SAVE_FIELD, + STACK_END_ADDR): Define for new core file format. + (LOADER_OFFSET_FIELD, LOADER_REGION_SIZE, CORE_DUMP): New defines + for handling the vagaries of the various core file structures used + by AIX over the years. + (rs6000coff_core_p, rs6000coff_core_file_matches_executable, + Rs6kCorData): Use above defines to adapt code to use AIX 4.3's + core_dumpx structure. + +Thu Feb 17 00:04:48 2000 J"orn Rennecke + + * archures.c (bfd_mach_sh2, bfd_mach_sh_dsp): New macros. + (bfd_mach_sh3_dsp): Likewise. + (bfd_mach_sh4): Reinstate. + (bfd_default_scan): Recognize 7410, 7708, 7729 and 7750. + * bfd-in2.h: Regenerate. + * coff-sh.c (struct sh_opcode): flags is no longer short. + (USESAS, USESAS_REG, USESR8, SETSAS, SETSAS_REG): New macros. + (sh_opcode41, sh_opcode42): Integrate as sh_opcode41. + (sh_opcode01, sh_opcode02, sh_opcode40): Add sh-dsp opcodes. + (sh_opcode41, sh_opcode4, sh_opcode80): Likewise. + (sh_opcodes): No longer const. + (sh_dsp_opcodef0, sh_dsp_opcodef): New arrays. + (sh_insn_uses_reg): Check for USESAS and USESR8. + (sh_insn_sets_reg, sh_insns_conflict): Check for SETSAS. + (_bfd_sh_align_load_span): Return early for SH4. + Modify sh_opcodes lookup table for sh-dsp / sh3-dsp. + Take into account that field b of a parallel processing insn + could be mistaken for a separate insn. + * cpu-sh.c (arch_info_struct): New array elements for + sh2, sh-dsp and sh3-dsp. + Reinstate element for sh4. + (SH2_NEXT, SH_DSP_NEXT, SH3_DSP_NEXT): New macros. + (SH4_NEXT): Reinstate. + (SH3_NEXT, SH3E_NEXT): Adjust. + * elf-bfd.h (_sh_elf_set_mach_from_flags): Declare. + * elf32-sh.c (sh_elf_set_private_flags): New function. + (sh_elf_copy_private_data, sh_elf_set_mach_from_flags): Likewise. + (sh_elf_merge_private_data): New function. + (elf_backend_object_p, bfd_elf32_bfd_set_private_bfd_flags): Define. + (bfd_elf32_bfd_copy_private_bfd_data): Define. + (bfd_elf32_bfd_merge_private_bfd_data): Change to + sh_elf_merge_private_data. + +2000-02-13 Richard Henderson + + * elf-bfd.h (struct elf_link_hash_table): Add copy_indirect and + hide_symbol members. + (elf_link_hash_copy_indirect): New. + (elf_link_hash_hide_symbol): New. + * elflink.h (elf_link_add_object_symbols): Break out copy from + indirect new new symbol to elf.c. + (elf_link_assign_sym_version): Break out privatization of + non-exported symbol to elf.c. + * elf.c (_bfd_elf_link_hash_copy_indirect): New. + (_bfd_elf_link_hash_hide_symbol): New. + (_bfd_elf_link_hash_table_init): Init copy_indirect and hide_symbol. + +2000-02-13 Ian Lance Taylor + + * section.c (_bfd_strip_section_from_output): Add info parameter. + If it passed as non-NULL, use it to check whether any input BFD + has an input section which uses this output section. Change all + callers. + * bfd-in2.h: Rebuild. + + * bfd-in.h: Move declarations of bfd_get_elf_phdr_upper_bound and + bfd_get_elf_phdrs in from bfd-in2.h, correcting patch of + 1999-11-29. + * bfd-in2.h: Rebuild. + +2000-02-10 Timothy Wall + + * coffswap.h (coff_swap_sym_in): Add hook SWAP_SYM_IN_POST to + allow final modifications of swapped-in symbol. + (coff_swap_sym_out): Ditto with SWAP_SYM_OUT_POST. + * coffcode.h (coff_write_relocs): Use macro + SECTION_RELATIVE_ABSOLUTE_SYMBOL_P if defined to determine whether + symbol index should be set to -1. + +Thu Feb 10 20:07:50 GMT 2000 Toshiyasu Morita (toshi.morita@sega.com) + + * coff-sh.c (USES1_REG, USES2_REG, SETS1_REG, SETS2_REG, + USESF1_REG, USESF2_REG, SETSF1_REG, SETSF2_REG): New macros. + * (sh_insn_sets_reg, sh_insn_sets_freg): New prototypes. + * (sh_insn_sets_reg, sh_insn_uses_or_sets_reg, sh_insns_sets_freg, + sh_insns_uses_or_sets_freg): New functions. + * (sh_insn_uses_reg, sh_insn_uses_freg): Use new macros. + * (sh_insns_conflict): Use new functions and new macros to + detect conflicts when two instructions both set same integer registers, + both set same fp register, and both set special register. + +2000-02-09 Timothy Wall + + * coffgen.c (coff_real_object_p): Set arch/mach info prior to + swapping in sections, so that the swapping routines have access to + the arch/mach info. + +2000-02-08 Mark Elbrecht + + * coff-go32.c: Update comment. Update copyright. + +2000-01-27 Thomas de Lellis + + * syms.c (bfd_decode_symclass) + Two new class characters were added - 'V' and 'v'. The + meaning of 'W' is now restricted to just weak non-object + symbols. This allows differentiation between, for example, + weak functions vs weak objects. nm for example now dumps: + 'W' = weak global + 'w' = weak unresolved + 'V' = weak global object + 'v' = weak unresolved object + + (bfd_is_undefined_symclass): New function. Return true if the + given symbol class represents and undefined/unresolved symbol. + + (bfd_symbol_info): Use bfd_is_undefined_symclass to check for + unresolved symbols. + + * bfd-in2.h: Add prototype for bfd_is_undefined_symbol(). + + * elf32-arm.h (elf32_arm_get_symbol_type): If a symbol has the + STT_ARM_16BIT flag set, but it is not attached to a data object + return STT_ARM_16BIT so that it will be treated as code by the + disassembler. + +2000-01-27 Alan Modra + + * coff-i386.c (i3coff_object_p): Remove prototype. + Update copyright. + + * elflink.c (_bfd_elf_link_record_dynamic_symbol): Add const + to name. Update copyright. + + * trad-core.c (trad_unix_core_file_p): Cast core_regsec + assignment to avoid warning. Update copyright. + +2000-01-24 Robert Lipe (robertl@sco.com) + + * coffcode.h (coff_write_object_contents): Get buff via bfd_malloc + instead of using GNU C extension. + +2000-01-21 Nick Clifton + + * libbfd.c (bfd_read): Do not attempt to get a negativly sized + amount from a bfd_in_memory structure. + (bfd_seek): Do not allow seeks past the end of a bfd_in_memory + structure. + +2000-01-14 Nick Clifton + + * linker.c (default_indirect_link_order): oops - fix incorrectly + applied patch from Tim Wall. + +2000-01-13 Timothy Wall (twall@tiac.net> + + * coffcode.h: Use bfd_coff_xxx instead of the macro XXX (where xxx + = scnhsz, filhsz, relsz, aoutsz, etc) + + * coffswap.h: Ditto. + +2000-01-13 Nick Clifton + + * elf32-arm.h (elf32_thumb_to_arm_stub): Fix offset in branch to + interwork thumb to arm stub. + +2000-01-13 Timothy Wall (twall@tiac.net> + + * archures.c (bfd_octets_per_byte): New function: Return + target byte size. + (bfd_arch_mach_octets_per_byte): New function: Return target + byte size. + + * section.c: Distinguish between octets and bytes for usage of + _cooked_size, _raw_size, and output_offset. Clarify + description of bfd_set_section_contents. + + * bfd-in2.h: Regenerate. + + * coffgen.c: Indicate that the offset parameter is in bytes, not + octets. + + * cofflink.c (bfd_coff_link_input_bfd): Use bfd_octets_per_byte + where appropriate to get the octet offset when calling + bfd_set_section_contents. + (bfd_coff_reloc_link_order): Ditto. + + * linker.c (bfd_generic_reloc_link_order): Ditto. + (_bfd_default_link_order): Ditto. + + * reloc.c (bfd_perform_relocation): Distinguish between octets + and bytes. Use octets when indexing into octet data; use bytes + when calculating target addresses. + (bfd_install_relocation): Ditto. + + * srec.c (srec_write_section): Ditto. + +2000-01-13 Nick Clifton + + * coff-mcore.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Change from + 3 to 2. This allows 4 byte sized sections, which is necessary for + dlltool to build functioning DLLs. + +2000-01-10 Philip Blundell + + * config.bfd (arm*-*-linux-gnu*): Match instead of arm*-*-linux-gnu. + (arm*-*-conix*): New target. + +2000-01-10 Egor Duda + + * config.bfd: Include elf32_i386 vector to target list for cygwin + and mingw. + + * config.in: Undefine HAVE_WIN32_PSTATUS_T. + * configure.in: Test for structure win32_pstatus_t in + + * configure: Regenerate. + + * elf.c (elfcore_grok_win32pstatus): New function: process + win32_pstatus_t notes in elf core file. + (elfcore_grok_note): Detect win32_pstatus notes. + +2000-01-03 Martin v. Loewis + + * elflink.c (_bfd_elf_link_record_dynamic_symbol): Process symbol + visibility. + * elflink.h (elf_link_add_object_symbols): Combine visibilities. + * elf.c (bfd_elf_print_symbol): Interpret st_other as visibility. + +For older changes see ChangeLog-9899 + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c index 7fe328e7039..4c3dadb1527 100644 --- a/bfd/elf32-hppa.c +++ b/bfd/elf32-hppa.c @@ -1562,7 +1562,12 @@ elf32_hppa_check_relocs (abfd, info, sec, relocs) links or visibility changes anyway. A STUB_REL reloc is absolute too, as in that case it is the reloc in the stub we will be creating, rather than copying the PCREL - reloc in the branch. */ + reloc in the branch. + + If on the other hand, we are creating an executable, we + may need to keep relocations for symbols satisfied by a + dynamic library if we manage to avoid copy relocs for the + symbol. */ if ((info->shared && (sec->flags & SEC_ALLOC) != 0 && (IS_ABSOLUTE_RELOC (r_type) @@ -2140,7 +2145,8 @@ allocate_plt_and_got_and_discard_relocs (h, inf) /* First handle the non-shared case. */ if (!info->shared && (h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 + && (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 + && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) || (hplink->root.dynamic_sections_created && (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined)))) @@ -3893,17 +3899,17 @@ elf32_hppa_relocate_section (output_bfd, info, input_bfd, input_section, case R_PARISC_DPREL21L: case R_PARISC_DIR32: /* The reloc types handled here and this conditional - expression must match the code in check_relocs and - hppa_discard_copies. ie. We need exactly the same - condition as in check_relocs, with some extra conditions - (dynindx test in this case) to cater for relocs removed - by hppa_discard_copies. If you squint, the non-shared - test here does indeed match the one in check_relocs, the - difference being that here we test DEF_DYNAMIC rather - than a maybe-DEF_DYNAMIC via !DEF_REGULAR. Common syms - end up with !DEF_REGULAR, which is why we can't use that - here. Conversely, DEF_DYNAMIC can't be used in - check_relocs as there all files have not been loaded. */ + expression must match the code in ..check_relocs and + ..discard_relocs. ie. We need exactly the same condition + as in ..check_relocs, with some extra conditions (dynindx + test in this case) to cater for relocs removed by + ..discard_relocs. If you squint, the non-shared test + here does indeed match the one in ..check_relocs, the + difference being that here we test DEF_DYNAMIC as well as + !DEF_REGULAR. All common syms end up with !DEF_REGULAR, + which is why we can't use just that test here. + Conversely, DEF_DYNAMIC can't be used in check_relocs as + there all files have not been loaded. */ if ((info->shared && (input_section->flags & SEC_ALLOC) != 0 && (IS_ABSOLUTE_RELOC (r_type) @@ -3917,8 +3923,10 @@ elf32_hppa_relocate_section (output_bfd, info, input_bfd, input_section, && h != NULL && h->elf.dynindx != -1 && (h->elf.elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && ((h->elf.elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 + && (((h->elf.elf_link_hash_flags + & ELF_LINK_HASH_DEF_DYNAMIC) != 0 + && (h->elf.elf_link_hash_flags + & ELF_LINK_HASH_DEF_REGULAR) == 0) || h->elf.root.type == bfd_link_hash_undefweak || h->elf.root.type == bfd_link_hash_undefined))) { diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index ccc71e4fa56..ffa810c938c 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -705,6 +705,7 @@ elf_i386_check_relocs (abfd, info, sec, relocs) table entry. A similar situation occurs when creating shared libraries and symbol visibility changes render the symbol local. + If on the other hand, we are creating an executable, we may need to keep relocations for symbols satisfied by a dynamic library if we manage to avoid copy relocs for the @@ -1213,7 +1214,8 @@ allocate_plt_and_got_and_discard_relocs (h, inf) if (!info->shared && (h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 + && (((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0 + && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) || (htab->root.dynamic_sections_created && (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined)))) @@ -1707,8 +1709,10 @@ elf_i386_relocate_section (output_bfd, info, input_bfd, input_section, && h != NULL && h->dynindx != -1 && (h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0 - && ((h->elf_link_hash_flags - & ELF_LINK_HASH_DEF_DYNAMIC) != 0 + && (((h->elf_link_hash_flags + & ELF_LINK_HASH_DEF_DYNAMIC) != 0 + && (h->elf_link_hash_flags + & ELF_LINK_HASH_DEF_REGULAR) == 0) || h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_undefined))) {