* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if
[binutils-gdb.git] / bfd / ChangeLog
index 09d9c310567424a1b48993790b6b3f834f276159..4695b895c30b3cba11f9520ee80cb844efd44b8f 100644 (file)
@@ -1,3 +1,243 @@
+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.
+
+2002-01-04  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * config.bfd (x86_64-*-netbsd*): New target.
+       * configure.in (x86_64-*-netbsd*): Set COREFILE
+       to netbsd-core.lo.
+       * configure: Regenerated.
+
+2002-01-03  Tom Rix  <trix@redhat.com>
+
+       * xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering
+       for recent bfd_make_section_anyway change.
+
+2002-01-03  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * elf32-arm.h (elf32_arm_final_link_relocate): Handle
+       R_ARM_THM_PC11 reloc.
+
+2002-01-02  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * configure.in (LINGUAS): Add ja.
+       * configure: Regenerate.
+       * po/ja.po: Import from translation project's web site.
+
+2002-01-02  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error
+       messages to ease translation into other languages.
+
+2001-12-31  Jakub Jelinek  <jakub@redhat.com>
+
+       * elflink.h (elf_bfd_final_link): Check if dynobj is not NULL
+       before looking for .eh_frame_hdr section.
+       * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): If
+       .eh_frame_hdr section is being stripped from output, don't do
+       anything.
+
+2001-12-27  Tom Rix  <trix@redhat.com>
+
+       * coff-rs6000.c (xcoff_generate_rtinit): Clean data_buffer alloc/free.
+       * coff64-rs6000.c (xcoff64_generate_rtinit): Same.
+       (xcoff_write_archive_contents_big): Rewrite.
+       (xcoff_write_armap_big): Rewrite.
+       (xcoff_write_one_armap_big): Delete.
+       * libxcoff.h : Clean up.
+
+2001-12-21  Tom Rix  <trix@redhat.com>
+
+        * xcofflink.c (bfd_xcoff_link_generate_rtinit): New function.
+       Interface to linker for generation of __rtinit.
+       * libxcoff.h (struct xcoff_backend_data_rec): Add new ops to xcoff
+       backend to generate special linker symbol __rtinit.
+       * coff-rs6000.c (bfd_xcoff_backend_data, bfd_pmac_xcoff_backend_data)
+       :  Add new rtinit ops
+       * coff64-rs6000.c (bfd_xcoff_aix5_backend_data,
+       bfd_xcoff_backend_data): Same.
+       * bfd-in.h: Add bfd_xcoff_link_generate_rtinit.
+       * bfd-in2.h : Regenerate.
+
+2001-12-21  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf32-sparc.c (_bfd_sparc_elf_howto_table): Fix dst_mask for
+       R_SPARC_DISP32.  Support R_SPARC_PLT32.
+       (sparc_reloc_map): Add BFD_RELOC_16_PCREL and BFD_RELOC_SPARC_PLT32.
+       (elf32_sparc_check_relocs): Handle R_SPARC_PLT32.
+       (elf32_sparc_relocate_section): Likewise.
+       * elf64-sparc.c (sparc64_elf_howto_table): Fix dst_mask for
+       R_SPARC_DISP32.  Support R_SPARC_PLT32 and R_SPARC_PLT64.
+       (sparc_reloc_map): Add BFD_RELOC_16_PCREL, BFD_RELOC_64_PCREL
+       and BFD_RELOC_SPARC_PLT32.
+       (sparc64_elf_check_relocs): Handle R_SPARC_PLT32 and R_SPARC_PLT64.
+       (sparc64_elf_relocate_section): Likewise.
+       * reloc.c (bfd_reloc_code_type): Add BFD_RELOC_SPARC_PLT32.
+       * bfd-in2.h, libbfd.h: Rebuilt.
+
+2001-12-20  Tom Rix  <trix@redhat.com>
+
+       * coffcode.h (coff_compute_section_file_positions): Add special AIX
+       loader alignment of text section.
+
+2001-12-20  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * config.bfd (mips-dec-netbsd*): Delete alias for mips*el-*-netbsd*.
+
+       * config.bfd (arm-*-netbsdelf*): Add target.
+       * configure.in: Include netbsd-core.lo for native arm-*-netbsd*.
+       * configure: Regenerate.
+
+2001-12-20  Alan Modra  <amodra@bigpond.net.au>
+
+       * elfcode.h (elf_slurp_symbol_table): Test elf_elfsections for NULL,
+       as can happen with a core file, before dereferencing.
+
+2001-12-19  Michael Snyder  <msnyder@redhat.com>
+
+       * elf32-i386.c (elf_i386_grok_psinfo): Fix copy-and-paste error:
+       target is i386 (not mips), and size of descdata is 124 (not 128).
+
+2001-12-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): If new_size
+       is 0, temporarily grow it to minimal CIE size.
+       (_bfd_elf_write_section_eh_frame): If input .eh_frame section would
+       end up empty, build a fake minimal CIE.
+
+2001-12-19  Steve Ellcey  <sje@cup.hp.com>
+
+       * config.bfd (bfd_elf32_ia64_hpux_big_vec): New vector for
+       ia64*-*-hpux* target.
+       (bfd_elf64_ia64_hpux_big_vec): Likewise.
+       * targets.c: Ditto.
+       * configure.in: Ditto.
+       * configure: Regenerate
+       * elfxx-ia64.c (elfNN_ia64_final_write_processing): Replace use of
+       alloca with bfd_malloc.
+       (get_local_sym_hash): Likewise.
+       (elfNN_hpux_post_process_headers): New function.
+       #include elfNN-target.h again with values for IA64 HP-UX vector.
+
+2001-12-18  Michael Snyder  <msnyder@redhat.com>
+
+        * elf.c (assign_file_positions_for_segments): Don't sort PT_NOTE
+        sections of corefiles.  Also it makes no sense to sort if count == 1.
+
+2001-12-18  H.J. Lu <hjl@gnu.org>
+
+       * elf.c (_bfd_elf_copy_private_bfd_data): Also copy GP.
+
+2001-12-18  H.J. Lu <hjl@gnu.org>
+
+       * elf.c (_bfd_elf_copy_private_bfd_data): Update comments.
+
+2001-12-18  H.J. Lu <hjl@gnu.org>
+
+       * elf-bfd.h (_bfd_elf_copy_private_bfd_data): New. Prototype.
+       (_bfd_mips_elf_copy_private_bfd_data): Removed.
+
+       * elf.c (_bfd_elf_copy_private_bfd_data): New. Copy e_flags in
+       the ELF header.
+
+       * elf32-i370.c (??_elf_copy_private_bfd_data): Removed.
+       (bfd_elf??_bfd_copy_private_bfd_data): Removed.
+       * elf32-m32r.c: Likewise.
+       * elf32-m68k.c: Likewise.
+       * elf32-mcore.c: Likewise.
+       * elf32-mips.c: Likewise.
+       * elf32-ppc.c: Likewise.
+       * elf32-v850.c: Likewise.
+       * elf64-ppc.c: Likewise.
+       * elf64-sparc.c: Likewise.
+       * elfxx-ia64.c: Likewise.
+
+       * elf64-mips.c (bfd_elf64_bfd_copy_private_bfd_data): Removed.
+
+       * elfxx-target.h (bfd_elfNN_bfd_copy_private_bfd_data): Defined
+       to _bfd_elf_copy_private_bfd_data.
+
+2001-12-18  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+       * elf32-s390 (elf_s390_check_relocs): Pass addend to
+       gc_record_vtentry.
+       * elf64-s390 (elf_s390_check_relocs): Likewise.
+       Fix by Andreas Jaeger <aj@suse.de>.
+
+2001-12-18  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * configure.host: Correctly match all NetBSD/mips
+       hosts.
+
+2001-12-18  matthew green  <mrg@eterna.com.au>
+
+       * config.bfd (m68*-*-netbsdelf*): New target.
+       (m68*-*-netbsd): Also include bfd_elf32_m68k_vec.
+       (m68*-*-netbsdaout*): New alias for m68*-*-netbsd.
+
+2001-12-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * elflink.h (size_dynamic_sections): Skip anonymous version tag.
+       (elf_link_assign_sym_version): Don't count anonymous version tag.
+
+2001-12-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf-eh-frame.c (struct cie): Add make_lsda_relative.
+       (struct eh_cie_fde): Add lsda_encoding, lsda_offset,
+       make_lsda_relative.
+       (read_value, write_value): New.
+       (_bfd_elf_discard_section_eh_frame): Inicialize
+       lsda_encoding, lsda_offset and make_lsda_relative.
+       (_bfd_elf_eh_frame_section_offset): If make_lsda_relative,
+       request no dynamic reloc for LSDA field of FDE.
+       (_bfd_elf_write_section_eh_frame): Handle make_lsda_relative.
+       If a non-DW_EH_PE_absptr value is 0, don't adjust it by base
+       or pcrel.  Fix address computation for DW_EH_PE_pcrel relocs.
+       Update LSDA field if LSDA encoding is DW_EH_PE_pcrel, because
+       . might have changed due to deleted FDE or CIEs.
+
+2001-12-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf-strtab.c (struct elf_strtab_hash_entry): Add u.next.
+       (last_eq): Remove.
+       (_bfd_elf_strtab_finalize): Don't use a hash table for last
+       character chains, instead use an array.
+
+2001-12-18  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * elf.c (elfcore_netbsd_get_lwpid): New function.
+       (elfcore_grok_netbsd_procinfo): New function.
+       (elfcore_grok_netbsd_note): New function.
+       (elfcore_read_notes): Call elfcore_grok_netbsd_note to process
+       NetBSD ELF core file notes.
+
+2001-12-18  Alan Modra  <amodra@bigpond.net.au>
+
+       * elfcode.h (struct bfd_preserve): New.
+       (elf_object_p): Replace preserved_* vars with instance of above.
+       Save and restore arch_info pointer rather than arch, mach so that
+       more cases can be restored.  Save and restore new section_tail,
+       section_htab structure, and init appropriately.  Move "rest of
+       section header" code so that i_shdrp needs no NULL initialisation.
+       Free old section_htab on success.
+       * elfcore.h (elf_core_file_p): Likewise.
+
+2001-12-17  Tom Rix  <trix@redhat.com>
+
+       * coffcode.h (sec_to_styp_flags): Add STYP_EXCEPT and STYP_TYPCHK for
+       xcoff.
+
+2001-12-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf-bfd.h (elf_discarded_section): Define.
+       * elflink.h (elf_link_input_bfd): Use it.
+       (elf_reloc_symbol_deleted_p): Likewise.
+
+       * elf64-alpha.c (elf64_alpha_relocate_section): Don't warn about
+       overflows for pc relative relocs against discarded sections.
+
 2001-12-17  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
 
        * elf32-mips.c (_bfd_mips_elf_relocate_section): Formatting.
@@ -9,6 +249,7 @@
        (mips_elf64_perform_relocation): Likewise.
 
 2001-12-17  Alan Modra  <amodra@bigpond.net.au>
+
        Support for more than 64k ELF sections.
        * elf-bfd.h (elf_size_info <swap_symbol_out>): Add shndx param.
        (bfd_elf32_swap_symbol_in): Likewise.
 2001-12-07  Jim Blandy  <jimb@redhat.com>
 
        * elf32-s390.c (elf32_s390_grok_prstatus): New function.
-       (elf_backend_grok_prstatus): Define.    
+       (elf_backend_grok_prstatus): Define.
 
 2001-12-07  Jakub Jelinek  <jakub@redhat.com>
 
 
        * section.c (bfd_is_const_section): New macro.  Return true if the
        given seciton is one of the special, constant, sections.
-       * bfd-in2.h: Regenerate.        
+       * bfd-in2.h: Regenerate.
        * coffgen.c (coff_count_linenumbers): Use bfd_is_const_section.
        (coff_write_native_symbol): Use bfd_is_const_section.
 
 2001-11-14  Martin Schwidefsky  <schwidefsky@de.ibm.com>
 
        * elf32-s390.c (elf_s390_relocate_section): Use the "unresolved_reloc"
-       scheme to get rid of an ugly complicated test. 
+       scheme to get rid of an ugly complicated test.
        * elf64-s390.c (elf_s390_relocate_section): Likewise.
 
 2001-11-14  Andreas Jaeger  <aj@suse.de>