OSDN Git Service

* elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: Increment
[pf3gnuchains/pf3gnuchains4x.git] / bfd / ChangeLog
index 50d5ecc..5f15b7e 100644 (file)
@@ -1,7 +1,809 @@
+2002-10-14  Richard Henderson  <rth@redhat.com>
+
+       * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: Increment
+       VALUE, not ADDEND.
+
+2002-10-14  Stephen Clarke <stephen.clarke@superh.com>
+
+       * elf32-sh.c (elf_sh_link_hash_entry): Replace
+       datalabel_got_offset with union of datalabel_got
+       offset and refcount.
+       (sh_elf_link_hash_newfunc): Initialize datalabel_got.refcount.
+       (allocate_dynrelocs): Delete unnecessary code for
+       STT_DATALABEL type.  Create entry in got for
+       datalabel version of symbol if datalabel_got.refcount > 0.
+       (sh_elf_relocate_section): Use datalabel_got union.
+       (sh_elf_gc_sweep_hook): Pull common code to initialize
+       h and eh out of switch statement.  Declare seen_stt_datalabel.
+       Initialize it.  Decrement datalabel_got.refcount for
+       got relocs when seen_stt_datalabel is true.
+       Decrement local_got_refcounts entry for datalabel got relocs
+       of local symbols.
+       (sh_elf_copy_indirect_symbol): Copy datalabel_got field over.
+       (sh_elf_check_relocs): Declare seen_stt_datalabel.
+       Initialize it.  When seen_stt_datalabel is true, increment
+       datalabel_got refcount rather than got.refcount.
+       (sh_elf_finish_dynamic_symbol): Create relocs to
+       initialize got entry for datalabel version of symbol.
+
+2002-10-14  Alan Modra  <amodra@bigpond.net.au>
+
+       * Makefile.am: Run "make dep-am".
+       (BFD_H_FILES): Remove version.h.
+       * bfd-in.h (BFD_VERSION, BFD_VERSION_DATE, BFD_VERSION_STRING): Move..
+       * version.h: ..to here.
+       * configure.in (bfd_version_date): Remove.
+       (AC_OUTPUT): Make bfdver.h from version.h.
+       * bfd.c: #include "bfdver.h".
+       * vms-hdr.c: Likewise.
+       * Makefile.in: Regenerate.
+       * bfd-in2.h: Regenerate.
+       * configure: Regenerate.
+       * po/SRC-POTFILES.in: Regenerate.
+
+2002-10-14  Alan Modra  <amodra@bigpond.net.au>
+
+       * archures.c (bfd_mach_i386_i386, bfd_mach_i386_i8086,
+       bfd_mach_i386_i386_intel_syntax, bfd_mach_x86_64,
+       bfd_mach_x86_64_intel_syntax bfd_mach_ppc, bfd_mach_ppc64,
+       bfd_mach_rs6k, bfd_mach_d10v, bfd_mach_sh, bfd_mach_v850,
+       bfd_mach_arc_5, bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8,
+       bfd_mach_m32r, bfd_mach_frv, bfd_mach_frvsimple,
+       bfd_mach_ia64_elf64, bfd_mach_ia64_elf32,
+       bfd_mach_ip2022, bfd_mach_ip2022ext,
+       bfd_mach_s390_31, bfd_mach_s390_64, bfd_mach_xstormy16): Renumber.
+       * bfd-in2.h: Regenerate.
+
+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-13  Alexandre Oliva  <aoliva@redhat.com>
+
+       * elfxx-mips.c (mips_elf_calculate_relocation): Take
+       save_addend argument.  Don't apply the 32-bit mask to a
+       GPREL32 value if it's to be used in another relocation.  Don't
+       use forced-check computation of local_p to decide whether to
+       add gp0 to GPREL16 value.  Don't use only the lowest 16 bits
+       of the addend of a non-in-place GPREL16 relocation.
+       (_bfd_mips_elf_relocate_section): Pass use_saved_addend_p to
+       mips_elf_calculate_relocation().
+
+2002-10-12  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * elf32-m68hc11.c (m68hc11_elf_relax_section): Don't treat relocs
+       with symbols in other sections if we relaxed something;  the sections
+       output offsets must be re-computed before.
+
+2002-10-12  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * elf32-m68hc11.c (m68hc11_elf_relax_section): Update symbols
+       handling to use Elf_Internal_Sym.
+       (m68hc11_elf_relax_delete_bytes): Likewise.
+
+2002-10-11  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+       * elf32-sh.c (sh_elf_optimized_tls_reloc, sh_elf_mkobject,
+       sh_elf_object_p, dtpoff_base): New functions.
+       (sh_elf_howto_table): Add TLS relocs.
+       (sh_reloc_map): Likewise.
+       (sh_elf_info_to_howto): Support TLS relocs.
+       (elf_sh_link_hash_entry): Add tls_type and tls_tpoff32.
+       (sh_elf_hash_entry, sh_elf_tdata, sh_elf_local_got_tls_type):
+       New macros.
+       (sh_elf_obj_tdata): New.
+       (elf_sh_link_hash_table): Add tls_ldm_got.
+       (sh_elf_link_hash_table_create): Clear refcount of tls_ldm_got.
+       (allocate_dynrelocs): Support TLS relocs.
+       (sh_elf_size_dynamic_sections): Likewise.
+       (sh_elf_relocate_section): Support TLS relocs.  Don't try to find
+       .rela.got section when found already.  Return false after printing
+       error about unresolvable relocation.
+       (sh_elf_gc_sweep_hook): Support TLS relocs.
+       (sh_elf_check_relocs): Likewise.
+       (sh_elf_finish_dynamic_symbol): Likewise.
+       (bfd_elf32_mkobject, elf_backend_object_p): Define for TLS case.
+       * reloc.c: Add SH TLS relocs.
+       * bfd-in2.h, libbfd.h: Regenerate.
+
+2002-10-11  Daniel Jacobowitz  <drow@mvista.com>
+
+       * Makefile.in: Regenerated.
+
+2002-10-11  Daniel Jacobowitz  <drow@mvista.com>
+
+       * Makefile.am: Run dep-am.
+       (BFD_H_DEP): Add simple.c and linker.c.
+       (BFD32_LIBS): Add simple.lo.
+       (BFD32_LIBS_CFILES): Add simple.c.
+       * Makefile.in: Regenerated.
+       * bfd-in2.h: Regenerated.
+       * simple.c: New file.
+
+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-10  Stephen Clarke <stephen.clarke@superh.com>
+
+       * elf32-sh.c (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
+       Correct mistake in calculation of address of .got.
+       * elf64-sh64.c (elf_sh64_pic_plt_entry_be,
+       elf_sh64_pic_plt_entry_le): Likewise.
+
+2002-10-09  Richard Shann <richard.shann@superh.com>
+           Stephen Clarke <stephen.clarke@superh.com>
+
+       * Makefile.am: Add entries for elf32-sh64-lin.c and
+       elf64-sh64-lin.c. Regenerate.
+       * Makefile.in: Regenerate.
+       * config.bfd:  Change sh64eb-*-linux* and sh64-*-linux*
+       to use sh64 vectors rather than sh vectors.
+       * configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
+       bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
+       * configure: Regenerate.
+       * elf32-sh64-lin.c: New file.
+       * elf64-sh64-lin.c: New file.
+       * targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
+       bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
+       
+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-08  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (edit_opd): Correct test for discarded sections.
+
+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
+       vector.
+
+2002-09-02  Nick Clifton  <nickc@redhat.com>
+
+       * elf32-v850.c (v850_elf_final_link_relocate): Use helpful
+       names instead of cryptically overloaded bfd_reloc error
+       codes.
+       (v850_elf_relocate_section): Likewise.
+       (v850_elf_relax_section): Replace caching of external symbols
+       with caching of internal symbols obtained from calling
+       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.
+       (bfd_pj_arch): Use bfd_default_scan.
+       * cpu-v850.c (scan): Remove.
+       (N): Use bfd_default_scan.
+       * cpu-z8k.c (scan_mach): Remove.
+       (arch_info_struct, bfd_z8k_arch): Reorganize so that the default is
+       first.  Use bfd_default_scan.
+
+       * ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded
+       bfd_mach constants.
+       (ecoff_get_magic): Likewise.
+       * elf32-v850.c (v850_elf_object_p): Likewise.
+       (v850_elf_final_write_processing): Likewise.
+       * mipsbsd.c (MY(set_arch_mach)): Likewise.
+       (MY(write_object_contents)): Likewise.
+       * coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
+       * coffcode.h (coff_write_object_contents): Likewise.
+       (coff_set_arch_mach_hook): Add comment describing machine == 0.
+       Remove unnecessary "machine" assignments.
+       (coff_write_relocs): Test for the absolute section sym by testing
+       section and flags.
+
+       * aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386
+       and bfd_mach_i386_i386_intel_syntax.
+       * pdp11.c (NAME(aout,machine_type)): Likewise.
+
+2002-08-30  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-30  Alan Modra  <amodra@bigpond.net.au>
+
+       * Makefile.am: Run "make dep-am".
+       * Makefile.in: Regenerate.
+
+       * cpu-avr.c (compatible): Don't use hard-coded mach constants.
+       * cpu-powerpc.c (powerpc_compatible): Likewise.
+       * cpu-rs6000.c (rs6000_compatible): Likewise.
+
+2002-08-28  Catherine Moore  <clm@redhat.com>
+
+       * elf32-v850.c (v850_elf_reloc_map):  Add new relocs.
+       (v850-elf-reloc): Don't resolve pc relative relocs.
+       (v850_elf_ignore_reloc): New routine.
+       (v850_elf_final_link_relocate): Handle new relocs.
+       (v850_elf_relax_delete_bytes ): New routine.
+       (v850_elf_relax_section): New routine.
+       (bfd_elf32_bfd_relax_section): Define.
+       (HOWTO): New entries for new relocs.
+       * reloc.c (BFD_RELOC_V850_LONGCALL): New reloc.
+       (BFD_RELOC_V850_LONGJUMP): New reloc.
+       (BFD_RELOC_V850_ALIGN): New reloc.
+       * archures.c: Remove redundant v850ea architecture.
+       * cpu-v850.c: Remove redundant v850ea support.
+       * libbfd.h: Regenerate.
+       * bfd-in2.h: Regenerated.
+
+2002-08-28  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+       * config.bfd: Add tic4x-*-*coff* and c4x-*-*coff* target.
+       * configure.in: Add tic4x_coff vector files.
+       * configure: Regenerate.
+       * Makefile.am: Add tic4x target.
+       * Makefile.in: Regenerate.
+
+2002-08-27  Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+       * archures.c: Add the BFD arch type tic4x.
+       * bfd-in.h: Add BFD_IN_MEMORY flag.
+       * coff-tic4x.c: New file.
+       * coffswap.h (coff_swap_sym_out): Add preadjuster.
+       * cpu-tic4x.c: New file.
+       * targets.c: Added tic4x- in list of xvecs.
+       * ticoff.h: New file.
+       * bfd-in2.h: Regenerate.
+
+2002-08-27  Adam Nemet  <anemet@lnxw.com>
+
+       * elf32-arm.h (elf32_arm_finish_dynamic_sections): Set the last
+       bit of DT_INIT and DT_FINI for Thumb functions.
+
+2002-08-26  Alan Modra  <amodra@bigpond.net.au>
+
+       * coffcode.h (coff_set_arch_mach_hook): Handle W65MAGIC.
+
+2002-08-26  Alan Modra  <amodra@bigpond.net.au>
+
+       * aoutx.h (NAME(aout,reloc_type_lookup)): Handle BFD_RELOC_8.
+
+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-23  Nick Clifton  <nickc@redhat.com>
+
+       * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Undo
+       previous change.  Add comment explaining why.
+
+2002-08-23  Stephen Clarke <stephen.clarke@superh.com>
+
+       * elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le): Copy
+       contents of .got.plt[2] to tr0, not address of .got.plt.
+       (sh_elf_finish_dynamic_symbol): Do not apply GOT_BIAS when
+       patching absolute plt entry. For shmedia plt entry, set bottom bit
+       of branch to plt0 as this is a branch to an shmedia instruction.
+       * elf64-sh64.c (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le):
+       Copy contents of .got.plt[2] to tr0, not address of .got.plt.
+       (elf_sh64_plt_entry_be, elf_sh64_plt_entry_le): Use ptrel to
+       branch to plt0.
+       (sh64_elf64_finish_dynamic_symbol): Do not apply GOT_BIAS when
+       patching absolute plt entry. For shmedia plt entry, branch to
+       plt0 is now ptrel, so use relative offset.  Set bottom bit of
+       branch target as it is a branch to an shmedia instruction.
+
+2002-08-23  Stephen Clarke <stephen.clarke@superh.com>,
+           Richard Shann <richard.shann@superh.com>
+
+       * elf32-sh.c (sh_elf_finish_dynamic_sections): Set LSB of DT_INIT
+       value if .init is an SHmedia function.  Similarly for DT_FINI.
+       * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
+
+2002-08-23  Stephen Clarke <stephen.clarke@superh.com>
+
+       * elf32-sh.c (sh_elf_size_dynamic_sections): Zero initialize
+       dynamic section.
+       * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
+
+2002-08-22  Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+       * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use a simple
+       byte read when reading the return address register column.
+
+2002-08-22  Nick Clifton  <nickc@redhat.com>
+
+       * config.bfd: Add powepc64-*-*bsd* target.
+
+2002-08-22  Graeme Peterson  <gp@qnx.com>
+
+       * Makefile.am: Add entries for elf32-shqnx.c
+       * Makefile.in: Regenerate.
+       * config.bfd: Add support sh-*-nto* target.
+       * configure.in: Add support for bfd_elf32_sh{l}qnx_vec.
+       * configure: Regenerate.
+       * elf32-qnx.h: Changed typo "elf_i386qnx_*" to "elf_qnx_*" .
+       * elf32-sh.c: Do not include elf32-target.h if
+       ELF32_SH_C_INCLUDED is defined.
+       * elf32-shqnx.c: New file: Support for QNX.
+       * targets.c: Add bfd_elf32_sh{l}qnx_vec.
+
+2002-08-22  Nick Clifton  <nickc@redhat.com>
+
+       * po/tr.po: Updated Turkish translation.
+
+       * syms.c (_bfd_generic_read_minisymbols): Set bfd_error if the
+       symbols are not read.
+
+2002-08-22  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-m68hc11.c: Formatting fixes.
+       (elf32_m68hc11_gc_mark_hook): Correct params.  Remove unnecessary test.
+       * elf32-m68hc12.c: Formatting fixes.
+       (elf32_m68hc11_gc_mark_hook): Correct params.  Remove unnecessary test.
+
+2002-08-22  Alan Modra  <amodra@bigpond.net.au>
+
+       * coff-rs6000.c (rs6000coff_vec <object_flags>): Add SEC_CODE and
+       SEC_DATA.
+       (pmac_xcoff_vec): Likewise.
+       * coff64-rs6000.c (rs6000coff64_vec): Likewise.
+       (aix5coff64_vec): Likewise.
+
+2002-08-22  Alan Modra  <amodra@bigpond.net.au>
+
+       * 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-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Add PARAMS to
+       argument declaration.
+
+2002-08-19  Elena Zannoni <ezannoni@redhat.com>
+
+       * archures.c (bfd_mach_ppc_e500): Added.
+       * bfd-in2.h: Rebuilt.
+       * cpu-powerpc.c (bfd_powerpc_archs): Added e500.
+
+2002-08-19  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-m68hc12.c (elf_backend_can_gc_sections): False.
+
 2002-08-17  Andrew Cagney  <ac131313@redhat.com>
 
        * elf.c (bfd_elf_get_elf_syms): Change type of `esym' to
-       `bfd_byte'.
+       `bfd_byte'.
 
 2002-08-17  Stan Cox  <scox@redhat.com>
 
        * bfd/elf32-sh.c (sh_elf_gc_mark_hook): For sh64, skip indirect
        symbols when looking for section referred to by a relocation.
        * bfd/elf64-sh.c (sh_elf64_gc_mark_hook): Likewise.
-       
+
 2002-08-15  Alan Modra  <amodra@bigpond.net.au>
 
        * elf32-i370.c: Move reloc enum to include/elf/i370.h.
 
 2002-08-09  Graeme Peterson  <gp@qnx.com>
 
-       * Makefile.am: Add entries for elf32-ppcqnx.c, and add 
+       * Makefile.am: Add entries for elf32-ppcqnx.c, and add
        elf32-qnx.h dependency to elfarmqnx-nabi.c and elf32-i386qnx.c.
        * Makefile.in: Regenerate.
        * config.bfd: Add support for powerpc{le}-*-nto targets.
        * 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.