Don't mark relocations in excluded sections.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index a6465a18b4198d82760a0ab539f7e7a094b891c7..4328d502a205f2da2c9e59cddc9cef9c0581e8f1 100644 (file)
@@ -1,3 +1,349 @@
+2002-10-07  Mark Elbrecht  <snowball3@softhome.net>
+
+       * cofflink.c (mark_relocs): Don't mark relocations in excluded 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-10-06  Alan Modra  <amodra@bigpond.net.au>
+
+       * opncls.c: Formatting.
+       (_bfd_new_bfd): Use a smaller section hash table.
+
+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-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD
+       sequence and its transitions.
+
+2002-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32
+       to st_value + addend in non-code sections.
+       * elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve
+       R_X86_64_DTPOFF32 to st_value + addend in non-code sections.
+
+2002-09-30  Gavin Romig-Koch  <gavin@redhat.com>
+            Ken Raeburn  <raeburn@cygnus.com>
+            Aldy Hernandez  <aldyh@redhat.com>
+            Eric Christopher  <echristo@redhat.com>
+            Richard Sandiford  <rsandifo@redhat.com>
+
+       * archures.c (bfd_mach_mips4120, bfd_mach_mips5400): New.
+       (bfd_mach_mips5500): New.
+       * cpu-mips.c (I_mips4120, I_mips5400, I_mips5500): New.
+       (arch_info_struct): Add corresponding entries here.
+       * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_4120,
+       E_MIPS_MACH_5400 and E_MIPS_MACH_5500.
+       (_bfd_mips_elf_final_write_processing): Handle bfd_mach_mips4120,
+       bfd_mach_mips5400 and bfd_mach_mips5500.
+       (_bfd_mips_elf_mach_extends_p): New function.
+       (_bfd_mips_elf_merge_private_bfd_data): Use it to help merge
+       the EF_MIPS_MACH flags.
+       * bfd-in2.h: Regenerate.
+
+2002-09-28  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * elf32-vax.c (elf_vax_size_dynamic_section): Don't strip
+       .got sections.
+
+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-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-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * reloc.c: Add x86-64 TLS relocs.
+       * bfd-in2.h, libbfd.h: Rebuilt.
+       * elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit
+       relocs.  Add TLS relocs.
+       (x86_64_reloc_map): Add TLS relocs.
+       (elf64_x86_64_info_to_howto): Adjust for added TLS relocs.
+       (struct elf64_x86_64_link_hash_entry): Add tls_type field.
+       (GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define.
+       (elf64_x86_64_hash_entry): Define.
+       (struct elf64_x86_64_obj_tdata): New.
+       (elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define.
+       (struct elf64_x86_64_link_hash_table): Add tls_ld_got.
+       (link_hash_newfunc): Initialize tls_type.
+       (elf64_x86_64_link_hash_table_create): Initialize tls_ld_got.
+       (elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary.
+       (elf64_x86_64_mkobject): New.
+       (elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata.
+       (elf64_x86_64_tls_transition): New.
+       (elf64_x86_64_check_relocs): Add r_type variable and use it.
+       Handle TLS relocs.
+       (elf64_x86_64_gc_sweep_hook): Handle TLS relocs.
+       (allocate_dynrelocs): Allocate GOT space for TLS relocs.
+       (elf64_x86_64_size_dynamic_sections): Likewise.
+       (dtpoff_base, tpoff): New.
+       (elf64_x86_64_relocate_section): Handle TLS relocs.
+       (elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT
+       entries.
+       (bfd_elf64_mkobject): Define.
+
+       * elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
+       DF_STATIC_TLS if shared.
+
+2002-09-26  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+       * elfxx-mips.c (_bfd_mips_elf_fake_sections): Don't emit unneeded
+       empty relocation sections.
+
+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-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-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-23  Mark Elbrecht  <snowball3@softhome.net>
+
+       * config.bfd: For DJGPP targets, match with any cpu and any machine.
+
+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-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-21  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-ppc.c (ppc_elf_relocate_section): Allow ".sbss.*" and
+       ".sdata.*" for R_PPC_SDAREL16, ".sbss2*" and ".sdata2*" for
+       R_PPC_EMB_SDA2REL.  Similarly for R_PPC_EMB_SDA21 and
+       R_PPC_EMB_RELSDA.
+
+       * elfcode.h (elf_slurp_reloc_table_from_section): Make "symcount"
+       unsigned.  Move "symcount" assignment out of loop.
+       * Makefile.am: Run "make dep-am".
+       * Makefile.in: Regenerate.
+       * configure: Regenerate.
+       * po/SRC-POTFILES.in: Regnerate.
+
+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>
+
+       * 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-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-19  Nick Clifton  <nickc@redhat.com>
+
+       * elflink.h (elf_fix_symbol_flags): When examining weak symbols,
+       follow indirect links.
+
+2002-09-19  Nathan Tallent  <eraxxon@alumni.rice.edu>
+
+       * ecoffswap.h (ecoff_swap_pdr_in) <isym, iline>: Update to
+       correctly sign-extend 32-bit ECOFF null values (0xffffffff, -1)
+       on 64 bit machines.
+       (ecoff_swap_sym_in) <iss>: Likewise.
+       * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Fix error reading
+       ECOFF information: 'ioptMax' refers to the actual *size*
+       of the optimization symtab, not the number of entries.
+
+2002-09-19  Daniel Jacobowitz  <drow@mvista.com>
+
+       * elf32-arm.h (elf32_arm_adjust_dynamic_symbol): Update
+       ELF_LINK_HASH_NEEDS_PLT logic.
+
+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  Stan Cox <scox@redhat.com> 
+
+       * elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3.
+       (mips_elf64_final_gp): Don't make up gp value.
+       * elfn32-mips.c (mips_elf_final_gp): Likewise.
+       * elfxx-mips.c (_bfd_mips_elf_final_link): Always create
+       .MIPS.options/.options section.
+
+2002-09-17  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-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf32-i386.c (elf_i386_relocate_section) [R_386_TLS_TPOFF32]: Negate
+       addend.
+
+2002-09-17  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-alpha.c (alpha_elf_size_info): Make static.
+
+2002-09-17  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+       * coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
+       * cpu-tic4x.c: Ditto.
+
+2002-09-17  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+       * elf64-mips.c (define elf_backend_ignore_discarded_relocs): Remove
+       duplicate define.
+
+2002-09-16  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-12  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-12  Nick Clifton  <nickc@redhat.com>
+
+       * elf32-arm.h (elf32_arm_final_link_relocate): Fix handling of
+       R_ARM_THM_PC11.
+
+2002-09-11  Jeffrey Law  <law@redhat.com>
+
+       * elf32-h8300.c (elf32_h8_relax_section): Fix typo.
+
+2002-09-11  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-09-11  Nick Clifton  <nickc@redhat.com>
+
+       * po/da.po: New Danish translation file.
+       * configure.in (LINGUAS): Add 'da'.
+       * configure: Regenerate.
+
+2002-09-10  Michael Snyder  <msnyder@redhat.com>
+
+       * irix-core.c (do_sections, do_sections64): New functions.
+       (irix_core_core_file_p): Call new functions do_sections, 
+       do_sections64, depending on corefile (32-bit or 64-bit).
+
+2002-09-09  Richard Henderson  <rth@redhat.com>
+
+       * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
+       and PCREL21F like PCREL21B.
+
 2002-09-04  Kevin Buettner  <kevinb@redhat.com>
 
        * config.bfd (mips*-*-irix6*): Add new ABI vectors.  Make n32 default
        bfd_elf_get_elf_syms().
         Fixup problems with freeing cached allocated memory blocks.
 
-
 2002-09-02  Alan Modra  <amodra@bigpond.net.au>
 
        * cpu-pj.c (scan_mach, compatible, arch_info_struct): Remove.
        * elf64-ppc.c (ppc64_elf_relocate_section): Allow unresolved
        relocs in opd for non-shared too.
 
-2002-06-06  Jeffrey Law <law@redhat.com
+2002-06-06  Jeffrey Law  <law@redhat.com>
 
        * elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting
        relocations.
This page took 0.027802 seconds and 4 git commands to generate.