X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2FChangeLog;h=d1c302525f26acc15bf52e1118d96b773a6a74e7;hb=2a5aaecb4aabbc6320ef34a5c127bfae1e7748b6;hp=3ed8fd2e8787359e4c01216c2b527fef2574503b;hpb=1b90af266c5bf8ef4cfd5c09c79c468cfaf32c6a;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 3ed8fd2e87..d1c302525f 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,506 @@ +2001-11-19 Alan Modra + + * elf32-hppa.c (elf32_hppa_size_stubs): Don't consider undefined + millicode syms as candidates for import stubs. + + * elf32-hppa.c (PLABEL_PLT_ENTRY_SIZE): Delete. + (allocate_PIC_calls): Rename to allocate_plt_static. + (allocate_dynrelocs): Move most of code handling .plt entries to.. + (allocate_plt_static): ..here. Don't drop plabel entries. + +2001-11-19 Hans-Peter Nilsson + + * mmo.c: Adjust documentation tags to use texinfo 4 features. + +2001-11-15 Daniel Jacobowitz + + * elflink.h (elf_reloc_symbol_deleted_p): Catch all relocs against + local syms from discarded sections. Update comment. + +2001-11-15 Alan Modra + + * po/SRC-POTFILES.in: Regenerate. + + * elflink.h (elf_link_input_bfd): Complain about all relocs + against local syms from discarded sections. K&R fixes. + (elf_reloc_symbol_deleted_p): Don't try to swap in external syms. + K&R fixes. + +2001-11-15 Alexandre Oliva + + * elf64-sparc.c (sparc64_elf_relocate_section): Disregard + overflows in the .stab section. + +2001-11-14 Daniel Jacobowitz + + * bfd-in.h (bfd_elf32_discard_info): Add prototype. + (bfd_elf64_discard_info): Likewise. + * bfd-in2.h: Regenerate. + * elf-bfd.h (struct elf_reloc_cookie): New. + (struct elf_backend_data): Add elf_backend_discard_info, + elf_backend_ignore_discarded_relocs, and elf_backend_write_section. + (_bfd_elf32_reloc_symbol_deleted_p): Add prototype. + (_bfd_elf64_reloc_symbol_deleted_p): Likewise. + * elf32-mips.c (_bfd_elf32_mips_discard_info): New. + (_bfd_elf32_mips_ignore_discarded_relocs): New. + (_bfd_elf32_mips_write_section): New. + (elf_backend_discard_info): Define. + (elf_backend_ignore_discarded_relocs): Define. + (elf_backend_write_section): Define. + * elfcode.h (elf_bfd_discard_info): Define. + (elf_reloc_symbol_deleted_p): Define. + * elflink.h (elf_link_input_bfd): Check + elf_section_ignore_discarded_relocs. Call + bed->elf_backend_write_section if available. + (elf_reloc_symbol_deleted_p): New. + (elf_bfd_discard_info): New. + (elf_section_ignore_discarded_relocs): New. + * elfxx-target.h (elf_backend_discard_info): Define. + (elf_backend_ignore_discarded_relocs): Define. + (elf_backend_write_section): Define. + (elfNN_bed): Add elf_backend_discard_info, + elf_backend_ignore_discarded_relocs, and + elf_backend_write_section. + * libbfd-in.h (_bfd_discard_section_stabs): Add prototype. + * libbfd.h: Regenerate. + * stabs.c (_bfd_discard_section_stabs): New. + +2001-11-14 Martin Schwidefsky + + * elf32-s390.c (elf_s390_relocate_section): Use the "unresolved_reloc" + scheme to get rid of an ugly complicated test. + * elf64-s390.c (elf_s390_relocate_section): Likewise. + +2001-11-14 Andreas Jaeger + + * cpu-i386.c (bfd_x86_64_arch_intel_syntax,bfd_x86_64_arch): Use + x86-64 for display. + +2001-11-14 Jakub Jelinek + + * dwarf2.c (struct line_head) [total_length]: Change type to + bfd_vma. + (struct dwarf2_debug): Add dwarf_str_buffer and dwarf_str_size. + (struct comp_unit): Add stash and offset_size. + (read_8_bytes): Return bfd_vma. + (read_indirect_string): New. + (read_attribute): Handle DW_FORM_strp. + (decode_line_info): Support 64-bit DWARF format. + (_bfd_dwarf2_find_nearest_line): Likewise. + (parse_comp_unit): Set offset_size and stash. + +2001-11-13 Keith Walker + + * dwarf2.c (read_attribute_value): New function to handle + DW_FORM_indirect. + (read_attribute): Use it. + +2001-11-13 Geoffrey Keating + + * dwarf2.c (decode_line_info): Properly deal with unknown standard + opcodes. + +2001-11-13 John Marshall + Alan Modra + + * section.c (bfd_make_section_anyway): Don't increment section_id + and the BFD's section_count if adding the section failed. + * vms.c (vms_new_section_hook): Adjust for bfd_make_section_anyway + change. + +2001-11-12 Orjan Friberg + + * elf32-cris.c (cris_elf_grok_prstatus): Adjust values to match new + core dump format. + +2001-11-11 H.J. Lu + + * elf32-mips.c (_bfd_mips_elf_finish_dynamic_sections): Call + _bfd_elf_strtab_size instead of _bfd_stringtab_size. + + * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Change + dynstr type to `struct elf_strtab_hash *'. + +2001-11-11 Hans-Peter Nilsson + + * elf-strtab.c (_bfd_elf_strtab_finalize): Make first variable i + size_t. Rename second i to j. + +Sat Nov 10 08:56:02 2001 Jeffrey A Law (law@cygnus.com) + + * binary.c: Include safe-ctype.h after bfd.h and sysdep.h. + +2001-11-10 Alan Modra + + * elf32-arm.h (elf32_arm_final_link_relocate): Don't copy STN_UNDEF + relocs into shared libs. + * elf32-cris.c (cris_elf_relocate_section): Likewise. + * elf32-i370.c (i370_elf_relocate_section): Likewise. + * elf32-m68k.c (elf_m68k_relocate_section): Likewise. + * elf32-mips.c (mips_elf_calculate_relocation): Likewise. + * elf32-ppc.c (ppc_elf_relocate_section): Likewise. + * elf32-sh.c (sh_elf_relocate_section): Likewise. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. + * elf64-s390.c (elf_s390_relocate_section): Likewise. + * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. + * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. + * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise. + + * elf.c (bfd_section_from_r_symndx): New function. + * elf-bfd.h (LOCAL_SYM_CACHE_SIZE): Define. + (struct sym_sec_cache): New. + (bfd_section_from_r_symndx): Declare. + (struct bfd_elf_section_data): Change local_dynrel type to PTR. + * elflink.h (elf_link_input_bfd): Don't test for removed linkonce + relocs when relocatable. Don't zero entire reloc, just zero the + addend and sym. + * elf32-hppa.c (struct elf32_hppa_link_hash_table): Add sym_sec. + (elf32_hppa_link_hash_table_create): Init it. + (elf32_hppa_check_relocs): Track dynamic relocs needed for local + syms on a per-section basis as we do for globals. + (elf32_hppa_gc_sweep_hook): Update for local_dynrel change. + (allocate_dynrelocs): Warning fix. + (elf32_hppa_size_dynamic_sections): Don't allocate relocs when + section has been discarded. + (elf32_hppa_relocate_section): Don't copy STN_UNDEF relocs + into shared libs. + * elf32-i386.c (struct elf_i386_link_hash_table): Add sym_sec. + (elf_i386_link_hash_table_create): Init it. + (elf_i386_check_relocs): Track dynamic relocs needed for local + syms on a per-section basis as we do for globals. + (elf_i386_gc_sweep_hook): Update for local_dynrel change. + Remove dead code. + (allocate_dynrelocs): Warning fix. + (elf_i386_size_dynamic_sections): Don't allocate relocs when + section has been discarded. + (elf_i386_relocate_section): Don't copy STN_UNDEF relocs + into shared libs. + * elf32-s390.c (struct elf_s390_link_hash_table): Add sym_sec. + (elf_s390_link_hash_table_create): Init it. + (elf_s390_check_relocs): Track dynamic relocs needed for local + syms on a per-section basis as we do for globals. + (elf_s390_gc_sweep_hook): Update for local_dynrel change. + Remove dead code. + (allocate_dynrelocs): Warning fix. + (elf_s390_size_dynamic_sections): Don't allocate relocs when + section has been discarded. + (elf_s390_relocate_section): Don't copy STN_UNDEF relocs + into shared libs. + * elf64-ppc.c (struct ppc_link_hash_table): Add sym_sec. + (ppc64_link_hash_table_create): Init it. + (ppc64_elf_check_relocs): Track dynamic relocs needed for local + syms on a per-section basis as we do for globals. + (ppc64_elf_gc_sweep_hook): Update for local_dynrel change. + (allocate_dynrelocs): Call the correct record_dynamic_dymbol + function. Warning fix. + (ppc64_elf_size_dynamic_sections): Don't allocate relocs when + section has been discarded. + (ppc64_elf_relocate_section): Don't copy STN_UNDEF relocs + into shared libs. + * elf64-s390.c (struct elf_s390_link_hash_table): Add sym_sec. + (elf_s390_link_hash_table_create): Init it. + (elf_s390_check_relocs): Track dynamic relocs needed for local + syms on a per-section basis as we do for globals. + (elf_s390_gc_sweep_hook): Update for local_dynrel change. + Remove dead code. + (allocate_dynrelocs): Warning fix. + (elf_s390_size_dynamic_sections): Don't allocate relocs when + section has been discarded. + (elf_s390_relocate_section): Don't copy STN_UNDEF relocs + into shared libs. + +2001-11-08 Martin Schwidefsky + + * elf32-s390: Major rework that introduces all recent changes to + the s390 backends. Get a closer match to elf32-i386. + (elf_s390_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. Reinstate fudge for unresolved relocs + in debugging sections. + (elf32_s390_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. Discard .plt entries for everything with + plt.refcount <= 0. + (elf_s390_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. Remove separate switch stmt for creating .got + section. Initialise local_got_refcounts to 0. Cache pointer to + "sreloc" section in elf_section_data. Tweak condition under which .got + created. Report files with bad relocation section names. + (elf_s390_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 elf_s390_relocate_section. Expand SHN_UNDEF + comment. Move expressions out of function calls. Replace BFD_ASSERT + with abort. + (elf_s390_finish_dynamic_sections): Migrate common code out of switch + statement. Replace BFD_ASSERT with abort. + (elf_s390_size_dynamic_sections): Call readonly_dynrelocs. Rename "i" + to "ibfd". Allocate space for local dyn relocs. Use DF_TEXTREL flag + instead of looking up section names for DT_TEXTREL. Replace + BFD_ASSERT with abort. Zero out the dynamic allocated content space. + Add a comment to remind us that one day this ought to be fixed. + (struct elf_s390_link_hash_entry): Rename "root" to "elf". + (struct elf_s390_link_hash_table): Likewise. + (elf_s390_link_hash_newfunc): Rename to link_hash_newfunc and get + rid of unnecessary casts. + (struct elf_s390_dyn_relocs): Add "sec", and "pc_count" fields. + Remove "section" field. + (elf_s390_gc_sweep_hook): Sweep dyn_relocs and local_dynrel. + Reference count possible .plt entries. Don't deallocate .got and + .relgot space here. + (struct elf_s390_pcrel_relocs_copied): Rename to elf_s390_dyn_relocs. + Update comment. + (struct elf_s390_link_hash_entry): Rename pcrel_relocs_copied to + dyn_relocs. + (elf_s390_discard_copies): Delete. + (elf_s390_link_hash_traverse): Delete. + (bfd_elf32_bfd_final_link): Delete. (ie. use regular final link + rather than gc variety). + (struct elf_s390_link_hash_table): Add sgot, sgotplt, srelgot, splt, + srelplt, sdynbss, srelbss fields. + (elf_s390_link_hash_table_create): Init them. + (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define. + (allocate_dynrelocs): New function. + (create_got_section): New function. + (elf_backend_can_refcount): Define. + (elf_backend_copy_indirect_symbol): Define. + (elf_s390_copy_indirect_symbol): New function. + (elf_s390_create_dynamic_sections): New function. + (readonly_dynrelocs): New function. + * elf64-s390.c: Likewise. + +2001-11-07 Jakub Jelinek + + * Makefile.am (BFD32_BACKENDS): Add elf-strtab.lo. + (BFD32_BACKENDS_CFILES): Add elf-strtab.c. + (elf-strtab.lo): Add rule. + * Makefile.in: Rebuilt. + * configure.in (elf): Add elf-strtab.lo. + * configure: Rebuilt. + * elf-bfd.h (elf_strtab_hash): Forward declare. + (struct elf_link_hash_table): Change dynstr type to + struct elf_strtab_hash *. + (struct elf_obj_tdata): Change strtab_ptr type to + struct elf_strtab_hash *. + (_bfd_elf_strtab_init, _bfd_elf_strtab_free, _bfd_elf_strtab_add, + _bfd_elf_strtab_addref, _bfd_elf_strtab_delref, + _bfd_elf_strtab_clear_all_refs, _bfd_elf_strtab_size, + _bfd_elf_strtab_offset, _bfd_elf_strtab_emit, + _bfd_elf_strtab_finalize): New prototypes. + * elf-strtab.c: New file. + * elflink.h (elf_link_add_object_symbols): Use _bfd_elf_strtab_add + and _bfd_elf_strtab_size instead of _bfd_stringtab calls. + Call _bfd_elf_strtab_delref if DT_NEEDED entry is not needed or + when forcing dynamic symbol to local. + (elf_link_create_dynamic_sections): Call + _bfd_elf_strtab_init instead of elf_stringtab_init. + (elf_link_record_local_dynamic_symbol): Likewise, change + dynstr type. Use _bfd_elf_strtab functions instead of + _bfd_stringtab calls. + (size_dynamic_sections): Use _bfd_elf_strtab functions instead of + _bfd_stringtab calls. For DT_RUNPATH and Verdaux vda_name fields, + call _bfd_elf_strtab_addref. Call elf_finalize_dynstr. + (elf_adjust_dynstr_offsets, elf_finalize_dynstr): New functions. + (elf_fix_symbol_flags): Call _bfd_elf_strtab_delref when forcing + dynamic symbol to local. + (elf_link_assign_sym_version): Likewise. + (elf_bfd_final_link): Call _bfd_elf_strtab_emit instead of + _bfd_stringtab_emit. + * elflink.c (_bfd_elf_link_record_dynamic_symbol): Change dynstr + type. Call _bfd_elf_strtab functions instead of + _bfd_stringtab functions. + * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise. + * elf.c (_bfd_elf_init_reloc_shdr): Likewise. + (elf_fake_sections): Likewise. + (assign_section_numbers): Call _bfd_elf_strtab_clear_all_refs + on shstrtab hash table, call _bfd_elf_strtab_addref on each section + name in the output. Call _bfd_elf_strtab_finalize and + use _bfd_elf_strtab_offset to finalize sh_name section header fields. + (_bfd_elf_compute_section_file_positions): Use _bfd_elf_strtab_size + instead of _bfd_stringtab_size. + (prep_headers): Change shstrtab type. + Use _bfd_elf_strtab calls instead of _bfd_stringtab calls. + +2001-11-07 Alan Modra + + * elflink.h (elf_link_input_bfd ): Fix + bad symtab segfault. Formatting and warning fixes. Improve + error message for internationalisation. + +2001-11-06 H.J. Lu (hjl@gnu.org) + + * elflink.h (elf_link_input_bfd): Complain about relocs against + discarded sections. + +2001-11-03 Alan Modra + + * elfxx-target.h (elfNN_bed): Correct want_got_sym, want_dynbss order. + +2001-11-02 H.J. Lu + + * elf32-mips.c (mips_elf_calculate_relocation): Don't create + dynamic relocation for symbols defined in regular objects when + creating executables. + +2001-11-02 Nick Clifton + + * configure.in (ALL_LINGUAS): Add "fr". + * configure: Regenerate. + * po/fr.po: New file. + + * coffgen.c (coff_object_p): Add comment to H.J.'s recent patch. + +2001-11-02 John David Anglin + + * som.c (setup_sections): Initialize subspace_sections. + +2001-11-02 H.J. Lu (hjl@gnu.org) + + * coffgen.c (coff_object_p): Return 0 if the header is too big. + +2001-11-02 Hans-Peter Nilsson + + * elfcore.h (elf_core_file_p): Preserve and clear abfd section + information. Save bfd arch and mach values. Restore on error. + +2001-11-02 Alan Modra + + * elf32-hppa.c (hppa_handle_PIC_calls): Rename to mark_PIC_calls. + (allocate_PIC_calls): New function. + (allocate_dynrelocs): Don't allocate pic_call plt entries here. + (elf32_hppa_size_dynamic_sections): Call allocate_PIC_calls. + (elf32_hppa_finish_dynamic_symbol): Remove dead code. + +2001-11-02 Hans-Peter Nilsson + + * elf32-cris.c (cris_elf_grok_prstatus): New function. + (cris_elf_grok_psinfo): New function. + (elf_backend_grok_prstatus): Define. + (elf_backend_grok_psinfo): Define. + +2001-11-01 Alan Modra + + * elf64-ppc.c (ppc64_elf_relocate_section): Correct branch + prediction bits. + +2001-10-31 Chris Demetriou + + * elf32-mips.c (_bfd_mips_elf_hi16_reloc): Handle PC-relative + relocations properly. + +2001-10-31 H.J. Lu + + * elflink.h (elf_link_output_extsym): Don't clear the visibility + field for relocateable. + +2001-11-01 Alan Modra + + * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Don't count + .plt relocs in DT_RELASZ. + +2001-10-29 NIIBE Yutaka + + * config.bfd: Supports sh3/sh4/sh3eb/sh4eb-unknown-linux-gnu + targets. + +2001-10-31 Nick Clifton + + * targets.c: Fix typo: bfd_mmo_mmix_vec => bfd_mmo_vec. + +2001-10-30 Hans-Peter Nilsson + + * Makefile.am (ALL_MACHINES): Add cpu-mmix.lo. + (BFD64_BACKENDS): Add elf64-mmix.lo and mmo.lo. + (BFD64_BACKENDS_CFILES): Add elf64-mmix.c and mmo.c. + Regenerate dependencies. + * configure.in (bfd_elf64_mmix_vec, bfd_mmo_vec): New vectors. + * config.bfd: [BFD64] (mmix-*-*): New case. + * cpu-mmix.c, mmo.c, elf64-mmix.c: New files. + * archures.c (enum bfd_architecture): Add bfd_arch_mmix. + (bfd_mmix_arch): Declare. + (bfd_archures_list): Add bfd_mmix_arch. + * targets.c (enum bfd_flavour): Add bfd_target_mmo_flavour. + (bfd_elf64_mmix_vec, bfd_mmo_vec): Declare. + (bfd_target_vect) [BFD64]: Add bfd_elf64_mmix_vec and + bfd_mmo_mmix_vec. + * reloc.c: Add MMIX relocations. + * bfd.c (struct _bfd, tdata): Add mmo_data. + * Makefile.in: Regenerate. + * configure: Regenerate. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + * configure: Rebuild. + +2001-10-30 Richard Earnshaw (rearnsha@arm.com) + + * elf.c (_bfd_elf_make_section_from_shdr): Set the LMA based on the + p_paddr of the segment that contains it. + (copy_private_bfd_data): If the LMA for a segment is known, use it + for matching sections to segments. + (assign_file_positions_for_segments): Use the LMA when adjusting + for inter-section alignment padding. + +2001-10-29 Kazu Hirata + + * README: Fix a typo. + +2001-10-24 Richard Henderson + + * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Copy + timestamp to time_t for ctime. + +2001-10-24 Hans-Peter Nilsson + + * elf32-cris.c (cris_reloc_type_lookup): Change loop to use + unsigned, increasing index. + +2001-10-23 H.J. Lu + + * elf32-mips.c (_bfd_mips_elf_modify_segment_map): Check + m != NULL before accessing it. + +2001-10-23 Alan Modra + + * elflink.h (elf_link_input_bfd): Zero the reloc instead of doing + bfd_reloc_type_lookup (bfd, BFD_RELOC_NONE) as bfd_reloc_type_lookup + doesn't accept BFD_RELOC_* on some targets, eg. hppa. + + * elf32-hppa.c (elf32_hppa_link_hash_entry): Remove plt_abs. + (hppa_link_hash_newfunc): Likewise. + (elf32_hppa_finish_dynamic_symbol): Likewise. + (allocate_dynrelocs): Always allocate .got relocs if shared. + (elf32_hppa_relocate_section): Output them too. Similarly + consolidate .plt reloc code, and no longer initialise .plt + when a reloc is output. + (elf32_hppa_finish_dynamic_symbol): Only initialise .plt entries + when no reloc is output. + + From Herbert Xu + * elf32-hppa.c (final_link_relocate): Call bfd_set_error for + unreachable branches. + +2001-10-22 H.J. Lu + + * configure.in (WIN32LIBADD): Use -L../libiberty for + mips*-*-linux*. + * configure: Rebuild. + +2001-10-21 H.J. Lu + + * configure.in (WIN32LIBADD): Include -L../libiberty/pic -liberty + if shared library is enabled only for Linux hosts. + * configure: Rebuild. + 2001-10-21 H.J. Lu * configure.in (WIN32LIBADD): Check if PICFLAG is defined in @@ -6,7 +509,8 @@ 2001-10-21 H.J. Lu - * elf32-cris.c (cris_reloc_type_lookup): Use int for index. + * elf32-cris.c (cris_reloc_type_lookup): Use int for index. Cover + index 0. 2001-10-20 H.J. Lu