diff options
Diffstat (limited to 'contrib/binutils/bfd/ChangeLog')
-rw-r--r-- | contrib/binutils/bfd/ChangeLog | 5639 |
1 files changed, 1120 insertions, 4519 deletions
diff --git a/contrib/binutils/bfd/ChangeLog b/contrib/binutils/bfd/ChangeLog index 6c92f76..04a27e1 100644 --- a/contrib/binutils/bfd/ChangeLog +++ b/contrib/binutils/bfd/ChangeLog @@ -1,4632 +1,1233 @@ -2002-11-27 David O'Brien <obrien@FreeBSD.org> +2004-05-17 Daniel Jacobowitz <dan@debian.org> - * elf.c (_bfd_elf_copy_private_section_data): Don't define bed. - -2002-11-21 Richard Henderson <rth@redhat.com> - - * elflink.h (elf_link_add_object_symbols): Don't overwrite the - arch's st_other bits when merging visibilities. - (elf_link_output_extsym): Tidy clearing of visibility field. - -2002-11-14 David O'Brien <obrien@FreeBSD.org> - - Merge from mainline: - 2002-11-12 Thomas Moestl <tmm@FreeBSD.org> - * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Correct - references to large plt symbols. - -2002-11-13 Alan Modra <amodra@bigpond.net.au> - - Merge from mainline. - 2002-11-07 Alan Modra <amodra@bigpond.net.au> - * elf64-ppc.c: Comment typo fixes. - (ppc64_elf_merge_private_bfd_data): Allow BFD_ENDIAN_UNKNOWN input. - -2002-11-11 Nick Clifton <nickc@redhat.com> - - Import this patch from mainline: - - 2002-09-19 Nick Clifton <nickc@redhat.com> - - * elflink.h (elf_fix_symbol_flags): When examining weak symbols, - follow indirect links. - -2002-11-07 Daniel Jacobowitz <drow@mvista.com> - - * configure.in: Clear is_release on the branch after release. - -2002-11-07 Daniel Jacobowitz <drow@mvista.com> - - * configure.in: Bump version and set is_release. + * configure.in: Mark unreleased for post-2.15 snapshots. * configure: Regenerate. -2002-11-07 Nick Clifton <nickc@redhat.com> - - * po/da.po: Updated Danish translation. - -2002-11-07 Graeme Peterson <gp@qnx.com> - - * Makefile.am: Removed entries for elf32-i386qnx.c and - elf32-i386qnx.lo. - * Makefile.in: Regenerate. - * config.bfd: Changed i[3456]86-*-nto-qnx* targ_defvec from - bfd_elf32_i386qnx_vec to bfd_elf32_i386_vec. - * configure.in: Removed support for bfd_elf32_i386qnx_vec. - * configure: Regenerate. - * elf32-i386qnx.c: Removed. - * elf.c: Removed calls to QNX specific set_nonloadable_filepos, - is_contained_by_filepos, and copy_private_bfd_data_p. - * elf32-i386.c: Removed QNX specific #ifdef ELF32_I386_C_INCLUDED. - * targets.c: Removed bfd_elf32_i386qnx_vec. - * elfxx-target.h: Removed QNX specific elf_backend_set_nonloadable_filepos, - elf_backend_is_contained_by_filepos, and elf_backend_copy_private_bfd_data_p. - * elf-bfd.h: Removed QNX specific set_nonloadable_filepos, - is_contained_by_filepos, and copy_private_bfd_data_p. - -2002-11-06 David O'Brien <obrien@FreeBSD.org> - Alan Modra <amodra@bigpond.net.au> - - * elf64-sparc.c (sparc64_elf_relocate_section): Adjust addend of - dynamic relocs against section symbols for the output section vma. - -2002-11-05 Elias Athanasopoulos <eathan@otenet.gr> - - * vms-gsd.c (_bfd_vms_write_gsd): Check that symbol->udata.p is - non-NULL before dereferencing. - -2002-11-04 Kaz Kojima <kkojima@rr.iij4u.or.jp> - - * vms.c (vms_object_p): Restore the start address when returning - NULL. - -2002-10-31 David O'Brien <obrien@FreeBSD.org> - - * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't mix - signed and unsigned in comparison. - -2002-10-30 Daniel Jacobowitz <drow@mvista.com> - - * bfd-in2.h: Regenerated. - * po/SRC-POTFILES.in: Regenerated. - * po/bfd.pot: Regenerated. - -2002-10-30 Daniel Jacobowitz <drow@mvista.com> +2004-05-17 Daniel Jacobowitz <dan@debian.org> - * coffcode.h: Remove extraneous '\'. - -2002-10-28 Daniel Jacobowitz <drow@mvista.com> - - Merge from mainline: - 2002-10-24 John David Anglin <dave@hiauly1.hia.nrc.ca> - * aoutx.h (NAME(aout,swap_ext_reloc_in)): Cast bytes->r_index to - unsigned int. Cast RELOC_BASE10, RELOC_BASE13 and RELOC_BASE22 to - unsigned int. - (NAME(aout,final_link)): Cast enum used in assignment. - (aout_link_write_symbols): Cast enums in comparisons, int values to - boolean, enums in assignments to int. - (aout_link_input_section_std): Cast rel->r_index to unsigned int. - (aout_link_input_section_ext): Likewise. Cast enums used in comparisons - with unsigned ints. - (aout_link_reloc_link_order): Cast enum to int in assignment. - * archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr - calls to char *. - * bfd-in.h (bfd_set_section_vma): Cast enum true to unsigned int in - assignment. - * bfd-in2.h (bfd_set_section_vma): Likewise. - * bfd.c (bfd_record_phdr): Cast enums in assignments. - * binary.c (bfd_alloc): Cast enum to long. - * coffgen.c (_bfd_coff_is_local_label_name): Cast return to boolean. - * dwarf2.c (read_abbrevs): Add casts to enum types. - (read_attribute_value): Likewise. - (arange_add): Cast result of bfd_zalloc call. - (comp_unit_contains_address): Return true and false. - (comp_unit_find_nearest_line): Cast return to boolean. - * format.c (bfd_check_format_matches, bfd_set_format): Likewise. - * gen-aout.c: define macro '_' if not defined. - * libbfd.c (bfd_realloc): Cast malloc and realloc to PTR. - (bfd_bwrite): Cast bfd_realloc to bfd_byte *. - (bfd_write_bigendian_4byte_int): Cast return to boolean. - (bfd_seek): Cast bfd_realloc to bfd_byte *. - (bfd_generic_is_local_label_name): Cast return to boolean. - * libcoff.h (_bfd_coff_adjust_symndx): Remove extraneous '\'. - * linker.c (_bfd_link_hash_newfunc): Cast bfd_hash_allocate result to - struct bfd_hash_entry *. - (_bfd_generic_link_hash_newfunc): likewise. - (_bfd_generic_final_link): Cast enum to unsigned int. - * merge.c (sec_merge_emit): Cast return to boolean. - (merge_strings): Add casts to const unsigned char *. - * reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int. - (bfd_generic_get_relocated_section_content): Cast enum to unsigned int. - * section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result to - struct bfd_hash_entry *. - (bfd_set_section_content): Add cast to PTR in comparison. - * srec.c (S3Forced): Initialize to false. - (srec_get_symtab): Cast return value from bfd_alloc to asymbol *. - * stabs.c (_bfd_link_section_stabs): Cast enum to int in comparisons. - (_bfd_discard_section_stabs): Likewise. Also cast return to boolean. - * syms.c (bfd_is_undefined_symclass): Cast return to boolean. - (_bfd_stab_section_find_nearest_line): Cast enum to bfd_byte in - comparisons. - - 2002-10-23 Jakub Jelinek <jakub@redhat.com> - * elf64-alpha.c (elf64_alpha_check_relocs): Only put maybe_dynamic - relocs into shared lib non-allocated reloc sections. - - 2002-10-23 Nathan Tallent <eraxxon@alumni.rice.edu> - * dwarf2.c (add_line_info): Ensure that the line_info_table is - sorted even when given an out-of-order line sequence. - (lookup_address_in_line_info_table): When an exact VMA match is - not found, return line information with the closest VMA. - - 2002-10-21 Alan Modra <amodra@bigpond.net.au> - * targets.c (bfd_target_list): Don't return the default target twice. - - 2002-10-19 H.J. Lu <hjl@gnu.org> - * elflink.h (elf_link_add_object_symbols): Correctly handle - DT_RPATH and DT_RUNPATH. - - 2002-10-16 Jakub Jelinek <jakub@redhat.com> - * config.bfd (s390-*-linux*): Add targ64_selvecs. - (s390x-*-linux*): Add targ_selvecs. - - 2002-10-16 Alan Modra <amodra@bigpond.net.au> - * elflink.h (elf_link_add_object_symbols): Error out on dynamic objects - loaded with --just-symbols. - - * elf32-i386qnx.c (TARGET_LITTLE_NAME): Define. - - 2002-10-14 Kaz Kojima <kkojima@rr.iij4u.or.jp> - * config.bfd (sh*eb-*-linux*, sh*-*-linux*): Add the alternative - endian vector to targ_selvecs. - - 2002-10-08 H.J. Lu <hjl@gnu.org> - * elf32-i386.c (elf_i386_relocate_section): Re-arrange the - IE->LE transition for R_386_TLS_IE. - - 2002-10-07 Mark Elbrecht <snowball3@softhome.net> - * cofflink.c (mark_relocs): Don't mark relocations in excluded - sections. - - 2002-10-05 Alexandre Oliva <aoliva@redhat.com> - * elfxx-mips.c (mips_elf_create_dynamic_relocation): Set the type - of the other two relocations packed with a REL32 to NONE. - - 2002-10-02 Stephen Clarke <stephen.clarke@superh.com> - * elf32-sh.c (elf_sh_link_hash_entry): Add gotplt_refcount. - (sh_elf_link_hash_newfunc): Initialize it. - (allocate_dynrelocs): Transfer gotplt refs from plt.refcount - to got.refcount for symbols that are forced local or when - we have direct got refs. - (sh_elf_gc_sweep_hook): Adjust gotplt_refcount. Use it - to correctly adjust got.refcount and plt.refcount. - (sh_elf_copy_indirect_symbol): Copy gotplt_refcount across. - (sh_elf_check_relocs): Increment gotplt_refcount. - - 2002-10-01 Jakub Jelinek <jakub@redhat.com> - * elf32-i386.c (elf_i386_relocate_section): Fix - movl foo@indntpoff, %eax IE->LE transition. - - 2002-09-28 Jason Thorpe <thorpej@wasabisystems.com> - * elf32-vax.c (elf_vax_size_dynamic_section): Don't strip - .got sections. - - 2002-09-27 Matt Thomas <matt@3am-software.com> - * elf32-vax.c (elf_vax_check_relocs): Remove unused - local_got_refcounts usage. Remove allocation of got slot. - (elf_vax_gc_sweep_hook): Remove unused local_got_refcounts usage. - Remove de-allocation of got slot. - (elf_vax_size_dynamic_section): Fix some indentation. Add hash - traversal for elf_vax_instantiate_got_entries. Allow empty .got - sections to be GC'ed. - (elf_vax_instantiate_got_entries): New function. - (elf_vax_relocate_section): Simplify R_VAX_GOT32 handling. Remove - tests that are now handled by elf_vax_instantiate_got_entries. - Assert GOT entry falls within .got section size. Remove redundant - comparisions. Fix comments. - - 2002-09-24 Jakub Jelinek <jakub@redhat.com> - * elf32-sparc.c (elf32_sparc_relocate_section): Put R_SPARC_RELATIVE - addend into r_addend, not *r_offset. - (elf32_sparc_finish_dynamic_symbol): Likewise. - * elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at - R_SPARC_RELATIVE's r_offset. - - 2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> - * elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signedness - mismatch. - -2002-10-14 Richard Henderson <rth@redhat.com> - - * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: Increment - VALUE, not ADDEND. - -2002-10-11 Alan Modra <amodra@bigpond.net.au> - - * coff-arm.c (record_arm_to_thumb_glue): Avoid type-punned pointers. - (record_thumb_to_arm_glue): Likewise. - * ecoff.c (ecoff_link_add_externals): Likewise. - * elf32-arm.h (record_arm_to_thumb_glue): Likewise. - (record_thumb_to_arm_glue): Likewise. - * elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise. - * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise. - * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise. - * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise. - * elf64-ppc.c (func_desc_adjust): Likewise. - * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise. - (sh64_elf64_create_dynamic_sections): Likewise. - * elflink.c (_bfd_elf_create_got_section): Likewise. - (_bfd_elf_create_dynamic_sections): Likewise. - (_bfd_elf_create_linker_section): Likewise. - * elflink.h (elf_add_default_symbol): Likewise. - (elf_link_create_dynamic_sections): Likewise. - (NAME(bfd_elf,size_dynamic_sections)): Likewise. - * elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Likewise. - * elfxx-mips.c (mips_elf_create_got_section): Likewise. - (_bfd_mips_elf_add_symbol_hook): Likewise. - (_bfd_mips_elf_create_dynamic_sections): Likewise. - * linker.c (generic_link_add_symbol_list): Likewise. - * xcofflink.c (xcoff_link_add_symbols): Likewise. - - * elfxx-ia64.c (oor_brl, oor_ip): Conditionally define. - - * elf64-ppc.c (edit_opd): Only zero opd syms when function is - completely removed. Correct local sym adjustment. - -2002-10-08 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (edit_opd): Correct test for discarded sections. - -2002-10-07 Alan Modra <amodra@bigpond.net.au> - - * elflink.h (elf_link_input_bfd): Remove BFD_VERSION_DATE dependent - code. - - * elf64-ppc.c (ppc64_elf_build_stubs): Increment .glink indx. - -2002-09-28 Alan Modra <amodra@bigpond.net.au> - - * elf.c (map_sections_to_segments): Correct test for start of - writable section in the same page as end of read-only section. - -2002-09-26 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (ppc_build_one_stub): Don't build glink stubs here. - (ppc64_elf_build_stubs): Build them here instead. - -2002-09-23 Daniel Jacobowitz <drow@mvista.com> - - Merge from mainline: - 2002-09-23 Alan Modra <amodra@bigpond.net.au> - * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs - for discarded FDEs. Remove redundant assignment. - * elflink.h (elf_bfd_discard_info): Save edited relocs. - - 2002-09-23 Nathan Tallent <eraxxon@alumni.rice.edu> - * dwarf2.c (decode_line_info): Update to correctly decode - the (non-standard DWARF2) out-of-order address sequences - generated by the Intel C++ 6.0 compiler for ia64-Linux. - - 2002-09-22 H.J. Lu <hjl@gnu.org> - * elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge - the relocation count between different .reloc sections. - - 2002-09-22 Mark Elbrecht <snowball3@softhome.net> - * config.bfd: For DJGPP targets, match with any cpu and any machine. - - 2002-09-21 Alan Modra <amodra@bigpond.net.au> - * elfcode.h (elf_slurp_reloc_table_from_section): Make "symcount" - unsigned. Move "symcount" assignment out of loop. - - 2002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu> - * dwarf2.c (_bfd_dwarf2_find_nearest_line): If address length is - zero, set it to 8 for (non-standard) 64-bit DWARF2 formats - (e.g. IRIX64). - - 2002-09-19 Jakub Jelinek <jakub@redhat.com> - * reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE, - BFD_RELOC_386_TLS_GOTIE): Add. - * bfd-in2.h, libbfd.h: Rebuilt. - * elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE - and R_386_TLS_GOTIE. - (elf_i386_reloc_type_lookup): Handle it. - (struct elf_i386_link_hash_entry): Change tls_type type to unsigned - char instead of enum, change GOT_* into defines. - (GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define. - (elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE. - (elf_i386_check_relocs): Likewise. Avoid crash if local symbol is - accessed both as normal and TLS symbol. Move R_386_TLS_LDM and - R_386_PLT32 cases so that R_386_TLS_IE can fall through. - Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs. - (elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE. - Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs. - (allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if - tls_type is GOT_TLS_IE_BOTH. - (elf_i386_size_dynamic_sections): Likewise. - (elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE. - Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs. - (elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch - all 4 GOT_TLS_* TLS types. - - 2002-09-18 Daniel Jacobowitz <drow@mvista.com> - * elfcode.h (elf_slurp_reloc_table_from_section): Check - correct relocation count. - - 2002-09-17 Daniel Jacobowitz <drow@mvista.com> - * bfd-in.h (bfd_get_dynamic_symcount): Define. - * bfd.c (struct _bfd): Add dynsymcount. - * bfd-in2.h: Regenerated. - * elf.c (_bfd_elf_canonicalize_dynamic_symtab): Set - abfd->dynsymcount. - * elfcode.h (elf_slurp_reloc_table_from_section): Check - for overflow. - - 2002-09-17 Alan Modra <amodra@bigpond.net.au> - * elf64-alpha.c (alpha_elf_size_info): Make static. - - 2002-09-17 Jakub Jelinek <jakub@redhat.com> - * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Clear .got word - even if generating R_PPC_RELATIVE reloc. - (ppc_elf_relocate_section): Make sure relocation is performed if - skip == -2. Clear memory at r_offset when creating dynamic - relocation. - - 2002-09-16 David O'Brien <obrien@FreeBSD.org> - * elf32-i386-fbsd.c: Always label using the EI_OSABI method. - It is benign for FreeBSD < 4.1. Minor reformatting. - * elf64-alpha-fbsd.c: Likewise. - - 2002-09-16 Nathan Tallent <eraxxon@alumni.rice.edu> - * ecoff.c (_bfd_ecoff_slurp_symbolic_info) <ioptMax>: Fix error - reading ECOFF information: 'ioptMax' refers to the actual *size* - of the optimization symtab, not the number of entries. - - 2002-09-16 Jakub Jelinek <jakub@redhat.com> - * elf_i386_relocate_section (R_386_TLS_TPOFF32): Negate addend. - - 2002-09-13 Daniel Jacobowitz <drow@mvista.com> - * elf32-arm.h (elf32_arm_adjust_dynamic_symbol): Update - ELF_LINK_HASH_NEEDS_PLT logic. - - 2002-09-11 Nick Clifton <nickc@redhat.com> - * po/da.po: New Danish translation file. - * configure.in (LINGUAS): Add 'da'. + * configure.in: Bump version to 2.15. Mark as released. * configure: Regenerate. - 2002-09-11 Jakub Jelinek <jakub@redhat.com> - * elf32-i386.c (dtpoff_base, tpoff): Don't crash if tls_segment is - NULL. - (elf_i386_relocate_section): Return false after printing error about - unresolvable relocation. - - 2002-09-11 Jeffrey Law <law@redhat.com> - * elf32-h8300.c (elf32_h8_relax_section): Fix typo. - - 2002-09-06 Andrew Haley <aph@cambridge.redhat.com> - * elf.c (_bfd_elf_find_nearest_line): Check functionname_ptr and - line_ptr before deciding we've found a symbol. - - 2002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca> - * bfd-in.h (align_power): Cast constants to bfd_vma type. - * bfd-in2.h (align_power): Likewise. - - 2002-08-24 Kaz Kojima <kkojima@rr.iij4u.or.jp> - * elf32-sh.c (sh_elf_copy_indirect_symbol): New. - (create_got_section, allocate_dynrelocs, readonly_dynrelocs): - Likewise. - (struct elf_sh_pcrel_relocs_copied): Removed. - (struct elf_sh_dyn_relocs): New. - (struct elf_sh_link_hash_entry): Replace pcrel_relocs_copied - field with dyn_relocs. - (struct elf_sh_link_hash_table): Add short-cuts to get dynamic - sections and sym_sec. - (sh_elf_link_hash_newfunc): Clear dyn_relocs. - (sh_elf_link_hash_table_create): Clear shorts-cuts and sym_sec. - (sh_elf_create_dynamic_sections): Use create_got_section instead - of _bfd_elf_create_got_section. - (sh_elf_check_relocs): Likewise. - (sh_elf_create_dynamic_sections): Use short-cuts to the dynamic - sections. - (sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections, - sh_elf_relocate_section, sh_elf_check_relocs, - sh_elf_finish_dynamic_symbol, sh_elf_finish_dynamic_sections): - Likewise. - (sh_elf_adjust_dynamic_symbol): Handle nocopyreloc. Keep the - dynamic relocations and avoiding the copy relocation when we - didn't find any dynamic relocations in the section which has - contents or is read-only. - (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New. - (sh_elf_size_dynamic_sections): Don't reset the size of - .rela.got section even if dynamic_sections_created flag is off. - Don't use sh_elf_discard_copies. Scan all input bfd and use - allocate_dynrelocs. Call readonly_dynrelocs to determine - whether we need DT_TEXTREL. - (sh_elf_adjust_dynamic_symbol): Use plt.refcount to determine - whether the symbol was never referred to. - (sh_elf_relocate_section): Use WILL_CALL_FINISH_DYNAMIC_SYMBOL. - (sh_elf_gc_sweep_hook): Fill with the real sweep function. - (sh_elf_check_relocs): Call create_got_section if the short-cut - to .got is null. Increment reference counters only instead of - allocating space on dynamic sections here. Don't conditionalize - uninitialized got.offset value when marking the symbol as a - global offset table entry. Keep relocations for symbols satisfied - by a dynamic library to avoid copy relocations for the symbol. - Set dynobj field of an elf hash table if needed. - (sh_elf_finish_dynamic_sections): Handle null section pointer - correctly. - (elf_backend_copy_indirect_symbol): Defined. - (elf_backend_can_refcount): Defined. - - 2002-08-22 Nick Clifton <nickc@redhat.com> - * po/tr.po: Updated Turkish translation. - - 2002-08-21 Stephen Clarke <stephen.clarke@superh.com> - * bfd/elf32-sh.c (sh_elf_size_dynamic_sections): Zero - initialize dynamic section. - * bfd/elf64-sh64.c (sh64_elf64_size_dynamic_sections): - Likewise. - - 2002-08-13 H.J. Lu <hjl@gnu.org> - * elflink.h (NAME(bfd_elf,size_dynamic_sections): Don't count - definitions in shared objects when checking symbol with - undefined version. - - 2002-08-10 H.J. Lu <hjl@gnu.org> - * elflink.h (elf_add_default_symbol): Preserve section across - elf_merge_symbol. - - 2002-08-09 Nick Clifton <nickc@redhat.com> - * po/sv.po: Updated Swedish translation. - - 2002-08-08 Alan Modra <amodra@bigpond.net.au> - * elflink.h (elf_link_output_extsym): Don't output symbols from - SEC_EXCLUDE sections. - - * aoutx.h (aout_link_write_symbols): Correct handling of warning syms. - - 2002-08-08 H.J. Lu <hjl@gnu.org> - * elflink.h (elf_add_default_symbol): Don't warn a defintion - overrides an indirect versioned symbol. - - 2002-08-07 Alan Modra <amodra@bigpond.net.au> - * elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd - entries. - - 2002-08-07 Jakub Jelinek <jakub@redhat.com> - * elf32-i386.c (elf_i386_relocate_section): Fill in proper addend - for R_386_TLS_TPOFF32 relocs against symndx 0. - - 2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> - * elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if - g->global_gotsym is NULL. - - 2002-08-06 Alan Modra <amodra@bigpond.net.au> - * xcofflink.c (xcoff_write_global_symbol): Set n_scnum for abs_section. - - 2002-08-06 Alan Modra <amodra@bigpond.net.au> - * elf64-ppc.c (ppc64_elf_howto_raw): Zero all src_mask entries. - - 2002-08-06 H.J. Lu <hjl@gnu.org> - * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Check symbol - with undefined version if needed. - (elf_link_assign_sym_version): Match a default symbol with a - version without definition. No need to hide the default - definition separately. - - 2002-08-06 Alan Modra <amodra@bigpond.net.au> - * coff-rs6000.c: Formatting fixes. - (xcoff_calculate_relocation): Use PARAMS in declaration. - (xcoff_complain_overflow): Likewise. - (xcoff_ppc_relocate_section): Use old-style function pointer call. - (bfd_xcoff_backend_data): Remove useless comments. - (rs6000coff_vec): Likewise. - (bfd_pmac_xcoff_backend_data): Likewise. - (pmac_xcoff_vec): Likewise. - * coff64-rs6000.c: Formatting fixes. - (xcoff64_calculate_relocation): Use PARAMS in declaration. - (xcoff64_ppc_relocate_section): Use old-style function pointer call. - (bfd_xcoff_backend_data): Remove useless comments. - (rs6000coff64_vec): Likewise. - (bfd_xcoff_aix5_backend_data): Likewise. - (aix5coff64_vec): Likewise. - - 2002-08-06 Alan Modra <amodra@bigpond.net.au> - * coff-rs6000.c: (xcoff_rtype2howto): Don't place reloc address in - addend. - * coff64-rs6000.c: (xcoff64_rtype2howto): Likewise. - - 2002-08-06 Alan Modra <amodra@bigpond.net.au> - * coff-rs6000.c (xcoff_howto_table): Revert some of last change to - mask entries. Use complain_overflow_dont for R_REF. - (xcoff_reloc_type_ba): Revert last change. - (xcoff_reloc_type_br): Likewise. - (xcoff_reloc_type_crel): Likewise. - (xcoff_ppc_relocate_section): Likewise. - * coff64-rs6000.c (xcoff64_reloc_type_br): Likewise. - (xcoff64_ppc_relocate_section): Likewise. - (xcoff64_howto_table): Revert some of last change to mask entries. - Use complain_overflow_dont for R_REF. - - * coff-rs6000.c (xcoff_howto_table): Fix src_mask entries. Make all - relocs with bitsize == 16 have size = 1. - (xcoff_reloc_type_ba): Correct src_mask and dst_mask adjustment. - (xcoff_reloc_type_br): Likewise. - (xcoff_reloc_type_crel): Likewise. - (xcoff_ppc_relocate_section): Set up src_mask and dst_mask correctly. - * coff64-rs6000.c (xcoff64_reloc_type_br): Correct src_mask and - dst_mask adjustment. - (xcoff64_ppc_relocate_section): Set up src_mask and dst_mask correctly. - (xcoff64_howto_table): Fix src_mask entries. Make all relocs with - bitsize == 16 have size = 1. - - 2002-07-31 Nick Clifton <nickc@redhat.com> - * bfd.c (bfd_alt_mach_code): Rename parameter 'index' to - 'alternative' in order to avoid shadowing global symbol of the - same name. - * bfd-in2.h: Regenerate. - * libbfd.h: Regenerate. - * libcoff.h: Regenerate. - - 2002-07-30 Alan Modra <amodra@bigpond.net.au> - * aoutx.h (some_aout_object_p): Clean up tdata properly on error. - * archive.c (bfd_generic_archive_p): Likewise. - * coff-rs6000.c (_bfd_xcoff_archive_p): Likewise. - (_bfd_xcoff_archive_p): Use bfd_scan_vma in place of strtol. - * coff64-rs6000.c (xcoff64_slurp_armap): Likewise. - (xcoff64_archive_p): Likewise. - (xcoff64_openr_next_archived_file): Likewise. - (xcoff64_archive_p): Clean up tdata properly on error. - * coffgen.c (coff_real_object_p): Likewise. - (coff_object_p): Release filehdr and opthdr. - * ecoff.c (_bfd_ecoff_archive_p): Clean up tdata properly on error. - * ieee.c (ieee_archive_p): Likewise. - * ihex.c (ihex_object_p): Likewise. - (ihex_mkobject): Always allocate tdata. - * peicode.h (pe_ILF_object_p): Release bfd_alloc'd buffer on error. - * srec.c (srec_mkobject): Always allocate tdata. - (srec_object_p): Clean up tdata properly on error. - (symbolsrec_object_p): Likewise. - * versados.c (versados_object_p): Likewise. - * vms-misc.c (_bfd_vms_get_record): Use bfd_malloc instead of malloc, - and bfd_realloc instead of realloc. - (add_new_contents): Use bfd_alloc instead of bfd_malloc for sections. - * vms.c (vms_initialize): Always allocate tdata. Use bfd_alloc in - place of bfd_malloc, simplifying error freeing. Free hash table too. - (vms_object_p): Clean up tdata on error. - (vms_mkobject): Don't complain on stderr if vms_initialize fails. - (vms_close_and_cleanup): Adjust for bfd_alloc use. - - 2002-07-17 Ian Rickards <irickard@arm.com> - * dwarf2.c (concat_filename): If we can't establish the directory - just return the filename. - - 2002-07-16 Alan Modra <amodra@bigpond.net.au> - * elflink.h: Formatting fixes, tidy prototypes. - (elf_link_assign_sym_version): Move common code out of loop. - - 2002-07-04 Bruno Haible <bruno@clisp.org> - * elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included - by a target variant implementation. - * elf64-alpha.c: Likewise. - * elf32-i386-fbsd.c: New file. - * elf64-alpha-fbsd.c: New file. - * targets.c: Support bfd_elf32_i386_freebsd_vec and - bfd_elf64_alpha_freebsd_vec. - * configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec, - bfd_elf64_alpha_freebsd_vec. - * Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo. - (BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c. - (BFD64_BACKENDS): Add elf64-alpha-fbsd.lo. - (BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c. - (elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies. - * config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD - specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate. - -2002-09-21 David O'Brien <obrien@FreeBSD.org> +2004-05-13 Joel Sherrill <joel@oarcorp.com> - Merge from mainline: - 2002-08-17 Andrew Cagney <ac131313@redhat.com> - * elf.c (bfd_elf_get_elf_syms): Change type of `esym' to - `bfd_byte'. + * config.bfd (or32-*-rtems*): Switch to elf. -2002-08-26 Alan Modra <amodra@bigpond.net.au> +2004-05-13 Nick Clifton <nickc@redhat.com> - * coffcode.h (coff_set_arch_mach_hook): Handle W65MAGIC. + * po/fr.po: Updated French translation. -2002-08-22 Alan Modra <amodra@bigpond.net.au> +2004-05-07 Daniel Jacobowitz <dan@debian.org> - * configure.in: Unset is_release. + * configure.in: Bump version to 2.14.92. * configure: Regenerate. - * elf-bfd.h (struct elf_backend_data): Add struct elf_backend_data - param to elf_backend_copy_indirect_symbol. - (_bfd_elf_link_hash_copy_indirect): Likewise. - * elflink.h (elf_add_default_symbol, elf_fix_symbol_flags): Adjust - calls to copy_indirect_symbol. - * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise. - * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise. - * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise. - * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise. - * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise. - * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise. - * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise. - * elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise. - * elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Likewise. - * elf.c (_bfd_elf_link_hash_copy_indirect): Likewise. Properly - test refcounts for "used" values. - -2002-08-15 Hans-Peter Nilsson <hp@axis.com> - - * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add - missing check for whether the symbol is referenced by DSO before - unexporting it as an unneeded dynamic symbol. - -2002-08-05 Daniel Jacobowitz <drow@mvista.com> - - * configure.in: Bump version, set is_release. - * configure: Regenerated. - -2002-08-01 Daniel Jacobowitz <drow@mvista.com> +2004-05-07 Daniel Jacobowitz <dan@debian.org> Merge from mainline: - 2002-07-31 Jakub Jelinek <jakub@redhat.com> - * elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type - if _bfd_elf_link_hash_copy_indirect will swap got.refcount. - -2002-07-30 Daniel Jacobowitz <drow@mvista.com> + 2004-04-16 Alan Modra <amodra@bigpond.net.au> + * simple.c (bfd_simple_get_relocated_section_contents): Don't + change reloc_done. Set and restore _cooked_size. + (RETURN): Delete. + +2004-05-07 Alexandre Oliva <aoliva@redhat.com> + + * elf32-frv.c (elf32_frvfdpic_modify_segment_map): Return + immediately if there's no link info. + (elf32_frvfdpic_copy_private_bfd_data): New. + (bfd_elf32_bfd_copy_private_bfd_data): Use it for frvfdpic. + +2004-05-06 Zack Weinberg <zack@codesourcery.com> + + * dwarf2.c (add_line_info): Also set info->filename to NULL if + filename argument is null; do not call strlen on a null pointer. + +2004-05-06 Daniel Jacobowitz <drow@mvista.com> + + * elf32-arm.h (elf32_arm_relocate_section): Remove R_ARM_PLT32 + special case. + +2004-05-05 Alexandre Oliva <aoliva@redhat.com> + + * configure.in (bfd_elf32_frvfdpic_vec): New. + * configure: Rebuilt. + * targets.c (bfd_elf32_frvfdpic_vec): New. + * config.bfd: Enable it on frv-*-elf and frv-*-*linux*, as default + on the latter. + * elf32-frv.c: Prefix all identifiers added for FDPIC support with + frvfdpic instead of frv. Rearrange elf-target macros such that + the FDPIC-specific ones are only defined for this new target + vector. + (bfd_elf32_frvfdpic_vec): Declare. + (IS_FDPIC): New. + (elf32_frv_relocate_section): Use it to enable segment checking + and to control rofixup emission. Add output section vma to + applied relocation in non-LOAD non-ALLOC sections. Use + _bfd_error_handler for errors. + (_frv_create_got_section): Create .rel.got and .rofixup only in + FDPIC. Create non-dynamic _gp at .got+2048 in non-FDPIC, like the + linker script. + (elf32_frvfdpic_size_dynamic_sections): Assume FDPIC. + (elf32_frvfdpic_modify_segment_map): Likewise. + (elf32_frv_finish_dynamic_sections): New, do-nothing. + (elf32_frvfdpic_finish_dynamic_sections): Assume FDPIC. Improve + error message if we miscompute the rofixup size. + (frvfdpic_elf_use_relative_eh_frame): Assume FDPIC. + (frvfdpic_elf_encode_eh_address): Likewise. + (elf32_frv_check_relocs): Reject FDPIC-only relocs in non-FDPIC. + Record relocs only in FDPIC. Make sure _gp is defined for GPREL + relocs. Reject unknown relocation types. + (elf32_frv_object_p): Make sure target vector matches FDPIC bits. + (frv_elf_merge_private_bfd_data): Likewise. + (ELF_MAXPAGESIZE): Revert to 0x1000 for elf32-frv; keep it as + 0x4000 for newly-added elf32-frvfdpic. + +2004-05-05 Alexandre Oliva <aoliva@redhat.com> Merge from mainline: - 2002-07-30 Nick Clifton <nickc@redhat.com> - * po/sv.po: Updated Swedish translation. - - 2002-07-30 Jakub Jelinek <jakub@redhat.com> - * elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type. - - 2002-07-26 Chris Demetriou <cgd@broadcom.com> - * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE - flags into resulting BFD. - - 2002-07-25 Alan Modra <amodra@bigpond.net.au> - * elf-bfd.h (_bfd_elf32_link_record_local_dynamic_symbol): Define - as elf_link_record_local_dynamic_symbol. - (_bfd_elf64_link_record_local_dynamic_symbol): Likewise. - (elf_link_record_local_dynamic_symbol): Declare. Now returns int. - * elflink.h (elf_link_record_local_dynamic_symbol): Move to.. - * elflink.c: .. here. Use bfd_elf_get_elf_syms. Check whether an - attempt is made to record a symbol in a discarded section, and - return `2' in that case. - -2002-07-26 Alan Modra <amodra@bigpond.net.au> - - From John Reiser <jreiser@BitWagon.com> - * elf32-i386.c (elf_i386_link_hash_table_create): Clear - tls_ldm_got.refcount. - -2002-07-25 Nick Clifton <nickc@redhat.com> - - * po/sv.po: Updated Swedish translation. - * po/es.po: Updated Spanish translation. - * po/fr.po: Updated French translation. - -2002-07-24 Nick Clifton <nickc@redhat.com> - - * po/sv.po: Updated Swedish translation. - * po/es.po: Updates Spanish translation. - -2002-07-23 Daniel Jacobowitz <drow@mvista.com> - - * configure.in: Bump version for snapshot. - * configure: Regenerated. - -2002-07-23 Daniel Jacobowitz <drow@mvista.com> - - * po/bfd.pot: Regenerated. - -2002-07-23 Nick Clifton <nickc@redhat.com> - - * elf-bfd.h (struct elf_backend_data): Add new bitfield - 'want_p_paddr_set_to_zero'. - * elfxx-target.h: Set default value for want_p_paddr_set_to_zero - to false; - * elfxx-ia64.c: Set want_p_paddr_set_zero for HPUX target. - * elf.c (copy_private_bfd_data): Test want_p_paddr_set_zero. - -2002-07-23 Gabor Keresztfalvi <keresztg@mail.com> - - * nlmcode.h (nlm_swap_auxiliary_headers_out): Swapped the order of - the MeSsAgEs and CoPyRiGhT tags to make >=NW4.x NLM loaders to - show the Copyright string. - -2002-07-23 Nick Clifton <nickc@redhat.com> - - * po/fr.po: New French translation. - * po/sv.po: New Swedish translation. - -2002-07-23 Alan Modra <amodra@bigpond.net.au> - - * elflink.h (elf_link_input_bfd): Don't change internal symbols - when outputting relocs. - -2002-07-20 Jason Thorpe <thorpej@wasabisystems.com> - - * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only insert - DT_PLTGOT into the dynamic section if there is a PLT. - -2002-07-19 Alan Modra <amodra@bigpond.net.au> - - * elfxx-ia64.c: (elfNN_ia64_modify_segment_map): Properly scan - PT_IA_64_UNWIND segments for a given section. - -2002-07-16 Moritz Jodeit <moritz@jodeit.org> - - * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Correct order of memset args. - -2002-07-16 Alan Modra <amodra@bigpond.net.au> - - * elflink.h (elf_link_input_bfd): Don't call reloc_emitter when - reloc section size is zero. Correct reloc output location. - - Merge from mainline. - 2002-07-14 H.J. Lu <hjl@gnu.org> - * elflink.h (elf_link_assign_sym_version): Hide the default - definition if there is a hidden versioned definition. - -2002-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca> - - * elf-hppa.h (elf_hppa_reloc_final_type): Use R_PARISC_PCREL16F as - the final type for the e_fsel selector when generating PA2.0W code. - (elf_hppa_relocate_insn): Provide support for PA2.0W 16-bit format 1 - relocations. - -2002-07-12 Hans-Peter Nilsson <hp@axis.com> - - * elf32-cris.c (cris_elf_relocate_section): Drop nonsensical - dynamic reference test in assertion when initializing GOT with - static contents. Just assert that there are either no dynamic - sections, the symbol is defined in the regular objects or that the - symbol is undef weak. Tweak comment. - (elf_cris_finish_dynamic_symbol): Emit .got reloc for a program - only if the symbol isn't defined in the program and isn't undef - weak. - (elf_cris_adjust_dynamic_symbol): Simplify condition for getting - rid of PLT entry: only do it if the symbol isn't defined in a DSO. - When doing so, clear ELF_LINK_HASH_NEEDS_PLT. Tweak comments. - (elf_cris_discard_excess_program_dynamics): Don't consider - ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs. - -2002-07-11 Alan Modra <amodra@bigpond.net.au> - - * elf32-i386.c (elf_i386_relocate_section): Don't complain about - unresolved debugging relocs in dynamic applications. - * elf32-s390.c (elf_s390_relocate_section): Likewise. - * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. - * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. - * elf64-s390.c (elf_s390_relocate_section): Likewise. + 2004-02-27 Alexandre Oliva <aoliva@redhat.com> + * elf-bfd.h (struct elf_backend_data): Added + elf_backend_can_make_relative_eh_frame, + elf_backend_can_make_lsda_relative_eh_frame and + elf_backend_encode_eh_address. + (_bfd_elf_encode_eh_address): Declare. + (_bfd_elf_can_make_relative): Declare. + * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use new + hooks to decide whether to attempt to make_relative and + make_lsda_relative. + (_bfd_elf_write_section_eh_frame_hdr): Call encode_eh_address. + (_bfd_elf_can_make_relative): New. + (_bfd_elf_encode_eh_address): New. + * elf32-frv.c (frv_elf_use_relative_eh_frame): New. + (frv_elf_encode_eh_address): New. + (elf_backend_can_make_relative_eh_frame): Define. + (elf_backend_can_make_lsda_relative_eh_frame): Define. + (elf_backend_encode_eh_address): Define. + * elfxx-target.h + (elf_backend_can_make_relative_eh_frame): Define. + (elf_backend_can_make_lsda_relative_eh_frame): Define. + (elf_backend_encode_eh_address): Define. + (elfNN_bed): Add them. + +2004-04-27 Bob Wilson <bob.wilson@acm.org> + + * elf32-xtensa.c (xtensa_read_table_entries): Use section _cooked_size + if set. Check reloc_done flag before applying relocations. Use + output addresses, both when applying relocations and when comparing + against the specified section. + (elf_xtensa_relocate_section): Use output address to check if dynamic + reloc is in a literal pool. Set section's reloc_done flag. + +2004-04-21 Philip Blundell <pb@nexus.co.uk> + + * elf32-arm.h (elf32_arm_check_relocs): Don't output REL32 + relocs for locally defined symbols during -shared final link. + (elf32_arm_final_link_relocate): Likewise. + +2004-04-21 Bob Wilson <bob.wilson@acm.org> + + * elf32-xtensa.c (is_same_value): Add final_static_link argument and + require relocations against a weak symbol to reference the same + symbol hash entry if not a final, static link. + (get_cached_value, add_value_map): Add final_static_link argument. + (remove_literals): Pass final_static_link argument as needed. + +2004-04-16 Nick Clifton <nickc@redhat.com> + + * bfd.c (bfd_archive_filename): Catch NULL bfd pointers. + +2004-04-16 H.J. Lu <hongjiu.lu@intel.com> + + * elflink.c (_bfd_elf_merge_symbol): Treat weak as strong only + when it is a definition. + +2004-04-16 Alan Modra <amodra@bigpond.net.au> + + * elf32-sparc.c (elf32_sparc_relocate_section): Don't abort + when statically linking PIC code. * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. - * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. - -2002-07-10 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (ONES): Define. - (ppc64_elf_howto_table): Use ONES here to avoid warnings. Fill in - missing src_mask fields. Tweak R_PPC64_NONE, R_PPC64_COPY. Fill - in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32. - - * elf64-ppc.c (ppc64_elf_get_symbol_info): Delete. - (ppc64_elf_set_private_flags): Delete. - (ppc64_elf_section_from_shdr): Delete. - (ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code. - (ppc64_elf_fake_sections): Delete. - (bfd_elf64_bfd_set_private_flags): Don't define. - (bfd_elf64_get_symbol_info): Likewise. - (elf_backend_section_from_shdr): Likewise. - (elf_backend_fake_sections): Likewise. - -2002-07-10 Marco Walther <Marco.Walther@sun.com> - - * elf.c: (assign_section_numbers) Set sh_entsize for .stab only - when not already set. - * elf64-sparc.c: (sparc64_elf_fake_sections): New function. - (elf_backend_fake_sections): Define. - -2002-07-10 Alan Modra <amodra@bigpond.net.au> - - * merge.c (_bfd_merge_section): Remove redundant output_section check. - Formatting. - (_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections. - -2002-07-09 Hans-Peter Nilsson <hp@axis.com> - - * elf32-cris.c (cris_elf_relocate_section): Move sanity-check for - NULL sym_hashes to just before use. - <case R_CRIS_32_GOTREL>: In test for local symbol, accept also - symbol with non-default visibility. - <case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto. - <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>: - Ditto. - (cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for - symbol with non-default visibility. - (cris_elf_check_relocs): At tests for local symbol before - increasing h->plt.refcount, also check for non-default - visibility. Ditto when checking for local symbol to eliminate - pc-relative runtime relocs. - -2002-07-08 Alan Modra <amodra@bigpond.net.au> - - * elf.c: Formatting. - (IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks. - (INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP. - (copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP - segments. - -2002-07-07 Mark Mitchell <mark@codesourcery.com> - Alan Modra <amodra@bigpond.net.au> - - * cofflink.c (_bfd_coff_final_link): On PE COFF systems, take into - account the impact of relocation count overflow when computing - section offsets. - * coffcode.h (coff_write_relocs): Use obj_pe when deciding whether - or not to apply the PE COFF reloc overflow handling. Fix a - fencepost error in deciding whether or not to use that technique. - -2002-07-07 Alan Modra <amodra@bigpond.net.au> - - * elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx, - change type of locsyms. - (bfd_elf_get_elf_syms): Declare. - * elf.c (bfd_elf_get_elf_syms): New function. - (group_signature): Use bfd_elf_get_elf_syms. - (bfd_section_from_r_symndx): Likewise. - * elfcode.h (elf_slurp_symbol_table): Likewise. - * elflink.h (elf_link_is_defined_archive_symbol): Likewise. - (elf_link_add_object_symbols): Likewise. Reorganise to increase - locality of various data structures. Properly free internal relocs. - (elf_bfd_final_link): Properly free internal relocs. - (elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms. - (elf_link_input_bfd): Likewise. - (elf_gc_mark): Likewise. Properly free internal relocs. - (elf_gc_sweep): Properly free internal relocs. - (elf_reloc_symbol_deleted_p): No need to swap syms in. - (elf_bfd_discard_info): Use bfd_elf_get_elf_syms. Properly free - internal relocs. - * elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms. - Properly free possibly cached info. - (mn10200_elf_relax_delete_bytes): Remove symbol swapping code. - (mn10200_elf_symbol_address_p): Pass in internal syms. Remove - symbol swapping code. - (mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms. - Properly free possibly cached info. - * elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c. - (mn10300_elf_relax_delete_bytes): Likewise. - (mn10300_elf_symbol_address_p): Likewise. - (mn10300_elf_get_relocated_section_contents): Likewise. - * elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c. - (elf32_h8_relax_delete_bytes): Likewise. - (elf32_h8_symbol_address_p): Likewise. - (elf32_h8_get_relocated_section_contents): Likewise. - * elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c. - (m32r_elf_relax_delete_bytes): Likewise. - (m32r_elf_get_relocated_section_contents): Likewise. - * elf32-sh.c (sh_elf_reloc_loop): Free section contents using - elf_section_data to determine whether cached. - (sh_elf_relax_section): As above for elf-m10200.c. - (sh_elf_relax_delete_bytes): Likewise. - (sh_elf_get_relocated_section_contents): Likewise. - * elf32-xstormy16.c (xstormy16_elf_relax_section): As above. - * elf64-alpha.c (elf64_alpha_relax_section): As above. Also delay - reading of local syms. - * elf64-mmix.c (mmix_elf_relax_section): Likewise. - * elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above. - * elfxx-ia64.c (elfNN_ia64_relax_section): As above. - * elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal - relocs. - * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly - free internal relocs and section contents. Don't read symbols. - * elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms. - (elf32_hppa_size_stubs): Don't free local syms. - * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay - reading of local syms. Use bfd_elf_get_elf_syms. Properly free - possibly cached info. - * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise. - * elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms. - * elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and - all_local_syms. - (get_local_syms): Delete function. - (edit_opd): Use bfd_elf_get_elf_syms. Free on error exit. Cache - on exit. - (ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms. Free/cache on exit. - -2002-07-05 Jim Wilson <wilson@redhat.com> - - * syms.c (decode_section_type): New. - (bfd_decode_symclass): Call decode_section_type. - -2002-07-04 Jakub Jelinek <jakub@redhat.com> - - * merge.c (_bfd_merged_section_offset): Avoid accessing byte before - section content start. - Reported by Michael Schumacher <mike@hightec-rt.com>. - -2002-07-04 Alan Modra <amodra@bigpond.net.au> - - * section.c (_bfd_strip_section_from_output): Remove unnecessary - link order code. Don't actually remove the output section here; - Just set a flag for the linker to do so. - * elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed - sections when setting up output section dynsyms. - -2002-07-04 Alan Modra <amodra@bigpond.net.au> - - * elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpux - fudge. - * elf.c (bfd_section_from_shdr): Work around broken hpux shared - libs here instead. - -2002-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com> - - * elf64-s390.c (create_got_section): Set .got section alignment to - 8 bytes. - (elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes. - -2002-07-02 Alan Modra <amodra@bigpond.net.au> - - * elf.c (_bfd_elf_reloc_type_class): Fix comment grammar. - -2002-07-01 Matt Thomas <matt@3am-software.com> - - * elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_* - to EF_VAX_*. - -2002-07-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> - - * elfxx-mips.c (ABI_64_P): Fix comment. - (MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the - new section names for N64 ABI. - (mips_elf_output_extsym): No special _gp_disp handling for NewABI. - (mips_elf_calculate_relocation): Code formatting. - (mips_elf_create_dynamic_relocation): Likewise. - (_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too. - (_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI. - (_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64 - in any NewABI. - (_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling - for NewABI. - (_bfd_mips_elf_modify_segment_map): Handle any N64 ABI. - (_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled - here, too. - -2002-07-01 Andreas Schwab <schwab@suse.de> - - * elf64-x86-64.c (elf64_x86_64_relocate_section): Only convert - R_X86_64_64 to R_X86_64_RELATIVE. - -2002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca> - - * vaxbsd.c: New BFD backend for VAX BSD and Ultrix. - * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend. - Run "make dep-am". - * config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of - host_aout_vec. - * configure.in (vaxbsd_vec): Add. - * targets.c (vaxbsd_vec): Add. - * Makefile.in: Rebuild. - * configure: Rebuild. - * po/SRC-POTFILES.in: Rebuild. - -2002-07-01 Alan Modra <amodra@bigpond.net.au> - - * elflink.h (elf_gc_mark): Pass in the section whose relocs we are - examining to gc_mark_hook, rather than the bfd. - (elf_gc_sections): Adjust. - * elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise. - * elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise. - * elf32-arm.h (elf32_arm_gc_mark_hook): Likewise. - * elf32-avr.c (elf32_avr_gc_mark_hook): Likewise. - * elf32-cris.c (cris_elf_gc_mark_hook): Likewise. - * elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise. - * elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise. - * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise. - * elf32-i386.c (elf_i386_gc_mark_hook): Likewise. - * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise. - * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise. - * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise. - * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise. - * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise. - * elf32-s390.c (elf_s390_gc_mark_hook): Likewise. - * elf32-sh.c (sh_elf_gc_mark_hook): Likewise. - * elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise. - * elf32-v850.c (v850_elf_gc_mark_hook): Likewise. - * elf32-vax.c (elf_vax_gc_mark_hook): Likewise. - * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise. - * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise. - * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise. - * elf64-s390.c (elf_s390_gc_mark_hook): Likewise. - * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise. - * elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise. - * elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise. - * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise. - * elf32-frv.c (elf32_frv_gc_mark_hook): Likewise. Also remove - redundant local sym tests. - * elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry. - (link_hash_newfunc): Init is_entry. - (ppc64_elf_copy_indirect_symbol): Copy is_entry. - (ppc64_elf_link_hash_table_create): Init all_local_syms. - (create_linkage_sections): Use bfd_make_section_anyway rather than - bfd_make_section. - (ppc64_elf_mark_entry_syms): New function. - (ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab. Set - up opd entry to function section map. - (ppc64_elf_gc_mark_hook): Special case opd section relocs, and - relocs that reference the opd section. - (edit_opd): New function. - (ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd. - (ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here. - (get_local_syms): Do so here. Exit if we already have local syms. - Remove bogus comment imported from elf32-hppa.c. Don't attempt to - read local syms on non-ELF input. - (ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather - than duplicating it's function here. Adjust free of internal - relocs to suit. - (ppc64_elf_relocate_section): Adjust local syms in opd section. - * elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare. - * elf32-hppa.c (elf32_hppa_size_stubs): Call - _bfd_elf32_link_read_relocs rather than duplicating it's function - here. Adjust free of internal relocs to suit. - -2002-07-01 Andreas Jaeger <aj@suse.de> - - * elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocations - are not allowed in shared libs code, enforce -fPIC. - -2002-06-29 Hans-Peter Nilsson <hp@bitrange.com> - - * mmo.c (mmo_write_loc_chunk): Don't eliminate leading and - trailing zero-sequences when there's previous left-over data. - -2002-06-27 John David Anglin <dave@hiauly1.hia.nrc.ca> - - * elf64-hppa.c (elf64_hppa_reloc_type_class): New function. - (elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec - and opd_rel_sec in order for starting rela section. Check _raw_size. - (elf_backend_reloc_type_class): Define. - -2002-06-27 Kevin Buettner <kevinb@redhat.com> - - * dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit - DWARF2 formats. - -2002-06-27 Alan Modra <amodra@bigpond.net.au> - - * cpu-powerpc.c: Comment on ordering of arch_info. - * elf32-ppc.c (ppc_elf_object_p): New function. - (elf_backend_object_p): Define. - * elf64-ppc.c (ppc64_elf_object_p): New function. - (elf_backend_object_p): Define. - -2002-06-26 Jason Thorpe <thorpej@wasabisystems.com> - - * configure.in (vax-*-netbsd*): Set COREFILE to netbsd-core.lo. - * configure: Regenerate. -2002-06-25 Jason Eckhardt <jle@rice.edu> - - * dwarf2.c (decode_line_info): Check unit->addr_size - to read in the proper number of prologue bytes. - -2002-06-25 Nick Clifton <nickc@cambridge.redhat.com> - - * config.bfd (powerpc-*-aix5*): Only create a selvecs for - aix5coff64_vec if 64-bit bfd support has been enabled. - (powerpc64-*-aix5*): Only define if 64-bit bfd support has - been enabled. - - * targets.c (_bfd_target_vector[]): Only include - aix5coff64_vec if 64-bit bfd support has been enabled. - -2002-06-25 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy. - * elf32-hppa.c (hppa_add_stub): Likewise. - * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise. - * elflink.h (elf_add_default_symbol): Fix comment typo. - (elf_add_default_symbol): Replace strcpy and strncpy with memcpy. - (elf_link_add_object_symbols): Likewise. - (elf_link_assign_sym_version): Likewise. - * hash.c (bfd_hash_lookup): Likewise. - * linker.c (_bfd_generic_link_add_one_symbol): Likewise. - * section.c (bfd_get_unique_section_name): Likewise. - * syms.c (_bfd_stab_section_find_nearest_line): Likewise. - * elf.c (_bfd_elf_make_section_from_phdr): Likewise. - (assign_section_numbers): Likewise. - (_bfd_elfcore_make_pseudosection): Likewise. - (elfcore_grok_lwpstatus): Likewise. - (elfcore_grok_win32pstatus): Likewise. - (elfcore_write_note): Constify input params. Use PTR instead of - void *. Include terminating NUL in namesz. Correct padding. - Support NULL "name" param. Use memcpy instead of strcpy. - (elfcore_write_prpsinfo): Constify input params. - (elfcore_write_prstatus): Likewise. Use PTR instead of void *. - (elfcore_write_lwpstatus): Likewise. - (elfcore_write_pstatus): Likewise. - (elfcore_write_prfpreg): Likewise. - (elfcore_write_prxfpreg): Likewise. - * elf-bfd.h (elfcore_write_note): Update declaration. - (elfcore_write_prpsinfo): Likewise. - (elfcore_write_prstatus): Likewise. - (elfcore_write_pstatus): Likewise. - (elfcore_write_prfpreg): Likewise. - (elfcore_write_prxfpreg): Likewise. - (elfcore_write_lwpstatus): Likewise. - -2002-06-25 Jason Eckhardt <jle@rice.edu> - - * ecoff.c (ecoff_set_symbol_info): Set BSF_FUNCTION for - symbols of type stProc and stStaticProc. - -2002-06-25 Nick Clifton <nickc@redhat.com> - - * ecoff.c: VArious formatting fixes. - -2002-06-25 Alan Modra <amodra@bigpond.net.au> - - * coff-rs6000.c (xcoff_generate_rtinit): Fix typo. - -2002-06-25 Alan Modra <amodra@bigpond.net.au> - - * aout-adobe.c: Don't compare against "true" or "false. - * aout-target.h: Likewise. - * aoutx.h: Likewise. - * archive.c: Likewise. - * bout.c: Likewise. - * cache.c: Likewise. - * coff-a29k.c: Likewise. - * coff-alpha.c: Likewise. - * coff-i386.c: Likewise. - * coff-mips.c: Likewise. - * coff-or32.c: Likewise. - * coff64-rs6000.c: Likewise. - * coffcode.h: Likewise. - * coffgen.c: Likewise. - * cpu-ns32k.c: Likewise. - * ecoff.c: Likewise. - * ecofflink.c: Likewise. - * elf.c: Likewise. - * elf32-arm.h: Likewise. - * elf32-cris.c: Likewise. - * elf32-d30v.c: Likewise. - * elf32-i386.c: Likewise. - * elf32-mcore.c: Likewise. - * elf32-ppc.c: Likewise. - * elf32-sh.c: Likewise. - * elf32-sh64.c: Likewise. - * elf32-v850.c: Likewise. - * elf64-alpha.c: Likewise. - * elf64-sh64.c: Likewise. - * elfcode.h: Likewise. - * elfcore.h: Likewise. - * elflink.h: Likewise. - * elfxx-mips.c: Likewise. - * i386os9k.c: Likewise. - * ieee.c: Likewise. - * libbfd.c: Likewise. - * linker.c: Likewise. - * mmo.c: Likewise. - * nlm32-alpha.c: Likewise. - * nlm32-i386.c: Likewise. - * nlm32-ppc.c: Likewise. - * nlm32-sparc.c: Likewise. - * nlmcode.h: Likewise. - * oasys.c: Likewise. - * pdp11.c: Likewise. - * peicode.h: Likewise. - * reloc.c: Likewise. - * som.c: Likewise. - * srec.c: Likewise. - * tekhex.c: Likewise. - * vms.c: Likewise. - * xcofflink.c: Likewise. - * elf64-sparc.c: Edit comment to not use "== false". - - * aoutf1.h: Don't use "? true : false". - * ecoff.c: Likewise. - * format.c: Likewise. - * ieee.c: Likewise. - * linker.c: Likewise. - * mmo.c: Likewise. - * oasys.c: Likewise. - -2002-06-23 H.J. Lu <hjl@gnu.org> - - * elflink.h (elf_link_add_archive_symbols): For the default - version, check references with only one `@' first. - -2002-06-23 John David Anglin <dave@hiauly1.hia.nrc.ca> - - * elf64-hppa.c (elf64_hppa_mark_milli_and_exported_functions): New - function. - (allocate_global_data_dlt): Don't add millicode symbols to dynamic - symbol table. - (allocate_global_data_opd, allocate_dynrel_entries): Likewise. - (elf64_hppa_size_dynamic_sections): Revise to use - elf64_hppa_mark_milli_and_exported_functions. - (elf64_hppa_finish_dynamic_symbol): Remove code to keep millicode - symbols out of dynamic symbol table. - -2002-06-23 Alan Modra <amodra@bigpond.net.au> +2004-04-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> - * Makefile.in: Regenerate. - * libbfd.h: Regenerate. - * bfd-in2.h: Regenerate. + * config.bfd: Remove mips*-*-mach3* and mips*-dec-mach3* targets. + * configure.in: Remove mips-dec-bsd*, mips-dec-mach3*, mips-*-mach3* + targets amd aout_mips_big_vec, aout_mips_little_vec target vectors. * configure: Regenerate. - * po/SRC-POTFILES.in: Regenerate. - - * elflink.h: Comment typo fixes. - -2002-06-23 H.J. Lu <hjl@gnu.org> - - * elf-bfd.h (elf_link_loaded_list): New structure. - (elf_link_hash_table): Add "loaded". - * elf.c (_bfd_elf_link_hash_table_init): Initialize "loaded". - * elflink.h (elf_link_check_versioned_symbol): New function. - (elf_link_output_extsym): Call elf_link_check_versioned_symbol. - -2002-06-19 Nick Clifton <nickc@cambridge.redhat.com> - - * elflink.h (size_dynamic_sections): If the target does not - support an ELF style hash table, return true, indicating that - nothing needed to be done, rather than false, indicating that the - section's size could not be computed. - -2002-06-18 Dave Brolley <brolley@redhat.com> - - From Catherine Moore, Michael Meissner, Dave Brolley: - * po/SRC-POTFILES.in: Add cpu-frv.c and elf32-frv.c - * targets.c: Support bfd_elf32_frv_vec. - * reloc.c: Add FRV relocs. - * configure.in: Add support for bfd-elf32-frv-vec. - * config.bfd (targ_cpu): Add support for frv-*-elf. - * archures.c: Add frv arch and machines. - * Makefile.am (ALL_MACHINES): Add cpu-frv.lo. - (ALL_MACHINES_CFILES): Add cpu-frv.c. - (BFD32_BACKENDS): Add elf32-frv.lo. - (BFD32_BACKENDS_CFILES): Add elf32-frv.c - (cpu-frv.lo): New target. - (elf32-frv.lo): New target. - * cpu-frv.c: New file. - * elf32-frv.c: New file. - -2002-06-18 Jakub Jelinek <jakub@redhat.com> - - * elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies - e_shnum == 0. - Only read the first section header if e_shoff is non-zero. - Don't consider e_shstrndx if there are no sections. - -2002-06-17 Tom Rix <trix@redhat.com> - - * elf32-d10v.c (elf_d10v_howto_table): Change R_D10V_10_PCREL_R, - R_D10V_10_PCREL_L and R_D10V_18_PCREL to use - complain_overflow_bitfield. - -2002-06-17 Alan Modra <amodra@bigpond.net.au> - - * opncls.c (bfd_openr): Remove redundant bfd_set_error. - (bfd_fdopenr): Likewise. - (bfd_openstreamr): Likewise. - (bfd_openw): Likewise. - - * targets.c: Sort target vecs. - (_bfd_target_vector): Add aix5coff64_vec, bfd_elf32_sh64_vec, - bfd_elf32_sh64l_vec, bfd_elf32_sh64lnbsd_vec, - bfd_elf32_sh64nbsd_vec, bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec, - bfd_elf64_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec. - * configure.in: Sort target vecs. Add m88kmach3_vec. - * configure: Regenerate. - -2002-06-16 Hans-Peter Nilsson <hp@bitrange.com> - - * elf64-mmix.c (bpo_reloc_request_sort_fn): Use member - bpo_reloc_no to break sort order ties, not address of items. -2002-06-16 John David Anglin <dave@hiauly1.hia.nrc.ca> +2004-04-09 Daniel Jacobowitz <drow@mvista.com> - * elf-hppa.h (elf_hppa_final_link): Fix formatting in comment. - Skip excluded sections in determing __gp value. - (elf_hppa_final_link_relocate): Use the symbol's address in - R_PARISC_FPTR64 relocations that don't need an opd entry. - * elf64-hppa.c (allocate_dynrel_entries): Simplify code. - (elf64_hppa_finalize_dynreloc): Likewise. - (elf64_hppa_size_dynamic_sections): Move comments and fix typo. - (elf64_hppa_finish_dynamic_symbol): Break up assert. + * configure.in: Update version to 2.14.91. + * configure: Likewise. -2002-06-14 Sergey Grigoriev <serge@leopold.Physik.Uni-Augsburg.DE> +2004-04-09 Daniel Jacobowitz <drow@mvista.com> - * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte - alignment for .bss, .data and .text sections so that sse and sse2 - code will work. - * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise. - -2002-06013 J"orn Rennecke <joern.rennecke@superh.com> - - config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*, - sh[1234]*-elf*. - -2002-06-12 John David Anglin <dave@hiauly1.hia.nrc.ca> - - * elflink.h (elf_bfd_final_link): Improve error handling for missing - dynamic sections. - - * elf64-hppa.c (allocate_global_data_opd): We don't need an opd entry - for a symbol that has no output section. - (allocate_dynrel_entries): Correct comment. - (elf64_hppa_finalize_dynreloc): Likewise. Don't create an opd entry - unless we want one. - (elf64_hppa_finalize_opd): Prevent segfault if dyn_h is NULL. - (elf64_hppa_finalize_dlt): Likewise. Prevent segfault for symbols - with no section. Remove unnecessary parentheses. - -2002-06-11 Tom Rix <trix@redhat.com> - - * coffcode.h (coff_compute_section_file_positions): Add data - section to AIX loader alignment check. - - * coff-rs6000.c (_bfd_xcoff_mkobject): Set default text section - alignment to 4 bytes. - (_bfd_xcoff_copy_private_bfd_data): Use text and data alignment - power accessor macro. - (do_shared_object_padding): Remove invalid assertion. - -2002-06-10 Richard Sandiford <rsandifo@redhat.com> - - * section.c (_bfd_strip_section_from_output): Set SEC_EXCLUDE - for removed output sections. - -2002-06-10 Geoffrey Keating <geoffk@redhat.com> - - * merge.c (merge_strings): Use htab_create_alloc with calloc, not - htab_alloc. - * elf-strtab.c (_bfd_elf_strtab_finalize): Likewise. - -2002-06-08 H.J. Lu <hjl@gnu.org> - - * elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to - work around a long long bug in gcc 2.96 on mips. + Merge from mainline: + 2004-04-06 Daniel Jacobowitz <drow@mvista.com> + * elfxx-mips.c (MIPS_ELF_STUB_SECTION_NAME): Always use + ".MIPS.stubs". + + 2004-04-05 H.J. Lu <hongjiu.lu@intel.com> + * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Always + reserve the memory for dynamic linker + + 2004-04-05 Mark Kettenis <kettenis@gnu.org> + * netbsd-core.c (CORE_WCOOKIE_OFFSET): New define. + (netbsd_core_file_p): Create a .wcookie section for OpenBSD/sparc. + + 2004-04-01 Andy Chittenden <achittenden@bluearc.com> + * stabs.c (struct stab_link_includes_totals): Add field 'symb' + that keeps the characters in a B_INCL..B_EINCL range. + (_bfd_link_section_stabs): When computing the sum of the + characters in a B_INCL..B_EINCL range also keep a copy of those + characters. Use this information to distinguish between + include sections that have the same sum and the same length + but which are nevertheless unique. + + 2004-03-31 Andy Chittenden <achittenden@bluearc.com> + * stabs.c (struct stab_link_includes_totals): Rename field 'total' + to 'sum_chars' and add field 'num_chars'. + (_bfd_link_section_stabs): When computing the sum of the + characters in a B_INCL..B_EINCL range also keep a count of the + number of characters. Use this information to help distinguish + between include sections when have the same sum but which + nevertheless are still unique. + + 2004-03-31 Mattias Engdegård <mattias@virtutech.se> + * stabs.c (_bfd_link_section_stabs): Do not skip N_EXCL stabs. + + 2004-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + * elf32-hppa.c (elf32_hppa_check_relocs): Handle R_PARISC_PCREL32. + (final_link_relocate): Likewise. -2002-06-08 Jason Thorpe <thorpej@wasabisystems.com> + 2004-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + * elf-hppa.h (elf_hppa_reloc_final_type): Handle selectors for + R_PARISC_PCREL32 and R_PARISC_PCREL64 relocations. + + 2004-03-17 Nathan Sidwell <nathan@codesourcery.com> + * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct + logic for null_input_bfd detection. + + 2004-03-12 Nick Clifton <nickc@redhat.com> + Dave Murphy <wintermute2k4@ntlworld.com> + + * elf32-arm.h (elf32_arm_merge_private_bfd_data): Skip most checks + if the input bfd does not contain any code. + + 2004-03-02 Alexandre Oliva <aoliva@redhat.com> + * elf32-frv.c (struct frv_pic_relocs_info): Added fixups and + dynrelocs. + (_frv_count_got_plt_entries): Initialize them. + (frv_pic_relocs_info_find): Add insert argument. Adjust all + callers. + (frv_pic_relocs_info_for_global): Likewise. + (frv_pic_relocs_info_for_local): Likewise. + (frv_pic_merge_early_relocs_info): New. + (_frv_resolve_final_relocs_info): Use it in case one entry maps to + another. + (_frv_add_dyn_reloc): Add entry argument. Adjust all callers. + Check that we don't exceed the allocated count for entry. + (_frv_add_rofixup): Likewise. + (_frv_emit_got_relocs_plt_entries): Adjust for coding standards. + (elf32_frv_finish_dynamic_sections): Improve error message in case + we emit too few rofixup entries. + + 2004-02-27 Alexandre Oliva <aoliva@redhat.com> + * elf32-frv.c (elf32_frv_howto_table) <R_FRV_LABEL16>: Set + complain_on_overflow to signed. + + 2004-02-27 Jakub Jelinek <jakub@redhat.com> + * elf32-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL + for pc relative relocs. + (elf_s390_relocate_section): Likewise. + * elf64-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL + for pc relative relocs. + (elf_s390_relocate_section): Likewise. - * Makefile.am (BFD32_BACKENDS): Add vax1knetbsd.lo. - (BFD32_BACKENDS_CFILES): Add vax1knetbsd.c. - Regenerate dependency lists. + 2004-02-26 H.J. Lu <hongjiu.lu@intel.com> + * elfxx-ia64.c (elfNN_ia64_check_relocs): Fix call to + count_dyn_reloc. + + 2004-02-25 H.J. Lu <hongjiu.lu@intel.com> + * elfxx-ia64.c (elfNN_ia64_dyn_reloc_entry): Add the reltext. + field to track if a relocation is against readonly section. + (count_dyn_reloc): Take a new argument for rent->reltext. + (elfNN_ia64_check_relocs): Adjust call to count_dyn_reloc. + (get_reloc_section): Don't set ia64_info->reltext here. + (allocate_dynrel_entries): Set ia64_info->reltext here. + + 2004-02-24 Alexandre Oliva <aoliva@redhat.com> + * elf32-frv.c (FRV_SYM_LOCAL): Weak undefined doesn't imply local. + (_frv_emit_got_relocs_plt_entries): Decay relocation to protected + function's descriptor to symbol+offset, and map local undefweak + symbol to NULL function descriptor. + (elf32_frv_relocate_section): Likewise. + + 2004-02-21 Danny Smith <daanysmith@users.sourceforge.net> + * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Clear + IMAGE_SCN_MEM_WRITE on known sections only. + + 2004-02-19 Jakub Jelinek <jakub@redhat.com> + * elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Clear + .plt sh_entsize. + +2004-04-08 Richard Sandiford <rsandifo@redhat.com> + + * elflink.c: Include libiberty.h. + * Makefile.am (elflink.lo): Depend on libiberty.h. * Makefile.in: Regenerate. - * config.bfd (vax-*-netbsdelf*, vax-*-netbsdaout*): Add - vax1knetbsd_vec to targ_selvecs. - * configure.in: Add vax1knetbsd_vec. - * configure: Regenerate. - * targets.c (_bfd_target_vector): Add vax1knetbsd_vec. - * vax1knetbsd.c: New file. - * vaxnetbsd.c: Update copyright years. - (TARGET_PAGE_SIZE): Set to 0x1000. - (DEFAULT_MID): Set to M_VAX4K_NETBSD. - -2002-06-08 Matt Thomas <matt@3am-software.com> - - * libaout.h (enum machine_type): Add M_VAX4K_NETBSD. - -2002-06-08 Alan Modra <amodra@bigpond.net.au> - * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Make static. +2004-04-08 Alan Modra <amodra@bigpond.net.au> -2002-06-08 Alan Modra <amodra@bigpond.net.au> + Apply from mainline. + 2004-03-30 Jakub Jelinek <jakub@redhat.com> + * elf.c (map_sections_to_segments): Fix handling of .tbss. - * Makefile.am: Run "make dep-am". + 2004-03-27 Alan Modra <amodra@bigpond.net.au> + * Makefile.am: Remove all mention of elflink.h. * Makefile.in: Regenerate. - - * armnetbsd.c: Replace CONST with const. - * corefile.c: Likewise. - * elf32-dlx.c: Likewise. - * elf64-mips.c: Likewise. - * mmo.c: Likewise. - * ns32knetbsd.c: Likewise. - - * elf64-sparc.c (sparc64_elf_add_symbol_hook): Check the hash - table is elf64-sparc. - -2002-06-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> - - * elfxx-mips.c (_bfd_mips_elf_relocate_section): Simplify code. - Fix RELA addends to get not shifted in the result. Don't do special - handling of R_MIPS_64 for NewABI. - -2002-06-07 Alan Modra <amodra@bigpond.net.au> - - * aoutx.h (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc. - (NAME(aout,slurp_reloc_table)): Likewise. - * coff-mips.c (mips_relax_section): Use bfd_zalloc. - * coff-rs6000.c (xcoff_write_armap_big): Use bfd_zmalloc. - (xcoff_write_archive_contents_big): Likewise. - (xcoff_generate_rtinit): Likewise. - (xcoff_generate_rtinit): Likewise, and check error return. - * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise. - * coffgen.c (coff_section_symbol): Use bfd_zalloc. - (coff_get_normalized_symtab): Likewise. - (coff_make_empty_symbol): Likewise. - (bfd_coff_set_symbol_class): Likewise. - * cofflink.c (coff_link_add_symbols): Likewise. - * ecoff.c (_bfd_ecoff_make_empty_symbol): Likewise. - * ecofflink.c (ecoff_write_shuffle): Use bfd_zmalloc. - (bfd_ecoff_write_accumulated_debug): Likewise. - * elf64-alpha.c (get_got_entry): Use bfd_zalloc. - * i386linux.c (bfd_i386linux_size_dynamic_sections): Likewise. - * i386lynx.c (NAME(lynx,slurp_reloc_table)): Use bfd_zmalloc. - * ieee.c (do_with_relocs): Use bfd_zalloc. - * m68klinux.c (bfd_m68klinux_size_dynamic_sections): Likewise. - * pdp11.c (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc. - (NAME(aout,slurp_reloc_table)): Likewise. - (NAME(aout,squirt_out_relocs)): Don't memset when zalloc'd. - * reloc16.c (bfd_coff_reloc16_relax_section): Use bfd_zmalloc. - * som.c (som_build_and_write_symbol_table): Likewise. - (som_slurp_string_table): Likewise. - (som_slurp_symbol_table): Likewise. - (som_bfd_ar_write_symbol_stuff): Likewise. - * sparclinux.c (bfd_sparclinux_size_dynamic_sections): Use bfd_zalloc. - * sunos.c (bfd_sunos_size_dynamic_sections): Likewise. - * tekhex.c (find_chunk): Likewise. Get rid of unused "sname". - * vms-gsd.c (_bfd_vms_slurp_gsd): Use bfd_zmalloc. - * xcofflink.c (xcoff_link_add_symbols): Use bfd_zalloc/bfd_zmalloc. - -2002-06-07 Alan Modra <amodra@bigpond.net.au> - - * elf-bfd.h (struct bfd_elf_section_data <group_name>): Replace with - "group" union. - (elf_group_name): Update. - (elf_group_id): Define. - (bfd_elf_set_group_contents): Declare. - * elf.c (elf_fake_sections): Qualify use of elf_group_name. - (set_group_contents): Rename to bfd_elf_set_group_contents. Remove - ATTRIBUTE_UNUSED from failedptrarg. If elf_group_id is set, use - that sym for the signature. - (_bfd_elf_compute_section_file_positions): Don't call - set_group_contents for "ld -r" case. - (swap_out_syms): Use bfd_zalloc. - * elflink.h (elf_link_add_archive_symbols): Likewise. - (NAME(bfd_elf,size_dynamic_sections)): Likewise. - (elf_bfd_final_link): Call bfd_elf_set_group_contents. - -2002-06-07 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (ppc64_elf_relocate_section): Allow unresolved - relocs in opd for non-shared too. - -2002-06-06 Jeffrey Law <law@redhat.com - - * elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting - relocations. - -2002-06-06 Nick Clifton <nickc@cambridge.redhat.com> - - * merge.c: Include libiberty.h. - * elf-strtab.c: Include libiberty.h. - -2002-06-06 Elias Athanasopoulos <eathan@otenet.gr> - - * peXXigen.c (pe_print_idata): Remove unused variable. - -2002-06-06 David Heine <dlheine@tensilica.com> - - * elf.c (assign_file_positions_for_segments): Remove unallocated - sections from the section to segment mapping for PT_LOAD segments. - Update comment about empty loadable segments. - -2002-06-06 Richard Sandiford <rsandifo@redhat.com> - - * stabs.c (_bfd_link_section_stabs): Check that the symbol offset - is within the .stabstr section. - -2002-06-06 Alan Modra <amodra@bigpond.net.au> - - * elf-bfd.h (struct elf_size_info <swap_symbol_in>): Function args - are "const PTR", not "const PTR *". - (bfd_elf32_swap_symbol_in): Likewise. - (bfd_elf64_swap_symbol_in): Likewise. - * elfcode.h (elf_swap_symbol_in): Change input args to const PTR. - (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in. - * elflink.h (elf_link_is_defined_archive_symbol): Likewise. - (elf_link_add_object_symbols): Likewise. - (elf_link_record_local_dynamic_symbol): Likewise. - (elf_link_input_bfd): Likewise. - (elf_gc_mark): Likewise. - (elf_reloc_symbol_deleted_p): Likewise. - * elf-m10200.c (mn10200_elf_relax_section): Likewise. - (mn10200_elf_relax_delete_bytes): Likewise. - (mn10200_elf_symbol_address_p): Likewise. - (mn10200_elf_get_relocated_section_contents): Likewise. - * elf-m10300.c (mn10300_elf_relax_section): Likewise. - (mn10300_elf_relax_section): Likewise. - (mn10300_elf_relax_delete_bytes): Likewise. - (mn10300_elf_symbol_address_p): Likewise. - (mn10300_elf_get_relocated_section_contents): Likewise. - * elf32-h8300.c (elf32_h8_relax_section): Likewise. - (elf32_h8_relax_delete_bytes): Likewise. - (elf32_h8_symbol_address_p): Likewise. - (elf32_h8_get_relocated_section_contents): Likewise. - * elf32-hppa.c (get_local_syms): Likewise. - * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise. - * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise. - * elf32-sh.c (sh_elf_relax_section): Likewise. - (sh_elf_relax_delete_bytes): Likewise. - (sh_elf_get_relocated_section_contents): Likewise. - * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise. - * elf64-alpha.c (elf64_alpha_relax_section): Likewise. - * elf64-hppa.c (elf64_hppa_check_relocs): Likewise. - * elf64-mmix.c (mmix_elf_relax_section): Likewise. - * elf64-ppc.c (get_local_syms): Likewise. - * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise. - * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise. - -2002-06-05 J"orn Rennecke <joern.rennecke@superh.com> - - * config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations. - -2002-06-05 Alan Modra <amodra@bigpond.net.au> - - * elf.c (group_signature): Swap in the whole symbol, and handle - extracting section symbol names. - (setup_group): Add comment. - (set_group_contents): When called from objcopy or ld, arrange for - section contents to be written. Write group member output section - indices to allow objcopy to reorganize sections. - (_bfd_elf_copy_private_section_data): Copy group info. - - * elf-bfd.h (struct elf_size_info): Add swap_symbol_in field. - (bfd_elf32_swap_symbol_in): Update prototype. - (bfd_elf64_swap_symbol_in): Likewise. - * elfcode.h (elf_swap_symbol_in): Change input args to const PTR *. - (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in. - * elflink.h (elf_link_is_defined_archive_symbol): Likewise. - (elf_link_add_object_symbols): Likewise. - (elf_link_record_local_dynamic_symbol): Likewise. - (elf_link_input_bfd): Likewise. - (elf_gc_mark): Likewise. - (elf_reloc_symbol_deleted_p): Likewise. - * elf-m10200.c (mn10200_elf_relax_section): Likewise. - (mn10200_elf_relax_delete_bytes): Likewise. - (mn10200_elf_symbol_address_p): Likewise. - (mn10200_elf_get_relocated_section_contents): Likewise. - * elf-m10300.c (mn10300_elf_relax_section): Likewise. - (mn10300_elf_relax_section): Likewise. - (mn10300_elf_relax_delete_bytes): Likewise. - (mn10300_elf_symbol_address_p): Likewise. - (mn10300_elf_get_relocated_section_contents): Likewise. - * elf32-h8300.c (elf32_h8_relax_section): Likewise. - (elf32_h8_relax_delete_bytes): Likewise. - (elf32_h8_symbol_address_p): Likewise. - (elf32_h8_get_relocated_section_contents): Likewise. - * elf32-hppa.c (get_local_syms): Likewise. - * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise. - * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise. - * elf32-sh.c (sh_elf_relax_section): Likewise. - (sh_elf_relax_delete_bytes): Likewise. - (sh_elf_get_relocated_section_contents): Likewise. - * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise. - * elf64-alpha.c (elf64_alpha_relax_section): Likewise. - * elf64-hppa.c (elf64_hppa_check_relocs): Likewise. - * elf64-mmix.c (mmix_elf_relax_section): Likewise. - * elf64-ppc.c (get_local_syms): Likewise. - * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise. - * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise. - * elfcode.h (NAME(_bfd_elf,size_info)): Update initialiser. - * elf64-alpha.c (alpha_elf_size_info): Likewise. - * elf64-hppa.c (hppa64_elf_size_info): Likewise. - * elf64-mips.c (mips_elf64_size_info): Likewise. - * elf64-s390.c (s390_elf64_size_info): Likewise. - * elf64-sparc.c (sparc64_elf_size_info): Likewise. - -2002-06-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl> - - * elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to... - elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here. - elf64-mips.c (elf_backend_ignore_discarded_relocs): Use - _bfd_mips_elf_ignore_discarded_relocs. - elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare. - -2002-06-05 H.J. Lu <hjl@gnu.org> - - * elfxx-mips.c (mips_elf_calculate_relocation): Call - _bfd_elf_rel_local_sym for STT_SECTION relocations against - the SEC_MERGE section. - -2002-06-05 Alan Modra <amodra@bigpond.net.au> - - * coff-alpha.c: Update copyright date. - * coff-mips.c: Likewise. - * xcoff-target.h: Likewise. - - * bfd-in.h: Remove "taken from the source" comment. - * libbfd-in.h: Likewise. - * libcoff-in.h: Likewise. - * bfd-in2.h: Regenerate. - * libbfd.h: Regenerate. - * libcoff.h: Regenerate. - - * elf.c (bfd_elf_discard_group): Return true. - * elf-bfd.h (bfd_elf_discard_group): Declare. - * bfd-in.h (bfd_elf_discard_group): Don't declare here. - * section.c (bfd_discard_group): Rename to bfd_generic_discard_group. - * bfd.c (bfd_discard_group): Define. - * targets.c (struct bfd_target): Add _bfd_discard_group. - (BFD_JUMP_TABLE_LINK): Here too. - * libbfd-in.h (_bfd_nolink_bfd_discard_group): Define. - * aout-adobe.c (aout_32_bfd_discard_group): Define. - * aout-target.h (MY_bfd_discard_group): Define. - * aout-tic30.c (MY_bfd_discard_group): Define. - * binary.c (binary_bfd_discard_group): Define. - * bout.c (b_out_bfd_discard_group): Define. - * coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define. - * coffcode.h (coff_bfd_discard_group): Define. - * coff-mips.c (_bfd_ecoff_bfd_discard_group): Define. - * elfxx-target.h (bfd_elfNN_bfd_discard_group): Define. - * i386msdos.c (msdos_bfd_discard_group): Define. - * i386os9k.c (os9k_bfd_discard_group): Define. - * ieee.c (ieee_bfd_discard_group): Define. - * ihex.c (ihex_bfd_discard_group): Define. - * mmo.c (mmo_bfd_discard_group): Define. - * nlm-target.h (nlm_bfd_discard_group): Define. - * oasys.c (oasys_bfd_discard_group): Define. - * ppcboot.c (ppcboot_bfd_discard_group): Define. - * som.c (som_bfd_discard_group): Define. - * srec.c (srec_bfd_discard_group): Define. - * tekhex.c (tekhex_bfd_discard_group): Define. - * versados.c (versados_bfd_discard_group): Define. - * vms.c (vms_bfd_discard_group): Define. - * xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define. - * coff64-rs6000.c (rs6000coff64_vec): Update initialiser. - (aix5coff64_vec): Likewise. - * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise. - -2002-06-04 Jason Thorpe <thorpej@wasabisystems.com> - - * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-com.lo. - (BFD32_BACKENDS_CFILES): Add elf32-sh64-com.c. - (elf32-sh64-com.lo): New dependency list. - * Makefile.in: Regenerate. - * configure.in (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec) - (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec): Add - elf32-sh64-com.lo. - * configure: Regenerate. - * elf32-sh64.c (sh64_address_in_cranges) - (sh64_get_contents_type, sh64_address_is_shmedia): Move to... - (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb): - (crange_bsearch_cmpl): Prepend _bfd_sh64_ to name and move to... - * elf32-sh64-com.c: ...here. New file. - -2002-06-04 Alan Modra <amodra@bigpond.net.au> - - * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Remove - ATTRIBUTE_UNUSED on used params. - * elf32-vax.c (elf_vax_gc_mark_hook): Remove unnecessary checks - before calling bfd_section_from_elf_index on local syms. - * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise. - -2002-06-04 Jason Thorpe <thorpej@wasabisystems.com> - - * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo. - (BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c. - (BFD64_BACKENDS): Add elf64-sh64-nbsd.lo. - (BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c. - (elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules. - * Makefile.in: Regenerate. - * config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*) - (sh64-*-netbsd*): New targets. - * configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec, - bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec. - * configure: Regenerate. - * elf32-sh64-nbsd.c: New file. - * elf64-sh64-nbsd.c: New file. - * targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec, - bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and - bfd_elf64_sh64lnbsd_vec. - -2002-06-04 Alan Modra <amodra@bigpond.net.au> - - * elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups. - (bfd_section_from_shdr): Likewise. Set section name of group - sections from signature. - (group_signature): Split out from setup_group. Ensure symbol table - is available. - (bfd_elf_discard_group): New function. - (_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on - .gnu.linkonce* sections if they are members of a group. - (set_group_contents): Set GRP_COMDAT flag. - * section.c (bfd_discard_group): New function. - * bfd-in.h (bfd_elf_discard_group): Declare. - * bfd-in2.h: Regenerate. - * elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field. - (elf_linkonce_p): Define. - -2002-06-04 Alan Modra <amodra@bigpond.net.au> - - * elf.c (bfd_section_from_shdr): Make "name" const. - * elf-bfd.h (elf_backend_section_from_shdr): Likewise. - * elf32-i370.c (i370_elf_section_from_shdr): Likewise. - * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise. - * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise. - * elf32-v850.c (v850_elf_section_from_shdr): Likewise. - * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise. - * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise. - * elf64-ppc.c (ppc64_elf_section_from_shdr): Likewise. - * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise. - * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise. - * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise. - -2002-06-03 Maciej W. Rozycki <macro@ds2.pg.gda.pl> - - * elfxx-mips.c (ABI_64_P): Use backend's data to determine the - ABI. - -2002-06-02 Kazu Hirata <kazu@cs.umass.edu> - - * elf32-arc.c: Fix formatting. - * elf32-arm.h: Likewise. - * elf32-cris.c: Likewise. - * elf32-dlx.c: Likewise. - * elf32-hppa.c: Likewise. - * elf32-i386.c: Likewise. - * elf32-i386qnx.c: Likewise. - * elf32-or32.c: Likewise. - * elf32-s390.c: Likewise. - * elf32-sh64.c: Likewise. - * elf32-vax.c: Likewise. - * elf32-xstormy16.c: Likewise. - * elf64-alpha.c: Likewise. - * elf64-mmix.c: Likewise. - * elf64-ppc.c: Likewise. - * elf64-s390.c: Likewise. - * elf64-sh64.c: Likewise. - * elf64-x86-64.c: Likewise. - -2002-06-02 Richard Henderson <rth@redhat.com> - - * elf64-alpha.c (elf64_alpha_relocate_section): Don't dereference - null when there are no got entries for a symbol. - (elf64_alpha_relax_find_tls_segment): Rearrange to avoid - uninitialized variable warning. - -2002-06-01 Richard Henderson <rth@redhat.com> - - * elf64-alpha.c (elf64_alpha_relax_with_lituse): Don't test for - undefined symbols here. - (elf64_alpha_relax_section): Do it here. Also test for not - defined in the current module. - (elf64_alpha_relocate_section_r): Split out of ... - (elf64_alpha_relocate_section): ... here. Don't dereference - NULL when looking up local got entries. - -2002-06-01 Richard Henderson <rth@redhat.com> - - * elf64-alpha.c (elf64_alpha_relax_with_lituse): Reject undefined - symbols from JSR relaxation. - (elf64_alpha_size_plt_section_1): New. - (elf64_alpha_calc_dynrel_sizes): Split out .rela.got bits ... - (elf64_alpha_size_rela_got_1): ... here. - (elf64_alpha_size_dynamic_sections): Split out .rela.got bits ... - (elf64_alpha_size_rela_got_section): ... here. - (elf64_alpha_size_plt_section): New. - (elf64_alpha_relax_section): Call them. - (elf64_alpha_size_got_sections): Remove output_bfd arg. - (elf64_alpha_finish_dynamic_symbol): Check gotent use_count. - -2002-06-01 Richard Henderson <rth@redhat.com> - - * elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New. - (elf64_alpha_relocate_section): Use them. Reject LE TLS relocs - in shared libraries. Fix DTPRELHI and TPRELHI value. - (INSN_ADDQ, INSN_RDUNIQ): New. - (struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent. - (elf64_alpha_relax_with_lituse): Return boolean. Remove irelend - argument. Reject dynamic symbols. Use LITUSE symbolic constants. - (elf64_alpha_relax_got_load): Rename from relax_without_lituse. - Handle GOTDTPREL and GOTTPREL relocations. - (elf64_alpha_relax_gprelhilo): New. - (elf64_alpha_relax_tls_get_addr): New. - (elf64_alpha_relax_find_tls_segment): New. - (elf64_alpha_relax_section): Handle TLS relocations. - (ALPHA_ELF_LINK_HASH_TLS_IE): New. - (elf64_alpha_check_relocs): Set it. - -2002-06-01 Richard Henderson <rth@redhat.com> - - * elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp. - - * elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic - check; don't suppress dynamic relocs for non-allocated sections. - - * elf64-alpha.c: Remove dead code. - -2002-05-31 Alan Modra <amodra@bigpond.net.au> - + * bfd-in.h (bfd_elf_discard_info): Declare. + (bfd_elf32_discard_info, bfd_elf64_discard_info): Delete. * bfd-in2.h: Regenerate. - * libbfd.h: Regenerate. + * elf-bfd.h (bfd_elf32_print_symbol, bfd_elf64_print_symbol, + bfd_elf32_link_record_dynamic_symbol, + bfd_elf64_link_record_dynamic_symbol, + _bfd_elf_link_record_dynamic_symbol, bfd_elf32_bfd_final_link, + bfd_elf64_bfd_final_link, elf_link_record_local_dynamic_symbol, + _bfd_elf32_link_record_local_dynamic_symbol, + _bfd_elf64_link_record_local_dynamic_symbol, + _bfd_elf32_gc_sections, _bfd_elf32_gc_common_finalize_got_offsets, + _bfd_elf32_gc_common_final_link, _bfd_elf64_gc_common_final_link, + _bfd_elf32_gc_record_vtinherit, _bfd_elf32_gc_record_vtentry, + _bfd_elf64_gc_sections, _bfd_elf64_gc_common_finalize_got_offsets, + _bfd_elf64_gc_record_vtinherit, _bfd_elf64_gc_record_vtentry, + _bfd_elf32_reloc_symbol_deleted_p, + _bfd_elf64_reloc_symbol_deleted_p): Delete. + (bfd_elf_link_record_dynamic_symbol, + bfd_elf_link_record_local_dynamic_symbol, + bfd_elf_final_link, bfd_elf_gc_sections, + bfd_elf_gc_record_vtinherit, bfd_elf_gc_record_vtentry, + bfd_elf_gc_common_finalize_got_offsets, bfd_elf_gc_common_final_link, + bfd_elf_reloc_symbol_deleted_p): Declare. + (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define. + * elf32-arm.h: Update for changed function names. Remove local + WILL_CALL_FINISH_DYNAMIC_SECTION define. + * elf-hppa.h, elf-m10300.c, elf32-cris.c, elf32-d10v.c, elf32-dlx.c, + * elf32-fr30.c, elf32-frv.c, elf32-h8300.c, elf32-hppa.c, elf32-i386.c, + * elf32-iq2000.c, elf32-m32r.c, elf32-m68hc1x.c, elf32-m68k.c, + * elf32-mcore.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c, + * elf32-sh.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c, + * elf32-xstormy16.c, elf32-xtensa.c, elf64-alpha.c, elf64-hppa.c, + * elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c, elf64-sparc.c, + * elf64-x86-64.c, elfxx-ia64.c, elfxx-mips.c, elfxx-target.h: Likewise. + * elfxx-target.h (bfd_elfNN_bfd_final_link): Define. + (bfd_elfNN_print_symbol): Define. + * elfcode.h: Don't include elflink.h. + (elf_bfd_discard_info, elf_reloc_symbol_deleted_p, + elf_link_record_dynamic_symbol, elf_bfd_final_link, elf_gc_sections, + elf_gc_common_finalize_got_offsets, elf_gc_common_final_link, + elf_gc_record_vtinherit, elf_gc_record_vtentry, + elf_link_record_local_dynamic_symbol): Don't define. + * elflink.c: Update for changed function names. Move elflink.h + code here. + * elflink.h: Delete file. * po/SRC-POTFILES.in: Regenerate. + * po/bfd.pot: Regenerate. - * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate - space for bss .plt. - -2002-05-31 Graeme Peterson <gp@qnx.com> - - * Makefile.am (BFD32_BACKENDS): Add elf32-i386qnx.lo. - (BFD32_BACKENDS_CFILES): Add elf32-i386qnx.c. - Run "make dep-am". - * Makefile.in: Regenerate. - * config.bfd: Add i[3456]86-*-nto-qnx* support. - * configure.in: Add bfd_elf32_i386qnx_vec support. - * configure: Regenerate. - * elf-bfd.h (struct elf_backend_data): Add set_nonloadable_filepos, - is_contained_by_filepos, and copy_private_bfd_data_p. - * elf.c (assign_file_positions_for_segments): Call backend - set_nonloadable_filepos. Fix non-K&R call to _bfd_error_handler. - (IS_CONTAINED_BY_FILEPOS): Define. - (INCLUDE_SECTION_IN_SEGMENT): Also test IS_CONTAINED_BY_FILEPOS. - (copy_private_bfd_data): Use IS_CONTAINED_BY_FILEPOS. Typo fix. - Fix non-K&R call to _bfd_error_handler. - (_bfd_elf_copy_private_section_data): Use backend - copy_private_bfd_data_p. - * elf32-i386.c: Don't include elfxx-target.h when - ELF32_I386_C_INCLUDED is defined. - * elf32-i386qnx.c: New QNX elf backend file. - * elfxx-target.h: Add elf_backend_set_nonloadable_filepos, - elf_backend_is_contained_by_filepos, and - elf_backend_do_copy_private_bfd_data. - * targets.c: Add bfd_target bfd_elf32_i386qnx_vec. - -2002-05-31 Alan Modra <amodra@bigpond.net.au> - - * elfarm-oabi.c (bfd_elf32_arm_add_glue_sections_to_bfd): Define. - Move other similar defines to start of file. - -2002-05-30 Tom Rix <trix@redhat.com> - - * coff-rs6000.c (xcoff_rtype2howto): Handle 16 bit R_RBA. - * coff64-rs6000.c (xcoff64_rtype2howto): Same. - -2002-05-30 Richard Henderson <rth@redhat.com> - - * elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD, - ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New. - (ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove. - (ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove. - (struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated. - (struct alpha_elf_obj_tdata): Rename total_got_entries and - n_local_got_entries to total_got_size and local_got_size. - (elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs. - (alpha_got_entry_size): New. - (elf64_alpha_relax_with_lituse): Use it. - (elf64_alpha_relax_without_lituse): Likewise. - (MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES. - (get_got_entry): New. - (elf64_alpha_check_relocs): Handle TLS relocs. Reorganize. - (elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask. - (elf64_alpha_merge_ind_symbols): Check gotent->reloc_type. - (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise. - (elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size. - (elf64_alpha_calc_got_offsets): Likewise. - (alpha_dynamic_entries_for_reloc): New. - (elf64_alpha_calc_dynrel_sizes): Use it. - (elf64_alpha_size_dynamic_sections): Likewise. - (elf64_alpha_relocate_section): Handle TLS relocations. - * reloc.c: Add Alpha TLS relocations. - * bfd-in2.h, libbfd.h: Rebuild. - -2002-05-29 Ralf Habacker <ralf.habacker@freenet.de> - - * peXXigen.c (pe_print_idata): Remove double printed - import table lines; add Bound-To comment. - -2002-05-29 Matt Thomas <matt@3am-software.com> - - * Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo. - (BFD32_BACKENDS_CFILES): Add elf32-vax.c. - (elf32-vax.lo): New rule. - * Makefile.in: Regenerate. - * configure.in (bfd_elf32_vax_vec) - (vaxnetbsd_vec): New vectors. - * configure: Regenerate. - * config.bfd (vax-*-netbsdelf*) - (vax-*-netbsdaout*) - (vax-*-netbsd*): New targets. - * elf32-vax.c: New file. - * reloc.c: Add VAX relocations. - * bfd-in2.h: Regenerate. - * targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec. - -2002-05-29 Jason Thorpe <thorpej@wasabisystems.com> - - * config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec - and bfd_elf32_bigarm_vec to targ_selvecs. - -2002-05-29 Ralf Habacker <ralf.habacker@freenet.de> - - * peXXigen.c (pe_print_idata): Fix seg faults on printing import tables - with auto-imported symbols. - -2002-05-29 Adam Nemet <anemet@lnxw.com> - - * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Don't add glue - sections only record bfd. - (bfd_elf32_arm_add_glue_sections_to_bfd): New function. - * bfd-in.h (bfd_elf32_arm_add_glue_sections_to_bfd): Declare it. - * bfd-in2.h: Regenerate. - -2002-05-28 Nick Clifton <nickc@cambridge.redhat.com> - - * syms.c (_bfd_stab_section_find_nearest_line): Move - declaration and initialisation of saw_line and saw_func out of - for loop. - -2002-05-29 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (ppc64_elf_get_symbol_info): New function. - (bfd_elf64_get_symbol_info): Define. - * elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef. - -2002-05-29 Andrey Volkov <avolkov@transas.com> - - * cpu-h8300.c: Make default h8300 machine first in machine list. - -2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net> - - * config.bfd: Added DLX configuraton. - * Makefile.am: Added DLX configuraton. - * configure.in: Added DLX configuraton. - * archures.c: Add DLX architecure. - * reloc.c: Add DLX relocs. - * targets.c: Added DLX target vector. - * configure: Regenerate. - * Makefile.in: Regenreate. - * bfd-in2.h: Regenreate. - * elf32-dlx.c: New file: Support DLX target. - * cpu-dlx.c: New file: Support DLX target. - -2002-05-25 Alan Modra <amodra@bigpond.net.au> - - * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting. - - * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change. - (ppc64_elf_check_relocs): Don't set up function descriptor symbol - strings to point inside function code sym string. - (func_desc_adjust): Likewise. - (ppc64_elf_hide_symbol): Rewrite code to look up function code sym. - -2002-05-24 Michal Ludvig <mludvig@suse.cz> - - * elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added. - (elf64_x86_64_grok_psinfo): Added. - -2002-05-24 TAMURA Kent <kent@netbsd.org> - - * config.bfd: Add a target for i386-netbsdpe. - -2002-05-24 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func - and is_func_descriptor. - (func_desc_adjust): Hide function code sym in shared libs unless - there is a matching exported function descriptor sym. - -2002-05-23 Jakub Jelinek <jakub@redhat.com> - - * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL - for symbols from SHF_TLS section. - (_bfd_elf_print_private_bfd_data): Add PT_TLS. - (elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections. - (map_sections_to_segments): Build PT_TLS segment if necessary. - (assign_file_positions_for_segments): Likewise. - (get_program_header_size): Account for PT_TLS segment. - (swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from - SEC_THREAD_LOCAL sections to STT_TLS. - * reloc.c: Add 386 and IA-64 TLS relocs. - * section.c (SEC_THREAD_LOCAL): Define. - (SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS): - Remove. - * elflink.h (elf_link_add_object_symbols): Support .tcommon. - (size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS - unconditionally. - (struct elf_final_link_info): Add first_tls_sec. - (elf_bfd_final_link): Set first_tls_sec. - Compute elf_hash_table (info)->tls_segment. - (elf_link_output_extsym): Handle STT_TLS symbols. - (elf_link_input_bfd): Likewise. - * syms.c (BSF_THREAD_LOCAL): Define. - * bfd-in2.h: Rebuilt. - * libbfd.h: Rebuilt. - * elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff, - elf_i386_mkobject, elf_i386_object_p): New functions. - (elf_howto_table): Add TLS relocs. - (elf_i386_reloc_type_lookup): Support TLS relocs. - (elf_i386_info_to_howto_rel): Likewise. - (struct elf_i386_link_hash_entry): Add tls_type. - (struct elf_i386_obj_tdata): New. - (elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type): - New macros. - (struct elf_i386_link_hash_table): Add tls_ldm_got. - (link_hash_newfunc): Clear tls_type. - (elf_i386_check_relocs): Support TLS relocs. - (elf_i386_gc_sweep_hook): Likewise. - (allocate_dynrelocs): Likewise. - (elf_i386_size_dynamic_sections): Likewise. - (elf_i386_relocate_section): Likewise. - (elf_i386_finish_dynamic_symbol): Likewise. - (bfd_elf32_mkobject, elf_backend_object_p): Define. - * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset, - dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done, - want_tprel, want_dtpmod, want_dtprel. - (elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions. - (ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to - R_IA64_LTOFF_TPREL22. - (elf_code_to_howto_index): Add TLS relocs. - (elfNN_ia64_check_relocs): Support TLS relocs. - (allocate_global_data_got): Account for TLS .got data. - (allocate_dynrel_entries): Account for TLS dynamic relocations. - (elfNN_ia64_install_value): Supprt TLS relocs. - (set_got_entry): Support TLS relocs. - (elfNN_ia64_relocate_section): Likewise. - -2002-05-23 Nick Clifton <nickc@cambridge.redhat.com> - - * elf32-arm.h (elf32_arm_final_link_relocate): For the Thumb - BLX reloc round the relocation up rather than down. - * coff-arm.c (coff_arm_relocate_section): Likewise. - -2002-05-21 H.J. Lu (hjl@gnu.org) - - * linker.c (_bfd_generic_link_add_one_symbol): Allow multiple - definition. - -2002-05-22 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt. - (ppc64_elf_relocate_section): Handle unresolved relocs in opd. - -2002-05-22 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (ppc64_elf_relocate_section): Return false for - unresolved relocs. - (ppc64_elf_size_dynamic_sections): Check for splt NULL. - -2002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> - - * bfd/bfd.c (bfd_get_arch_size): Remove bfd_set_error call for - non-ELF targets. - -2002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> - - * elf-bfd.h (elf_backend_emit_relocs): Change prototype to return - an error value. - * elflink.h (elf_link_output_relocs): Likewise. Improve error message. - return with false on error. - (elf_link_input_bfd): Check reloc_emitter return value. - -2002-05-21 Jason Thorpe <thorpej@wasabisystems.com> - - * config.bfd (armeb-*-netbsdelf*): New target. - -2002-05-20 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (ppc_build_one_stub): Point undefined function syms - at the plt call stub. - -2002-05-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> - - * cpu-mips.c (mips_compatible): Don't try to check machine - compatibility. - -2002-05-18 Tom Rix <trix@redhat.com> - - * coff64-rs6000.c (_bfd_xcoff64_swap_aux_out): Fix C_FILE auxent. - -2002-05-17 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (ppc64_elf_info_to_howto): Formatting. - (ppc64_elf_relocate_section): Don't warn about reloc overflow when - we've already warned about an undefined symbol. Report more - detail on reloc errors. - -2002-05-17 Alan Modra <amodra@bigpond.net.au> - - * acinclude.m4 (AM_INSTALL_LIBBFD): New. - * configure.in: Invoke AM_INSTALL_LIBBFD. - * Makefile.am (install-data-local): Revert 2002-05-13. Move to.. - (install_libbfd): .. New target. - (uninstall_libbfd): Likewise. - (install-bfdlibLTLIBRARIES): Likewise. - (uninstall-bfdlibLTLIBRARIES): Likewise. - (bfdlibdir): New. - (bfdincludedir): New. - (lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES. - * aclocal.m4: Regenerate. - * configure: Regenerate. - * Makefile.in: Regenerate. - -2002-05-17 Stuart Balfour <sbalfour@cisco.com> - - * hash.c (bfd_hash_lookup): Remove computation of len from inside - hash loop. - -2002-05-16 Nick Clifton <nickc@cambridge.redhat.com> - - * config.bfd: Add targets for sh64-linux (little endian and - big endian). - -2002-05-15 Laurent Pinchart <laurent.pinchart@skynet.be> - - * peXXigen.c (pe_print_idata): Do not assume that the first thunk - is located in the same section as the import table. Instead - check, and if necessary load the section containing the thunk. - -2002-05-15 Nick Clifton <nickc@cambridge.redhat.com> - - * aix5ppc-core.c (xcoff64_core_p): Replace bfd_read with - bfd_bread. - (xcoff64_core_file_matches_executable_p): Replace bfd_read - with bfd_bread. - -2002-05-15 Alan Modra <amodra@bigpond.net.au> - - * aix5ppc-core.c: Warning fixes. - * aout-adobe.c (aout_32_bfd_link_just_syms): Define. - * aout-target.h (MY_bfd_link_just_syms): Define. - * aout-tic30.c (MY_bfd_link_just_syms): Define. - * bfd.c (bfd_link_just_syms): Define. - * binary.c (binary_bfd_link_just_syms): Define. - * bout.c (b_out_bfd_link_just_syms): Define. - * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer. - * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise. - * coffcode.h (coff_bfd_link_just_syms): Define. - * elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS. - (elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS. - (_bfd_elf_link_just_syms): Declare. - * elf.c (_bfd_elf_link_just_syms): New function. - * elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that - sections haven't already been discarded by the linker. - * elflink.h (elf_link_add_object_symbols): Likewise for stab - sections and SEC_MERGE sections. - (elf_bfd_discard_info): Similarly here. - * elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define. - * i386msdos.c (msdos_bfd_link_just_syms): Define. - * i386os9k.c (os9k_bfd_link_just_syms): Define. - * ieee.c (ieee_bfd_link_just_syms): Define. - * ihex.c (ihex_bfd_link_just_syms): Define. - * libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define. - (_bfd_generic_link_just_syms): Declare. - * libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define. - * linker.c (_bfd_generic_link_just_syms): New function. - * mmo.c (mmo_bfd_link_just_syms): Define. - * nlm-target.h (nlm_bfd_link_just_syms): Define. - * oasys.c (oasys_bfd_link_just_syms): Define. - * ppcboot.c (ppcboot_bfd_link_just_syms): Define. - * som.c (som_bfd_link_just_syms): Define. - * srec.c (srec_bfd_link_just_syms): Define. - * targets.c (struct bfd_target): Add _bfd_link_just_syms. - (BFD_JUMP_TABLE_LINK): And here. - * tekhex.c (tekhex_bfd_link_just_syms): Define. - * versados.c (versados_bfd_link_just_syms): Define. - * vms.c (vms_bfd_link_just_syms): Define. - * libbfd.h: Regenerate. - * bfd-in2.h: Regenerate. - -2002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> - - * elf32-mips.c: Remove superfluous definitions copied from - elfxx-mips.c. - (bfd_elf32_bigmips_vec,bfd_elf32_littlemips_vec): Use the - SGIish vectors to check the special case. - (mips_elf_hi16_reloc): Fix comment. - (mips_elf_got16_reloc): Likewise. - (_bfd_mips_elf32_gprel16_reloc): Likewise. - (elf_reloc_map): Code cleanup. - (mips_reloc_map): Add comment. - (bfd_elf23_bfd_reloc_type_lookup): Code cleanup. - (mips_elf32_rtype_to_howto): Likewise. - (mips_elf32_discard_info): Likewise. - (elf32_mips_irix_compat): Invert logic: Only SGIish vectors - lead to IRIX compatibility now. - -2002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> - - * elfxx-mips.c: Call it IRIX, not Irix in comments. - -2002-05-13 Jason Thorpe <thorpej@wasabisystems.com> - - * config.bfd (shle-*-netbsdelf*): Add target which includes - sh64 support. - -2002-05-13 David Edelsohn <edelsohn@gnu.org> - - * configure.in: Revert 2002-04-07. Instead, auto-configure - HAVE_ST_C_IMPL. - * configure: Regenerate. - * config.in: Regenerate. - * rs6000-core.c (CNEW_IMPL): Guard use of c_impl with HAVE_ST_C_IMPL - or AIX_5_CORE. - -2002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br> - - * configure.in (sparc*-*-openbsd*): Support sparc64-openbsd - corefiles as well.2 - * configure: Regenerate. - -2002-05-13 Alan Modra <amodra@bigpond.net.au> - - * Makefile.am (install-data-local): Install headers to - $(exec_prefix)/include. - * Makefile.in: Regenerate. - -2002-05-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de> - Daniel Jacobowitz <drow@mvista.com> - - * coff-sh.c (sh_reloc_map): Map to R_SH_IMM32 for non-PE. Don't - map BFD_RELOC_RVA. - -2002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br> - - * config.bfd (alpha*-*-openbsd*, sparc64*-*-openbsd*, - hppa*-*-openbsd*): New targets. - * configure.in (alpha*-*-openbsd*): Set COREFILE. - * configure: Regenerate. - -2002-05-10 Tom Rix <trix@redhat.com> - - * coff64-rs6000.c (xcoff64_reloc_type_br): New function for - xcoff64_ppc_relocate_section. - * coff-rs6000.c : Extern common xcoff_reloc_type functions. - * libxcoff.h: Common xcoff_reloc_type function declaration. - -2002-05-10 Alan Modra <amodra@bigpond.net.au> - - * elf32-i386.c (elf_i386_relocate_section): Remove overflow checks - added in 2002-05-09 commit. - - * elf32-hppa.c (elf32_hppa_size_stubs): Revert part of 2002-05-04, - don't look for stubs on all undefined syms. - -2002-05-09 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (RA_REGISTER_MASK, RA_REGISTER_SHIFT): Delete. - (ppc64_elf_howto_raw <R_PPC64_RELATIVE>): Not pc_relative or - pcrel_offset. - - * elf32-i386.c (elf_howto_table): Comments. - (elf_i386_relocate_section): Handle more relocs for relocatable - linking and against SEC_MERGE sections. - -2002-05-08 Alan Modra <amodra@bigpond.net.au> - - * elf32-ppc.c (ppc_elf_create_got): New function. - (ppc_elf_create_dynamic_sections): Call ppc_elf_create_got before - _bfd_elf_create_dynamic_sections. Correct .plt flags. - (ppc_elf_check_relocs): Use ppc_elf_create_got in place of - _bfd_elf_create_got_section. - -2002-05-07 Alan Modra <amodra@bigpond.net.au> - - * elf-bfd.h (struct elf_backend_data): Add rela_normal. - * elfxx-target.h (elf_backend_rela_normal): Define. - (elfNN_bed): Init rela_normal. - * elflink.h (elf_link_input_bfd <emit_relocs>): Handle adjustment - for section symbols here if rela_normal. Simplify abs section test. - * elf-m10200.c (mn10200_elf_relocate_section): If relocatable, - return immediately. Remove code handling relocatable linking. - * elf-m10300.c (mn10300_elf_relocate_section): Likewise. - * elf32-fr30.c (fr30_elf_relocate_section): Likewise. + 2004-03-27 Alan Modra <amodra@bigpond.net.au> + * elf64-mmix.c (mmix_elf_relocate_section): Restore code setting + "name" for global syms accidentally removed in 2004-03-20 change. + + 2004-03-27 Alan Modra <amodra@bigpond.net.au> + * elf-bfd.h (struct elf_reloc_cookie): Add r_sym_shift field. + * elflink.h: Replace all occurrences of sizeof (Elf_External_*) + where Elf_External_* is different for 64 and 32 bit, with + corresponding elf_size_info field. + (struct elf_final_link_info): Use "bfd_byte *" instead + of "Elf_External_Sym *" for external_syms and symbuf. + (elf_link_adjust_relocs): Set up r_type_mask and r_sym_shift local + vars and use instead of ELF_R_INFO and ELF_R_TYPE macros. + (struct elf_link_sort_rela): Add "sym_mask" alias for "offset". + (elf_link_sort_cmp1): Use sym_mask field instead of ELF_R_SYM. + (elf_link_sort_cmp2): Adjust. + (elf_link_sort_relocs): Set up r_sym_mask local var instead of + using ELF_R_SYM macro. Set u.sym_mask. + (elf_bfd_final_link): Call _bfd_elf_stringtab_init instead of macro + version, elf_stringtab_init. Ditto for bfd_section_from_elf_index + vs. section_from_elf_index. Adjust Elf_External_Sym pointer + arithmetic. Pass bed to elf_link_flush_output_syms. Adjust + Elf_External_Dyn pointer arithmentic. Use bed swap_dyn_in and + swap_syn_out functions. Rearrange dyn swap in/out switch. + (elf_link_output_sym): Adjust Elf_External_Sym pointer arithmentic. + Pass bed to elf_link_flush_output_syms. Use bed swap_symbol_out. + (elf_link_flush_output_syms): Add elf_backend_data arg. + (elf_link_check_versioned_symbol): Likewise. + (elf_link_output_extsym): Pass bed to elf_link_check_versioned_symbol. + Adjust Elf_External_Sym pointer arithmetic. Use bed swap_symbol_out. + (elf_link_input_bfd): Use bfd_section_from_elf_index. Set up + r_type_mask and r_sym_shift local vars and use instead of ELF_R_SYM, + ELF_R_TYPE and ELF_R_INFO macros. + (elf_reloc_link_order): Select ELF32_R_INFO or ELF64_R_INFO invocation + based on size rather than using ELF_R_INFO. + (elf_gc_mark): Set up r_sym_shift local var and use instead of + ELF_R_SYM macro. + (struct alloc_got_off_arg): New. + (elf_gc_common_finalize_got_offsets): Use elf_size_info instead of + ARCH_SIZE. Pass get entry size down to elf_gc_allocate_got_offsets. + (elf_gc_allocate_got_offsets): Adjust. + (elf_reloc_symbol_deleted_p): Usee cookie.r_sym_shift instead of + ELF_R_SYM. Use bfd_section_from_elf_index. + (elf_bfd_discard_info): Set cookie.r_sym_shift. + * elfcode.h (elf_stringtab_init, section_from_elf_index): Delete. + (elf_slurp_symbol_table): Use bfd_section_from_elf_index. + + 2004-03-26 Alan Modra <amodra@bigpond.net.au> + * elf64-ppc.c (elf_backend_add_symbol_hook): Define. + (ppc64_elf_add_symbol_hook): New function. + * elf-bfd.h (struct elf_backend_data <elf_add_symbol_hook>): Remove + const from Elf_Internal_Sym param. + * elflink.c (elf_link_add_object_symbols): Adjust. + * elf-hppa.h (elf_hppa_add_symbol_hook): Adjust. + * elf32-frv.c (elf32_frv_add_symbol_hook): Adjust. + * elf32-i370.c (elf_backend_add_symbol_hook): Adjust. + * elf32-m32r.c (m32r_elf_add_symbol_hook): Adjust. + * elf32-m68hc1x.c (elf32_m68hc11_add_symbol_hook): Adjust. + * elf32-m68hc1x.h (elf32_m68hc11_add_symbol_hook): Adjust. + * elf32-ppc.c (ppc_elf_add_symbol_hook): Adjust. + * elf32-sh64.c (sh64_elf_add_symbol_hook): Adjust. + * elf32-v850.c (v850_elf_add_symbol_hook): Adjust. + * elf64-alpha.c (elf64_alpha_add_symbol_hook): Adjust. + * elf64-mmix.c (mmix_elf_add_symbol_hook): Adjust. + * elf64-sh64.c (sh64_elf64_add_symbol_hook): Adjust. + * elf64-sparc.c (sparc64_elf_add_symbol_hook): Adjust. + * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Adjust. + * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Adjust. + * elfxx-mips.h (_bfd_mips_elf_add_symbol_hook): Adjust. + + 2004-03-26 Alan Modra <amodra@bigpond.net.au> + * elfxx-target.h (bfd_elfNN_bfd_link_add_symbols): Define. + * elf-bfd.h (_bfd_elf_link_add_archive_symbols): Delete. + (_bfd_elf_sort_symbol, _bfd_elf_add_dt_needed_tag): Delete. + (_bfd_elf_finalize_dynstr, bfd_elf32_bfd_link_add_symbols): Delete. + (bfd_elf64_bfd_link_add_symbols): Delete. + (bfd_elf_link_add_symbols): Declare. + * elfcode.h (elf_bfd_link_add_symbols): Delete. + * elflink.c: Include safe-ctype.h. + (elf_add_dt_needed_tag): Rename from _bfd_elf_add_dt_needed_tag, + make static. + (elf_sort_symbol): Rename from _bfd_elf_sort_symbol, make static. + (elf_finalize_dynstr): Rename from _bfd_elf_finalize_dynstr, make + static. + (elf_link_add_archive_symbols): Rename from + _bfd_elf_link_add_archive_symbols, make static. + (elf_link_add_object_symbols): New function. Corresponding + elflink.h function converted to use elf_size_info. + (bfd_elf_link_add_symbols): Likewise. + (bfd_elf_size_dynamic_sections): Adjust. + * elflink.h (elf_bfd_link_add_symbols): Delete. + (elf_link_add_object_symbols): Delete. + * elf32-gen.c (elf32_generic_link_add_symbols): Call + bfd_elf_link_add_symbols. + * elf64-gen.c (elf64_generic_link_add_symbols): Likewise. + + 2004-03-25 Alan Modra <amodra@bigpond.net.au> + * elflink.h (elf_link_add_object_symbols): Add DT_NEEDED for as-needed + and chained shared libs only if dynsym. Clear dynsym on forced-local. + * elf-bfd.h (_bfd_elf_add_dynamic_entry): Declare. + (bfd_elf32_add_dynamic_entry, bfd_elf64_add_dynamic_entry): Delete. + (_bfd_elf_add_dt_needed_tag): Declare. + (_bfd_elf_sort_symbol): Declare. + (_bfd_elf_finalize_dynstr): Declare. + (RELOC_FOR_GLOBAL_SYM): Formatting. + * elfcode.h (elf_add_dynamic_entry): Delete. + * elflink.c (_bfd_elf_add_dynamic_entry): New function. Corresponding + elflink.h function converted to use elf_size_info. + (_bfd_elf_add_dt_needed_tag): Likewise. + (_bfd_elf_sort_symbol): Likewise. + (_bfd_elf_finalize_dynstr): Likewise. + (compute_bucket_count): Likewise. + (bfd_elf_size_dynamic_sections): Likewise. Check result of + _bfd_elf_strtab_add before calling _bfd_elf_strtab_addref. + (elf_adjust_dynstr_offsets, elf_collect_hash_codes): Moved from.. + * elflink.h: ..here. + (sort_symbol, add_dt_needed_tag): Delete. + (elf_add_dynamic_entry, elf_finalize_dynstr): Delete. + (compute_bucket_count, NAME(bfd_elf,size_dynamic_sections)): Delete. + Update all users. + * elf32-arm.h (add_dynamic_entry): Update. Remove casts. + * elf32-cris.c (add_dynamic_entry): Likewise. + * elf32-hppa.c (add_dynamic_entry): Likewise. + * elf32-i370.c (add_dynamic_entry): Likewise. + * elf32-i386.c (add_dynamic_entry): Likewise. + * elf32-m32r.c (add_dynamic_entry): Likewise. + * elf32-m68k.c (add_dynamic_entry): Likewise. + * elf32-ppc.c (add_dynamic_entry): Likewise. + * elf32-s390.c (add_dynamic_entry): Likewise. + * elf32-sh.c (add_dynamic_entry): Likewise. + * elf32-sparc.c (add_dynamic_entry): Likewise. + * elf32-vax.c (add_dynamic_entry): Likewise. + * elf32-xtensa.c (add_dynamic_entry): Likewise. + * elf64-alpha.c (add_dynamic_entry): Likewise. + * elf64-hppa.c (add_dynamic_entry): Likewise. + * elf64-ppc.c (add_dynamic_entry): Likewise. + * elf64-s390.c (add_dynamic_entry): Likewise. + * elf64-sparc.c (add_dynamic_entry): Likewise. + * elf64-x86-64.c (add_dynamic_entry): Likewise. + * elfxx-ia64.c (add_dynamic_entry): Likewise. + * elfxx-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise. + * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Likewise. + * elf32-frv.c (elf32_frv_size_dynamic_sections): Likewise. + * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise. + + 2004-03-22 Alan Modra <amodra@bigpond.net.au> + * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add input_bfd, input_section + and rel args. Group input and output args. Wrap to 80 columns. + * elf-m10200.c, elf-m10300.c, elf32-arm.h, elf32-avr.c, + elf32-cris.c, elf32-d10v.c, elf32-fr30.c, elf32-h8300.c, + elf32-hppa.c, elf32-i386.c, elf32-i860.c, elf32-ip2k.c, + elf32-iq2000.c, elf32-m68hc1x.c, elf32-m68k.c, elf32-mcore.c, + elf32-msp430.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c, + elf32-sparc.c, elf32-v850.c, elf32-vax.c, elf32-xstormy16.c, + elf32-xtensa.c, elf64-alpha.c, elf64-mmix.c, elf64-ppc.c, + elf64-s390.c, elf64-sparc.c, elf64-x86-64.c, elfxx-ia64.c: Update + RELOC_FOR_GLOBAL_SYMBOL invocation. + + 2004-03-20 H.J. Lu <hongjiu.lu@intel.com> + * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Report error if + unresolved symbols in objects aren't allowed. + * elf-hppa.h (elf_hppa_relocate_section): Properly handle + unresolved symbols. + (elf_hppa_remark_useless_dynamic_symbols): Likewise. + (elf_hppa_unmark_useless_dynamic_symbols): + * elf32-frv.c (elf32_frv_relocate_section): Likewise. + * elf32-hppa.c (elf32_hppa_size_stubs): Likewise. + (elf32_hppa_relocate_section): Likewise. * elf32-i370.c (i370_elf_relocate_section): Likewise. + * elf32-m32r.c (m32r_elf_relocate_section): Likewise. + * elf32-sh.c (sh_elf_relocate_section): Likewise. + * elf64-sh64.c (sh_elf64_relocate_section): Likewise. + * elfxx-mips.c (mips_elf_calculate_relocation): Likewise. + * elf-m10200.c (mn10200_elf_relocate_section): Use + RELOC_FOR_GLOBAL_SYMBOL. + * elf32-avr.c (elf32_avr_relocate_section): Likewise. + * elf32-d10v.c (elf32_d10v_relocate_section): Likewise. + * elf32-fr30.c (fr30_elf_relocate_section): Likewise. + * elf32-h8300.c (elf32_h8_relocate_section): Likewise. * elf32-i860.c (elf32_i860_relocate_section): Likewise. - * elf32-m68k.c (elf_m68k_relocate_section): Likewise. + * elf32-m68hc1x.c (m68hc11_get_relocation_value): Likewise. * elf32-mcore.c (mcore_elf_relocate_section): Likewise. + * elf32-msp430.c (elf32_msp430_relocate_section): Likewise. * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise. - * elf32-ppc.c (ppc_elf_relocate_section): Likewise. - * elf32-s390.c (elf_s390_relocate_section): Likewise. + * elf32-v850.c (v850_elf_relocate_section): Likewise. * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise. - * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. - * elf64-s390.c (elf_s390_relocate_section): Likewise. - * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. - * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise. - * elf32-arm.h (elf32_arm_relocate_section): Likewise #ifndef USE_REL. - * elf32-m32r.c (m32r_elf_relocate_section): Likewise. - * elf-m10200.c (elf_backend_rela_normal): Define. - * elf-m10300.c (elf_backend_rela_normal): Define. - * elf32-fr30.c (elf_backend_rela_normal): Define. - * elf32-i370.c (elf_backend_rela_normal): Define. - * elf32-i860.c (elf_backend_rela_normal): Define. - * elf32-m68k.c (elf_backend_rela_normal): Define. - * elf32-mcore.c (elf_backend_rela_normal): Define. - * elf32-openrisc.c (elf_backend_rela_normal): Define. - * elf32-ppc.c (elf_backend_rela_normal): Define. - * elf32-s390.c (elf_backend_rela_normal): Define. - * elf32-xstormy16.c (elf_backend_rela_normal): Define. - * elf64-ppc.c (elf_backend_rela_normal): Define. - * elf64-s390.c (elf_backend_rela_normal): Define. - * elf64-x86-64.c (elf_backend_rela_normal): Define. - * elfxx-ia64.c (elf_backend_rela_normal): Define. - * elf32-arm.h (elf_backend_rela_normal): Define #ifndef USE_REL. - * elf32-m32r.c (elf_backend_rela_normal): Likewise. - -2002-05-06 Nick Clifton <nickc@cambridge.redhat.com> - - * elf32-arm.h (elf32_arm_final_link_relocate): Convert - 'reloc_signed_max' and 'reloc_signed_min' into half-word offsets. - -2002-05-06 Alan Modra <amodra@bigpond.net.au> - - * elflink.h (elf_link_input_bfd <emit_relocs>): Adjust r_offset - when not relocatable. Fix reloc_emitter call for K&R. - -2002-05-04 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (ppc64_elf_relocate_section): Reinstate code - reloading local sym addend mistakenly removed in 2002-05-01 change. - - * dwarf2.c (struct line_head): Make prologue_length a bfd_vma. - (read_abbrevs): Change "offset" param to bfd_vma. - (parse_comp_unit): Change "version" and addr_size to unsigned ints. - Change "abbrev_offset" to bfd_vma. - (read_indirect_string): Use correct conversion chars in error - message format string, cast bfd_vma's to unsigned long. - (read_abbrevs): Likewise. - (read_attribute_value): Likewise. - (decode_line_info): Likewise. - (scan_unit_for_functions): Likewise. - (parse_comp_unit): Likewise. - -2002-05-04 Tom Rix <trix@redhat.com> - - * coffswap.h (coff_swap_reloc_in): Remove XCOFF support. - (coff_swap_reloc_out): Same. - * coff-rs6000.c: (xcoff_swap_reloc_in): Moved from coffswap.h. - (xcoff_swap_reloc_out): Same. - (xcoff_rtype2howto): Renamed from _bfd_xcoff_rtype2howto. Special - case some 16 bit relocs. Add reloc value to output. - (xcoff_howto_table): Remove 64 bit R_POS, add 16 bit - R_RBR. Improve names. - (_bfd_xcoff_reloc_type_lookup): Adjust for removal of 64 bit R_POS. - (bfd_xcoff_backend_data): Update with new reloc swap names. - (bfd_pmac_xcoff_backend_data) : Same. - * coff64-rs6000.c: (xcoff64_swap_reloc_in): Moved from coffswap.h. - (xcoff64_swap_reloc_out): Same. - (xcoff64_rtype2howto): Special case some 16 bit relocs and 32 bit - R_POS. Add reloc value to output. - (xcoff64_howto_table): Move 64 bit R_POS to first entry. Add 16 - bit R_RBR. Improve names, masks. - (xcoff64_reloc_type_lookup): Adjust for move of 64 bit R_POS. - (bfd_xcoff_backend_data): Update with new reloc swap names. - (bfd_xcoff_aix5_backend_data) : Same. - -2002-05-04 Alan Modra <amodra@bigpond.net.au> - - * elf32-hppa.c (struct elf32_hppa_link_hash_table): Add - bfd_count top_index, input_list, all_local_syms. - (elf32_hppa_setup_section_lists): New function, split from - elf32_hppa_size_stubs. - (elf32_hppa_next_input_section): Likewise. - (group_sections): Likewise. - (get_local_syms): Likewise. - (elf32_hppa_size_stubs): Adjust for split out functions. Look for - stubs on undefined syms too. - (elf32_hppa_set_gp): Use bfd_link_hash* instead of elf_link_hash*. - Only access htab elf fields when we have an elf hash table. - * elf32-hppa.h (elf32_hppa_setup_section_lists): Declare. - (elf32_hppa_next_input_section): Declare. - -2002-05-04 Bob Byrnes <byrnes@curl.com> - - * opncls.c (_bfd_new_bfd_contained_in): Check return value of - _bfd_new_bfd. - -2002-05-03 H.J. Lu (hjl@gnu.org) - - * elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local. - (mips_elf_link_hash_newfunc): Initialize forced_local to false. - (mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol - to hide a global symbol. - (_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set - forced_local to true. - -2002-05-02 Richard Henderson <rth@redhat.com> - - * elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs - vs SHN_UNDEF to zero. - -2002-05-02 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_SECTOFF>): Change to a - 16 bit reloc. - <R_PPC64_SECTOFF_DS>: Likewise. - (ppc64_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to - SECTOFF reloc. - * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_SECTOFF>): Correct. - (ppc_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to - SECTOFF reloc. - - * elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete. - (ppc64_elf_ha_reloc): New function. - (ppc64_elf_brtaken_reloc): New function. - (ppc64_elf_sectoff_reloc): New function. - (ppc64_elf_sectoff_ha_reloc): New function. - (ppc64_elf_toc_reloc): New function. - (ppc64_elf_toc_ha_reloc): New function. - (ppc64_elf_toc64_reloc): New function. - (ppc64_elf_unhandled_reloc): New function. - (ppc64_elf_howto_raw): Use the above. - <R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset. - <R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset. Fix dst_mask. - <R_PPC64_SECTOFF_DS>: Likewise. - (IS_ABSOLUTE_RELOC): Update. - (struct ppc_link_hash_table): Add have_undefweak. - (ppc64_elf_link_hash_table_create): Init. - (func_desc_adjust): Set have_undefweak. - (ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier. Only - add the .sfpr blr when have_undefweak. - (ppc64_elf_setup_section_lists): Check hash table flavour. - (ppc64_elf_next_input_section): Move output_section->owner test to - ppc64elf.em. - (ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param - and relocatable test. Return TOCstart and don't set elf_gp. - (ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch - offset calculation. Add assert on weak sym branch tweaks. - * elf64-ppc.h (ppc64_elf_set_toc): Delete. - (ppc64_elf_toc): Declare. - (ppc64_elf_next_input_section): Update. - -2002-05-01 Alan Modra <amodra@bigpond.net.au> - - * syms.c (_bfd_stab_section_find_nearest_line): Don't bomb on NULL - file_name. - -2002-05-01 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (CROR_151515, CROR_313131): Define. - (ppc64_elf_relocate_section): Use them. Don't look for plt calls - on R_PPC64_ADDR24 relocs. Require a nop or no link reg on plt - call branches. Correct undefined weak destination. - (ppc64_elf_func_desc_adjust): Always create at least one blr in - .sfpr, and correct case where either only savef* or restf* is - needed. - - Long branch stubs, multiple stub sections. - * elf64-ppc.h (ppc64_elf_setup_section_lists): Declare. - (ppc64_elf_next_input_section): Declare. - * elf64-ppc.c: Move linker-only prototypes. - (STUB_SUFFIX): Define. - (enum ppc_stub_type): New. - (struct ppc_stub_hash_entry): New. - (struct ppc_branch_hash_entry): New. - (struct ppc_link_hash_entry): Add stub_cache, oh. - (struct ppc_link_hash_table): Add stub_hash_table etc. Remove - sstub. Add sbrlt, srelbrlt, has_14bit_branch, stub_iteration. - Rename plt_overflow to stub_error. - (ppc_stub_hash_lookup): Define. - (ppc_branch_hash_lookup): Define. - (stub_hash_newfunc): New function. - (branch_hash_newfunc): New function. - (link_hash_newfunc): Init new fields. - (ppc64_elf_link_hash_table_create): Likewise. - (ppc64_elf_link_hash_table_free): New function. - (ppc_stub_name): New function. - (ppc_get_stub_entry): New function. - (ppc_add_stub): New function. - (create_linkage_sections): Use bfd_make_section_anyway. Create - .branch_lt and .rela.branch_lt sections. Don't create .stub. - (ppc64_elf_check_relocs): Set has_14bit_branch on R_PPC64_REL14*, - and set up for plt call stubs. Link func and func desc syms. - (ppc64_elf_gc_sweep_hook): Handle REL14* as per REL24. - (func_desc_adjust): Avoid hash lookup when func desc sym available - via shortcut, and set links when processing. - (ppc64_elf_hide_symbol): Likewise. - (allocate_dynrelocs): Don't allocate stub section here. - (ppc64_elf_size_dynamic_sections): Handle sbrlt and srelbrlt. - Remove sstub code. - (ppc_type_of_stub): New function. - (build_one_stub): Delete. - (ppc_build_one_stub): New function. - (ppc_size_one_stub): New function. - (ppc64_elf_setup_section_lists): New function. - (ppc64_elf_next_input_section): New function. - (group_sections): New function. - (get_local_syms): New function. - (ppc64_elf_size_stubs): Rewrite. - (ppc64_elf_build_stubs): Rewrite. - (ppc64_elf_relocate_section): Look up stub entry for REL24 - relocs. Don't propagate REL14* to dynamic objects. Look for long - branch stubs if REL14* or REL24 relocs won't reach. - (bfd_elf64_bfd_link_hash_table_free): Define. - -2002-04-30 Mark Mitchell <mark@codesourcery.com> - - * bfd/config.bfd: Add support for powerpc-*-windiss. - -2002-04-30 Tom Rix <trix@redhat.com> - - * xcofflink.c (xcoff_link_add_symbols): Always copy undef C_EXT - symbol names into the hash table. - -2002-04-28 Tom Rix <trix@redhat.com> - - * coff-rs6000.c (xcoff_calculate_relocation) : Function table for - calulating relocations. - (xcoff_complain_overflow) : Function table for relocation errors. - (xcoff_ppc_relocate_section): Use relocation and complain function - tables. - (xcoff_complain_overflow_unsigned_func): New complain function. - (xcoff_complain_overflow_signed_func): Same. - (xcoff_complain_overflow_bitfield_func): Same. - (xcoff_complain_overflow_dont_func): Same. - (xcoff_reloc_type_crel): New recot function. - (xcoff_reloc_type_br): Same. - (xcoff_reloc_type_ba): Same. - (xcoff_reloc_type_toc): Same. - (xcoff_reloc_type_rel): Same. - (xcoff_reloc_type_neg): Same. - (xcoff_reloc_type_pos): Same. - (xcoff_reloc_type_fail): Same. - (xcoff_reloc_type_noop): Same. - * libxcoff.h : Declare common parts for xcoff64. - * coff64-rs6000.c (xcoff64_ppc_relocate_section): Use relocation - and complain function tables. - -2002-04-28 Alan Modra <amodra@bigpond.net.au> - - * elf64-x86-64.c (struct elf64_x86_64_dyn_relocs): Comment typo. - * elf32-hppa.c (elf32_hppa_final_link): Formatting. - -2002-04-26 Alan Modra <amodra@bigpond.net.au> - - * opncls.c (bfd_make_readable): Call bfd_section_list_clear. - * xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise. - - * elflink.h (elf_bfd_final_link): Ensure input bfd class is the - same as the output before calling elf_link_input_bfd. - - * coffcode.h (coff_compute_section_file_positions): Set - section_tail after shuffling section list. - -2002-04-24 Christian Groessler <chris@groessler.org> - - * coff-z8k.c (extra_case): Fix R_IMM32 relocations: The - addresses are 23bit with a special layout, not plain 32bit - values. Prevent relocation of immediate values. - -2002-04-24 Chris G. Demetriou <cgd@broadcom.com> - - * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): If MDMX or - MIPS-16 ASE flags are set, print something to indicate that. - -2002-04-23 Alan Modra <amodra@bigpond.net.au> - - * elf32-hppa.c (hppa_type_of_stub): Correct and simplify condition - under which a plt call stub is used. - (final_link_relocate): Similarly. - (allocate_plt_static): Clear h-plabel except when plt entry is - exclusively used for a plabel. - (allocate_dynrelocs): Use the above to simplify plt sizing. - (struct elf32_hppa_link_hash_table): Add has_22bit_branch. - (elf32_hppa_link_hash_table_create): Init. - (BL22_RP): Define. - (hppa_build_one_stub): Use BL22_RP if has_22bit_branch. - (elf32_hppa_check_relocs): Set has_22bit_branch. - - * elf32-hppa.c (elf32_hppa_check_relocs): Remove debug message. - (final_link_relocate): Likewise. - -2002-04-22 Jakub Jelinek <jakub@redhat.com> - - * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't build - search table if some FDE is DW_EH_PE_aligned encoded either. - (_bfd_elf_write_section_eh_frame): Handle terminating FDE specially. - -2002-04-22 Richard Smith <richard@ex-parrot.com> - Jakub Jelinek <jakub@redhat.com> - - * elf-eh-frame.c (struct eh_cie_fde): Add per_encoding_relative. - (_bfd_elf_discard_section_eh_frame): Set it for CIEs with pcrel - encoded personality. - (_bfd_elf_write_section_eh_frame): Adjust pcrel encoded personality - for CIE/FDE removal. - -2002-04-20 Tom Rix <trix@redhat.com> - - * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Fix C_FILE auxent. - -2002-04-20 Alan Modra <amodra@bigpond.net.au> - - * archures.c (bfd_lookup_arch): Move the list order comment.. - (struct bfd_arch_info): ..to where it belongs. + * elf64-mmix.c (mmix_elf_relocate_section): Likewise. + + 2004-03-19 Alan Modra <amodra@bigpond.net.au> + H.J. Lu <hongjiu.lu@intel.com> + * elflink.c (_bfd_elf_merge_symbol): Revert last change. Move + type and size change code to where it was previously. Remove + dt_needed param. Treat old weak syms as strong if new sym is + from a shared lib, even when old sym is from another shared + lib. Remove unnecessary tests of oldweak and newweak. Correct + comments. + (_bfd_elf_add_default_symbol): Remove dt_needed param. Update + _bfd_elf_merge_symbol calls. + * elflink.h (elf_link_add_object_symbols): Update calls. Remove + dt_needed local var. Update comments. + * elf-bfd.h (_bfd_elf_merge_symbol): Update prototype. + (_bfd_elf_add_default_symbol): Likewise. + * elflink.c (_bfd_elf_merge_symbol): Reinstate code to handle + strong syms in one shared object overriding weak syms in another. + + 2004-03-18 Alan Modra <amodra@bigpond.net.au> + * elf-bfd.h (struct elf_obj_tdata): Delete dt_soname field. Add + dyn_lib_class field. Rearrange for better packing. + (elf_dt_soname): Delete. + (elf_dyn_lib_class): Define. + * elf.c (bfd_elf_set_dt_needed_name): Update comment. + (bfd_elf_set_dt_needed_soname): Delete. + (bfd_elf_set_dyn_lib_class): New function. + * elflink.h (add_dt_needed_tag): New function. Split out from.. + (elf_link_add_object_symbols): ..here. Rename "name" to "soname". + Use elf_dyn_lib_class to set dt_needed and add_needed. Move fallback + initialization of soname. + (elf_link_check_versioned_symbol): Test elf_dyn_lib_class instead of + elf_dt_soname. + * bfd-in.h (enum dynamic_lib_link_class): New. + (bfd_elf_set_dt_needed_soname): Delete. + (bfd_elf_set_dyn_lib_class): Declare. * bfd-in2.h: Regenerate. + * elflink.c (_bfd_elf_merge_symbol): Rewrite weak symbol handling. + (_bfd_elf_add_default_symbol): Remove indirect BFD_ASSERTs. + * elflink.h (elf_link_add_object_symbols): Don't clear dt_needed in + symbol loop. Instead use add_needed to flag tag as written. + + 2004-03-03 Alexandre Oliva <aoliva@redhat.com> + * elflink.c (bfd_elf_record_link_assignment): Mark undefweak and + undefined symbols as hash_new. + + 2004-02-28 H.J. Lu <hongjiu.lu@intel.com> + * elf-bfd.h (_bfd_elf_link_add_archive_symbols): New prototype. + * elflink.h (is_global_data_symbol_definition): Moved to + elflink.c. + (elf_link_is_defined_archive_symbol): Likewise. + (elf_link_add_archive_symbols): Likewise. Renamed to + _bfd_elf_link_add_archive_symbols. + * elflink.c (elf_link_is_defined_archive_symbol): Get the size + of ELF symbol table entry from backend. + (_bfd_elf_link_add_archive_symbols): Call bfd_link_add_symbols + instead of elf_link_add_object_symbols. + + 2004-02-27 H.J. Lu <hongjiu.lu@intel.com> + * elflink.h (sort_symbol): New. + (elf_link_add_object_symbols): Use a sorted symbol array for + weakdef. + + 2004-02-23 Jakub Jelinek <jakub@redhat.com> + * elflink.h (size_dynamic_sections): If not adding DT_FLAGS and + DF_BIND_NOW is set in info->flags, create DT_BIND_NOW dynamic entry. + + 2004-02-21 H.J. Lu <hongjiu.lu@intel.com> + * elflink.c (_bfd_elf_merge_symbol): Properly handle undefined + symbols with non-default visibility. + +2004-03-22 Bob Wilson <bob.wilson@acm.org> + + * elf32-xtensa.c (elf_xtensa_check_relocs): Remove code to read + literal tables and check for relocs outside of literal pools. + (elf_xtensa_make_sym_local): Don't clear ELF_LINK_NON_GOT_REF flag. + (elf_xtensa_fix_refcounts): Don't check ELF_LINK_NON_GOT_REF or + set DF_TEXTREL. + (elf_xtensa_size_dynamic_sections): Don't add DT_TEXTREL entry. + (elf_xtensa_relocate_section): Read literal tables and check for + dynamic relocations in read-only sections and not in literal pools. + +2004-03-23 Alan Modra <amodra@bigpond.net.au> + + PR 51. + * linker.c (bfd_wrapped_link_hash_lookup): Handle info->wrap_char. + +2004-03-22 Hans-Peter Nilsson <hp@axis.com> + + * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT, + R_CRIS_16_GOTPLT>: Also error if there's no PLT for a symbol + not defined by the executable, or defined in a DSO. + <eliding run-time relocation of .got>: Initialize GOT entry for a + function symbol or ELF_LINK_HASH_NEEDS_PLT statically in an + executable. + (cris_elf_gc_sweep_hook): Improve fallthrough marking. + (elf_cris_try_fold_plt_to_got): Improve head comment. Do not fold + a PLT reloc to GOT for an executable. + (elf_cris_adjust_dynamic_symbol): Only fold a .got.plt entry with + .got for a DSO and explain why. + (elf_cris_discard_excess_program_dynamics): Also lose GOT-relocs + and unreferenced symbols for which a PLT is defined. Adjust + dynamic-symbol pruning correspondingly, to make sure we don't lose + a dynamic symbol also defined by a DSO. + +2004-03-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de> + + * config.bfd: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff*. + +2004-03-16 Alan Modra <amodra@bigpond.net.au> + + * elflink.c (elf_link_read_relocs_from_section): Don't use + NUM_SHDR_ENTRIES in end of reloc calc. Move NULL shdr check.. + (_bfd_elf_link_read_relocs): ..to here. + * elf32-ppc.c (ppc_elf_relax_section): Formatting. - * archures.c (bfd_lookup_arch): Add comment on list order. - (bfd_default_set_arch_mach): Use bfd_lookup_arch. - * cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default - is always at head of list. - -2002-04-18 Nick Clifton <nickc@cambridge.redhat.com> - - * coff-arm.c (coff_thumb_pcrel_12, coff_thumb_pcrel_9, - insert_thumb_branch, record_thumb_to_arm_glue): Suppress - definition of these functions for ARM_WINCE builds as they are - not used. - (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET): Do not define - for ARM_WINCE builds. - -2002-04-18 Nick Clifton <nickc@cambridge.redhat.com> - - * coff-arm.c (bfd_arm_process_before_allocation): - -2002-04-17 J"orn Rennecke <joern.rennecke@superh.com> - - * cpu-sh.c (scan_mach): Delete. - (arch_info_struct): Replace scan_mach with bfd_default_scan. - (bfd_sh_arch): Likewise. - -2002-04-16 Nick Clifton <nickc@cambridge.redhat.com> - - * ihex.c (ihex_write_object_contents): Fix check for records - crossing 64K boundaries. - -2002-04-16 Alan Modra <amodra@bigpond.net.au> - - * elf32-m32r.c (m32r_elf_add_symbol_hook): Check the hash table - type rather than just assuming entries are ELF. - * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise. - * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise. - * elf64-sparc.c (sparc64_elf_add_symbol_hook): Likewise. - * elf64-mmix.c (mmix_elf_add_symbol_hook): Use bfd_link_hash_entry - rather than elf_link_hash_entry. - -2002-04-15 Richard Henderson <rth@redhat.com> - - * elf32-mips.c (mips_elf32_object_p): Revert 0404 fragment: allow - n32 binaries. - -2002-04-15 Michael Snyder <msnyder@redhat.com> - - * opncls.c (bfd_close): Write contents if writeable. - Minor formatting tidy-ups. - -2002-04-15 Alan Modra <amodra@bigpond.net.au> - - * elf32-ppc.c (ppc_elf_add_symbol_hook): Check the hash table type. - -2002-04-12 Michael Snyder <msnyder@redhat.com> - - * bfd-in.h (bfd_get_section_lma): New access macro. - Minor white-space fix-up. - -2002-04-12 Alan Modra <amodra@bigpond.net.au> - - * elf.c (prep_headers): Don't zero EI_OSABI, EI_ABIVERSION or - header pad. - -2002-04-09 DJ Delorie <dj@redhat.com> - - * elfarm-nabi.c (elf32_arm_howto_table): Fix ABS16 masks. - -2002-04-09 Casper S. Hornstrup <chorns@users.sourceforge.net> - - * coffcode.h (coff_read_word): New. - (coff_compute_checksum): New. - (coff_apply_checksum): New. - (coff_write_object_contents): Call coff_apply_checksum () to - apply checksum to PE image. - -2002-04-08 Randolph Chung <tausq@debian.org> - - * elf32-hppa.c (hppa_unwind_entry_compare): Move to elf-hppa.h. - (elf32_hppa_final_link): Split out sorting logic to.. - * elf-hppa.h (elf_hppa_sort_unwind): ..here. - (elf_hppa_final_link): Call elf_hppa_sort_unwind. - -2002-04-07 Andrew Cagney <ac131313@redhat.com> - - * configure.in: Add missing ``|'' to powerpc-*-aix4.[4-9]* - pattern. - * configure: Re-generate. - -2002-04-07 Andrew Cagney <ac131313@redhat.com> - - * configure.in: Only define AIX_CORE_DUMPX_CORE when AIX version - is greater or equal to 4.3.3. + Merge from mainline. + 2004-02-20 Jakub Jelinek <jakub@redhat.com> + * elf32-ppc.c (allocate_dynrelocs): Create dynsym for undef weak + symbols used in PIE relocs. + +2004-03-16 Alan Modra <amodra@bigpond.net.au> + + * configure.in (HOST_64BIT_TYPE, HOST_U_64BIT_TYPE): Don't override + values selected in configure.host. Require both to be defined + before setting BFD_HOST_64_BIT_DEFINED. Protect assignment to + corresponding BFD_HOST vars with quotes. + <${host64}-${target64}-${want64} in *true*>: Don't exempt gcc; + Always require BFD_HOST_64_BIT_DEFINED. + <file_ptr type>: Find off_t size before emitting message. Combine + off_t and ftello64 conditional. * configure: Regenerate. - Fix PR gdb/344. - -2002-04-05 Hans-Peter Nilsson <hp@axis.com> - - * elf32-cris.c (cris_elf_howto_table) <R_CRIS_16_PCREL, - R_CRIS_32_PCREL>: Fix typo in name. - (cris_elf_check_relocs): Always create .rela.got here when - R_CRIS_16_GOTPLT or R_CRIS_32_GOTPLT is seen. - (elf_cris_adjust_gotplt_to_got): Don't create .rela.got here; - assume it's created. - -2002-04-04 Daniel Jacobowitz <drow@mvista.com> - - * aout-adobe.c (aout_32_bfd_link_hash_table_free): Define. - * aout-target.h (MY_bfd_link_hash_table_free): Conditionally - define. - * aout-tic30.c (MY_bfd_link_hash_table_free): Likewise. - * bfd.c (bfd_link_hash_table_free): Define. - * binary.c (binary_bfd_link_hash_table_free): Define. - * bout.c (b_out_bfd_link_hash_table_free): Define. - * coff-rs6000.c (rs6000coff_vec): Include - _bfd_generic_link_hash_table_free. - (pmac_xcoff_vec): Likewise. - * coff64-rs6000.c (rs6000coff64_vec): Likewise. - (aix5coff64_vec): Likewise. - * coffcode.h (coff_bfd_link_hash_table_free): Conditionally define. - * elf-m10300.c (elf32_mn10300_link_hash_table_free): New function. - (bfd_elf32_bfd_link_hash_table_free): Define. - * elf32-hppa.c (elf32_hppa_link_hash_table_free): New function. - (bfd_elf32_bfd_link_hash_table_free): Define. - * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally - define. - * i386msdos.c (msdos_bfd_link_hash_table_free): Define. - * i386os9k.c (os9k_bfd_link_hash_table_free): Define. - * ieee.c (ieee_bfd_link_hash_table_free): Define. - * ihex.c (ihex_bfd_link_hash_table_free): Define. - * libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define. - (_bfd_generic_link_hash_table_free): Add prototype. - * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype. - * libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define. - * linker.c (_bfd_generic_link_hash_table_free): New function. - * mmo.c (mmo_bfd_link_hash_table_free): Define. - * nlm-target.h (nlm_bfd_link_hash_table_free): Define. - * oasys.c (oasys_bfd_link_hash_table_free): Define. - * ppcboot.c (ppcboot_bfd_link_hash_table_free): Define. - * som.c (som_bfd_link_hash_table_free): Define. - * srec.c (srec_bfd_link_hash_table_free): Define. - * tekhex.c (tekhex_bfd_link_hash_table_free): Define. - * versados.c (versados_bfd_link_hash_table_free): Define. - * vms.c (vms_bfd_link_hash_table_free): New function. - * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function. - - * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc - instead of bfd_alloc. - * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise. - * coff-mcore.c (coff_mcore_link_hash_table_create): Likewise. - * coff-ppc.c (ppc_coff_link_hash_table_create): Likewise. - * cofflink.c (_bfd_coff_link_hash_table_create): Likewise. - * ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise. - * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise. - * elf.c (_bfd_elf_link_hash_table_create): Likewise. - * elf32-arm.h (elf32_arm_link_hash_table_create): Likewise. - * elf32-cris.c (elf_cris_link_hash_table_create): Likewise. - * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise. - * elf32-i386.c (elf_i386_link_hash_table_create): Likewise. - * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise. - * elf32-s390.c (elf_s390_link_hash_table_create): Likewise. - * elf32-sh.c (sh_elf_link_hash_table_create): Likewise. - * elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise. - * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise. - * elf64-s390.c (elf_s390_link_hash_table_create): Likewise. - * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise. - * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise. - * elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise. - * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise. - * linker.c (_bfd_generic_link_hash_table_create): Likewise. - * m68klinux.c (linux_link_hash_table_create): Likewise. - * sparclinux.c (linux_link_hash_table_create): Likewise. - * sunos.c (sunos_link_hash_table_create): Likewise. - * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise. - - * targets.c: Add _bfd_link_hash_table_free to xvec. - - * bfd-in2.h: Regenerate. - * libbfd.h: Regenerate. - * libcoff.h: Regenerate. - -2002-04-04 Alan Modra <amodra@bigpond.net.au> - - * dep-in.sed: Cope with absolute paths. - * Makefile.am (dep.sed): Subst TOPDIR, and not INCDIR. - Run "make dep-am". - * Makefile.in: Regenerate. - * coff-arm.c: Fix copyright date. - * cpu-h8300.c: Likewise. - * cpu-i370.c: Likewise. - * cpu-s390.c: Likewise. - * cpu-mips.c: Likewise. - * po/SRC-POTFILES.in: Regenerate. - -2002-04-04 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> - * Makefile.am: Add elfxx-mips.c to the known backends. - (elf32-mips.lo): remove dependency to coff/external.h. - * Makefile.in: Regenerate. - * configure.in: Add elfxx-mips.lo to all vectors using elf32-mips.lo - Remove elf32-mips.lo from 64 bit vectors. Update dependencies - accordingly. +2004-03-16 Alan Modra <amodra@bigpond.net.au> + + * elf32-m32r.c (m32r_elf_create_dynamic_sections): Fix pointer + aliasing warning. Remove trailing whitespace throughout file. + +2004-03-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * elf-hppa.h (elf_hppa_relocate_section): Pass input_bfd instead of + input_section in calls to get_dyn_name. + * elf64-hppa.c (get_dyn_name): Change type of first argument to "bfd *". Use section id of first section in input BFD to build dynamic name for + local symbols. + (elf64_hppa_check_relocs): Pass abfd in call to get_dyn_name. + +2004-03-15 Alan Modra <amodra@bigpond.net.au> + + * bfd-in.h (bfd_int64_t, bfd_uint64_t): New types. + (BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Don't define here. + (bfd_getb64, bfd_getl64, bfd_get_bits): Return bfd_uint64_t. + (bfd_getb_signed_64, bfd_getl_signed_64): Return bfd_int64_t. + (bfd_putb64, bfd_putl64, bfd_put_bits): Accept bfd_uint64_t. + * configure.in (HOST_U_64BIT_TYPE): Set when sizeof long is 8. + (BFD_HOST_64_BIT_DEFINED, BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Set + when using long. + * libbfd.c (EIGHT_GAZILLION, COERCE64): Use bfd_int64_t. + (bfd_getb64): Return bfd_uint64_t. Enable when BFD_HOST_64_BIT. + (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise. + (bfd_putb64): Accept bfd_uint64_t. Enable when BFD_HOST_64_BIT. + (bfd_putl64, bfd_put_bits, bfd_get_bits): Likewise. + * dwarf2.c (struct attribute): Use bfd_int64_t and bfd_uint64_t. + (read_8_bytes, read_indirect_string, read_address): Likewise. + (read_abbrevs, parse_comp_unit): Likewise. + * targets.c (struct bfd_target): Likewise. + * aix386-core.c (NO_GET64, NO_PUT64, NO_GETS64): Define and use. + * hppabsd-core.c: Likewise. Formatting. + * hpux-core.c: Likewise. + * irix-core.c: Likewise. + * netbsd-core.c: Likewise. + * osf-core.c: Likewise. + * ptrace-core.c: Likewise. + * sco5-core.c: Likewise. + * trad-core.c: Likewise. * configure: Regenerate. - * elf-bfd.h: Move all MIPS ELF specific prototypes to elfxx-mips.h. - (irix_compat_t): IRIX compatibility level, moved from elf32-mips.c. - (elf_backend_mips_irix_compat, elf_backend_mips_rtype_to_howto): New - MIPS specific backend functions. - * elf32-mips.c: Moved most code to elfxx-mips.c. - (mips_elf_hi16_reloc): Rename from _bfd_mips_elf_hi16_reloc and make - static. - (mips_elf_lo16_reloc): Likewise, was _bfd_mips_elf_lo16_reloc. - (mips_elf_got16_reloc): Likewise, was _bfd_mips_elf_got16_reloc. - (mips_elf_gprel32_reloc): Likewise, was _bfd_mips_elf_gprel32_reloc. - (mips_elf32_rtype_to_howto): Rename from mips_rtype_to_howto. Changed - interface to allow selection of the right REL or RELA howto table. - (mips_elf32_object_p): Rename from _bfd_mips_elf_object_p and made - static. Let it refuse n32 objects. - (elf32_mips_grok_prstatus): Rename from _bfd_elf32_mips_grok_prstatus. - (elf32_mips_grok_psinfo): Rename from _bfd_elf32_mips_grok_psinfo. - (elf32_mips_discard_info): Rename from _bfd_elf32_mips_discard_info. - (elf32_mips_ignore_discarded_relocs): Rename from - _bfd_elf32_mips_ignore_discarded_relocs. - (elf32_mips_write_section): Rename from _bfd_elf32_mips_write_section. - (elf32_mips_irix_compat): New function, replaces IRIX_COMPAT. - (elf_mips_howto_table_rela): Remove. - * elf64-mips.c: Moved most code to elfxx-mips.c. - (bfd_elf64_bfd_reloc_type_lookup): Make static. - (mips_elf64_rtype_to_howto): New function. - (mips_elf64_object_p): Likewise. - (elf64_mips_irix_compat): Likewise. - * elfxx-mips.c: New file containing common code merged together from - elf32-mips.c and elf64-mips.c. - * elfxx-mips.h: New file containing MIPS specific prototypes from - elf-bfd.h. - * elfxx-target.h: Add handling for elf_backend_mips_irix_compat and - elf_backend_mips_rtype_to_howto. - -2002-04-04 Alan Modra <amodra@bigpond.net.au> - - * srec.c (MAXCHUNK, Chunk): Revise comments. - (srec_write_record): Correct buffer size. - (srec_write_header): Do without intermediate buffer. - (srec_write_section): Validate Chunk. - (srec_write_terminator): Pass NULL instead of dummy buffer. - (srec_write_symbols): Pass file and symbol names directly to - bfd_bwrite so sprintf won't overflow buffer. - -2002-04-03 Jakub Jelinek <jakub@redhat.com> - - * elf32-sparc.c (elf32_sparc_relocate_section): Don't emit dynamic - PC relative relocs against hidden symbols. - * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. - -2002-04-03 Alan Modra <amodra@bigpond.net.au> - - * elf.c (_bfd_elf_make_section_from_shdr): When setting section - LMAs, loop over segments until p_vaddr and p_memsz specify an - extent enclosing the section. - -2002-04-02 Nick Clifton <nickc@cambridge.redhat.com> - - * ihex.c (ihex_write_object_contents): Do not allow records to - cross a 64K boundary - wrap if necessary. - -2002-04-01 Nathan Williams <nathanw@wasabisystems.com> - - * elf.c (elfcore_netbsd_get_lwpid): Fix off-by-one error - which caused the returned LWP ID to always be 0. - -2002-04-01 Richard Henderson <rth@redhat.com> - - * elf32-sparc.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New. - (elf32_sparc_relocate_section): Use it to figure out when to - initialize .got entries. - * elf64-sparc.c: Similarly. - -2002-03-28 Alan Modra <amodra@bigpond.net.au> - - * linker.c (link_action): Ignore duplicate warning syms. - (_bfd_generic_link_write_global_symbol): Follow warning symbol link. - * elflink.h (elf_adjust_dynstr_offsets): Likewise. - (elf_adjust_dynamic_symbol): Likewise. - (elf_export_symbol): Likewise. - (elf_link_find_version_dependencies): Likewise. - (elf_link_assign_sym_version): Likewise. - (elf_link_sec_merge_syms): Likewise. - (elf_link_output_extsym): Likewise. - (elf_gc_sweep_symbol): Likewise. - (elf_gc_propagate_vtable_entries_used): Likewise. - (elf_gc_smash_unused_vtentry_relocs): Likewise. - (elf_gc_allocate_got_offsets): Likewise. - (elf_collect_hash_codes): Likewise. - * elflink.c (elf_link_renumber_hash_table_dynsyms): Likewise. - * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): Likewise. - (elf_hppa_remark_useless_dynamic_symbols): Likewise. - * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise. - * elf32-arm.h (elf32_arm_discard_copies): Likewise. - * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Likewise. - (elf_cris_discard_excess_dso_dynamics): Likewise. - * elf32-hppa.c (clobber_millicode_symbols): Likewise. - (mark_PIC_calls): Likewise. - (allocate_plt_static): Likewise. - (allocate_dynrelocs): Likewise. - (readonly_dynrelocs): Likewise. - * elf32-i386.c (allocate_dynrelocs): Likewise. - (readonly_dynrelocs): Likewise. - * elf32-i370.c (i370_elf_adjust_dynindx): Likewise. - * elf32-m68k.c (elf_m68k_discard_copies): Likewise. - * elf32-mips.c (mips_elf_output_extsym): Likewise. - (mips_elf_sort_hash_table_f): Likewise. - (mips_elf_check_mips16_stubs): Likewise. - * elf32-s390.c (allocate_dynrelocs): Likewise. - (readonly_dynrelocs): Likewise. - * elf32-sh.c (sh_elf_discard_copies): Likewise. - * elf32-xstormy16.c (xstormy16_relax_plt_check): Likewise. - (xstormy16_relax_plt_realloc): Likewise. - * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Likewise. - (elf64_alpha_output_extsym): Likewise. - * elf64-hppa.c (elf64_hppa_mark_exported_functions): Likewise. - * elf64-mips.c (mips_elf64_sort_hash_table_f): Likewise. - (mips_elf64_check_mips16_stubs): Likewise. - (mips_elf64_output_extsym): Likewise. - * elf64-ppc.c (func_desc_adjust): Likewise. - (allocate_dynrelocs): Likewise. - (readonly_dynrelocs): Likewise. - * elf64-s390.c (allocate_dynrelocs): Likewise. - (readonly_dynrelocs): Likewise. - * elf64-sh64.c (sh64_elf64_discard_copies): Likewise. - * elf64-x86-64.c (allocate_dynrelocs): Likewise. - (readonly_dynrelocs): Likewise. - * elfxx-ia64.c (elfNN_ia64_global_dyn_sym_thunk): Likewise. - * aoutx.h (aout_link_write_other_symbol): Likewise. - * cofflink.c (_bfd_coff_write_task_globals): Likewise. - (_bfd_coff_write_global_sym): Likewise. - * i386linux.c (linux_tally_symbols): Likewise. - * m68klinux.c (linux_tally_symbols): Likewise. - * sparclinux.c (linux_tally_symbols): Likewise. - * pdp11.c (aout_link_write_other_symbol): Likewise. - * sunos.c (sunos_scan_dynamic_symbol): Likewise. - * xcofflink.c (xcoff_build_ldsyms): Likewise. - (xcoff_write_global_symbol): Likewise. - - * cofflink.c (_bfd_coff_final_link): Formatting. - * cpu-mips.c (mips_compatible): Make static, prototype. - * elf32-i386.c (elf_i386_check_relocs): Formatting. - * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise. - * elf64-alpha.c (elf64_alpha_output_extsym): Likewise. - * elf64-mips.c (mips_elf64_sort_hash_table): Likewise. - (mips_elf64_final_link): Likewise. - * elflink.h (elf_link_find_version_dependencies): Remove duplicate - prototype. - -2002-03-27 Nick Clifton <nickc@cambridge.redhat.com> - - * coff-arm.c (SWAP_IN_RELOC_OFFSET): Define. - (SWAP_OUT_RELOC_OFFSET): Define. - -2002-03-27 Gregory Steuck <greg@nest.cx> - - * elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for - terminating NULL if empty symbol table. - (_bfd_elf_get_dynamic_symtab_upper_bound): Likewise. - -2002-03-26 H.J. Lu (hjl@gnu.org) - - * elflink.h (elf_link_input_bfd): Revert the last change since - the gcc exception handling isn't fixed yet. - -2002-03-26 H.J. Lu (hjl@gnu.org) - - * elflink.h (elf_link_input_bfd): Complain about relocations - against local symbols in discarded sections. - -2002-03-26 Alan Modra <amodra@bigpond.net.au> - - * elflink.h (elf_gc_mark): Don't recurse into non-ELF sections. - -2002-03-23 Alan Modra <amodra@bigpond.net.au> - - * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on - section file offset for !SEC_LOAD sections. - -2002-03-21 Richard Earnshaw <rearnsha@arm.com> - - * elf32-arm.h (elf32_arm_final_link_relocate <case R_ARM_GOTOFF>, - <case R_ARM_GOT>): Handle relocations to Thumb functions. - -2002-03-21 Alan Modra <amodra@bigpond.net.au> - - * coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Prototype. - Whitespace changes. - * archive.c: Update copyright date. * bfd-in2.h: Regenerate. - * libbfd.h: Regenerate. - * Makefile.am: Run "make dep-am" - * Makefile.in: Regenerate. - * po/SRC-POTFILES.in: Regenerate. - -2002-03-20 Daniel Jacobowitz <drow@mvista.com> - - * dwarf2.c (struct funcinfo): Move up. - (lookup_address_in_function_table): New argument function_ptr. - Set it. - (lookup_address_in_line_table): New argument function. If function - is non-NULL, use it to handle ``addr'' before the first line note of - the function. - (comp_unit_find_nearest_line): Update and swap calls to - lookup_address_in_function_table and lookup_address_in_line_table. - * syms.c (_bfd_stab_section_find_nearest_line): Use the first - N_SLINE encountered if we see an N_FUN before any N_SLINE. - -2002-03-20 Tom Rix <trix@redhat.com> - - * coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from - _bfd_xcoff_generic_stat_arch_elt. Fix format check. - * coff64-rs6000.c : Use _bfd_xcoff_stat_arch_elt. - -2002-03-19 Tom Rix <trix@redhat.com> - - * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through all - dynamic objects in archives. - -2002-03-19 Hans-Peter Nilsson <hp@bitrange.com> - - * elflink.h (NAME(bfd_elf,record_link_assignment)): Don't set - STT_NOTYPE symbols to STT_OBJECT. - -2002-03-18 Jan Hubicka <jh@suse.cz> - - * cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64" - -2002-03-18 Tom Rix <trix@redhat.com> - - * aix5ppc.core.c : New file for AIX 5 64 bit core support. - * bfd-in.h : Add bfd_xcoff_ar_archive_set_magic declaration. - * coff-rs6000 (do_pad) : New function for archive padding. - (do_copy) : New function for object file copying in archives. - (do_shared_object_padding) : New function for padding shared - objects to their text section alignment in archives. - (bfd_xcoff_ar_achive_set_magic) : Stub. - (xcoff_write_armap_big) : Use do_copy and do_pad. - (xcoff_write_archive_contents_big) : Use do_shared_object_padding, - do_copy and do_pad. - * coff64-rs6000.c (xcoff64_write_ojbect_contents) : Use - bfd_xcoff_magic_number. - (xcoff64_bad_format_hook) : New function for _bfd_bad_format_hook - fop. - (xcoff_backend_data_r) : Use xcoff64_bad_format_hook. - (bfd_xcoff_aix5_backend_data) : New Aix 5 backend data. - (aix5coff64_vec) : New Aix 5 target aix5coff64-rs6000. - * rs6000-core.c : Update copyright date. - * xcofflink.c (bfd_xcoff_size_dynamic_sections): Check for NULL - csectpp. - * coffcode.h (coff_new_section_hook) : Use new accessor macros. - (coff_set_arch_mach_hook) : Add Aix 5 U64_TOCMAGIC magic #. - (coff_set_flags) : Use bfd_xcoff_magic_number. - * libxcoff.h (bfd_xcoff_is_xcoff64): Add U64_TOCMAGIC. - * configure.in : Add powerpc-*-aix5 and rs6000-*-aix5 support. - * Makefile.am : Same. - * config.bfd : Same. - * targets.c : Same. - * configure : Regnerate. - * Makefile.in : Same. - * bfd-in2.h : Same. - -2002-03-18 Nick Clifton <nickc@cambridge.redhat.com> - - * po/fr.po: Updated version. - -2002-03-18 Alan Modra <amodra@bigpond.net.au> - - * libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success. - * libbfd.h: Regenerate. - * archive.c (coff_write_armap): Pass on failures from - bfd_write_bigendian_4byte_int. - -2002-03-14 H.J. Lu <hjl@gnu.org> - - * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD - error to bfd_error_nonrepresentable_section for reinit_array - section in DSO. - -2002-03-14 Nick Clifton <nickc@cambridge.redhat.com> - - * coffcode.h (coff_slurp_symbol_table): When adding BSF_WEAK flag, - OR it in rather than replacing previously selected flags. - - * elfxx-target.h (TARGET_BIG_SYM): Set ar_max_namelen to 15. - (TARGET_LITTLE_SYM): Set ar_max_namelen to 15. - -2002-03-14 Alan Modra <amodra@bigpond.net.au> - - * cpu-mips.c (mips_compatible): New. Don't check bits_per_word. - (N): Use the above. - * elflink.h (elf_bfd_final_link): Revert last change. Instead, - ensure reloc size matches before calling elf_link_input_bfd. - Add an assert to check reloc size when counting output relocs. - -2002-03-14 Nick Clifton <nickc@cambridge.redhat.com> - - * mmo.c (mmo_get_loc): Return NULL rather than false. - -2002-03-13 Nick Clifton <nickc@cambridge.redhat.com> - - * po/fr.po: Updated version. - -2002-03-13 Alan Modra <amodra@bigpond.net.au> - - * archures.c (bfd_default_compatible): Test bits_per_word. - * cpu-i386.c (i386_compatible): Remove. Replace occurrences with - bfd_default_compatible. - * cpu-i370.c (i370_compatible): Likewise. - * cpu-sparc.c (sparc_compatible): Likewise. - * cpu-h8300.c (compatible): Test in->arch == out->arch. - - * elflink.h: Formatting fixes. - (elf_link_output_extsym): Merge undefined and undef weak cases. - - * elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd - when word size of input matches output word size. - -2002-03-12 Andreas Jaeger <aj@suse.de> - - * cpu-i386.c (i386_compatible): New. Use it instead of - bfd_default_compatible. - -2002-03-07 H.J. Lu (hjl@gnu.org) - - * coff-sh.c (shcoff_reloc_map): Use bfd_reloc_code_real_type - as the type for bfd_reloc_val. - -2002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca> - - * elf-hppa.h (elf_hppa_is_dynamic_loader_symbol): New function. - (elf_hppa_relocate_section): Ignore undefined dynamic loader symbols. - (elf_hppa_final_link_relocate): Correct relocations for indirect - references to local data through the DLT. Fix .opd creation for - local symbols using R_PARISC_LTOFF_FPTR32 and R_PARISC_FPTR64 - relocations. Use e_lsel selector for R_PARISC_DLTIND21L, - R_PARISC_LTOFF_FPTR21L and R_PARISC_LTOFF_TP21L as per - "Processor-Specific ELF for PA_RISC, Version 1.43" document. - Similarly, use e_rsel for DLT and LTOFF 'R' relocations. - * elf32-hppa.c (final_link_relocate): Revise relocation selectors - as per "Processor-Specific ELF for PA_RISC, Version 1.43" document. - -2002-03-05 Jakub Jelinek <jakub@redhat.com> - - * merge.c (_bfd_merge_sections): Don't segfault if there - is nothing to merge due to GC. - -2002-03-05 Alan Modra <amodra@bigpond.net.au> - * elf32-hppa.c (clobber_millicode_symbols): Remove hack to keep - symbols that have been forced local. - - * elflink.h (elf_bfd_final_link): Call elf_link_output_extsym - to output forced local syms for non-shared link. - (elf_link_output_extsym): Tweak condition for calling backend - adjust_dynamic_symbol so that previous behaviour is kept. - Whitespace changes throughout file. - -2002-03-04 H.J. Lu <hjl@gnu.org> - - * elf.c (bfd_section_from_shdr): Handle special sections, - .init_array, .fini_array and .preinit_array. - (elf_fake_sections): Likewise. - - * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Create the - DT entry only if the section is in output for .init_array, - .fini_array and .preinit_array. Complain about .preinit_array - section in DSO. - (elf_bfd_final_link): Warn zero size for .init_array, - .fini_array and .preinit_array sections. - - * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Remove - SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY. - (elfNN_ia64_fake_sections): Remove .init_array, .fini_array and - .preinit_array. - -2002-03-04 Alan Modra <amodra@bigpond.net.au> - - * configure.in (WIN32LIBADD): Don't eval PICFLAG assignment. - * configure: Regenerate. - -2002-03-02 Tom Rix <trix@redhat.com> - - * coff64-rs6000.c (xcoff64_howto_table): Replace howto types with - symbolic equiv. - * coff-rs6000.c (xcoff_howto_table): Same. - -2002-03-01 David Mosberger <davidm@hpl.hp.com> - - * elflink.h (size_dynamic_sections): If section named - ".preinit_array" exists, create DT_PREINIT_ARRAY and - DT_PREINIT_ARRAYSZ entries in dynamic table. Analogously for - ".init_array" and ".fini_array". - (elf_bfd_final_link): Handle DT_PREINIT_ARRAYSZ, DT_INIT_ARRAYSZ, - DT_FINI_ARRAYSZ, DT_PREINIT_ARRAY, DT_INIT_ARRAY, and - DT_FINI_ARRAY. - -2002-02-26 Andrew Macleod <amacleod@cygnus.com> - - * elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local - dynsyms. - -2002-02-25 Alan Modra <amodra@bigpond.net.au> - - * elf64-hppa.h: Update copyright date. - - * elf64-ppc.c (ppc64_elf_check_relocs): Warning fix. - (ppc64_elf_relocate_section): Don't generate power4 style branch - hints for *_BRTAKEN and *_BRNTAKEN relocs. - -2002-02-22 Jakub Jelinek <jakub@redhat.com> - - * elf64-sh64.c (sh_elf64_relocate_section): Fix a typo from my - last patch. - * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. - -2002-02-21 Andreas Jaeger <aj@suse.de> - - * elf64-x86-64.c: Major rework that introduces all recent changes - to the x86-64 backend. Get a closer match to elf32-i386. - (struct elf64_x86_64_dyn_relocs): Rename from - elf64_x86_64_pcrel_relocs_copied, add additional fields. Change - all users. - (struct elf64_x86_64_link_hash_table): Add short cuts to some - sections. - (link_hash_newfunc): Rename from elf64_x86_64_link_hash_newfunc, - remove casts, initialize new hash members. - (create_got_section): New. - (elf64_x86_64_create_dynamic_sections): New. - (elf64_x86_64_copy_indirect_symbol): New. - (elf64_x86_64_check_relocs): Don't allocate space for dynamic - relocs, .got or .relgot here but do it in allocate_dynrelocs. - Reference count possible .plt and .got entries. Don't test input - section SEC_READONLY here to try to avoid copy relocs, and keep - dyn_relocs regardless of ELF_LINK_NON_GOT_REF. Don't set - DF_TEXTREL here. Delay setting of variables until needed. Cache - pointer to "sreloc" section in elf_section_data. Tweak condition - under which .got created. Report files with bad relocation - section names. - (elf64_x86_64_gc_sweep_hook): Sweep dyn_relocs and local_dynrel. - Reference count possible .plt entries. Don't deallocate .got and - .relgot space here. - (elf64_x86_64_adjust_dynamic_symbol): Handle nocopyreloc. Don't - do copy reloc processing for weakdefs. Remove redundant casts and - aborts. Delay setting of vars until needed. Move creation of - dynamic symbols and allocation of .plt and .rela.plt to - allocate_dynrelocs. Replace BFD_ASSERT with abort. - (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New. - (allocate_dynrelocs): New. - (readonly_dynrelocs): New. - (elf64_x86_64_size_dynamic_sections): Call readonly_dynrelocs. - Allocate space for dyn relocs. Replace BFD_ASSERT with abort. - Zero out the dynamic allocated content space. - (elf64_x86_64_discard_copies): Removed. - (elf64_x86_64_relocate_section): Make use of dynamic section - short-cuts. Localise vars, and delay setting. Better error - reporting, replace BFD_ASSERT with abort. Check - ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined in the - regular object file and tread the weak definition as the normal - one. Don't discard relocs for undefweak or undefined symbols and - check !DEF_REGULAR as well as DEF_DYNAMIC in test for avoided copy - relocs. - (elf64_x86_64_finish_dynamic_symbol): Don't copy relocs for - symbols that have been forced local. Use same test to decide if - we can use a relative reloc for got as relocate_section. Expand - SHN_UNDEF comment. Move expressions out of function calls. - Replace BFD_ASSERT with abort. - (bfd_elf64_bfd_final_link): Removed. - (elf_backend_copy_indirect_symbol): Define. - -2002-02-20 Tom Rix <trix@redhat.com> - - * coff-rs6000.c (xcoff_howto_table): Add 16 bit R_BA. - (_bfd_xcoff_reloc_type_lookup): Use it. - * coff64-rs6000.c (xcoff64_howto_table): Same. - (xcoff64_reloc_type_lookup): Same. - -2002-02-20 Peter Schauer <pes@regent.e-technik.tu-muenchen.de> - - * osf-core.c (osf_core_vec): OSF/1 (Digital Unix) core files are - little endian. - -2002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com> - - * archures.c (bfd_mach_s390_esa): Rename to bfd_mach_s390_31. - (bfd_mach_s390_esame): Rename to bfd_mach_s390_64. - * bfd-in2.h: Regenerate. - * cpu-s390.c (arch_info_struct): Use renamed architecture defines. - Replace architecture name "s390" with "s390:31-bit" and "s390:esame" - with "s390:64-bit". - * elf32-s390.c (elf_howto_table): Add 32 bit pc relative relocations. - (elf_s390_reloc_type_lookup): Likewise. - (elf_s390_check_relocs): Likewise. - (elf_s390_gc_sweep_hook): Likewise. - (elf_s390_relocate_section): Likewise. - (elf_s390_object_p): Use renamed architecture define. - * elf64-s390.c (elf_s390_object_p): Use renamed architecture define. - -2002-02-19 Frank Ch. Eigler <fche@redhat.com> - - * syms.c (stt[]): Sorted. Added .init/.fini -> "t" mapping. - -2002-02-19 Jakub Jelinek <jakub@redhat.com> - - * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Enable - absptr -> pcrel optimization for shared libs. - Only create minimal .eh_frame_hdr if absptr FDE encoding in shared - library cannot be converted to pcrel. - (_bfd_elf_eh_frame_section_offset): Return -2 if making absptr - relative. - * elf32-i386.c (elf_i386_relocate_section): If - _bfd_elf_section_offset returned -2, skip, but make sure the - relocation is installed. - * elf32-arm.h (elf32_arm_final_link_relocate): Likewise. - * elf32-cris.c (cris_elf_relocate_section): Likewise. - * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. - * elf32-i370.c (i370_elf_relocate_section): Likewise. - * elf32-m68k.c (elf_m68k_relocate_section): Likewise. - * elf32-ppc.c (ppc_elf_relocate_section): Likewise. - * elf32-s390.c (elf_s390_relocate_section): Likewise. - * elf32-sh.c (sh_elf_relocate_section): Likewise. - * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. - * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. - * elf64-s390.c (elf_s390_relocate_section): Likewise. - * elf64-sh64.c (sh_elf64_relocate_section): Likewise. - * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. - * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. - * elf64-alpha.c (elf64_alpha_relocate_section): Handle - _bfd_elf_section_offset returning -2 the same way as -1. - * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise. - * elf32-mips.c (mips_elf_create_dynamic_relocation): Add FIXME - and BFD_ASSERT. - * elf64-mips.c (mips_elf64_create_dynamic_relocation): Likewise. - -2002-02-18 Tom Rix <trix@redhat.com> - - * xcofflink.c (bfd_xcoff_link_gernate_rtinit): Add -brtl support. - (bfd_xcoff_size_dynamic_sections): Same. - * bfd-in.h (bfd_xcoff_link_generate_rtinit): Same. - (bfd_xcoff_size_dynamic_sections): Same. - * coff-rs6000.c (xcoff_generate_rtinit): Same. - * coff-rs646000.c (xcoff64_generate_rtinit): Same. - * libxcoff.h (struct xcoff_backend_data_rec): Same. - * xcofflink.c (xcoff_build_ldsyms, xcoff_link_add_symbols): Clean. +2004-03-15 Alan Modra <amodra@bigpond.net.au> + + * bfd-in.h (bfd_getb64, bfd_getl64): Replace bfd_byte* with void*. + (bfd_getb32, bfd_getl32, bfd_getb16, bfd_getl16): Likewise. + (bfd_getb_signed_64, bfd_getl_signed_64): Likewise. + (bfd_getb_signed_32, bfd_getl_signed_32): Likewise. + (bfd_getb_signed_16, bfd_getl_signed_16): Likewise. + (bfd_putb64, bfd_putl64, bfd_putb32, bfd_putl32): Likewise. + (bfd_putb16, bfd_putl16, bfd_get_bits, bfd_put_bits): Likewise. + * libbfd.c: Likewise in function definitions. + (bfd_put_8): Mask with 0xff rather than casting to char. + (bfd_putb16, bfd_putl16, bfd_putb32, bfd_putl32): Likewise. + (bfd_putb64, bfd_putl64, bfd_put_bits): Likewise. + (H_PUT_64, H_PUT_32, H_PUT_16, H_PUT_8): Remove casts, simplify. + (H_PUT_S64, H_PUT_S32, H_PUT_S16, H_PUT_S8): Likewise. + (H_GET_64, H_GET_32, H_GET_16, H_GET_8): Likewise. + (H_GET_S64, H_GET_S32, H_GET_S16, H_GET_S8): Likewise. + * libaout.h (H_PUT_64 H_PUT_32, H_PUT_16): Remove casts, simplify. + (H_PUT_S64, H_PUT_S32, H_PUT_S16): Likewise. + (H_GET_64, H_GET_32, H_GET_16): Likewise. + (H_GET_S64, H_GET_S32, H_GET_S16): Likewise. + * archive.c (do_slurp_coff_armap): Update swap prototype. + * coff-tic54x.c (tic54x_getl32): Replace bfd_byte* with void*. + (tic54x_getl_signed_32): Likewise. + (tic54x_putl32): Likewise. Mask with 0xff rather than casting to char. + * mach-o.c (bfd_mach_o_read_header): Update get32 prototype. + * pdp11.c (bfd_getp32): Make static, replace bfd_byte* with void*. + (bfd_getp_signed_32, bfd_putp32): Likewise. + * targets.c (struct bfd_target): Use void* in place of bfd_byte* for + bfd_getx64, bfd_getx_signed_64, bfd_putx64, bfd_getx32, + bfd_getx_signed_32, bfd_putx32, bfd_getx16, bfd_getx_signed_16, + bfd_putx16, bfd_h_getx64, bfd_h_getx_signed_64, bfd_h_putx64, + bfd_h_getx32, bfd_h_getx_signed_32, bfd_h_putx32, bfd_h_getx16, + bfd_h_getx_signed_16, bfd_h_putx16. + * aix386-core.c (NO_GET, NO_GETS, NO_PUT): Update prototypes. + * hppabsd-core.c: Similarly. Rename NO_SIGNED_GET to NO_GETS. + * hpux-core.c: Likewise. + * irix-core.c: Likewise. + * netbsd-core.c: Likewise. + * osf-core.c: Likewise. + * ptrace-core.c: Likewise. + * sco5-core.c: Likewise. + * trad-core.c: Likewise. * bfd-in2.h: Regenerate. -2002-02-18 Alan Modra <amodra@bigpond.net.au> +2004-03-15 Matt Thomas <matt@3am-software.com> - * elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define. - (struct ppc_link_hash_table): Add sfpr. - (ppc64_elf_link_hash_table_create): Init it. - (ppc64_elf_create_dynamic_sections): Split creation of .stub and - .glink out to.. - (create_linkage_sections): ..here. Make .sfpr too. - (ppc64_elf_check_relocs): Call create_linkage_sections, and set - dynobj early. - (MIN_SAVE_FPR, MAX_SAVE_FPR): Define. - (ppc64_elf_func_desc_adjust): Look for missing ._savef* and - ._restf* functions, and create as needed. - (func_desc_adjust): Only force_local for shared libs. + * config.bfd: Add x86-64 vector to NetBSD/i386 if 64bit BFD is + selected. -2002-02-18 David O'Brien <obrien@FreeBSD.org> +2004-03-13 Mark Kettenis <kettenis@gnu.org> - * configure.in: Bump version number post 2.12 branching. + * config.bfd: Add x86_64-*-openbsd*. + * configure.in (x86_64-*-openbsd*): Set COREFILE to + netbsd-core.lo. * configure: Regenerate. -2002-02-17 Hans-Peter Nilsson <hp@bitrange.com> - - * mmo.c: Correct and improve comments. - (mmo_write_chunk): Store trailing byte in bfd buffer; don't - zero-pad. Use input to fill up non-empty bfd buffer. - (mmo_flush_chunk): New function. - (mmo_write_loc_chunk): Add parameter last_vmap, all callers - changed. Don't emit location specifier if VMA is same as - *LAST_VMAP after omitting leading zero contents. Call - mmo_flush_chunk before emitting location specifier. - (mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished - with mmo_write_loc_chunk calls. - (mmo_internal_write_section): Call mmo_flush_chunk after - mmo_write_chunk. - (mmo_write_symbols_and_terminator): Move :Main to first position - in symbol array. Add faked one if it does not exist if there are - other symbols. Don't add it if there are no symbols at all. Move - out test for value of :Main from symbol loop. Rename table - fakemain to maintable and variable mainsym to fakemain. - -2002-02-15 Richard Henderson <rth@redhat.com> +2004-03-09 Steve Ellcey <sje@cup.hp.com> - * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: A target - section with no got matches any got. Simplify error generaion. + * elfxx-ia64.c (plt_full_entry): Change ld8 to ld8.acq. -2002-02-15 Alan Modra <amodra@bigpond.net.au> +2004-03-05 Nathan Sidwell <nathan@codesourcery.com> - Support arbitrary length fill patterns. - * linker.c (bfd_new_link_order): Zero all fields with bfd_zalloc. - (_bfd_default_link_order): Remove bfd_fill_link_order code. - Call default_data_link_order. - (default_fill_link_order): Delete. - (default_data_link_order): New function. - * elf32-mips.c (_bfd_mips_elf_final_link): Replace occurrences - of bfd_fill_link_order with bfd_data_link_order. - * elf64-alpha.c (elf64_alpha_final_link): Likewise. - * elf64-mips.c (mips_elf64_final_link): Likewise. + * elf.c (map_sections_to_segments): Ignore .tbss sections for + layout purposes. - * bfd.c (bfd_scan_vma): Clamp overflows to max bfd_vma value. - Correct value returned in "end" for "0x<non-hex>". - -2002-02-14 Nick Clifton <nickc@cambridge.redhat.com> - - * cpu-arm.c (processors): Replace 'arch' field with 'mach'. - (scan): Test against 'mach' field in info structure. - -2002-02-14 Alan Modra <amodra@bigpond.net.au> - - * elf.c (elf_fake_sections): Use SHT_NOBITS when SEC_NEVER_LOAD. - -2002-02-14 Matt Fredette <fredette@netbsd.org> - - * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize - EF_M68000. - -2002-02-13 Nick Clifton <nickc@cambridge.redhat.com> - - * elf.c (_bfd_elf_make_section_from_shdr): Do not insist on - non-zero physical addresses when adjusting the LMAs of new - sections. - -2002-02-12 John David Anglin <dave@hiauly1.hia.nrc.ca> - - * elf-hppa.h (elf_hppa_reloc_final_type): New function stripped - from _bfd_elf_hppa_gen_reloc_type. - (_bfd_elf_hppa_gen_reloc_type): Remove duplicate prototype. - * elf32-hppa.h (elf32_hppa_reloc_final_type): Add protptype. - * elf32-hppa.c: Include elf32-hppa.h before elf-hppa.h. - * elf64-hppa.h (elf64_hppa_reloc_final_type): Add protptype. - -2002-02-12 Alexandre Oliva <aoliva@redhat.com> - - * elf-m10300.c (mn10300_elf_relax_section): Skip section before - loading its contents if there's nothing to do in it. - -2002-02-12 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (ppc64_elf_size_stubs): Correct test for crossing - 64k boundary. - - * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Add dynamic - DT_PPC64_OPD and DT_PPC64_OPDSZ tags. - (ppc64_elf_finish_dynamic_sections): Set values for them. - -2002-02-11 Michael Snyder <msnyder@redhat.com> - - * elf-bfd.h (elfcore_write_lwpstatus): Add prototype. - * elf.c (elfcore_grok_pstatus): Add prototype. - (elfcore_grok_lwpstatus): Add prototype. - (elfcore_write_lwpstatus): New function. - (elfcore_write_pstatus): Fix typo, eliminate unnecessary memcpy. - -2002-02-11 Alexandre Oliva <aoliva@redhat.com> - - * elf32-sh.c: Added missing prototypes. - * elf32-sh64.c: Likewise. - (sh_elf_align_loads): Mark unused args as such. - * elf64-sh64.c: Added missing prototypes. - (struct elf_sh64_link_hash_entry): Fix typo. - (sh_elf64_relocate_section): Fix info argument passed to - _bfd_elf_section_offset. - -2002-02-11 Alan Modra <amodra@bigpond.net.au> - - * Makefile.am: "make dep-am". - * Makefile.in: Regenerate. - * aclocal.m4: Regenerate. - * config.in: Regenerate. - * configure: Regenerate. - -2002-02-10 Daniel Jacobowitz <drow@mvista.com> - - * coff-rs6000.c (xcoff_generate_rtinit): Silence uninitialized - variable warnings. - * elf32-sh.c (sh_elf_relax_section): Silence signed/unsigned - comparison warning. - * trad-core.c (trad_unix_core_file_p): Silence pointer/integer - cast warnings for the common case. - -2002-02-10 Hans-Peter Nilsson <hp@bitrange.com> - - * config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64 - vectors. - (sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64 - vectors. - -2002-02-09 Richard Henderson <rth@redhat.com> - - * elf64-alpha.c (elf64_alpha_howto): Add R_ALPHA_BRSGP. - (elf64_alpha_reloc_map, elf64_alpha_check_relocs): Likewise. - (elf64_alpha_relocate_section): Likewise. - * reloc.c (BFD_RELOC_ALPHA_BRSGP): New. - * bfd-in2.h, libbfd.h: Rebuild. - -2002-02-09 Hans-Peter Nilsson <hp@bitrange.com> - - * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): Check - that base-plus-offset reloc accounting is consistent. - (mmix_elf_relax_section): Keep base-plus-offset reloc accounting - up to date for undefined symbols. - -2002-02-08 Eric Christopher <echristo@redhat.com> - - From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> - - * elf32-mips.c (_bfd_mips_elf_fake_sections): Don't create .rela - sections for the O32 ABI. - -2002-02-08 Chris Demetriou <cgd@broadcom.com> - - * elf32-arm.h: Fix formatting of _("..."). - * elf32-d10v.c: Likewise. - * elf32-m68k.c: Likewise. - * elf32-mips.c: Likewise. - -2002-02-08 Ivan Guzvinec <ivang@opencores.org> - - * coff-or32.c: Fix compile time warning messages. - -2002-02-08 Alexandre Oliva <aoliva@redhat.com> - - Contribute sh64-elf. - 2002-01-23 Alexandre Oliva <aoliva@redhat.com> - * reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16, - R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16, - R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16, - R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16, - R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16, - R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16, - R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16, - R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8, - R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64): - New relocs. - * libbfd.h, bfd-in2.h: Rebuilt. - * elf32-sh.c (sh_elf_howto_table): Define new relocs. - (sh_reloc_map): Map them. - (PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le, - elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be, - elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry, - elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset, - elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset, - elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset, - movi_shori_putval) [INCLUDE_SHMEDIA]: New. - (elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add - datalabel_got_offset. - (sh_elf_link_hash_newfunc): Initialize it. - (sh_elf_relocate_section): Augment the scope of - seen_stt_datalabel. Introduce GOTPLT support. Extend GOTPC, PLT, - GOT and GOTOFF handling to new SHmedia relocation types. Support - GOT_BIAS. - (sh_elf_check_relocs): Likewise. - (sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in - PLT entries using movi_shori_putval. Support GOT_BIAS. - (sh_elf_finish_dynamic_sections): Likewise. - * elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to - relocation, it's now done by the caller. - (GOT_BIAS): New. - * elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt, - elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset, - elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset, - elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER, - elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry, - elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse, - sh64_elf64_hash_table): New. - (sh_elf64_howto_table): Introduce new relocs. - (sh_elf64_info_to_howto): Accept new PIC relocs. - (sh_elf64_relocate_section): Augment the scope of - seen_stt_datalabel. Support new PIC relocs. - (sh_elf64_check_relocs): Support new PIC relocs. - (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le, - elf_sh64_plt_entry_be, elf_sh64_plt_entry_le, - elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le, - elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry, - sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create, - movi_shori_putval, movi_3shori_putval, - sh64_elf64_create_dynamic_sections, - sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies, - sh64_elf64_size_dynamic_sections, - sh64_elf64_finish_dynamic_symbol, - sh64_elf64_finish_dynamic_sections): New. - (elf_backend_create_dynamic-sections, - bfd_elf64_bfd_link_hash_table_create, - elf_backend_adjust_dynamic_symbol, - elf_backend_size_dynamic_sections, - elf_backend_finish_dynamic_symbol, - elf_backend_finish_dynamic_sections, elf_backend_want_got_plt, - elf_backend_plt_readonly, elf_backend_want_plt_sym, - elf_backend_got_header_size, elf_backend_plt_header_size): - Define. - 2001-05-16 Alexandre Oliva <aoliva@redhat.com> - * elf32-sh.c: Renumbered and renamed some SH5 relocations to - match official numbers and names; moved unmaching ones to the - range 0xf2-0xff. - * elf32-sh64.c, elf64-sh64.c: Likewise. - 2001-03-12 DJ Delorie <dj@redhat.com> - * elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia - sections. - 2001-03-12 DJ Delorie <dj@redhat.com> - * elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must - be aligned. - * elf64-sh64.c (sh_elf64_relocate_section): Ditto. - 2001-01-14 Hans-Peter Nilsson <hpn@cygnus.com> - * elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define. - (sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a - .cranges section with SEC_SORT_ENTRIES set. - (sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an - incoming sorted .cranges section. - (sh64_bfd_elf_copy_private_section_data): New. - (sh64_elf_final_write_processing): Only sort .cranges and modify - start address if called by linker. - 2001-01-08 Ben Elliston <bje@redhat.com> - * elf32-sh64.c (sh64_elf_final_write_processing): Activate - Hans-Peter Nilsson's set bit 0 patch from 2001-01-06. - * elf64-sh64.c (sh64_elf64_final_write_processing): Ditto. - 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com> - * elf64-sh64.c (sh_elf64_howto_table): No open brace at start of - line. Add comments before all entries. - <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct and clarify describing - comment. - (sh_elf64_reloc): Correct head comment. - (sh_elf64_relocate_section): Correct spacing. - <relocating for a local symbol>: Do not honour STO_SH5_ISA32; - instead call reloc_dangerous callback. - <case R_SH_SHMEDIA_CODE>: New case. - (sh_elf64_gc_mark_hook): Correct spacing. - (sh_elf64_check_relocs): Ditto. - * elf32-sh64.c (shmedia_prepare_reloc) <case R_SH_SHMEDIA_CODE>: - New case. - * elf32-sh.c: Correct #endif comments for #ifndef-wrapped - functions. - (sh_elf_howto_table) <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct, - clarify describing comment. Add comments before all entries. - (sh_elf_relocate_section) <relocating for a local symbol>: Do not - honour STO_SH5_ISA32; instead call reloc_dangerous callback. - 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com> - Sort .cranges section in final link. Prepare to set bit 0 on - entry address. - * elf32-sh64.c (struct sh64_find_section_vma_data): New. - (sh64_elf_link_output_symbol_hook): Fix typo in prototype. - (sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming - .cranges section. - (sh64_backend_section_from_shdr): New, to recognize - SHT_SH5_CR_SORTED on incoming .cranges section. - (elf_backend_section_from_shdr): Define. - (sh64_elf_final_write_processing): Sort outgoing .cranges - section. (New, temporarily disabled:) Set bit 0 on entry address - according to ISA type. - (sh64_find_section_for_address): New. - (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb, - crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c. - (sh64_address_in_cranges): Move here from opcodes/sh64-dis.c. Use - bfd_malloc, not xmalloc. - (sh64_get_contents_type): Move here from opcodes/sh64-dis.c. Make - global. - * elf32-sh64.c (sh64_elf64_final_write_processing): New, (but - temporarily disabled) setting bit 0 on entry address. - (elf_backend_final_write_processing): Define. - 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com> - * elf32-sh.c (sh_elf_howto_table) <R_SH_PT_16>: Adjust fields to - be a proper relocation for PTA and PTB rather than a marker. - <R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2, - R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16, - R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16, - R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL, - R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL>: - Zero src_mask. - * elf64-sh64.c: Ditto. - (sh_elf64_relocate_section) <case R_SH_PT_16>: New case. - * elf32-sh64.c: Include opcodes/sh64-opc.h - (shmedia_prepare_reloc): Take a bfd_link_info pointer as first - argument. Drop const qualifiers from "bfd *" and "bfd_byte *" - parameters. No unused parameters. Caller changed. - <case R_SH_PT_16>: New case. - * Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h. - * Makefile.in: Regenerate. - 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com> - * elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for - all code sections. - (sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5. - (sh64_elf_merge_private_data): Ditto. - * elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data - to access stored section flags. - (sh64_elf_final_write_processing): Return immediately unless - called by linker. Use sh64_elf_section_data (cranges) to get size - of linker-generated cranges entries. - (sh64_elf_copy_private_data): Add missing "return true". - (sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5. - (sh_elf64_merge_private_data): Ditto. - 2000-12-19 Hans-Peter Nilsson <hpn@cygnus.com> - * elf64-sh64.c (sh64_elf64_fake_sections): New, copy of - elf64-sh64.c:sh64_elf_fake_sections. - (elf_backend_fake_sections): Define as sh64_elf64_fake_sections. - 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com> - * elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete. - (sh64_elf_final_write_processing): New. - (elf_backend_final_write_processing): Define. - (sh64_elf_fake_sections): Get header flags from tdata field. - (sh64_elf_copy_private_data): Do not call - sh64_elf_copy_private_data_internal, just copy e_flags field. - (sh64_elf_merge_private_data): Do not call - sh64_elf_copy_private_data_internal. - 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com> - Remove EF_SH64_ABI64, let ELF size make difference. - Remove SH64-specific BFD section flag. - * elf32-sh64.c (sh64_elf_fake_sections): Recognize section as - containing SHmedia through elf_section_data (asect)->tdata - non-zero, not using a BFD section flag. - (sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64. - (sh64_elf_merge_private_data): Similar. - (elf_backend_section_flags): Don't define. - (sh64_elf_backend_section_flags): Delete. - * elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64, - not EF_SH64_ABI64. - (sh_elf64_merge_private_data): Similar. - * section.c (Section flags definitions): Don't define - SEC_SH_ISA_SHMEDIA. - (bfd-in2.h): Regenerate. - 2000-12-09 Hans-Peter Nilsson <hpn@cygnus.com> - Make DataLabel references work with partial linking. - * elf32-sh64.c: Fix formatting. - (sh64_elf_link_output_symbol_hook): New. - (elf_backend_link_output_symbol_hook): Define to - sh64_elf_link_output_symbol_hook. - (sh64_elf_add_symbol_hook): Make DataLabel symbol just global - undefined if partial linking. Adjust sanity check. - * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New. - (elf_backend_link_output_symbol_hook): Define to - sh64_elf64_link_output_symbol_hook. - (sh64_elf64_add_symbol_hook): Make DataLabel symbol just global - undefined if partial linking. Adjust sanity check. - 2000-12-07 Hans-Peter Nilsson <hpn@cygnus.com> - Implement semantics for inter-file DataLabel references. - * elf64-sh64.c (DATALABEL_SUFFIX): Define. - (sh64_elf64_add_symbol_hook): New. - (sh_elf64_relocate_section): If passing an indirect symbol with - st_type STT_DATALABEL on the way to a symbol with st_other - STO_SH5_ISA32, do not bitor 1 to the relocation. - (elf_backend_add_symbol_hook): Define to - sh64_elf64_add_symbol_hook. - * elf64-sh32.c: Tweak comments. - (DATALABEL_SUFFIX): Define. - (sh64_elf_add_symbol_hook): New. - (elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook. - * elf32-sh.c (sh_elf_relocate_section): If passing an indirect - symbol with st_type STT_DATALABEL on the way to a symbol with - st_other STO_SH5_ISA32, do not bitor 1 to the relocation. - 2000-12-05 Hans-Peter Nilsson <hpn@cygnus.com> - Pass through STT_DATALABEL. - * elf32-sh64.c (sh64_elf_get_symbol_type): New. - (elf_backend_get_symbol_type): Define. - * elf64-sh64.c (sh64_elf64_get_symbol_type): New. - (elf_backend_get_symbol_type): Define. - 2000-11-30 Hans-Peter Nilsson <hpn@cygnus.com> - * elf32-sh64.c: Tweak comments. - (sh64_elf_copy_private_data_internal): Add prototype. - (bfd_elf32_bfd_set_private_flags): Define. - (sh64_elf_copy_private_data_internal): Compare machine name, not - textual BFD target name, to check whether to copy section flag - SHF_SH5_ISA32. - (sh64_elf_merge_private_data): Validize bfd_get_arch_size. - Tweak section-contents-type-mismatch message. - (shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers. - Validize reloc-types. - * elf64-sh64.c: New file. - * targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare. - * Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo. - (BFD64_BACKENDS_CFILES): Add elf64-sh64.c. - Regenerate dependencies. - * Makefile.in: Regenerate. - * config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and - bfd_elf64_sh64l_vec. - * configure.in: Handle bfd_elf64_sh64_vec and - bfd_elf64_sh64l_vec. - * configure: Regenerate. - * po/POTFILES.in: Regenerate. - * po/bfd.pot: Regenerate. - 2000-11-29 Hans-Peter Nilsson <hpn@cygnus.com> - * elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize - anything else but EF_SH64 and EF_SH64_ABI64. - (sh64_elf_merge_private_data): Emit error for anything else but - EF_SH64 and EF_SH64_ABI64. - * config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec - from targ_selvecs. - * configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and - bfd_elf32_sh64l_vec as a temporary measure. - * configure: Regenerate. - 2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com> - * cpu-sh.c (arch_info_struct): Include sh5 item - unconditionalized. - * config.bfd (sh64-*-elf*): Do not set targ_cflags. - Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec, - bfd_elf32_shblin_vec and bfd_elf32_shlin_vec. - * elf32-sh64.c: Tweak comments. - (sh64_elf_set_mach_from_flags): Recognize all machine flags that - are proper subsets of SH64 as bfd_mach_sh5. Add EF_SH64_ABI64. - (sh64_elf_copy_private_data_internal): Wrap long line. - (sh64_elf_merge_private_data): Rewrite to allow objects from - SH64 subsets to be linked together. - (INCLUDE_SHMEDIA): Define. - * elf32-sh.c (sh_elf_relocate_section) <local symbol>: - Parenthesize plus-expression inside or-expression. - <global symbol>: Ditto. - (sh_elf_set_mach_from_flags): Remove code refusing - deleted EF_SH64_32BIT_ABI flag. - 2000-11-26 Hans-Peter Nilsson <hpn@cygnus.com> - * elf32-sh.c (sh_elf_howto_table) <R_SH_IMM_LOW16_PCREL, - R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16_PCREL, - R_SH_IMM_HI16_PCREL, R_SH_64_PCREL>: Set pcrel_offset to true. - (sh_elf_relocate_section) <local symbol>: Or 1 in - calculation of relocation if sym->st_other & STO_SH5_ISA32. - <global symbol>: Ditto if h->other & STO_SH5_ISA32. - * elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to - relocation. - 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com> - * Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo. - (BFD32_BACKENDS_CFILES): Add elf32-sh64.c. - Regenerate dependencies. - * Makefile.in: Regenerate. - * archures.c: Add bfd_mach_sh5. - * config.bfd: Map targ_cpu sh* to bfd_sh_arch. - Handle sh64-*-elf*. Set targ_cflags to -DINCLUDE_SHMEDIA. - * configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec. - * configure: Regenerate. - * reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5, - BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6, - BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2, - BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8, - BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16, - BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16, - BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16, - BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16, - BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations. - * cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link - in item for SH5. - * elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items - for SHmedia relocs. - [INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs. - [INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call - shmedia_prepare_reloc, goto final_link_relocate if it returns - non-zero, else fail as before. - (sh_elf_set_mach_from_flags): Provide function only if not defined - as macro. Do not recognize objects with EF_SH64_32BIT_ABI set. - (sh_elf_set_private_flags): Provide function only if not defined - as a macro. - (sh_elf_copy_private_data): Similar. - (sh_elf_merge_private_data): Similar. - * section.c (SEC_SH_ISA_SHMEDIA): New. - * targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare. - * elf32-sh64.c: New file. - * libbfd.h: Regenerate. - * bfd-in2.h: Regenerate. - * po/POTFILES.in: Regenerate. - * po/bfd.pot: Regenerate. - * bfd-in2.h: Regenerate. - * libbfd.h: Regenerate. +2004-02-17 Daniel Jacobowitz <drow@mvista.com> + Richard Sandiford <rsandifo@redhat.com> -2002-02-07 Daniel Jacobowitz <drow@mvista.com> + * elfxx-mips.c (mips_elf_calculate_relocation): Use + _bfd_elf_symbol_refs_local_p to decide whether to decay + a GOT_PAGE/GOT_OFST pair to GOT_DISP/addend. + (_bfd_mips_elf_check_relocs): Add a global GOT entry for GOT_PAGE + relocs if the symbol wasn't defined by a regular object file. + Don't check the symbol's dynindx. - * bfd-in.h: Update <stdbool.h> check to only see if <stdbool.h> has - been included, not drag it in. - * bfd-in2.h: Regenerate. +2004-02-16 Andrew Cagney <cagney@redhat.com> -2002-02-06 H.J. Lu (hjl@gnu.org) + * bfd-in.h (file_ptr, ufile_ptr): Configure type using + @bfd_file_ptr@. + * bfd-in2.h: Re-generate. - * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update - the mach and ISA fields if necessary. +2004-02-14 Andrew Cagney <cagney@redhat.com> -2002-02-06 Nick Clifton <nickc@cambridge.redhat.com> + * configure.host (HDEFINES): When hppa*-*-hpux*, define + _LARGEFILE64_SOURCE. - * coffcode.h (coff_set_arch_mach_hook): Select the highest known - ARM architecture when an F_ARM_5 flag is detected, since we cannot - be sure exactly which architecture this represents. +2004-02-13 Andrew Cagney <cagney@redhat.com> -2002-02-05 Nick Clifton <nickc@redhat.com> + * elf.c (vma_page_aligned_bias): New function. + (assign_file_positions_except_relocs) + (assign_file_positions_for_segments): Replace broken modulo + arithmetic with call to vma_page_aligned_bias. - * po/tr.po: Updated translation. +2004-02-11 Andrew Cagney <cagney@redhat.com> -2002-02-05 Alan Modra <amodra@bigpond.net.au> + * bfd-in.h: Update copyright. + (bfd_tell): Change return type to file_ptr. + * bfd-in2.h: Re-generate. + * cache.c: Update copyright. + (bfd_cache_lookup_worker): Use real_fseek, do not cast offset + parameter. + (close_one): Use real_ftell. + * bfdio.c: Update copyright. + (real_ftell, real_fseek): New functions. + (bfd_tell): Use real_fseek and real_ftell, change return type to + file_ptr. + (bfd_seek): Use real_ftell and real_fseek, change type of + file_position to a file_ptr. + * libbfd-in.h: Update copyright. + (real_ftell, real_fseek): Declare. + * libbfd.h: Re-generate. - From Jimi X <jimix@watson.ibm.com> - * archures (bfd_mach_ppc64): Define. - (bfd_powerpc_arch): Rename to bfd_powerpc_archs. - (bfd_powerpc_arch): Define. - * bfd-in2.h: Regenerate. - * cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs. - (bfd_powerpc_arch): Move to tail of bfd_powerpc_archs. - (bfd_powerpc_archs): Add default powerpc64 arch. - -2002-02-05 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs - against section syms in readonly sections. Don't do the global - sym check if we find one. - * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise. - * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise. - * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise. - * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise. - (elf_s390_grok_prstatus): Add missing prototype. - -2002-02-04 Hans-Peter Nilsson <hp@bitrange.com> - - * elf64-mmix.c (mmix_dump_bpo_gregs): New function. - (mmix_elf_check_common_relocs) <case R_MMIX_BASE_PLUS_OFFSET>: - Call bfd_get_section_by_name only once. Initialize - bpodata->n_bpo_relocs_this_section. - (_bfd_mmix_prepare_linker_allocated_gregs): Remove comment - referring to DSOs. - (bpo_reloc_request_sort_fn): Don't use difference of values as - return-value. - -2002-02-02 David O'Brien <obrien@FreeBSD> - - * configure.in: Tweak the FreeBSD 4.x recognition more. Only treat - version 4.5 and later the same as 5-CURRENT. + * configure.in (AC_CHECK_FUNCS): Check for ftello, ftello64, + fseeko and fseeko64. Determine bfd_file_ptr. * configure: Re-generate. + * config.in: Re-generate. -2002-02-02 Jason Thorpe <thorpej@wasabisystems.com> - - * config.bfd (hppa*-*-netbsd*): New target. - -2002-01-31 Philipp Thomas <pthomas@suse.de> - - * coff-arm.c (coff_arm_merge_private_bfd_data): Move ERROR - to front of message. Unify messages with elf32-arm.h. Use - commas where neccessary. - * elf32-arm.h (elf32_arm_merge_private_bfd_data): Use all upcase - ERROR in messages. Unify messages with coff-arm.c. Correct - VFP/FPA error message. - (elf32_arm_print_private_bfd_data): Don't mark APCS-26 and - APCS-32 for translation. - -2002-02-01 Hans-Peter Nilsson <hp@bitrange.com> - - Perform on-demand global register allocation from - R_MMIX_BASE_PLUS_OFFSET relocs. - * elf64-mmix.c (struct bpo_reloc_section_info, struct - bpo_reloc_request, struct bpo_greg_section_info): New. - (mmix_elf_check_common_relocs, mmix_elf_gc_sweep_hook, - bpo_reloc_request_sort_fn, mmix_elf_relax_section, - _bfd_mmix_check_all_relocs, - _bfd_mmix_prepare_linker_allocated_gregs, - _bfd_mmix_finalize_linker_allocated_gregs): New functions. - (elf_mmix_howto_table): Correct src_mask for most relocs. - (mmix_elf_perform_relocation) <case R_MMIX_BASE_PLUS_OFFSET>: New - case. - (mmix_final_link_relocate) <case R_MMIX_BASE_PLUS_OFFSET>: New - case. Fix typo in comment. New label do_mmix_reloc. - (mmix_elf_check_relocs): Abuse bfd_link_info member base_file to - store first object file with a base-plus-offset reloc. Call - mmix_elf_check_common_relocs for the part common with mmo. - (mmix_elf_final_link): Write out linker-allocated register - contents section. - (elf_backend_gc_sweep_hook): Define. - (bfd_elf64_bfd_relax_section): Define. - - * mmo.c: Don't include <ctype.h> - (mmo_init): Correct init-once logic. - -2002-02-01 Tom Rix <trix@redhat.com> - - * config.bfd: Conditionally support <aiaff> for pre AIX 4.3. - -2002-02-01 Alan Modra <amodra@bigpond.net.au> - - * Makefile.am: Run "make dep-am" - * Makefile.in: Regenerate. - -2002-01-31 David O'Brien <obrien@FreeBSD> - - * configure.in: Recognize the differences in core files from FreeBSD - 4.{0,1} and later versions of 4.x. This treats 4.2+ the same as - 5-CURRENT. - * configure: Regenerate. - -2002-01-31 Ivan Guzvinec <ivang@opencores.org> - - * coff-or32.c: New file. - * cpu-or32.c: New file. - * elf32-or32.c: New file. - * archures.c: Add support for or32. - * targets.c: Add support for or32. - * bfd-in2.h: Regenerate. - * coffcode.h (coff_set_arch_mach_hook, coff_set_flags, - coff_write_object_contents): Add support for or32. - * config.bfd: Add target. - * configure.in: Add support for or32. - * configure: Regenerate. - * Makefile.am: Add support for or32. - * Makefile.in: Regenerate. - * po/SRC-POTFILES.in: Add or32 files. - * po/bfd.pot: Regenerate. - -2002-01-31 Nick Clifton <nickc@cambridge.redhat.com> - Don Lindsay <lindsayd@cisco.com> - - * elf32-mips.c (mips_elf_calculate_relocation): Replace 'return - false' with a return of a bfd_reloc_ error code. - -2002-01-31 Hans-Peter Nilsson <hp@axis.com> - - * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't - unexport unreferenced symbols when --export-dynamic. Call - _bfd_elf_strtab_delref when unexporting. - -2002-01-30 Daniel Jacobowitz <drow@mvista.com> - - * bfd-in.h: Include <stdbool.h> if it is available. - * bfd-in2.h: Regenerated. - -2002-01-31 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (func_desc_adjust): STV_PROTECTED functions should - not go via the plt. - -2002-01-30 Nick Clifton <nickc@cambridge.redhat.com> - - * archures.c: Tidy up formatting of embedded comments. - * bfd.c: Tidy up formatting of embedded comments. - * bfd-in.h: Fix formatting of comments. - * reloc.c: Tidy up formatting of ordinary & embedded comments. - * section.c: Tidy up formatting of embedded comments. - * syms.c: Tidy up formatting of embedded comments. - * targets.c: Tidy up formatting of embedded comments. - - * bfd-in2.h: Regenerate. - -2002-01-30 Nick Clifton <nickc@cambridge.redhat.com> - - * vms-tir.c (cmd_name): New function. - (tir_cmd_name): New function. - (etir_sta, etir_sto, etir_opr, etir_stc): Use cmd_name(). - (tir_opr, tir_ctl, tir_cmd): use tir_cmd_name(). - Fix formatting. - - * peXXigen.c (pe_print_idata): Rearrange message to aid in - translation. - (pe_print_pdata): Rearrange message to aid in translation. - - * libbfd.c (warn_deprecated): Rearrange error message to aid in - translation. - - * ihex.c (ihex_write_object_contents): Fix spelling typo. - - * ieee.c (ieee_slurp_external_symbols): Remove spurious space. - - * elf64-sparc.c (sparc64_elf_add_symbol_hook): Rearrange error - message to aid in translation. - - * elf64-mmix.c (mmix_final_link_relocate): Rearrange error message - to aid in translation. - - * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix typo. - -2002-01-30 Philipp Thomas <pthomas@suse.de> - - * coff-arm.c, elf32-elf.h: Unify messages. - -2002-01-30 Nick Clifton <nickc@redhat.com> - - * po/sv.po: Updated translation. - -2002-01-30 Philipp Thomas <pthomas@suse.de> - - * dwarf2.c (read_abbrev): Use full section name in error message. - (decode_line_info): Likewise. - - * elf.c (_bfd_elf_symbol_from_bfd_symbol): Don't translate debugging - message. - -2002-01-30 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (func_desc_adjust): Only provide missing function - descriptor symbols for undefined function code syms. Clear - ELF_LINK_NON_ELF so that they can stay weak. - -2002-01-29 Chris Demetriou <cgd@broadcom.com> - Mitch Lichtenberg <mpl@broadcom.com> - - * bfd-in.h (bfd_mips_elf32_create_embedded_relocs): New prototype. - * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): New function - to handle 32-bit ELF embedded reloc (ld --embedded-relocs) - generation. - * bfd-in2.h: Regenerate. - -2002-01-29 Chris Demetriou <cgd@broadcom.com> - - * elf32-mips.c: Add additional comments about HI16 relocation - processing. - (_bfd_mips_elf_hi16_reloc): Don't subtract address here for - pc-relative relocations. (Reverts change made on 2001-10-31.) - (_bfd_mips_elf_lo16_reloc): Subtract address of LO16 part here - for pc-relative relocations. - (mips_elf_calculate_relocation): Add a comment about a kludge - in the R_MIPS_GNU_REL_HI16 handling. - (_bfd_mips_elf_relocate_section): Implement that kludge; - adjust pc-relative HI16 relocation for difference in HI16 and - LO16 addresses, since it can't easily be done in - mips_elf_calculate_relocation. - -2002-01-29 Martin Schwidefsky <schwidefsky@de.ibm.com> - - * elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32 - relocations with PC32 relocations for undefined or weak symbols. - * elf32-s390 (elf_i386_adjust_dynamic_symbol): Likewise. - * elf64-s390x (elf_i386_adjust_dynamic_symbol): Likewise. - -2002-01-28 Jason Thorpe <thorpej@wasabisystems.com> - - * elfcore.h (elf_core_file_p): Improve comment for last change. - -2002-01-27 Daniel Jacobowitz <drow@mvista.com> - - * configure: Regenerated. - -2002-01-27 Jason Thorpe <thorpej@wasabisystems.com> - - * elfcore.h (elf_core_file_p): Set the machine architecture - before processing the program headers. - -2002-01-26 Hans-Peter Nilsson <hp@bitrange.com> - - * configure.in <64-bit configuration>: If using gcc, check and - emit error for egcs-1.1.2. - * configure: Regenerate. - -2002-01-26 Egor Duda <deo@logos-m.ru> - - * elf.c (elfcore_grok_win32pstatus): Copy only as much information - as possible to avoid stack corruption. - -2002-01-26 Richard Henderson <rth@redhat.com> - - * elf64-alpha.c (elf64_alpha_check_relocs): Don't set reltext - for non-allocated sections. - -2002-01-25 Mark Kettenis <kettenis@gnu.org> - - * elf.c (elfcore_write_prstatus): Make sure we pass the address of - prstat.pr_reg even if it is a struct. - -2002-01-25 Steve Ellcey <sje@cup.hp.com> - - * bfd/elfxx-ia64.c: Reset AIX vector function overrides for HP-UX. - -2002-01-25 Philipp Thomas <pthomas@suse.de> - - * coffgen.c (coff_print_symbol): Don't mark info message - for translation. - -2002-01-25 Nick Clifton <nickc@redhat.com> - - * po/fr.po: Updated translation. - * po/es.po: Updated translation. - -2002-01-25 Philipp Thomas <pthomas@suse.de> - - * coff-alpha.c (alpha_relocate_section): Unify warning message - for GP relative relocations without GP defined. - * coff-mips.c (mips_relocate_section): Likewise. - -2002-01-25 Alan Modra <amodra@bigpond.net.au> +2004-02-09 Anil Paranjpe <anilp1@KPITCummins.com> - * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid - unsigned overflow when new_offset < old_offset. + * coff-h8300.c: Added comments about relaxation for ldc.w and stc.w. + * elf32-h8300.c: Likewise. -2002-01-24 Philipp Thomas <pthomas@suse.de> +2004-02-09 Christian Vogel <vogelchr@vogel.cx> + Nick Clifton <nickc@redhat.com> - * bfd.c (_bfd_abort): Fix typo. + * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Catch + GOT entries with no associated GOT subsection. -2002-01-23 Richard Henderson <rth@redhat.com> +2004-02-09 Richard Sandiford <rsandifo@redhat.com> - * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't suppress - plt entries for undefweak symbols. + * bfd-elf.h (elf_backend_name_local_section_symbols): New hook. + * elf.c (swap_out_syms): Use it to decide whether local section + symbols should be named. + * elfxx-target.h (elf_backend_name_local_section_symbols): New macro. + * elfxx-mips.h (_bfd_mips_elf_name_local_section_symbols): Declare. + (elf_backend_name_local_section_symbols): Define. + * elfxx-mips.c (_bfd_mips_elf_name_local_section_symbols): New. -2002-01-23 Steve Ellcey <sje@cup.hp.com> +2004-01-30 H.J. Lu <hongjiu.lu@intel.com> - * bfd/targets.c (bfd_elf32_ia64_hpux_big_vec): Add to - DEFAULT_VECTOR. - (bfd_elf64_ia64_hpux_big_vec): Ditto. - (bfd_elf32_h8300_vec): Ditto. + * elfxx-ia64.c (elfNN_ia64_relax_brl): New function. + (elfNN_ia64_relax_section): Optimize brl to br during the relax + finalize pass. -2002-01-23 Alan Modra <amodra@bigpond.net.au> +2004-01-30 Alexandre Oliva <aoliva@redhat.com> - * elf64-ppc.c: Remove stale part of ABI comment. - (NO_OPD_RELOCS): Define. - (ppc64_elf_check_relocs): Use it. - (ppc64_elf_relocate_section): Here too. - (build_one_stub): Don't point function syms at the stub. Instead, - hijack plt.offset. - (ppc64_elf_relocate_section): Check whether REL24 relocs should - really go to the stub. Make all dynamic relocs in opd against - locals. - (ppc64_elf_finish_dynamic_symbol): Allow for non-standard use of - plt.offset. + * elf32-frv.c (elf32_frv_always_size_sections): Initialize pointer + to bfd_link_hash_entry passed by reference to + _bfd_generic_link_add_one_symbol. -2002-01-22 Richard Henderson <rth@redhat.com> +2004-01-25 H.J. Lu <hongjiu.lu@intel.com> - * elf64-alpha.c (INSN_UNOP): Encode with RB as $sp. + * elfxx-ia64.c (elfNN_ia64_relocate_section): Disallow imm + relocations against dynamic symbols. -2002-01-22 Alan Modra <amodra@bigpond.net.au> +2004-01-23 Daniel Jacobowitz <drow@mvista.com> - * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Correct sign of - TOC_BASE_OFF adjustment. + * elf32-arm.h (elf32_arm_check_relocs): Revert part of 2004-01-13 + change. - * Makefile.am: Run "make dep-am". - * Makefile.in: Regenerate. - * po/SRC-POTFILES.in: Regenerate. - -2002-01-22 John David Anglin <dave@hiauly1.hia.nrc.ca> - - * configure.host (hppa*64*-*-hpux*, hppa*64*-*-linux*): Add new - host defines. - -2002-01-21 Hans-Peter Nilsson <hp@axis.com> - - * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GOTREL>: - Check for and emit error if sgot is NULL at this point. - -2002-01-21 Jason Thorpe <thorpej@wasabisystems.com> - - * config.bfd (ia64*-*-netbsd*): New target. - -2002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at> - - * som.c (som_write_space_strings): Comment typo fix. - -2002-01-21 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and - is_func_descriptor fields. - (link_hash_newfunc): Init them. - (ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a - dot are candidates for plt entries. When processing .opd relocs, - set function descriptor strings to point inside function code - string, and set new ppc_link_hash_entry fields. - (ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs. - (ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with - function descriptors. It's now done in.. - (func_desc_adjust): New. - (ppc64_elf_func_desc_adjust): New. - (define elf_backend_always_size_sections): Define. - (ppc64_elf_hide_symbol): New. - (define elf_backend_hide_symbol): Define. - (allocate_dynrelocs): Remove code looking up function descriptors - as that has been done earlier. - (ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash - table. - (ppc64_elf_finish_dynamic_symbol): Likewise. Remove code looking - up function descriptor. - (build_one_stub): Look up the function code sym. Check for - invalid plt offsets. - (ppc64_elf_relocate_section): Tweak calls to undefined weak syms. - Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs. - - * elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add - boolean param. - (_bfd_elf_link_hash_hide_symbol): Likewise. - * elflink.h (elf_link_add_object_symbols): Adjust call to - elf_backend_hide_symbol. - (elf_fix_symbol_flags): Likewise. - (elf_link_assign_sym_version): Likewise. Use bfd_malloc rather - than bfd_alloc. - * elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param. - Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref. - * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise. - (clobber_millicode_symbols): Adjust to suit new hide_symbol. - * elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param - and adjust to suit. - * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call - _bfd_elf_link_hash_hide_symbol rather than duplicating code. - * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise. - -2002-01-18 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Test for a - dynamic function descriptor symbol, not the associated function - symbol. - -2002-01-17 Eric Christopher <echristo@redhat.com> - - * elf32-mips.c (mips_elf_calculate_relocation): Fix typo. - -2002-01-17 Nick Clifton <nickc@cambridge.redhat.com> - - * po/bfd.pot: Regenerate. - * po/fr.po: Regenerate. - -2002-01-17 Alan Modra <amodra@bigpond.net.au> - - * elf-bfd.h (elf_backend_data <elf_backend_section_from_bfd_section>): - Remove "Elf_Internal_Shdr *" param. - (_bfd_mips_elf_section_from_bfd_section): Ditto. - * elf32-mips.c (_bfd_mips_elf_section_from_bfd_section): Ditto. - * elf32-m32r.c (_bfd_m32r_elf_section_from_bfd_section): Ditto. - * elf32-v850.c (v850_elf_section_from_bfd_section): Ditto. - * elf64-mmix.c (mmix_elf_section_from_bfd_section): Ditto. - * elfxx-ia64.c (elfNN_hpux_backend_section_from_bfd_section): Ditto. - * elf.c (_bfd_elf_section_from_bfd_section): Allow backend - function to override special sections. Remove hdr arg from - backend call, and don't loop. - -2002-01-16 Eric Christopher <echristo@redhat.com> - - * elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp - on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of - relocations requiring gp0 and gp. - -2002-01-16 Richard Earnshaw <rearnsha@arm.com> - - * elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle - EF_ARM_VFP_FLOAT. - (elf32_arm_print_private_bfd_data): Likewise. - -2002-01-16 Nick Clifton <nickc@cambridge.redhat.com> - - * po/tr.po: Import new version. - -2002-01-16 Alan Modra <amodra@bigpond.net.au> - - * elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs. - (ppc64_elf_reloc_type_lookup): Use proper CTOR reloc. - (ORI_R0_R0_0): Correct. - -2002-01-16 Alan Modra <amodra@bigpond.net.au> - - * elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE - when plt_not_loaded. - * elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to - clear .plt SEC_CODE here. Create .stub and correct .glink flags. - (PLT_INITIAL_ENTRY_SIZE): Set to 24. - (ppc64_elf_glink_code): Delete. - (PPC64_ELF_GLINK_SIZE): Delete. - (ADDIS_R12_R2, STD_R2_40R1, LD_R11_0R12, LD_R2_0R12, MTCTR_R11, - BCTR, ADDIS_R12_R12_1, LD_R2_40R1, NOP, LI_R0_0, B_DOT, LIS_R0_0, - ORI_R0_R0_0): Define. - (PLT_CALL_STUB_SIZE, GLINK_CALL_STUB_SIZE): Define. - (struct ppc_link_hash_table): Add sstub and plt_overflow. - (ppc64_elf_link_hash_table_create): Init them. - (ppc64_elf_check_relocs <R_PPC64_REL24>): Refcount .plt entry. - Don't copy to shared lib. - (ppc64_elf_check_relocs): Call bfd_set_error on errors. - (ppc64_elf_gc_sweep_hook <R_PPC64_REL24>): Sweep plt refcount. - (allocate_dynrelocs <plt>): Don't change function sym here. Make - room for .stub and .glink code. - (ppc64_elf_size_dynamic_sections): Handle .stub. Make entry for - DT_PPC64_GLINK. - (ppc64_elf_final_link): Rename to ppc64_elf_set_toc. Don't call - bfd_elf64_bfd_final_link. - (bfd_elf64_bfd_final_link): Don't define. - (ppc64_elf_size_stubs): New. - (build_plt_stub): New. - (build_one_stub): New. - (ppc64_elf_build_stubs): New. - (ppc64_elf_relocate_section <toc relocs>): Remove assert. - (ppc64_elf_relocate_section): Don't copy R_PPC64_REL24 relocs. - (ppc64_elf_finish_dynamic_symbol): Don't build stubs here. Set - DT_PPC64_GLINK entry. Tweak DT_PLTGOT, DT_JMPREL, DT_PLTRELSZ in - case output sections not separate. Adjust DT_RELASZ to not - include plt relocs. Set reserved got entry. Set got and plt - entry size. - (elf_backend_got_header_size): Set to 8. - * elf64-ppc.h: New file. - -2002-01-16 Alan Modra <amodra@bigpond.net.au> - - * elf32-arm.h (elf32_arm_size_dynamic_sections): When removing - sections, use bfd_section_list_remove. - * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise. - * elflink.h (elf_link_add_object_symbols): When removing all - sections, use bfd_section_list_clear. - -2002-01-15 Nick Clifton <nickc@cambridge.redhat.com> - - * po/sv.po: New file: Swedish translation. - * configure.in (ALL_LINGUAS): Add sv. - * configure: Regenerate. - -2002-01-15 Jakub Jelinek <jakub@redhat.com> - - * elflink.h (elf_link_input_bfd): Back out 2002-01-07 change. - * elf.c (merge_sections_remove_hook): New function. - (_bfd_elf_merge_sections): Pass it as 3rd argument to - _bfd_merge_sections. - * libbfd-in.h (_bfd_merge_sections): Add 3rd argument. - * libbfd.h: Rebuilt. - * merge.c (_bfd_merge_sections): Add remove_hook argument. - Call remove_hook if a SEC_EXCLUDE section is encountered. - -2002-01-15 Nick Clifton <nickc@cambridge.redhat.com> - - * elf32-xstormy16.c (xstormy16_reloc_map): Add new field 'table'. - (xstormy16_reloc_map): Initialise new field with correct howto - table. - (xstormy16_reloc_type_lookup): Use 'table' field to locate correct - howto entry. - -2002-01-10 Michael Snyder <msnyder@redhat.com> - - * elf.c (elfcore_write_prstatus): Use long instead of pid_t; - (elfcore_write_pstatus): Use long instead of pid_t; - * elf-bfd.h: Change prototypes to use long instead of pid_t; - -2002-01-09 Jason Thorpe <thorpej@wasabisystems.com> - - * elf.c: Update copyright years. - (elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO - and NT_NETBSDCORE_FIRSTMACH. Improve a comment. - -2002-01-08 Michael Snyder <msnyder@redhat.com> +2004-01-21 Tom Rix <tcrix@worldnet.att.net> - Add capability to write corefile note sections, for gdb. - * elf.c (elfcore_write_note): New function. - (elfcore_write_prpsinfo): New function. - (elfcore_write_prstatus): New function. - (elfcore_write_pstatus): New function. - (elfcore_write_prfpreg): New function. - (elfcore_write_prxfpreg): New function. - * elf-bfd.h: Add prototypes for above functions. + * reloc.c: New 5 bit reloc, BFD_RELOC_M68HC12_5B, for m68hc12 movb/movw. + * bfd-in2.h, libbfd.h: Rebuilt. -2002-01-08 Alexandre Oliva <aoliva@redhat.com> +2004-01-20 Danny Smith <dannysmith@users.sourceforge.net> - * elf.c (elf_fake_sections): Propagate errors from - elf_backend_fake_section. + * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Don't remove + IMAGE_SCN_MEM_WRITE flag from .text section if WP_TEXT + flag has been cleared. -2002-01-07 Jason Thorpe <thorpej@wasabisystems.com> +2004-01-19 Kazu Hirata <kazu@cs.umass.edu> - * Makefile.am (BFD32_BACKENDS): Add elf32-sh-nbsd.lo. - (BFD32_BACKENDS_CFILES): Add elf32-sh-nbsd.c. - (elf32-sh-nbsd.lo): New rule. - * Makefile.in: Regenerate. - * config.bfd (sh*le-*-netbsdelf*): New target. - (sh*-*-netbsdelf*): New target. - * configure.in: Include netbsd-core.lo for native sh*-*-netbsd*. - (bfd_elf32_shnbsd_vec): New vector. - (bfd_elf32_shlnbsd_vec): New vector. - * configure: Regenerate. - * elf32-sh-nbsd.c: New file. - * targets.c: Update copyright years. - (_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and - bfd_elf32_shnbsd_vec. + * coff-h8300.c: Add and adjust comments about relaxation. + * elf32-h8300.c: Likewise. -2002-01-07 Aldy Hernandez <aldyh@redhat.com> +2004-01-16 Kazu Hirata <kazu@cs.umass.edu> - * coff-rs6000.c (READ20): Use bfd_scan_vma. + * coff-h8300.c: Fix comment typos. + * elf32-h8300.c: Likewise. -2002-01-07 Geoffrey Keating <geoffk@redhat.com> +2004-01-16 Kazu Hirata <kazu@cs.umass.edu> - * elflink.h (elf_link_input_bfd): Don't ask for the merged offset - of a symbol in a section that will be deleted. + * coff-h8300.c: Add comments about relaxation. + * elf32-h8300.c: Likewise. -2002-01-07 Nick Clifton <nickc@cambridge.redhat.com> +2004-01-14 Maciej W. Rozycki <macro@ds2.pg.gda.pl> - * po/es.po: New file: Spanish translation. - * configure.in (ALL_LINGUAS): Add es. + * acinclude.m4: Quote names of macros to be defined by AC_DEFUN + throughout. + * aclocal.m4: Regenerate. * configure: Regenerate. -2002-01-06 Steve Ellcey <sje@cup.hp.com> - - * elfxx-ia64.c (is_unwind_section_name): Add target vector as - argument so we can handle HP-UX specially. - (elfNN_ia64_hpux_vec): New for use in is_unwind_section_name. - (elfNN_hpux_backend_section_from_bfd_section): New for support - of SHN_IA_64_ANSI_COMMON. - (elfNN_ia64_relax_section): Add support for SHN_IA_64_ANSI_COMMON. - (is_unwind_section_name): Add special HP-UX support. - (elfNN_ia64_section_from_shdr): Add support for more sections. - (elfNN_ia64_fake_sections): Modify is_unwind_section_name call and - add support for more sections. - (elfNN_ia64_additional_program_headers): Modify - is_unwind_section_name call. - (elfNN_ia64_modify_segment_map): Remove assumption that there is - only one unwind section in segment. - -2002-01-06 Alan Modra <amodra@bigpond.net.au> - - * syms.c (_bfd_generic_make_empty_symbol): New function. - * libbfd-in.h (_bfd_nosymbols_make_empty_symbol): Define as - _bfd_generic_make_empty_symbol. - * libbfd.h: Regenerate. - * bfd-in2.h: Regenerate. - * hppabsd-core.c (hppabsd_core_make_empty_symbol): Delete function. - (hppabsd_core_get_symtab_upper_bound): Don't define. - (hppabsd_core_get_symtab): Likewise. - (hppabsd_core_print_symbol): Likewise. - (hppabsd_core_get_symbol_info): Likewise. - (hppabsd_core_bfd_is_local_label_name): Likewise. - (hppabsd_core_get_lineno): Likewise. - (hppabsd_core_find_nearest_line): Likewise. - (hppabsd_core_bfd_make_debug_symbol): Likewise. - (hppabsd_core_read_minisymbols): Likewise. - (hppabsd_core_minisymbol_to_symbol): Likewise. - (hppabsd_core_vec): Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols). - Formatting fixes. - * hpux-core.c: Similarly. - * irix-core.c: Similarly. - * osf-core.c: Similarly. - * sco5-core.c: Similarly. - * binary.c (binary_make_empty_symbol): Remove function, define as - _bfd_generic_make_empty_symbol. - * ihex.c (ihex_make_empty_symbol): Likewise. - * mmo.c (mmo_make_empty_symbol): Likewise. - * ppcboot.c (ppcboot_make_empty_symbol): Likewise. - * srec.c (srec_make_empty_symbol): Likewise. - * versados.c (versados_make_empty_symbol): Likewise. - * vms.c (_bfd_vms_make_empty_symbol): Remove. - (vms_make_empty_symbol): Define as _bfd_generic_make_empty_symbol. - * vms-gsd.c (_bfd_vms_slurp_gsd): Call bfd_make_empty_symbol - rather than _bfd_vms_make_empty_symbol. - * vms-misc.c (new_symbol): Likewise. - -2002-01-05 Alan Modra <amodra@bigpond.net.au> - - * section.c (bfd_section_init): Remove unnecessary initialisations. - (bfd_section_list_clear): New function. - (bfd_section_list_remove, bfd_section_list_insert): New macros. - (_bfd_strip_section_from_output): Use them. - * coffcode.h (coff_set_alignment_hook): Likewise. - * elf32-mips.c (_bfd_mips_elf_final_link): Likewise. - * elf64-mips.c (mips_elf64_final_link): Likewise. - * elf64-mmix.c (mmix_elf_final_link): Likewise. - * sunos.c (sunos_add_dynamic_symbols): Likewise. - * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise. - * bfd-in2.h: Regenerate. - - * netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway - rather than doing our own section handling. Clean up after errors - with bfd_release and bfd_section_list_clear. Handle unexpected - flags. - * aoutf1.h (sunos4_core_file_p): Likewise. - * aix386-core.c (aix386_core_file_p): Likewise. - * cisco-core.c (cisco_core_file_validate): Likewise. - * ptrace-core.c (ptrace_unix_core_file_p): Likewise. - * trad-core.c (trad_unix_core_file_p): Likewise. +2004-01-13 Ian Lance Taylor <ian@wasabisystems.com> - * hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors - with bfd_release and bfd_section_list_clear. - * hpux-core.c (hpux_core_core_file_p): Likewise. - * irix-core.c (irix_core_core_file_p): Likewise. - * lynx-core.c (lynx_core_file_p): Likewise. - * osf-core.c (osf_core_core_file_p): Likewise. - * rs6000-core.c (rs6000coff_core_p): Likewise. - * sco5-core.c (sco5_core_file_p): Likewise. + * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Call + mips_elf64_rtype_to_howto instead of using howto_table. - * elf32-mips.c (_bfd_mips_elf_lo16_reloc): Simplify, and perform - sign extension adjustments without conditionals. - -2002-01-04 Jakub Jelinek <jakub@redhat.com> - - * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if - CIE at .eh_frame start is removed due to no FDEs referencing it. +2004-01-13 Daniel Jacobowitz <drow@mvista.com> + + * elf32-arm.h (elf32_arm_final_link_relocate): Check that we created + the .plt section. + (elf32_arm_check_relocs): Don't increment the PLT refcount for + relocs which would not use the PLT. + +2004-01-13 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (ppc64_elf_check_relocs): Ignore !SEC_ALLOC relocs. + (ppc64_elf_gc_sweep_hook): Likewise. + (ppc64_elf_size_dynamic_sections): Test for .plt directly. + +2004-01-12 Anil Paranjpe <anilp1@KPITCummins.com> + + Adds linker relaxation support for bit manipulation insns like + band, bclr, biand, bild, bior, bist, bixor, bld, bnot, bor, bset, + bst, btst, bxor. + * elf32-h8300.c: Opcode for bit manipulation insn is checked in + elf32_h8_relax_section function while relxation for aa:16 and aa:32. + * coff-h8300.c: Opcode for bit manipulation insn is checked in + h8300_reloc16_extra_cases function while relxation for aa:16 and aa:32. + +2004-01-12 Alan Modra <amodra@bigpond.net.au> + + * dwarf2.c: Convert to C90, remove unneeded casts and prototypes. + +2004-01-11 Kazu Hirata <kazu@cs.umass.edu> + + * elf32-h8300.c: Fix formatting. + +2004-01-11 Kazu Hirata <kazu@cs.umass.edu> + + * elf32-cris.c (cris_elf_gc_sweep_hook): Return early if no + dynamic object is present. Declare r_symndx and h in an inner + scope. + * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise. + +2004-01-09 Daniel Jacobowitz <drow@mvista.com> + + * elf32-arm.h (struct elf32_arm_relocs_copied): Remove pc_count. + (elf32_arm_copy_indirect_symbol): Don't copy pc_count. + (elf32_arm_final_link_relocate): Handle PLT32 and PC24 relocs + identically. Do not emit PC24 relocations for shared libraries. + (elf32_arm_gc_sweep_hook): Handle PLT32 and PC24 relocs + identically. Don't adjust pc_count. + (elf32_arm_check_relocs): Handle PLT32 and PC24 relocs identically. + Set ELF_LINK_HASH_NEEDS_PLT for both. Don't adjust pc_count; don't + adjust count for branch relocations. + (allocate_dynrelocs): Correct typo in call to + WILL_CALL_FINISH_DYNAMIC_SYMBOL. Never allocate space for + PC24 or PLT32 relocs when linking. + +2004-01-09 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru> + + * coff-arm.c (aoutarm_std_reloc_howto): [ARM_WINCE] Synchronize ARM_26D + relocation howto with ARM_26 one for consistency. + (coff_arm_relocate_section): Set partial_inplace for ARM_26 relocations + that will be converted to ARM_26D ones, since we always want 'done' + relocations to be reflected in section's data. + (coff_arm_relocate_section): [ARM_WINCE] Quick fix for BL instruction + offset. + (_bfd_final_link_relocate): Do not modify "inplace" data, if not + requested. + +2004-01-08 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru> + + * coff-arm.c (coff_arm_relocate_section): Do not alter relocs that + are not partial_inplace during a relocatable link. + +2004-01-08 Kazu Hirata <kazu@cs.umass.edu> + + * elf32-m68k.c (elf_m68k_gc_sweep_hook): Return early + if no dynamic object is present. Declare r_symndx and h in an + inner scope. + +2004-01-07 H.J. Lu <hongjiu.lu@intel.com> + + * elfxx-ia64.c (elfNN_ia64_relax_section): Don't install + trampoline if it is known out of range. + +2004-01-06 Alexandre Oliva <aoliva@redhat.com> + + 2003-12-17 Alexandre Oliva <aoliva@redhat.com> + * elf32-frv.c (_frv_osec_readonly_p): New. + (_frv_emit_got_relocs_plt_entries): Don't emit rofixup for + undefweak symbol. + (_frv_count_got_plt_entries): Adjust expected count accordingly. + (elf32_frv_relocate_section): Likewise. Error out if attempting + to emit rofixups or dynamic relocs in read-only segments. Use + _bfd_elf_section_offset to adjust r_offsets in rofixups and + dynamic relocations. + 2003-12-12 Alexandre Oliva <aoliva@redhat.com> + * elf32-frv.c (elf32_frv_relocate_section): Compute dynamic + relocations or fixups involving merged sections correctly. Avoid + crash when undefined symbol is referenced by R_FRV_32 or + R_FRV_FUNCDESC_VALUE. + 2003-12-02 Alexandre Oliva <aoliva@redhat.com> + * elf32-frv.c (elf32_frv_relocate_section): Add output_offset of + input section holding local symbol to addend of R_FRV_32 or + R_FRV_FUNCDESC_VALUE dynamic relocation. + 2003-11-27 Alexandre Oliva <aoliva@redhat.com> + * elf32-frv.c (elf32_frv_modify_segment_map): Add link info arg. + (elf32_frv_always_size_sections): Don't store pointer to + __stacksize symbol in sec_info. + (elf32_frv_modify_segment_map): Look it up here. + 2003-11-26 Alexandre Oliva <aoliva@redhat.com> + * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Emit the address + of the lazy PLT entry, not only its offset, as the low word of a + function descriptor. + 2003-11-10 Alexandre Oliva <aoliva@redhat.com> + * elf32-frv.c (elf32_frv_always_size_sections): Define __stacksize + if a hash table entry already exists but is not a definition. + 2003-11-05 Alexandre Oliva <aoliva@redhat.com> + * elf32-frv.c (frv_elf_link_hash_table_create): Use bfd_zalloc. + (_frv_add_rofixup): Don't inline. + (_frv_emit_got_relocs_plt_entries): Use NULL as funcdesc address + for undefweak symbols. + (elf32_frv_relocate_section): Avoid crash while computing + relocation when linking with shared library. Only emit rofixups + and dynamic relocations for alloc&load sections. Mark binaries + with inter-segment relocations for relocation as a unit. + (_frv_create_got_section): Rename .rofixup.got to .rofixup. + (DEFAULT_STACK_SIZE): New. + (_frv_count_got_plt_entries): Fix thinko in deciding whether to + emit rofixups or dynamic relocs when linking dynamic non-PIE + executables. + (elf32_frv_size_dynamic_sections): Generate rofixup on PIEs and + shared libs too. Reserve the last entry for the GOT pointer. + (elf32_frv_finish_dynamic_sections): Emit it. + (elf32_frv_always_size_sections): New. + (elf32_frv_modify_segment_map): New. + (elf32_frv_check_relocs): Reserve relocs32 space only in ALLOC + sections. + (frv_elf_merge_private_bfd_data): Clear PIC bit if FDPIC is set. + (frv_elf_print_private_bfd_data): Handle FDPIC and LIBPIC. + (elf_backend_always_size_sections): New. + (elf_backend_modify_segment_map): New. + 2003-10-31 Alexandre Oliva <aoliva@redhat.com> + * config.bfd: Added frv-*-*linux*. + * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Use idx 0 for + ABS section, instead of crashing. + (elf32_frv_relocate_section): Don't crash before warning about + different segments in non-PIC relocation. + 2003-10-17 Alexandre Oliva <aoliva@redhat.com> + * elf32-frv.c (elf32_frv_relocate_section): Don't warn on LABEL24 + relocs to undefweak symbols. + (elf32_frv_relocate_section): Ditto for undefined symbols. + 2003-10-06 Alexandre Oliva <aoliva@redhat.com> + * elf32-frv.c (elf32_frv_create_dynamic_sections): Make sure + gotfixup section was created. + 2003-09-30 Alexandre Oliva <aoliva@redhat.com> + * elf32-frv.c (elf32_frv_howto_table): Change GOT12, + FUNCDESC_GOT12, GOTOFF12 and FUNCDESC_GOTOFF12 to + complain_overflow_signed. + * elf32-frv.c (_frv_add_rofixup): Do not error out if contents + have not been allocated. + (_frv_emit_got_relocs_plt_entries): Return non-void. Assert + privfd only if dynamic sections were created. + (elf32_frv_relocate_section): Compute gprel_segment, and use it + for GPREL relocs. When linking relocatable FDPIC executables, + emit warnings for relocations that would be illegal on PIE or + shared libraries. Emit rofixup for R_FRV_32 only if input object + is not FDPIC. + (_frv_create_got_section): Define _gp symbol in the rofixup + section. + (elf32_frv_finish_dynamic_sections): If rofixups needed but + dynamic sections missing, error out requesting -melf32frvfd. + 2003-09-19 Alexandre Oliva <aoliva@redhat.com> + * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Rearrange + computation of addends from section and global or local symbol + value. Change return type to bfd_boolean, and return a failure if + a dynamic FUNCDESC or FUNCDESC_VALUE relocation that requires a + nonzero addend is required. + (elf32_frv_relocate_section): Likewise. Print error for + unsupported nonzero addends. + 2003-09-18 Alexandre Oliva <aoliva@redhat.com> + * elf32-frv.c (FRV_SYM_LOCAL): In the absence of dynamic sections, + force everything local. + (_frv_emit_got_relocs_plt_entries): Cope with NULL sec. + * elf32-frv.c (struct frv_elf_link_hash_table): Added sgotfixup. + (frv_gotfixup_section): New. + (FRV_SYM_LOCAL): Accept undefweak and local common symbols. + (struct frv_pic_relocs_info): Split relocs into relocs32, relocsfd + and relocsfdv. + (_frv_add_rofixup): New. + (_frv_emit_got_relocs_plt_entries): Generate fixups for non-PIE + fdpic executables. Use FRV_SYM_LOCAL more widely to simplify and + improve some ugly conditions. + (elf32_frv_relocate_section): Likewise. Reject inter-segment + relocations in fdpic. + (_frv_create_got_section): Create .rofixup.got section. + (struct _frv_dynamic_got_info): Added fixups. + (_frv_count_got_plt_entries): Account in-GOT relocations into + relocs32, relocsfd and relocsfdv. Account them into relocs or + fixups, as appropriate. + (elf32_frv_size_dynamic_sections): Size rofixup section. Simplify + sizing of gotrel. + (elf32_frv_finish_dynamic_sections): Verify that the right number + of relocations and fixups was generated. + (elf32_frv_check_relocs): Compute relocs32, relocsfd and + relocsfdv. + * elf32-frv.c (FRV_SYM_LOCAL): New macro, used instead of + SYMBOL_CALLS_LOCAL and SYMBOL_REFERENCES_LOCAL. + (FRV_FUNCDESC_LOCAL): New macro, used to decide whether a function + descriptor of a (formerly-)global symbol is local. + (struct frv_pic_relocs_info): Adjust comments. + (_frv_emit_got_relocs_plt_entries): Adjust. + (elf32_frv_relocate_section): Likewise. + (_frv_count_got_plt_entries): Likewise. + * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Don't add global + symbol's value to addend in the common preamble. Decay dynamic + symbols to section+offset if they bind or call locally, for GOT + and FUNCDESC_VALUE, respectively. + (elf32_frv_relocate_section): Likewise. + (elf32_frv_check_relocs): Don't register as dynamic symbols of + internal or hidden visibility. + 2003-09-17 Alexandre Oliva <aoliva@redhat.com> + * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Get addend as + argument, so as to not call _bfd_elf_rel_local_sym to compute it. + (elf32_frv_relocate_section): Pass relocation addend in. Use + original relocation addend to look up the got relocs/plt entries + table. Do not call _bfd_elf_rel_local_sym. Don't error out when + processing relocations that reference .scommon symbols. + 2003-09-15 Alexandre Oliva <aoliva@redhat.com> + Introduce support for dynamic linking. + * elf32-frv.c (R_FRV_FUNCDESC_VALUE): Mark it as 64 bits. + (elf32_frv_rel_32_howto, elf32_frv_rel_funcdesc_howto, + elf32_frv_rel_funcdesc_value_howto): New REL descriptors. + (frv_reloc_type_lookup): Return REL howtos for executables and + dynamic libraries. + (frv_info_to_howto_rel): New. + (struct frv_elf_link_hash_table): New. + (frv_hash_table, frv_got_section, frv_gotrel_section, + frv_plt_section, frv_pltrel_section, frv_relocs_info, + frv_got_initial_offset, frv_plt_initial_offset): New macros. + (frv_elf_link_hash_table_create): New. + (struct frv_pic_relocs_info): New. + (frv_pic_relocs_info_hash, frv_pic_relocs_info_eq): New. + (frv_pic_relocs_info_find): New. + (frv_pic_relocs_info_for_global, frv_pic_relocs_info_for_local): + New. + (FRV_LZPLT_BLOCK_SIZE, FRV_LZPLT_RESOLVE_LOC): New. + (_frv_add_dyn_reloc, _frv_osec_to_segment): New. + (_frv_emit_got_relocs_plt_entries): New. + (elf32_frv_relocate_section): Add support for dynamic linking. + Handle new relocations. + (_frv_create_got_section): New. + (elf32_frv_create_dynamic_sections): New. + (ELF_DYNAMIC_INTERPRETER): New. + (struct _frv_dynamic_got_info): New. + (_frv_count_got_plt_entries): New. + (struct _frv_dynamic_got_plt_info): New. + (_frv_compute_got_alloc_data): New. + (_frv_get_got_entry, _frv_get_fd_entry): New. + (_frv_assign_got_entries, _frv_assign_plt_entries): New. + (_frv_resolve_final_relocs_info): New. + (elf32_frv_size_dynamic_sections): New. + (elf32_frv_finish_dynamic_sections): New. + (elf32_frv_adjust_dynamic_symbol): New. + (elf32_frv_finish_dynamic_symbol): New. + (elf32_frv_check_relocs): Handle new relocs. Explain how the + whole thing works. + (elf_info_to_howto_rel): Define. + (bfd_elf32_bfd_link_hash_table_create): Define. + (elf_backend_create_dynamic_sections): Define. + (elf_backend_adjust_dynamic_symbol): Define. + (elf_backend_size_dynamic_sections): Define. + (elf_backend_finish_dynamic_symbol): Define. + (elf_backend_finish_dynamic_sections): Define. + (elf_backend_want_got_sym): Define. + (elf_backend_got_header_size): Define. + (elf_backend_want_got_plt): Define. + (elf_backend_plt_readonly): Define. + (elf_backend_want_plt_sym): Define. + (elf_backend_plt_header_size): Define. + (elf_backend_may_use_rel_p): Define. + (elf_backend_may_use_rela_p): Define. + (elf_backend_default_use_rela_p): Define. + 2003-08-08 Alexandre Oliva <aoliva@redhat.com> + * elf32-frv.c (R_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_GOTOFF12, + R_FRV_FUNCDESC_GOTOFFHI, R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, + R_FRV_GOTOFFHI, R_FRV_GOTOFFLO): New. + (frv_reloc_map): Map the corresponding BFD relocs to them. + (frv_reloc_type_lookup): ... and back to BFD relocs. + * reloc.c: New relocs. + * bfd-in2.h, libbfd.h: Rebuilt. + 2003-08-04 Alexandre Oliva <aoliva@redhat.com> + * elf32-frv.c (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO, + R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI, + R_FRV_FUNCDESC_GOTLO): New. + (frv_reloc_map): Map the corresponding BFD relocs to them. + (frv_reloc_type_lookup): ... and back to BFD relocs. + * reloc.c: New relocs. + * bfd-in2.h, libbfd.h: Rebuilt. -2002-01-04 Jason Thorpe <thorpej@wasabisystems.com> +2004-01-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl> - * config.bfd (x86_64-*-netbsd*): New target. - * configure.in (x86_64-*-netbsd*): Set COREFILE - to netbsd-core.lo. - * configure: Regenerated. + * elf32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional + targets to support pages of up to 64kB. + (elf32_bed): Redefine to get a separate backend data structure for + traditional targets. + * elf64-mips.c (ELF_MAXPAGESIZE): Redefine for traditional + targets to support pages of up to 64kB. + (elf64_bed): Redefine to get a separate backend data structure for + traditional targets. + * elfn32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional + targets to support pages of up to 64kB. + (elf32_bed): Redefine to get a separate backend data structure for + traditional targets. -2002-01-03 Tom Rix <trix@redhat.com> +2004-01-04 Mark Kettenis <kettenis@gnu.org> - * xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering - for recent bfd_make_section_anyway change. + * elf32-sparc.c (elf32_sparc_grok_psinfo): New function. -2002-01-03 Nick Clifton <nickc@cambridge.redhat.com> +2004-01-02 Mark Kettenis <kettenis@gnu.org> - * elf32-arm.h (elf32_arm_final_link_relocate): Handle - R_ARM_THM_PC11 reloc. + * elf32-i386.c (elf_i386_grok_prstatus): Add support for FreeBSD. + (elf_i386_grok_psinfo): Likewise. -2002-01-02 Nick Clifton <nickc@cambridge.redhat.com> +2004-01-02 Bernardo Innocenti <bernie@develer.com> - * configure.in (LINGUAS): Add ja. - * configure: Regenerate. - * po/ja.po: Import from translation project's web site. + * config.bfd: Add m68k-uClinux target. -2002-01-02 Nick Clifton <nickc@cambridge.redhat.com> +2004-01-01 Grant Edwards <grante@visi.com> - * elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error - messages to ease translation into other languages. + * elflink.h (elf_gc_sections): Warn when gc-sections option is ignored. + * elf32-h8300.c (elf32_h8_gc_mark_hook): New function. + (elf32_h8_gc_sweep_hook): New function. + (elf_backend_gc_mark_hook): Define. + (elf_backend_gc_sweep_hook): Define. + (elf_backend_can_gc_sections): Define. -For older changes see ChangeLog-0001 +For older changes see ChangeLog-0203 Local Variables: mode: change-log |