* elf32-i386.c (elf_i386_relocate_section): Don't complain about
[binutils-gdb.git] / bfd / ChangeLog
index f1f83f7b68ff644458f8e3f86338ab69c132f6dd..3dc0f25408c13de7fd1edd7c01ab0b95de44b75d 100644 (file)
@@ -1,3 +1,204 @@
+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.
+       * 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