* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 7f6ee721f23220db3fb203d198ed7d7deaf5a29d..28c83a6ff459b51afd7ceef85a16c0a57b327f30 100644 (file)
+2002-05-25  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
+       (ppc64_elf_check_relocs): Don't set up function descriptor symbol
+       strings to point inside function code sym string.
+       (func_desc_adjust): Likewise.
+       (ppc64_elf_hide_symbol): Rewrite code to look up function code sym.
+
+2002-05-24  Michal Ludvig  <mludvig@suse.cz>
+
+       * elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added.
+       (elf64_x86_64_grok_psinfo): Added.
+
+2002-05-24  TAMURA Kent <kent@netbsd.org>
+
+       * config.bfd: Add a target for i386-netbsdpe.
+
+2002-05-24  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func
+       and is_func_descriptor.
+       (func_desc_adjust): Hide function code sym in shared libs unless
+       there is a matching exported function descriptor sym.
+
+2002-05-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
+       for symbols from SHF_TLS section.
+       (_bfd_elf_print_private_bfd_data): Add PT_TLS.
+       (elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
+       (map_sections_to_segments): Build PT_TLS segment if necessary.
+       (assign_file_positions_for_segments): Likewise.
+       (get_program_header_size): Account for PT_TLS segment.
+       (swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
+       SEC_THREAD_LOCAL sections to STT_TLS.
+       * reloc.c: Add 386 and IA-64 TLS relocs.
+       * section.c (SEC_THREAD_LOCAL): Define.
+       (SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
+       Remove.
+       * elflink.h (elf_link_add_object_symbols): Support .tcommon.
+       (size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
+       unconditionally.
+       (struct elf_final_link_info): Add first_tls_sec.
+       (elf_bfd_final_link): Set first_tls_sec.
+       Compute elf_hash_table (info)->tls_segment.
+       (elf_link_output_extsym): Handle STT_TLS symbols.
+       (elf_link_input_bfd): Likewise.
+       * syms.c (BSF_THREAD_LOCAL): Define.
+       * bfd-in2.h: Rebuilt.
+       * libbfd.h: Rebuilt.
+       * elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
+       elf_i386_mkobject, elf_i386_object_p): New functions.
+       (elf_howto_table): Add TLS relocs.
+       (elf_i386_reloc_type_lookup): Support TLS relocs.
+       (elf_i386_info_to_howto_rel): Likewise.
+       (struct elf_i386_link_hash_entry): Add tls_type.
+       (struct elf_i386_obj_tdata): New.
+       (elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
+       New macros.
+       (struct elf_i386_link_hash_table): Add tls_ldm_got.
+       (link_hash_newfunc): Clear tls_type.
+       (elf_i386_check_relocs): Support TLS relocs.
+       (elf_i386_gc_sweep_hook): Likewise.
+       (allocate_dynrelocs): Likewise.
+       (elf_i386_size_dynamic_sections): Likewise.
+       (elf_i386_relocate_section): Likewise.
+       (elf_i386_finish_dynamic_symbol): Likewise.
+       (bfd_elf32_mkobject, elf_backend_object_p): Define.
+       * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
+       dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
+       want_tprel, want_dtpmod, want_dtprel.
+       (elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
+       (ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
+       R_IA64_LTOFF_TPREL22.
+       (elf_code_to_howto_index): Add TLS relocs.
+       (elfNN_ia64_check_relocs): Support TLS relocs.
+       (allocate_global_data_got): Account for TLS .got data.
+       (allocate_dynrel_entries): Account for TLS dynamic relocations.
+       (elfNN_ia64_install_value): Supprt TLS relocs.
+       (set_got_entry): Support TLS relocs.
+       (elfNN_ia64_relocate_section): Likewise.
+
+2002-05-23  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * elf32-arm.h (elf32_arm_final_link_relocate): For the Thumb
+       BLX reloc round the relocation up rather than down.
+       * coff-arm.c (coff_arm_relocate_section): Likewise.
+
+2002-05-21  H.J. Lu  (hjl@gnu.org)
+
+       * linker.c (_bfd_generic_link_add_one_symbol): Allow multiple
+       definition.
+
+2002-05-22  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.
+       (ppc64_elf_relocate_section): Handle unresolved relocs in opd.
+
+2002-05-22  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (ppc64_elf_relocate_section): Return false for
+       unresolved relocs.
+       (ppc64_elf_size_dynamic_sections): Check for splt NULL.
+
+2002-05-21  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+       * bfd/bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
+       non-ELF targets.
+
+2002-05-21  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+       * elf-bfd.h (elf_backend_emit_relocs): Change prototype to return
+       an error value.
+       * elflink.h (elf_link_output_relocs): Likewise. Improve error message.
+       return with false on error.
+       (elf_link_input_bfd): Check reloc_emitter return value.
+
+2002-05-21  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * config.bfd (armeb-*-netbsdelf*): New target.
+
+2002-05-20  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (ppc_build_one_stub): Point undefined function syms
+       at the plt call stub.
+
+2002-05-19  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+       * cpu-mips.c (mips_compatible): Don't try to check machine
+       compatibility.
+
+2002-05-18  Tom Rix  <trix@redhat.com>
+
+       * coff64-rs6000.c (_bfd_xcoff64_swap_aux_out):  Fix C_FILE auxent.
+
+2002-05-17  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (ppc64_elf_info_to_howto): Formatting.
+       (ppc64_elf_relocate_section): Don't warn about reloc overflow when
+       we've already warned about an undefined symbol.  Report more
+       detail on reloc errors.
+
+2002-05-17  Alan Modra  <amodra@bigpond.net.au>
+
+       * acinclude.m4 (AM_INSTALL_LIBBFD): New.
+       * configure.in: Invoke AM_INSTALL_LIBBFD.
+       * Makefile.am (install-data-local): Revert 2002-05-13.  Move to..
+       (install_libbfd): .. New target.
+       (uninstall_libbfd): Likewise.
+       (install-bfdlibLTLIBRARIES): Likewise.
+       (uninstall-bfdlibLTLIBRARIES): Likewise.
+       (bfdlibdir): New.
+       (bfdincludedir): New.
+       (lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
+       * aclocal.m4: Regenerate.
+       * configure: Regenerate.
+       * Makefile.in: Regenerate.
+
+2002-05-17  Stuart Balfour <sbalfour@cisco.com>
+
+       * hash.c (bfd_hash_lookup): Remove computation of len from inside
+       hash loop.
+
+2002-05-16  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * config.bfd: Add targets for sh64-linux (little endian and
+       big endian).
+
+2002-05-15  Laurent Pinchart <laurent.pinchart@skynet.be>
+
+       * peXXigen.c (pe_print_idata): Do not assume that the first thunk
+       is located in the same section as the import table.  Instead
+       check, and if necessary load the section containing the thunk.
+
+2002-05-15  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * aix5ppc-core.c (xcoff64_core_p): Replace bfd_read with
+       bfd_bread.
+       (xcoff64_core_file_matches_executable_p): Replace bfd_read
+       with bfd_bread.
+
+2002-05-15  Alan Modra  <amodra@bigpond.net.au>
+
+       * aix5ppc-core.c: Warning fixes.
+       * aout-adobe.c (aout_32_bfd_link_just_syms): Define.
+       * aout-target.h (MY_bfd_link_just_syms): Define.
+       * aout-tic30.c (MY_bfd_link_just_syms): Define.
+       * bfd.c (bfd_link_just_syms): Define.
+       * binary.c (binary_bfd_link_just_syms): Define.
+       * bout.c (b_out_bfd_link_just_syms): Define.
+       * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer.
+       * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
+       * coffcode.h (coff_bfd_link_just_syms): Define.
+       * elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS.
+       (elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS.
+       (_bfd_elf_link_just_syms): Declare.
+       * elf.c (_bfd_elf_link_just_syms): New function.
+       * elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that
+       sections haven't already been discarded by the linker.
+       * elflink.h (elf_link_add_object_symbols): Likewise for stab
+       sections and SEC_MERGE sections.
+       (elf_bfd_discard_info): Similarly here.
+       * elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define.
+       * i386msdos.c (msdos_bfd_link_just_syms): Define.
+       * i386os9k.c (os9k_bfd_link_just_syms): Define.
+       * ieee.c (ieee_bfd_link_just_syms): Define.
+       * ihex.c (ihex_bfd_link_just_syms): Define.
+       * libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define.
+       (_bfd_generic_link_just_syms): Declare.
+       * libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define.
+       * linker.c (_bfd_generic_link_just_syms): New function.
+       * mmo.c (mmo_bfd_link_just_syms): Define.
+       * nlm-target.h (nlm_bfd_link_just_syms): Define.
+       * oasys.c (oasys_bfd_link_just_syms): Define.
+       * ppcboot.c (ppcboot_bfd_link_just_syms): Define.
+       * som.c (som_bfd_link_just_syms): Define.
+       * srec.c (srec_bfd_link_just_syms): Define.
+       * targets.c (struct bfd_target): Add _bfd_link_just_syms.
+       (BFD_JUMP_TABLE_LINK): And here.
+       * tekhex.c (tekhex_bfd_link_just_syms): Define.
+       * versados.c (versados_bfd_link_just_syms): Define.
+       * vms.c (vms_bfd_link_just_syms): Define.
+       * libbfd.h: Regenerate.
+       * bfd-in2.h: Regenerate.
+
+2002-05-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+       * elf32-mips.c: Remove superfluous definitions copied from
+       elfxx-mips.c.
+       (bfd_elf32_bigmips_vec,bfd_elf32_littlemips_vec): Use the
+       SGIish vectors to check the special case.
+       (mips_elf_hi16_reloc): Fix comment.
+       (mips_elf_got16_reloc): Likewise.
+       (_bfd_mips_elf32_gprel16_reloc): Likewise.
+       (elf_reloc_map): Code cleanup.
+       (mips_reloc_map): Add comment.
+       (bfd_elf23_bfd_reloc_type_lookup): Code cleanup.
+       (mips_elf32_rtype_to_howto): Likewise.
+       (mips_elf32_discard_info): Likewise.
+       (elf32_mips_irix_compat): Invert logic: Only SGIish vectors
+       lead to IRIX compatibility now.
+
+2002-05-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+       * elfxx-mips.c: Call it IRIX, not Irix in comments.
+
+2002-05-13  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * config.bfd (shle-*-netbsdelf*): Add target which includes
+       sh64 support.
+
+2002-05-13  David Edelsohn  <edelsohn@gnu.org>
+
+       * configure.in: Revert 2002-04-07.  Instead, auto-configure
+       HAVE_ST_C_IMPL.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+       * rs6000-core.c (CNEW_IMPL): Guard use of c_impl with HAVE_ST_C_IMPL
+       or AIX_5_CORE.
+
+2002-05-11  Federico G. Schwindt <fgsch@olimpo.com.br>
+
+       * configure.in (sparc*-*-openbsd*): Support sparc64-openbsd
+       corefiles as well.2
+       * configure: Regenerate.
+
+2002-05-13  Alan Modra  <amodra@bigpond.net.au>
+
+       * Makefile.am (install-data-local): Install headers to
+       $(exec_prefix)/include.
+       * Makefile.in: Regenerate.
+
+2002-05-11  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
+           Daniel Jacobowitz  <drow@mvista.com>
+
+       * coff-sh.c (sh_reloc_map): Map to R_SH_IMM32 for non-PE.  Don't
+       map BFD_RELOC_RVA.
+
+2002-05-11  Federico G. Schwindt <fgsch@olimpo.com.br>
+
+       * config.bfd (alpha*-*-openbsd*, sparc64*-*-openbsd*,
+       hppa*-*-openbsd*): New targets.
+       * configure.in (alpha*-*-openbsd*): Set COREFILE.
+       * configure: Regenerate.
+
+2002-05-10  Tom Rix  <trix@redhat.com>
+
+       * coff64-rs6000.c (xcoff64_reloc_type_br): New function for
+       xcoff64_ppc_relocate_section.
+       * coff-rs6000.c : Extern common xcoff_reloc_type functions.
+       * libxcoff.h: Common xcoff_reloc_type function declaration.
+
+2002-05-10  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-i386.c (elf_i386_relocate_section): Remove overflow checks
+       addend in 2002-05-09 commit.
+
+       * elf32-hppa.c (elf32_hppa_size_stubs): Revert part of 2002-05-04,
+       don't look for stubs on all undefined syms.
+
+2002-05-09  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (RA_REGISTER_MASK, RA_REGISTER_SHIFT): Delete.
+       (ppc64_elf_howto_raw <R_PPC64_RELATIVE>): Not pc_relative or
+       pcrel_offset.
+
+       * elf32-i386.c (elf_howto_table): Comments.
+       (elf_i386_relocate_section): Handle more relocs for relocatable
+       linking and against SEC_MERGE sections.
+
+2002-05-08  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-ppc.c (ppc_elf_create_got): New function.
+       (ppc_elf_create_dynamic_sections): Call ppc_elf_create_got before
+       _bfd_elf_create_dynamic_sections.  Correct .plt flags.
+       (ppc_elf_check_relocs): Use ppc_elf_create_got in place of
+       _bfd_elf_create_got_section.
+
+2002-05-07  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf-bfd.h (struct elf_backend_data): Add rela_normal.
+       * elfxx-target.h (elf_backend_rela_normal): Define.
+       (elfNN_bed): Init rela_normal.
+       * elflink.h (elf_link_input_bfd <emit_relocs>): Handle adjustment
+       for section symbols here if rela_normal.  Simplify abs section test.
+       * elf-m10200.c (mn10200_elf_relocate_section): If relocatable,
+       return immediately.  Remove code handling relocatable linking.
+       * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
+       * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
+       * elf32-i370.c (i370_elf_relocate_section): Likewise.
+       * elf32-i860.c (elf32_i860_relocate_section): Likewise.
+       * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+       * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
+       * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
+       * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+       * elf32-s390.c (elf_s390_relocate_section): Likewise.
+       * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
+       * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+       * elf64-s390.c (elf_s390_relocate_section): Likewise.
+       * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+       * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
+       * elf32-arm.h (elf32_arm_relocate_section): Likewise #ifndef USE_REL.
+       * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
+       * elf-m10200.c (elf_backend_rela_normal): Define.
+       * elf-m10300.c (elf_backend_rela_normal): Define.
+       * elf32-fr30.c (elf_backend_rela_normal): Define.
+       * elf32-i370.c (elf_backend_rela_normal): Define.
+       * elf32-i860.c (elf_backend_rela_normal): Define.
+       * elf32-m68k.c (elf_backend_rela_normal): Define.
+       * elf32-mcore.c (elf_backend_rela_normal): Define.
+       * elf32-openrisc.c (elf_backend_rela_normal): Define.
+       * elf32-ppc.c (elf_backend_rela_normal): Define.
+       * elf32-s390.c (elf_backend_rela_normal): Define.
+       * elf32-xstormy16.c (elf_backend_rela_normal): Define.
+       * elf64-ppc.c (elf_backend_rela_normal): Define.
+       * elf64-s390.c (elf_backend_rela_normal): Define.
+       * elf64-x86-64.c (elf_backend_rela_normal): Define.
+       * elfxx-ia64.c (elf_backend_rela_normal): Define.
+       * elf32-arm.h (elf_backend_rela_normal): Define #ifndef USE_REL.
+       * elf32-m32r.c (elf_backend_rela_normal): Likewise.
+
+2002-05-06  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * elf32-arm.h (elf32_arm_final_link_relocate): Convert
+       'reloc_signed_max' and 'reloc_signed_min' into half-word offsets.
+
+2002-05-06  Alan Modra  <amodra@bigpond.net.au>
+
+       * elflink.h (elf_link_input_bfd <emit_relocs>): Adjust r_offset
+       when not relocatable.  Fix reloc_emitter call for K&R.
+
+2002-05-04  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (ppc64_elf_relocate_section): Reinstate code
+       reloading local sym addend mistakenly removed in 2002-05-01 change.
+
+       * dwarf2.c (struct line_head): Make prologue_length a bfd_vma.
+       (read_abbrevs): Change "offset" param to bfd_vma.
+       (parse_comp_unit): Change "version" and addr_size to unsigned ints.
+       Change "abbrev_offset" to bfd_vma.
+       (read_indirect_string): Use correct conversion chars in error
+       message format string, cast bfd_vma's to unsigned long.
+       (read_abbrevs): Likewise.
+       (read_attribute_value): Likewise.
+       (decode_line_info): Likewise.
+       (scan_unit_for_functions): Likewise.
+       (parse_comp_unit): Likewise.
+
+2002-05-04  Tom Rix  <trix@redhat.com>
+
+       * coffswap.h (coff_swap_reloc_in): Remove XCOFF support.
+       (coff_swap_reloc_out): Same.
+       * coff-rs6000.c: (xcoff_swap_reloc_in): Moved from coffswap.h.
+       (xcoff_swap_reloc_out): Same.
+       (xcoff_rtype2howto): Renamed from _bfd_xcoff_rtype2howto. Special
+       case some 16 bit relocs. Add reloc value to output.
+       (xcoff_howto_table): Remove 64 bit R_POS, add 16 bit
+       R_RBR. Improve names.
+       (_bfd_xcoff_reloc_type_lookup): Adjust for removal of 64 bit R_POS.
+       (bfd_xcoff_backend_data): Update with new reloc swap names.
+       (bfd_pmac_xcoff_backend_data) : Same.
+       * coff64-rs6000.c: (xcoff64_swap_reloc_in): Moved from coffswap.h.
+       (xcoff64_swap_reloc_out): Same.
+       (xcoff64_rtype2howto): Special case some 16 bit relocs and 32 bit
+       R_POS. Add reloc value to output.
+       (xcoff64_howto_table): Move 64 bit R_POS to first entry.  Add 16
+       bit R_RBR. Improve names, masks.
+       (xcoff64_reloc_type_lookup): Adjust for move of 64 bit R_POS.
+       (bfd_xcoff_backend_data): Update with new reloc swap names.
+       (bfd_xcoff_aix5_backend_data) : Same.
+
+2002-05-04  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-hppa.c (struct elf32_hppa_link_hash_table): Add
+       bfd_count top_index, input_list, all_local_syms.
+       (elf32_hppa_setup_section_lists): New function, split from
+       elf32_hppa_size_stubs.
+       (elf32_hppa_next_input_section): Likewise.
+       (group_sections): Likewise.
+       (get_local_syms): Likewise.
+       (elf32_hppa_size_stubs): Adjust for split out functions.  Look for
+       stubs on undefined syms too.
+       (elf32_hppa_set_gp): Use bfd_link_hash* instead of elf_link_hash*.
+       Only access htab elf fields when we have an elf hash table.
+       * elf32-hppa.h (elf32_hppa_setup_section_lists): Declare.
+       (elf32_hppa_next_input_section): Declare.
+
+2002-05-04  Bob Byrnes  <byrnes@curl.com>
+
+       * opncls.c (_bfd_new_bfd_contained_in): Check return value of
+       _bfd_new_bfd.
+
+2002-05-03  H.J. Lu  (hjl@gnu.org)
+
+       * elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local.
+       (mips_elf_link_hash_newfunc): Initialize forced_local to false.
+       (mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol
+       to hide a global symbol.
+       (_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set
+       forced_local to true.
+
+2002-05-02  Richard Henderson  <rth@redhat.com>
+
+       * elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs
+       vs SHN_UNDEF to zero.
+
+2002-05-02  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_SECTOFF>): Change to a
+       16 bit reloc.
+       <R_PPC64_SECTOFF_DS>: Likewise.
+       (ppc64_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
+       SECTOFF reloc.
+       * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_SECTOFF>): Correct.
+       (ppc_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
+       SECTOFF reloc.
+
+       * elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete.
+       (ppc64_elf_ha_reloc): New function.
+       (ppc64_elf_brtaken_reloc): New function.
+       (ppc64_elf_sectoff_reloc): New function.
+       (ppc64_elf_sectoff_ha_reloc): New function.
+       (ppc64_elf_toc_reloc): New function.
+       (ppc64_elf_toc_ha_reloc): New function.
+       (ppc64_elf_toc64_reloc): New function.
+       (ppc64_elf_unhandled_reloc): New function.
+       (ppc64_elf_howto_raw): Use the above.
+       <R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset.
+       <R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset.  Fix dst_mask.
+       <R_PPC64_SECTOFF_DS>: Likewise.
+       (IS_ABSOLUTE_RELOC): Update.
+       (struct ppc_link_hash_table): Add have_undefweak.
+       (ppc64_elf_link_hash_table_create): Init.
+       (func_desc_adjust): Set have_undefweak.
+       (ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier.  Only
+       add the .sfpr blr when have_undefweak.
+       (ppc64_elf_setup_section_lists): Check hash table flavour.
+       (ppc64_elf_next_input_section): Move output_section->owner test to
+       ppc64elf.em.
+       (ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param
+       and relocatable test.  Return TOCstart and don't set elf_gp.
+       (ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch
+       offset calculation.  Add assert on weak sym branch tweaks.
+       * elf64-ppc.h (ppc64_elf_set_toc): Delete.
+       (ppc64_elf_toc): Declare.
+       (ppc64_elf_next_input_section): Update.
+
+2002-05-01  Alan Modra  <amodra@bigpond.net.au>
+
+       * syms.c (_bfd_stab_section_find_nearest_line): Don't bomb on NULL
+       file_name.
+
+2002-05-01  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (CROR_151515, CROR_313131): Define.
+       (ppc64_elf_relocate_section): Use them.  Don't look for plt calls
+       on R_PPC64_ADDR24 relocs.  Require a nop or no link reg on plt
+       call branches.  Correct undefined weak destination.
+       (ppc64_elf_func_desc_adjust): Always create at least one blr in
+       .sfpr, and correct case where either only savef* or restf* is
+       needed.
+
+       Long branch stubs, multiple stub sections.
+       * elf64-ppc.h (ppc64_elf_setup_section_lists): Declare.
+       (ppc64_elf_next_input_section): Declare.
+       * elf64-ppc.c: Move linker-only prototypes.
+       (STUB_SUFFIX): Define.
+       (enum ppc_stub_type): New.
+       (struct ppc_stub_hash_entry): New.
+       (struct ppc_branch_hash_entry): New.
+       (struct ppc_link_hash_entry): Add stub_cache, oh.
+       (struct ppc_link_hash_table): Add stub_hash_table etc.  Remove
+       sstub.  Add sbrlt, srelbrlt, has_14bit_branch, stub_iteration.
+       Rename plt_overflow to stub_error.
+       (ppc_stub_hash_lookup): Define.
+       (ppc_branch_hash_lookup): Define.
+       (stub_hash_newfunc): New function.
+       (branch_hash_newfunc): New function.
+       (link_hash_newfunc): Init new fields.
+       (ppc64_elf_link_hash_table_create): Likewise.
+       (ppc64_elf_link_hash_table_free): New function.
+       (ppc_stub_name): New function.
+       (ppc_get_stub_entry): New function.
+       (ppc_add_stub): New function.
+       (create_linkage_sections): Use bfd_make_section_anyway.  Create
+       .branch_lt and .rela.branch_lt sections.  Don't create .stub.
+       (ppc64_elf_check_relocs): Set has_14bit_branch on R_PPC64_REL14*,
+       and set up for plt call stubs.  Link func and func desc syms.
+       (ppc64_elf_gc_sweep_hook): Handle REL14* as per REL24.
+       (func_desc_adjust): Avoid hash lookup when func desc sym available
+       via shortcut, and set links when processing.
+       (ppc64_elf_hide_symbol): Likewise.
+       (allocate_dynrelocs): Don't allocate stub section here.
+       (ppc64_elf_size_dynamic_sections): Handle sbrlt and srelbrlt.
+       Remove sstub code.
+       (ppc_type_of_stub): New function.
+       (build_one_stub): Delete.
+       (ppc_build_one_stub): New function.
+       (ppc_size_one_stub): New function.
+       (ppc64_elf_setup_section_lists): New function.
+       (ppc64_elf_next_input_section): New function.
+       (group_sections): New function.
+       (get_local_syms): New function.
+       (ppc64_elf_size_stubs): Rewrite.
+       (ppc64_elf_build_stubs): Rewrite.
+       (ppc64_elf_relocate_section): Look up stub entry for REL24
+       relocs.  Don't propagate REL14* to dynamic objects.  Look for long
+       branch stubs if REL14* or REL24 relocs won't reach.
+       (bfd_elf64_bfd_link_hash_table_free): Define.
+
+2002-04-30  Mark Mitchell  <mark@codesourcery.com>
+
+       * bfd/config.bfd: Add support for powerpc-*-windiss.
+
+2002-04-30  Tom Rix  <trix@redhat.com>
+
+       * xcofflink.c (xcoff_link_add_symbols): Always copy undef C_EXT
+       symbol names into the hash table.
+
+2002-04-28  Tom Rix  <trix@redhat.com>
+
+       * coff-rs6000.c (xcoff_calculate_relocation) : Function table for
+       calulating relocations.
+       (xcoff_complain_overflow) : Function table for relocation errors.
+       (xcoff_ppc_relocate_section): Use relocation and complain function
+       tables.
+       (xcoff_complain_overflow_unsigned_func): New complain function.
+       (xcoff_complain_overflow_signed_func): Same.
+       (xcoff_complain_overflow_bitfield_func): Same.
+       (xcoff_complain_overflow_dont_func): Same.
+       (xcoff_reloc_type_crel): New recot function.
+       (xcoff_reloc_type_br): Same.
+       (xcoff_reloc_type_ba): Same.
+       (xcoff_reloc_type_toc): Same.
+       (xcoff_reloc_type_rel): Same.
+       (xcoff_reloc_type_neg): Same.
+       (xcoff_reloc_type_pos): Same.
+       (xcoff_reloc_type_fail): Same.
+       (xcoff_reloc_type_noop): Same.
+       * libxcoff.h : Declare common parts for xcoff64.
+       * coff64-rs6000.c (xcoff64_ppc_relocate_section): Use relocation
+       and complain function tables.
+
+2002-04-28  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-x86-64.c (struct elf64_x86_64_dyn_relocs): Comment typo.
+       * elf32-hppa.c (elf32_hppa_final_link): Formatting.
+
+2002-04-26  Alan Modra  <amodra@bigpond.net.au>
+
+       * opncls.c (bfd_make_readable): Call bfd_section_list_clear.
+       * xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
+
+       * elflink.h (elf_bfd_final_link): Ensure input bfd class is the
+       same as the output before calling elf_link_input_bfd.
+
+       * coffcode.h (coff_compute_section_file_positions): Set
+       section_tail after shuffling section list.
+
+2002-04-24  Christian Groessler <chris@groessler.org>
+
+       * coff-z8k.c (extra_case): Fix R_IMM32 relocations: The
+       addresses are 23bit with a special layout, not plain 32bit
+       values.  Prevent relocation of immediate values.
+
+2002-04-24  Chris G. Demetriou  <cgd@broadcom.com>
+
+       * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): If MDMX or
+       MIPS-16 ASE flags are set, print something to indicate that.
+
+2002-04-23  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-hppa.c (hppa_type_of_stub): Correct and simplify condition
+       under which a plt call stub is used.
+       (final_link_relocate): Similarly.
+       (allocate_plt_static): Clear h-plabel except when plt entry is
+       exclusively used for a plabel.
+       (allocate_dynrelocs): Use the above to simplify plt sizing.
+       (struct elf32_hppa_link_hash_table): Add has_22bit_branch.
+       (elf32_hppa_link_hash_table_create): Init.
+       (BL22_RP): Define.
+       (hppa_build_one_stub): Use BL22_RP if has_22bit_branch.
+       (elf32_hppa_check_relocs): Set has_22bit_branch.
+
+       * elf32-hppa.c (elf32_hppa_check_relocs): Remove debug message.
+       (final_link_relocate): Likewise.
+
+2002-04-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't build
+       search table if some FDE is DW_EH_PE_aligned encoded either.
+       (_bfd_elf_write_section_eh_frame): Handle terminating FDE specially.
+
+2002-04-22  Richard Smith  <richard@ex-parrot.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       * elf-eh-frame.c (struct eh_cie_fde): Add per_encoding_relative.
+       (_bfd_elf_discard_section_eh_frame): Set it for CIEs with pcrel
+       encoded personality.
+       (_bfd_elf_write_section_eh_frame): Adjust pcrel encoded personality
+       for CIE/FDE removal.
+
+2002-04-20  Tom Rix  <trix@redhat.com>
+
+       * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Fix C_FILE auxent.
+
+2002-04-20  Alan Modra  <amodra@bigpond.net.au>
+
+       * archures.c (bfd_lookup_arch): Move the list order comment..
+       (struct bfd_arch_info): ..to where it belongs.
+       * bfd-in2.h: Regenerate.
+
+       * archures.c (bfd_lookup_arch): Add comment on list order.
+       (bfd_default_set_arch_mach): Use bfd_lookup_arch.
+       * cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default
+       is always at head of list.
+
+2002-04-18  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * coff-arm.c (coff_thumb_pcrel_12, coff_thumb_pcrel_9,
+       insert_thumb_branch, record_thumb_to_arm_glue): Suppress
+       definition of these functions for ARM_WINCE builds as they are
+       not used.
+       (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET): Do not define
+       for ARM_WINCE builds.
+
+2002-04-18  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * coff-arm.c (bfd_arm_process_before_allocation):
+
+2002-04-17  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * cpu-sh.c (scan_mach): Delete.
+       (arch_info_struct): Replace scan_mach with bfd_default_scan.
+       (bfd_sh_arch): Likewise.
+
+2002-04-16  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * ihex.c (ihex_write_object_contents): Fix check for records
+       crossing 64K boundaries.
+
+2002-04-16  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-m32r.c (m32r_elf_add_symbol_hook): Check the hash table
+       type rather than just assuming entries are ELF.
+       * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
+       * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
+       * elf64-sparc.c (sparc64_elf_add_symbol_hook): Likewise.
+       * elf64-mmix.c (mmix_elf_add_symbol_hook): Use bfd_link_hash_entry
+       rather than elf_link_hash_entry.
+
+2002-04-15  Richard Henderson  <rth@redhat.com>
+
+       * elf32-mips.c (mips_elf32_object_p): Revert 0404 fragment: allow
+       n32 binaries.
+
+2002-04-15  Michael Snyder  <msnyder@redhat.com>
+
+       * opncls.c (bfd_close): Write contents if writeable.
+       Minor formatting tidy-ups.
+
+2002-04-15  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-ppc.c (ppc_elf_add_symbol_hook): Check the hash table type.
+
+2002-04-12  Michael Snyder  <msnyder@redhat.com>
+
+       * bfd-in.h (bfd_get_section_lma): New access macro.
+       Minor white-space fix-up.
+
+2002-04-12  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf.c (prep_headers): Don't zero EI_OSABI, EI_ABIVERSION or
+       header pad.
+
+2002-04-09  DJ Delorie  <dj@redhat.com>
+
+       * elfarm-nabi.c (elf32_arm_howto_table): Fix ABS16 masks.
+
+2002-04-09  Casper S. Hornstrup <chorns@users.sourceforge.net>
+
+       * coffcode.h (coff_read_word): New.
+       (coff_compute_checksum): New.
+       (coff_apply_checksum): New.
+       (coff_write_object_contents): Call coff_apply_checksum () to
+       apply checksum to PE image.
+
+2002-04-08  Randolph Chung  <tausq@debian.org>
+
+       * elf32-hppa.c (hppa_unwind_entry_compare): Move to elf-hppa.h.
+       (elf32_hppa_final_link): Split out sorting logic to..
+       * elf-hppa.h (elf_hppa_sort_unwind): ..here.
+       (elf_hppa_final_link): Call elf_hppa_sort_unwind.
+
+2002-04-07  Andrew Cagney  <ac131313@redhat.com>
+
+       * configure.in: Add missing ``|'' to powerpc-*-aix4.[4-9]*
+       pattern.
+       * configure: Re-generate.
+
+2002-04-07  Andrew Cagney  <ac131313@redhat.com>
+
+       * configure.in: Only define AIX_CORE_DUMPX_CORE when AIX version
+       is greater or equal to 4.3.3.
+       * configure: Regenerate.
+       Fix PR gdb/344.
+
+2002-04-05  Hans-Peter Nilsson  <hp@axis.com>
+
+       * elf32-cris.c (cris_elf_howto_table) <R_CRIS_16_PCREL,
+       R_CRIS_32_PCREL>: Fix typo in name.
+       (cris_elf_check_relocs): Always create .rela.got here when
+       R_CRIS_16_GOTPLT or R_CRIS_32_GOTPLT is seen.
+       (elf_cris_adjust_gotplt_to_got): Don't create .rela.got here;
+       assume it's created.
+
+2002-04-04  Daniel Jacobowitz  <drow@mvista.com>
+
+       * aout-adobe.c (aout_32_bfd_link_hash_table_free): Define.
+       * aout-target.h (MY_bfd_link_hash_table_free): Conditionally
+       define.
+       * aout-tic30.c (MY_bfd_link_hash_table_free): Likewise.
+       * bfd.c (bfd_link_hash_table_free): Define.
+       * binary.c (binary_bfd_link_hash_table_free): Define.
+       * bout.c (b_out_bfd_link_hash_table_free): Define.
+       * coff-rs6000.c (rs6000coff_vec): Include
+       _bfd_generic_link_hash_table_free.
+       (pmac_xcoff_vec): Likewise.
+       * coff64-rs6000.c (rs6000coff64_vec): Likewise.
+       (aix5coff64_vec): Likewise.
+       * coffcode.h (coff_bfd_link_hash_table_free): Conditionally define.
+       * elf-m10300.c (elf32_mn10300_link_hash_table_free): New function.
+       (bfd_elf32_bfd_link_hash_table_free): Define.
+       * elf32-hppa.c (elf32_hppa_link_hash_table_free): New function.
+       (bfd_elf32_bfd_link_hash_table_free): Define.
+       * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally
+       define.
+       * i386msdos.c (msdos_bfd_link_hash_table_free): Define.
+       * i386os9k.c (os9k_bfd_link_hash_table_free): Define.
+       * ieee.c (ieee_bfd_link_hash_table_free): Define.
+       * ihex.c (ihex_bfd_link_hash_table_free): Define.
+       * libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define.
+       (_bfd_generic_link_hash_table_free): Add prototype.
+       * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype.
+       * libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define.
+       * linker.c (_bfd_generic_link_hash_table_free): New function.
+       * mmo.c (mmo_bfd_link_hash_table_free): Define.
+       * nlm-target.h (nlm_bfd_link_hash_table_free): Define.
+       * oasys.c (oasys_bfd_link_hash_table_free): Define.
+       * ppcboot.c (ppcboot_bfd_link_hash_table_free): Define.
+       * som.c (som_bfd_link_hash_table_free): Define.
+       * srec.c (srec_bfd_link_hash_table_free): Define.
+       * tekhex.c (tekhex_bfd_link_hash_table_free): Define.
+       * versados.c (versados_bfd_link_hash_table_free): Define.
+       * vms.c (vms_bfd_link_hash_table_free): New function.
+       * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function.
+
+       * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc
+       instead of bfd_alloc.
+       * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
+       * coff-mcore.c (coff_mcore_link_hash_table_create): Likewise.
+       * coff-ppc.c (ppc_coff_link_hash_table_create): Likewise.
+       * cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
+       * ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
+       * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
+       * elf.c (_bfd_elf_link_hash_table_create): Likewise.
+       * elf32-arm.h (elf32_arm_link_hash_table_create): Likewise.
+       * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
+       * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
+       * elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
+       * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
+       * elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
+       * elf32-sh.c (sh_elf_link_hash_table_create): Likewise.
+       * elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise.
+       * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
+       * elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
+       * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
+       * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise.
+       * elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise.
+       * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
+       * linker.c (_bfd_generic_link_hash_table_create): Likewise.
+       * m68klinux.c (linux_link_hash_table_create): Likewise.
+       * sparclinux.c (linux_link_hash_table_create): Likewise.
+       * sunos.c (sunos_link_hash_table_create): Likewise.
+       * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
+
+       * targets.c: Add _bfd_link_hash_table_free to xvec.
+
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+       * libcoff.h: Regenerate.
+
+2002-04-04  Alan Modra  <amodra@bigpond.net.au>
+
+       * dep-in.sed: Cope with absolute paths.
+       * Makefile.am (dep.sed): Subst TOPDIR, and not INCDIR.
+       Run "make dep-am".
+       * Makefile.in: Regenerate.
+       * coff-arm.c: Fix copyright date.
+       * cpu-h8300.c: Likewise.
+       * cpu-i370.c: Likewise.
+       * cpu-s390.c: Likewise.
+       * cpu-mips.c: Likewise.
+       * po/SRC-POTFILES.in: Regenerate.
+
+2002-04-04  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+       * Makefile.am: Add elfxx-mips.c to the known backends.
+       (elf32-mips.lo): remove dependency to coff/external.h.
+       * Makefile.in: Regenerate.
+       * configure.in: Add elfxx-mips.lo to all vectors using elf32-mips.lo
+       Remove elf32-mips.lo from 64 bit vectors. Update dependencies
+       accordingly.
+       * configure: Regenerate.
+       * elf-bfd.h: Move all MIPS ELF specific prototypes to elfxx-mips.h.
+       (irix_compat_t): IRIX compatibility level, moved from elf32-mips.c.
+       (elf_backend_mips_irix_compat, elf_backend_mips_rtype_to_howto): New
+       MIPS specific backend functions.
+       * elf32-mips.c: Moved most code to elfxx-mips.c.
+       (mips_elf_hi16_reloc): Rename from _bfd_mips_elf_hi16_reloc and make
+       static.
+       (mips_elf_lo16_reloc): Likewise, was _bfd_mips_elf_lo16_reloc.
+       (mips_elf_got16_reloc): Likewise, was _bfd_mips_elf_got16_reloc.
+       (mips_elf_gprel32_reloc): Likewise, was _bfd_mips_elf_gprel32_reloc.
+       (mips_elf32_rtype_to_howto): Rename from mips_rtype_to_howto. Changed
+       interface to allow selection of the right REL or RELA howto table.
+       (mips_elf32_object_p): Rename from _bfd_mips_elf_object_p and made
+       static. Let it refuse n32 objects.
+       (elf32_mips_grok_prstatus): Rename from _bfd_elf32_mips_grok_prstatus.
+       (elf32_mips_grok_psinfo): Rename from _bfd_elf32_mips_grok_psinfo.
+       (elf32_mips_discard_info): Rename from _bfd_elf32_mips_discard_info.
+       (elf32_mips_ignore_discarded_relocs): Rename from
+       _bfd_elf32_mips_ignore_discarded_relocs.
+       (elf32_mips_write_section): Rename from _bfd_elf32_mips_write_section.
+       (elf32_mips_irix_compat): New function, replaces IRIX_COMPAT.
+       (elf_mips_howto_table_rela): Remove.
+       * elf64-mips.c: Moved most code to elfxx-mips.c.
+       (bfd_elf64_bfd_reloc_type_lookup): Make static.
+       (mips_elf64_rtype_to_howto): New function.
+       (mips_elf64_object_p): Likewise.
+       (elf64_mips_irix_compat): Likewise.
+       * elfxx-mips.c: New file containing common code merged together from
+       elf32-mips.c and elf64-mips.c.
+       * elfxx-mips.h: New file containing MIPS specific prototypes from
+       elf-bfd.h.
+       * elfxx-target.h: Add handling for elf_backend_mips_irix_compat and
+       elf_backend_mips_rtype_to_howto.
+
+2002-04-04  Alan Modra  <amodra@bigpond.net.au>
+
+       * srec.c (MAXCHUNK, Chunk): Revise comments.
+       (srec_write_record): Correct buffer size.
+       (srec_write_header): Do without intermediate buffer.
+       (srec_write_section): Validate Chunk.
+       (srec_write_terminator): Pass NULL instead of dummy buffer.
+       (srec_write_symbols): Pass file and symbol names directly to
+       bfd_bwrite so sprintf won't overflow buffer.
+
+2002-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf32-sparc.c (elf32_sparc_relocate_section): Don't emit dynamic
+       PC relative relocs against hidden symbols.
+       * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+
+2002-04-03  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf.c (_bfd_elf_make_section_from_shdr): When setting section
+       LMAs, loop over segments until p_vaddr and p_memsz specify an
+       extent enclosing the section.
+
+2002-04-02  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * ihex.c (ihex_write_object_contents): Do not allow records to
+       cross a 64K boundary - wrap if necessary.
+
+2002-04-01  Nathan Williams  <nathanw@wasabisystems.com>
+
+       * elf.c (elfcore_netbsd_get_lwpid): Fix off-by-one error
+       which caused the returned LWP ID to always be 0.
+
+2002-04-01  Richard Henderson  <rth@redhat.com>
+
+       * elf32-sparc.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
+       (elf32_sparc_relocate_section): Use it to figure out when to
+       initialize .got entries.
+       * elf64-sparc.c: Similarly.
+
+2002-03-28  Alan Modra  <amodra@bigpond.net.au>
+
+       * linker.c (link_action): Ignore duplicate warning syms.
+       (_bfd_generic_link_write_global_symbol): Follow warning symbol link.
+       * elflink.h (elf_adjust_dynstr_offsets): Likewise.
+       (elf_adjust_dynamic_symbol): Likewise.
+       (elf_export_symbol): Likewise.
+       (elf_link_find_version_dependencies): Likewise.
+       (elf_link_assign_sym_version): Likewise.
+       (elf_link_sec_merge_syms): Likewise.
+       (elf_link_output_extsym): Likewise.
+       (elf_gc_sweep_symbol): Likewise.
+       (elf_gc_propagate_vtable_entries_used): Likewise.
+       (elf_gc_smash_unused_vtentry_relocs): Likewise.
+       (elf_gc_allocate_got_offsets): Likewise.
+       (elf_collect_hash_codes): Likewise.
+       * elflink.c (elf_link_renumber_hash_table_dynsyms): Likewise.
+       * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
+       (elf_hppa_remark_useless_dynamic_symbols): Likewise.
+       * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
+       * elf32-arm.h (elf32_arm_discard_copies): Likewise.
+       * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Likewise.
+       (elf_cris_discard_excess_dso_dynamics): Likewise.
+       * elf32-hppa.c (clobber_millicode_symbols): Likewise.
+       (mark_PIC_calls): Likewise.
+       (allocate_plt_static): Likewise.
+       (allocate_dynrelocs): Likewise.
+       (readonly_dynrelocs): Likewise.
+       * elf32-i386.c (allocate_dynrelocs): Likewise.
+       (readonly_dynrelocs): Likewise.
+       * elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
+       * elf32-m68k.c (elf_m68k_discard_copies): Likewise.
+       * elf32-mips.c (mips_elf_output_extsym): Likewise.
+       (mips_elf_sort_hash_table_f): Likewise.
+       (mips_elf_check_mips16_stubs): Likewise.
+       * elf32-s390.c (allocate_dynrelocs): Likewise.
+       (readonly_dynrelocs): Likewise.
+       * elf32-sh.c (sh_elf_discard_copies): Likewise.
+       * elf32-xstormy16.c (xstormy16_relax_plt_check): Likewise.
+       (xstormy16_relax_plt_realloc): Likewise.
+       * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
+       (elf64_alpha_output_extsym): Likewise.
+       * elf64-hppa.c (elf64_hppa_mark_exported_functions): Likewise.
+       * elf64-mips.c (mips_elf64_sort_hash_table_f): Likewise.
+       (mips_elf64_check_mips16_stubs): Likewise.
+       (mips_elf64_output_extsym): Likewise.
+       * elf64-ppc.c (func_desc_adjust): Likewise.
+       (allocate_dynrelocs): Likewise.
+       (readonly_dynrelocs): Likewise.
+       * elf64-s390.c (allocate_dynrelocs): Likewise.
+       (readonly_dynrelocs): Likewise.
+       * elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
+       * elf64-x86-64.c (allocate_dynrelocs): Likewise.
+       (readonly_dynrelocs): Likewise.
+       * elfxx-ia64.c (elfNN_ia64_global_dyn_sym_thunk): Likewise.
+       * aoutx.h (aout_link_write_other_symbol): Likewise.
+       * cofflink.c (_bfd_coff_write_task_globals): Likewise.
+       (_bfd_coff_write_global_sym): Likewise.
+       * i386linux.c (linux_tally_symbols): Likewise.
+       * m68klinux.c (linux_tally_symbols): Likewise.
+       * sparclinux.c (linux_tally_symbols): Likewise.
+       * pdp11.c (aout_link_write_other_symbol): Likewise.
+       * sunos.c (sunos_scan_dynamic_symbol): Likewise.
+       * xcofflink.c (xcoff_build_ldsyms): Likewise.
+       (xcoff_write_global_symbol): Likewise.
+
+       * cofflink.c (_bfd_coff_final_link): Formatting.
+       * cpu-mips.c (mips_compatible): Make static, prototype.
+       * elf32-i386.c (elf_i386_check_relocs): Formatting.
+       * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
+       * elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
+       * elf64-mips.c (mips_elf64_sort_hash_table): Likewise.
+       (mips_elf64_final_link): Likewise.
+       * elflink.h (elf_link_find_version_dependencies): Remove duplicate
+       prototype.
+
+2002-03-27  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * coff-arm.c (SWAP_IN_RELOC_OFFSET): Define.
+       (SWAP_OUT_RELOC_OFFSET): Define.
+
+2002-03-27  Gregory Steuck <greg@nest.cx>
+
+       * elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for
+       terminating NULL if empty symbol table.
+       (_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
+
+2002-03-26  H.J. Lu  (hjl@gnu.org)
+
+       * elflink.h (elf_link_input_bfd): Revert the last change since
+       the gcc exception handling isn't fixed yet.
+
+2002-03-26  H.J. Lu  (hjl@gnu.org)
+
+       * elflink.h (elf_link_input_bfd): Complain about relocations
+       against local symbols in discarded sections.
+
+2002-03-26  Alan Modra  <amodra@bigpond.net.au>
+
+       * elflink.h (elf_gc_mark): Don't recurse into non-ELF sections.
+
+2002-03-23  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
+       section file offset for !SEC_LOAD sections.
+
+2002-03-21  Richard Earnshaw  <rearnsha@arm.com>
+
+       * elf32-arm.h (elf32_arm_final_link_relocate <case R_ARM_GOTOFF>,
+       <case R_ARM_GOT>): Handle relocations to Thumb functions.
+
+2002-03-21  Alan Modra  <amodra@bigpond.net.au>
+
+       * coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Prototype.
+       Whitespace changes.
+       * archive.c: Update copyright date.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+       * Makefile.am: Run "make dep-am"
+       * Makefile.in: Regenerate.
+       * po/SRC-POTFILES.in: Regenerate.
+
+2002-03-20  Daniel Jacobowitz  <drow@mvista.com>
+
+       * dwarf2.c (struct funcinfo): Move up.
+       (lookup_address_in_function_table): New argument function_ptr.
+       Set it.
+       (lookup_address_in_line_table): New argument function.  If function
+       is non-NULL, use it to handle ``addr'' before the first line note of
+       the function.
+       (comp_unit_find_nearest_line): Update and swap calls to
+       lookup_address_in_function_table and lookup_address_in_line_table.
+       * syms.c (_bfd_stab_section_find_nearest_line): Use the first
+       N_SLINE encountered if we see an N_FUN before any N_SLINE.
+
+2002-03-20  Tom Rix  <trix@redhat.com>
+
+       * coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from
+       _bfd_xcoff_generic_stat_arch_elt.  Fix format check.
+       * coff64-rs6000.c :  Use _bfd_xcoff_stat_arch_elt.
+
+2002-03-19  Tom Rix  <trix@redhat.com>
+
+       * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through all
+       dynamic objects in archives.
+
+2002-03-19  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * elflink.h (NAME(bfd_elf,record_link_assignment)): Don't set
+       STT_NOTYPE symbols to STT_OBJECT.
+
+2002-03-18  Jan Hubicka  <jh@suse.cz>
+
+       * cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64"
+
+2002-03-18  Tom Rix  <trix@redhat.com>
+
+       * aix5ppc.core.c : New file for AIX 5 64 bit core support.
+       * bfd-in.h : Add bfd_xcoff_ar_archive_set_magic declaration.
+       * coff-rs6000 (do_pad) : New function for archive padding.
+       (do_copy) : New function for object file copying in archives.
+       (do_shared_object_padding) : New function for padding shared
+       objects to their text section alignment in archives.
+       (bfd_xcoff_ar_achive_set_magic) : Stub.
+       (xcoff_write_armap_big) : Use do_copy and do_pad.
+       (xcoff_write_archive_contents_big) : Use do_shared_object_padding,
+       do_copy and do_pad.
+       * coff64-rs6000.c (xcoff64_write_ojbect_contents) : Use
+       bfd_xcoff_magic_number.
+       (xcoff64_bad_format_hook) : New function for _bfd_bad_format_hook
+       fop.
+       (xcoff_backend_data_r) : Use xcoff64_bad_format_hook.
+       (bfd_xcoff_aix5_backend_data) : New Aix 5 backend data.
+       (aix5coff64_vec) : New Aix 5 target aix5coff64-rs6000.
+       * rs6000-core.c : Update copyright date.
+       * xcofflink.c (bfd_xcoff_size_dynamic_sections): Check for NULL
+       csectpp.
+       * coffcode.h (coff_new_section_hook) : Use new accessor macros.
+       (coff_set_arch_mach_hook) : Add Aix 5 U64_TOCMAGIC magic #.
+       (coff_set_flags) : Use bfd_xcoff_magic_number.
+       * libxcoff.h (bfd_xcoff_is_xcoff64): Add U64_TOCMAGIC.
+       * configure.in : Add powerpc-*-aix5 and rs6000-*-aix5 support.
+       * Makefile.am : Same.
+       * config.bfd : Same.
+       * targets.c : Same.
+       * configure : Regnerate.
+       * Makefile.in : Same.
+       * bfd-in2.h : Same.
+
+2002-03-18  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * po/fr.po: Updated version.
+
+2002-03-18  Alan Modra  <amodra@bigpond.net.au>
+
+       * libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success.
+       * libbfd.h: Regenerate.
+       * archive.c (coff_write_armap): Pass on failures from
+       bfd_write_bigendian_4byte_int.
+
+2002-03-14  H.J. Lu <hjl@gnu.org>
+
+       * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD
+       error to bfd_error_nonrepresentable_section for reinit_array
+       section in DSO.
+
+2002-03-14  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * coffcode.h (coff_slurp_symbol_table): When adding BSF_WEAK flag,
+       OR it in rather than replacing previously selected flags.
+
+       * elfxx-target.h (TARGET_BIG_SYM): Set ar_max_namelen to 15.
+       (TARGET_LITTLE_SYM): Set ar_max_namelen to 15.
+
+2002-03-14  Alan Modra  <amodra@bigpond.net.au>
+
+       * cpu-mips.c (mips_compatible): New.  Don't check bits_per_word.
+       (N): Use the above.
+       * elflink.h (elf_bfd_final_link): Revert last change.  Instead,
+       ensure reloc size matches before calling elf_link_input_bfd.
+       Add an assert to check reloc size when counting output relocs.
+
+2002-03-14  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * mmo.c (mmo_get_loc): Return NULL rather than false.
+
+2002-03-13  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * po/fr.po: Updated version.
+
+2002-03-13  Alan Modra  <amodra@bigpond.net.au>
+
+       * archures.c (bfd_default_compatible): Test bits_per_word.
+       * cpu-i386.c (i386_compatible): Remove.  Replace occurrences with
+       bfd_default_compatible.
+       * cpu-i370.c (i370_compatible): Likewise.
+       * cpu-sparc.c (sparc_compatible): Likewise.
+       * cpu-h8300.c (compatible): Test in->arch == out->arch.
+
+       * elflink.h: Formatting fixes.
+       (elf_link_output_extsym): Merge undefined and undef weak cases.
+
+       * elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd
+       when word size of input matches output word size.
+
+2002-03-12  Andreas Jaeger  <aj@suse.de>
+
+       * cpu-i386.c (i386_compatible): New.  Use it instead of
+       bfd_default_compatible.
+
+2002-03-07  H.J. Lu  (hjl@gnu.org)
+
+       * coff-sh.c (shcoff_reloc_map): Use bfd_reloc_code_real_type
+       as the type for bfd_reloc_val.
+
+2002-03-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * elf-hppa.h (elf_hppa_is_dynamic_loader_symbol): New function.
+       (elf_hppa_relocate_section): Ignore undefined dynamic loader symbols.
+       (elf_hppa_final_link_relocate): Correct relocations for indirect
+       references to local data through the DLT.  Fix .opd creation for
+       local symbols using R_PARISC_LTOFF_FPTR32 and R_PARISC_FPTR64
+       relocations.  Use e_lsel selector for R_PARISC_DLTIND21L,
+       R_PARISC_LTOFF_FPTR21L and R_PARISC_LTOFF_TP21L as per
+       "Processor-Specific ELF for PA_RISC, Version 1.43" document.
+       Similarly, use e_rsel for DLT and LTOFF 'R' relocations.
+       * elf32-hppa.c (final_link_relocate): Revise relocation selectors
+       as per "Processor-Specific ELF for PA_RISC, Version 1.43" document.
+
+2002-03-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * merge.c (_bfd_merge_sections): Don't segfault if there
+       is nothing to merge due to GC.
+
+2002-03-05  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-hppa.c (clobber_millicode_symbols): Remove hack to keep
+       symbols that have been forced local.
+
+       * elflink.h (elf_bfd_final_link): Call elf_link_output_extsym
+       to output forced local syms for non-shared link.
+       (elf_link_output_extsym): Tweak condition for calling backend
+       adjust_dynamic_symbol so that previous behaviour is kept.
+       Whitespace changes throughout file.
+
+2002-03-04  H.J. Lu <hjl@gnu.org>
+
+       * elf.c (bfd_section_from_shdr): Handle special sections,
+       .init_array, .fini_array and .preinit_array.
+       (elf_fake_sections): Likewise.
+
+       * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Create the
+       DT entry only if the section is in output for .init_array,
+       .fini_array and .preinit_array. Complain about .preinit_array
+       section in DSO.
+       (elf_bfd_final_link): Warn zero size for .init_array,
+       .fini_array and .preinit_array sections.
+
+       * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Remove
+       SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY.
+       (elfNN_ia64_fake_sections): Remove .init_array, .fini_array and
+       .preinit_array.
+
+2002-03-04  Alan Modra  <amodra@bigpond.net.au>
+
+       * configure.in (WIN32LIBADD): Don't eval PICFLAG assignment.
+       * configure: Regenerate.
+
+2002-03-02  Tom Rix  <trix@redhat.com>
+
+       * coff64-rs6000.c (xcoff64_howto_table): Replace howto types with
+       symbolic equiv.
+       * coff-rs6000.c (xcoff_howto_table): Same.
+
+2002-03-01  David Mosberger  <davidm@hpl.hp.com>
+
+       * elflink.h (size_dynamic_sections): If section named
+       ".preinit_array" exists, create DT_PREINIT_ARRAY and
+       DT_PREINIT_ARRAYSZ entries in dynamic table.  Analogously for
+       ".init_array" and ".fini_array".
+       (elf_bfd_final_link): Handle DT_PREINIT_ARRAYSZ, DT_INIT_ARRAYSZ,
+       DT_FINI_ARRAYSZ, DT_PREINIT_ARRAY, DT_INIT_ARRAY, and
+       DT_FINI_ARRAY.
+
+2002-02-26  Andrew Macleod  <amacleod@cygnus.com>
+
+       * elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local
+       dynsyms.
+
+2002-02-25  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-hppa.h: Update copyright date.
+
+       * elf64-ppc.c (ppc64_elf_check_relocs): Warning fix.
+       (ppc64_elf_relocate_section): Don't generate power4 style branch
+       hints for *_BRTAKEN and *_BRNTAKEN relocs.
+
+2002-02-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf64-sh64.c (sh_elf64_relocate_section): Fix a typo from my
+       last patch.
+       * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+
+2002-02-21  Andreas Jaeger  <aj@suse.de>
+
+       * elf64-x86-64.c: Major rework that introduces all recent changes
+       to the x86-64 backend.  Get a closer match to elf32-i386.
+       (struct elf64_x86_64_dyn_relocs): Rename from
+       elf64_x86_64_pcrel_relocs_copied, add additional fields.  Change
+       all users.
+       (struct elf64_x86_64_link_hash_table): Add short cuts to some
+       sections.
+       (link_hash_newfunc): Rename from elf64_x86_64_link_hash_newfunc,
+       remove casts, initialize new hash members.
+       (create_got_section): New.
+       (elf64_x86_64_create_dynamic_sections): New.
+       (elf64_x86_64_copy_indirect_symbol): New.
+       (elf64_x86_64_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.  Cache
+       pointer to "sreloc" section in elf_section_data. Tweak condition
+       under which .got created.  Report files with bad relocation
+       section names.
+       (elf64_x86_64_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
+       Reference count possible .plt entries.  Don't deallocate .got and
+       .relgot space here.
+       (elf64_x86_64_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.
+       (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
+       (allocate_dynrelocs): New.
+       (readonly_dynrelocs): New.
+       (elf64_x86_64_size_dynamic_sections): Call readonly_dynrelocs.
+       Allocate space for dyn relocs.  Replace BFD_ASSERT with abort.
+       Zero out the dynamic allocated content space.
+       (elf64_x86_64_discard_copies): Removed.
+       (elf64_x86_64_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.
+       (elf64_x86_64_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 relocate_section.  Expand
+       SHN_UNDEF comment.  Move expressions out of function calls.
+       Replace BFD_ASSERT with abort.
+       (bfd_elf64_bfd_final_link): Removed.
+       (elf_backend_copy_indirect_symbol): Define.
+
+2002-02-20  Tom Rix  <trix@redhat.com>
+
+       * coff-rs6000.c (xcoff_howto_table): Add 16 bit R_BA.
+       (_bfd_xcoff_reloc_type_lookup): Use it.
+       * coff64-rs6000.c (xcoff64_howto_table): Same.
+       (xcoff64_reloc_type_lookup): Same.
+
+2002-02-20  Peter Schauer  <pes@regent.e-technik.tu-muenchen.de>
+
+       * osf-core.c (osf_core_vec):  OSF/1 (Digital Unix) core files are
+       little endian.
+
+2002-02-19  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+       * archures.c (bfd_mach_s390_esa): Rename to bfd_mach_s390_31.
+       (bfd_mach_s390_esame): Rename to bfd_mach_s390_64.
+       * bfd-in2.h: Regenerate.
+       * cpu-s390.c (arch_info_struct): Use renamed architecture defines.
+       Replace architecture name "s390" with "s390:31-bit" and "s390:esame"
+       with "s390:64-bit".
+       * elf32-s390.c (elf_howto_table): Add 32 bit pc relative relocations.
+       (elf_s390_reloc_type_lookup): Likewise.
+       (elf_s390_check_relocs): Likewise.
+       (elf_s390_gc_sweep_hook): Likewise.
+       (elf_s390_relocate_section): Likewise.
+       (elf_s390_object_p): Use renamed architecture define.
+       * elf64-s390.c (elf_s390_object_p): Use renamed architecture define.
+
+2002-02-19  Frank Ch. Eigler  <fche@redhat.com>
+
+       * syms.c (stt[]): Sorted.  Added .init/.fini -> "t" mapping.
+
+2002-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Enable
+       absptr -> pcrel optimization for shared libs.
+       Only create minimal .eh_frame_hdr if absptr FDE encoding in shared
+       library cannot be converted to pcrel.
+       (_bfd_elf_eh_frame_section_offset): Return -2 if making absptr
+       relative.
+       * elf32-i386.c (elf_i386_relocate_section): If
+       _bfd_elf_section_offset returned -2, skip, but make sure the
+       relocation is installed.
+       * elf32-arm.h (elf32_arm_final_link_relocate): Likewise.
+       * elf32-cris.c (cris_elf_relocate_section): Likewise.
+       * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
+       * elf32-i370.c (i370_elf_relocate_section): Likewise.
+       * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+       * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+       * elf32-s390.c (elf_s390_relocate_section): Likewise.
+       * elf32-sh.c (sh_elf_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-sh64.c (sh_elf64_relocate_section): Likewise.
+       * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+       * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+       * elf64-alpha.c (elf64_alpha_relocate_section): Handle
+       _bfd_elf_section_offset returning -2 the same way as -1.
+       * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise.
+       * elf32-mips.c (mips_elf_create_dynamic_relocation): Add FIXME
+       and BFD_ASSERT.
+       * elf64-mips.c (mips_elf64_create_dynamic_relocation): Likewise.
+
+2002-02-18  Tom Rix  <trix@redhat.com>
+
+       * xcofflink.c (bfd_xcoff_link_gernate_rtinit): Add -brtl support.
+       (bfd_xcoff_size_dynamic_sections): Same.
+       * bfd-in.h (bfd_xcoff_link_generate_rtinit): Same.
+       (bfd_xcoff_size_dynamic_sections): Same.
+       * coff-rs6000.c (xcoff_generate_rtinit): Same.
+       * coff-rs646000.c (xcoff64_generate_rtinit): Same.
+       * libxcoff.h (struct xcoff_backend_data_rec): Same.
+       * xcofflink.c (xcoff_build_ldsyms, xcoff_link_add_symbols): Clean.
+       * bfd-in2.h: Regenerate.
+
+2002-02-18  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.
+       (struct ppc_link_hash_table): Add sfpr.
+       (ppc64_elf_link_hash_table_create): Init it.
+       (ppc64_elf_create_dynamic_sections): Split creation of .stub and
+       .glink out to..
+       (create_linkage_sections): ..here.  Make .sfpr too.
+       (ppc64_elf_check_relocs): Call create_linkage_sections, and set
+       dynobj early.
+       (MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
+       (ppc64_elf_func_desc_adjust): Look for missing ._savef* and
+       ._restf* functions, and create as needed.
+       (func_desc_adjust): Only force_local for shared libs.
+
+2002-02-18  David O'Brien  <obrien@FreeBSD.org>
+
+       * configure.in: Bump version number post 2.12 branching.
+       * configure: Regenerate.
+
+2002-02-17  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * mmo.c: Correct and improve comments.
+       (mmo_write_chunk): Store trailing byte in bfd buffer; don't
+       zero-pad.  Use input to fill up non-empty bfd buffer.
+       (mmo_flush_chunk): New function.
+       (mmo_write_loc_chunk): Add parameter last_vmap, all callers
+       changed.  Don't emit location specifier if VMA is same as
+       *LAST_VMAP after omitting leading zero contents.  Call
+       mmo_flush_chunk before emitting location specifier.
+       (mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished
+       with mmo_write_loc_chunk calls.
+       (mmo_internal_write_section): Call mmo_flush_chunk after
+       mmo_write_chunk.
+       (mmo_write_symbols_and_terminator): Move :Main to first position
+       in symbol array.  Add faked one if it does not exist if there are
+       other symbols.  Don't add it if there are no symbols at all.  Move
+       out test for value of :Main from symbol loop.  Rename table
+       fakemain to maintable and variable mainsym to fakemain.
+
+2002-02-15  Richard Henderson  <rth@redhat.com>
+
+       * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: A target
+       section with no got matches any got.  Simplify error generaion.
+
+2002-02-15  Alan Modra  <amodra@bigpond.net.au>
+
+       Support arbitrary length fill patterns.
+       * linker.c (bfd_new_link_order): Zero all fields with bfd_zalloc.
+       (_bfd_default_link_order): Remove bfd_fill_link_order code.
+       Call default_data_link_order.
+       (default_fill_link_order): Delete.
+       (default_data_link_order): New function.
+       * elf32-mips.c (_bfd_mips_elf_final_link): Replace occurrences
+       of bfd_fill_link_order with bfd_data_link_order.
+       * elf64-alpha.c (elf64_alpha_final_link): Likewise.
+       * elf64-mips.c (mips_elf64_final_link): Likewise.
+
+       * bfd.c (bfd_scan_vma): Clamp overflows to max bfd_vma value.
+       Correct value returned in "end" for "0x<non-hex>".
+
+2002-02-14  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * cpu-arm.c (processors): Replace 'arch' field with 'mach'.
+       (scan): Test against 'mach' field in info structure.
+
+2002-02-14  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf.c (elf_fake_sections): Use SHT_NOBITS when SEC_NEVER_LOAD.
+
+2002-02-14  Matt Fredette  <fredette@netbsd.org>
+
+       * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
+       EF_M68000.
+
+2002-02-13  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * elf.c (_bfd_elf_make_section_from_shdr): Do not insist on
+       non-zero physical addresses when adjusting the LMAs of new
+       sections.
+
+2002-02-12  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * elf-hppa.h (elf_hppa_reloc_final_type): New function stripped
+       from _bfd_elf_hppa_gen_reloc_type.
+       (_bfd_elf_hppa_gen_reloc_type): Remove duplicate prototype.
+       * elf32-hppa.h (elf32_hppa_reloc_final_type): Add protptype.
+       * elf32-hppa.c: Include elf32-hppa.h before elf-hppa.h.
+       * elf64-hppa.h (elf64_hppa_reloc_final_type): Add protptype.
+
+2002-02-12  Alexandre Oliva  <aoliva@redhat.com>
+
+       * elf-m10300.c (mn10300_elf_relax_section): Skip section before
+       loading its contents if there's nothing to do in it.
+
+2002-02-12  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (ppc64_elf_size_stubs): Correct test for crossing
+       64k boundary.
+
+       * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Add dynamic
+       DT_PPC64_OPD and DT_PPC64_OPDSZ tags.
+       (ppc64_elf_finish_dynamic_sections): Set values for them.
+
+2002-02-11  Michael Snyder  <msnyder@redhat.com>
+
+       * elf-bfd.h (elfcore_write_lwpstatus): Add prototype.
+       * elf.c (elfcore_grok_pstatus): Add prototype.
+       (elfcore_grok_lwpstatus): Add prototype.
+       (elfcore_write_lwpstatus): New function.
+       (elfcore_write_pstatus): Fix typo, eliminate unnecessary memcpy.
+
+2002-02-11  Alexandre Oliva  <aoliva@redhat.com>
+
+       * elf32-sh.c: Added missing prototypes.
+       * elf32-sh64.c: Likewise.
+       (sh_elf_align_loads): Mark unused args as such.
+       * elf64-sh64.c: Added missing prototypes.
+       (struct elf_sh64_link_hash_entry): Fix typo.
+       (sh_elf64_relocate_section): Fix info argument passed to
+       _bfd_elf_section_offset.
+
+2002-02-11  Alan Modra  <amodra@bigpond.net.au>
+
+       * Makefile.am: "make dep-am".
+       * Makefile.in: Regenerate.
+       * aclocal.m4: Regenerate.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+
+2002-02-10  Daniel Jacobowitz  <drow@mvista.com>
+
+       * coff-rs6000.c (xcoff_generate_rtinit): Silence uninitialized
+       variable warnings.
+       * elf32-sh.c (sh_elf_relax_section): Silence signed/unsigned
+       comparison warning.
+       * trad-core.c (trad_unix_core_file_p): Silence pointer/integer
+       cast warnings for the common case.
+
+2002-02-10  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64
+       vectors.
+       (sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64
+       vectors.
+
+2002-02-09  Richard Henderson  <rth@redhat.com>
+
+       * elf64-alpha.c (elf64_alpha_howto): Add R_ALPHA_BRSGP.
+       (elf64_alpha_reloc_map, elf64_alpha_check_relocs): Likewise.
+       (elf64_alpha_relocate_section): Likewise.
+       * reloc.c (BFD_RELOC_ALPHA_BRSGP): New.
+       * bfd-in2.h, libbfd.h: Rebuild.
+
+2002-02-09  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): Check
+       that base-plus-offset reloc accounting is consistent.
+       (mmix_elf_relax_section): Keep base-plus-offset reloc accounting
+       up to date for undefined symbols.
+
+2002-02-08  Eric Christopher  <echristo@redhat.com>
+
+       From Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * elf32-mips.c (_bfd_mips_elf_fake_sections): Don't create .rela
+       sections for the O32 ABI.
+
+2002-02-08  Chris Demetriou  <cgd@broadcom.com>
+
+       * elf32-arm.h: Fix formatting of _("...").
+       * elf32-d10v.c: Likewise.
+       * elf32-m68k.c: Likewise.
+       * elf32-mips.c: Likewise.
+
+2002-02-08  Ivan Guzvinec <ivang@opencores.org>
+
+       * coff-or32.c: Fix compile time warning messages.
+
+2002-02-08  Alexandre Oliva  <aoliva@redhat.com>
+
+       Contribute sh64-elf.
+       2002-01-23  Alexandre Oliva  <aoliva@redhat.com>
+       * reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
+       R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
+       R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
+       R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
+       R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
+       R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
+       R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
+       R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8,
+       R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64):
+       New relocs.
+       * libbfd.h, bfd-in2.h: Rebuilt.
+       * elf32-sh.c (sh_elf_howto_table): Define new relocs.
+       (sh_reloc_map): Map them.
+       (PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
+       elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be,
+       elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry,
+       elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
+       elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset,
+       elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset,
+       movi_shori_putval) [INCLUDE_SHMEDIA]: New.
+       (elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add
+       datalabel_got_offset.
+       (sh_elf_link_hash_newfunc): Initialize it.
+       (sh_elf_relocate_section): Augment the scope of
+       seen_stt_datalabel.  Introduce GOTPLT support.  Extend GOTPC, PLT,
+       GOT and GOTOFF handling to new SHmedia relocation types.  Support
+       GOT_BIAS.
+       (sh_elf_check_relocs): Likewise.
+       (sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in
+       PLT entries using movi_shori_putval.  Support GOT_BIAS.
+       (sh_elf_finish_dynamic_sections): Likewise.
+       * elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to
+       relocation, it's now done by the caller.
+       (GOT_BIAS): New.
+       * elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt,
+       elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset,
+       elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset,
+       elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER,
+       elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry,
+       elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse,
+       sh64_elf64_hash_table): New.
+       (sh_elf64_howto_table): Introduce new relocs.
+       (sh_elf64_info_to_howto): Accept new PIC relocs.
+       (sh_elf64_relocate_section): Augment the scope of
+       seen_stt_datalabel.  Support new PIC relocs.
+       (sh_elf64_check_relocs): Support new PIC relocs.
+       (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le,
+       elf_sh64_plt_entry_be, elf_sh64_plt_entry_le,
+       elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le,
+       elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry,
+       sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create,
+       movi_shori_putval, movi_3shori_putval,
+       sh64_elf64_create_dynamic_sections,
+       sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies,
+       sh64_elf64_size_dynamic_sections,
+       sh64_elf64_finish_dynamic_symbol,
+       sh64_elf64_finish_dynamic_sections): New.
+       (elf_backend_create_dynamic-sections,
+       bfd_elf64_bfd_link_hash_table_create,
+       elf_backend_adjust_dynamic_symbol,
+       elf_backend_size_dynamic_sections,
+       elf_backend_finish_dynamic_symbol,
+       elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
+       elf_backend_plt_readonly, elf_backend_want_plt_sym,
+       elf_backend_got_header_size, elf_backend_plt_header_size):
+       Define.
+       2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
+       * elf32-sh.c: Renumbered and renamed some SH5 relocations to
+       match official numbers and names; moved unmaching ones to the
+       range 0xf2-0xff.
+       * elf32-sh64.c, elf64-sh64.c: Likewise.
+       2001-03-12  DJ Delorie  <dj@redhat.com>
+       * elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia
+       sections.
+       2001-03-12  DJ Delorie  <dj@redhat.com>
+       * elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must
+       be aligned.
+       * elf64-sh64.c (sh_elf64_relocate_section): Ditto.
+       2001-01-14  Hans-Peter Nilsson  <hpn@cygnus.com>
+       * elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define.
+       (sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a
+       .cranges section with SEC_SORT_ENTRIES set.
+       (sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an
+       incoming sorted .cranges section.
+       (sh64_bfd_elf_copy_private_section_data): New.
+       (sh64_elf_final_write_processing): Only sort .cranges and modify
+       start address if called by linker.
+       2001-01-08  Ben Elliston  <bje@redhat.com>
+       * elf32-sh64.c (sh64_elf_final_write_processing): Activate
+       Hans-Peter Nilsson's set bit 0 patch from       2001-01-06.
+       * elf64-sh64.c (sh64_elf64_final_write_processing): Ditto.
+       2001-01-06  Hans-Peter Nilsson  <hpn@cygnus.com>
+       * elf64-sh64.c (sh_elf64_howto_table): No open brace at start of
+       line.  Add comments before all entries.
+       <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct and clarify describing
+       comment.
+       (sh_elf64_reloc): Correct head comment.
+       (sh_elf64_relocate_section): Correct spacing.
+       <relocating for a local symbol>: Do not honour STO_SH5_ISA32;
+       instead call reloc_dangerous callback.
+       <case R_SH_SHMEDIA_CODE>: New case.
+       (sh_elf64_gc_mark_hook): Correct spacing.
+       (sh_elf64_check_relocs): Ditto.
+       * elf32-sh64.c (shmedia_prepare_reloc) <case R_SH_SHMEDIA_CODE>:
+       New case.
+       * elf32-sh.c: Correct #endif comments for #ifndef-wrapped
+       functions.
+       (sh_elf_howto_table) <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct,
+       clarify describing comment.  Add comments before all entries.
+       (sh_elf_relocate_section) <relocating for a local symbol>: Do not
+       honour STO_SH5_ISA32; instead call reloc_dangerous callback.
+       2001-01-06  Hans-Peter Nilsson  <hpn@cygnus.com>
+       Sort .cranges section in final link.  Prepare to set bit 0 on
+       entry address.
+       * elf32-sh64.c (struct sh64_find_section_vma_data): New.
+       (sh64_elf_link_output_symbol_hook): Fix typo in prototype.
+       (sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming
+       .cranges section.
+       (sh64_backend_section_from_shdr): New, to recognize
+       SHT_SH5_CR_SORTED on incoming .cranges section.
+       (elf_backend_section_from_shdr): Define.
+       (sh64_elf_final_write_processing): Sort outgoing .cranges
+       section.  (New, temporarily disabled:) Set bit 0 on entry address
+       according to ISA type.
+       (sh64_find_section_for_address): New.
+       (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
+       crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c.
+       (sh64_address_in_cranges): Move here from opcodes/sh64-dis.c.  Use
+       bfd_malloc, not xmalloc.
+       (sh64_get_contents_type): Move here from opcodes/sh64-dis.c.  Make
+       global.
+       * elf32-sh64.c (sh64_elf64_final_write_processing): New, (but
+       temporarily disabled) setting bit 0 on entry address.
+       (elf_backend_final_write_processing): Define.
+       2001-01-05  Hans-Peter Nilsson  <hpn@cygnus.com>
+       * elf32-sh.c (sh_elf_howto_table) <R_SH_PT_16>: Adjust fields to
+       be a proper relocation for PTA and PTB rather than a marker.
+       <R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
+       R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
+       R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
+       R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
+       R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL>:
+       Zero src_mask.
+       * elf64-sh64.c: Ditto.
+       (sh_elf64_relocate_section) <case R_SH_PT_16>: New case.
+       * elf32-sh64.c: Include opcodes/sh64-opc.h
+       (shmedia_prepare_reloc): Take a bfd_link_info pointer as first
+       argument.  Drop const qualifiers from "bfd *" and "bfd_byte *"
+       parameters.  No unused parameters.  Caller changed.
+       <case R_SH_PT_16>: New case.
+       * Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h.
+       * Makefile.in: Regenerate.
+       2000-12-30  Hans-Peter Nilsson  <hpn@cygnus.com>
+       * elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for
+       all code sections.
+       (sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
+       (sh64_elf_merge_private_data): Ditto.
+       * elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data
+       to access stored section flags.
+       (sh64_elf_final_write_processing): Return immediately unless
+       called by linker.  Use sh64_elf_section_data (cranges) to get size
+       of linker-generated cranges entries.
+       (sh64_elf_copy_private_data): Add missing "return true".
+       (sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
+       (sh_elf64_merge_private_data): Ditto.
+       2000-12-19  Hans-Peter Nilsson  <hpn@cygnus.com>
+       * elf64-sh64.c (sh64_elf64_fake_sections): New, copy of
+       elf64-sh64.c:sh64_elf_fake_sections.
+       (elf_backend_fake_sections): Define as sh64_elf64_fake_sections.
+       2000-12-18  Hans-Peter Nilsson  <hpn@cygnus.com>
+       * elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete.
+       (sh64_elf_final_write_processing): New.
+       (elf_backend_final_write_processing): Define.
+       (sh64_elf_fake_sections): Get header flags from tdata field.
+       (sh64_elf_copy_private_data): Do not call
+       sh64_elf_copy_private_data_internal, just copy e_flags field.
+       (sh64_elf_merge_private_data): Do not call
+       sh64_elf_copy_private_data_internal.
+       2000-12-12  Hans-Peter Nilsson  <hpn@cygnus.com>
+       Remove EF_SH64_ABI64, let ELF size make difference.
+       Remove SH64-specific BFD section flag.
+       * elf32-sh64.c (sh64_elf_fake_sections): Recognize section as
+       containing SHmedia through elf_section_data (asect)->tdata
+       non-zero, not using a BFD section flag.
+       (sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64.
+       (sh64_elf_merge_private_data): Similar.
+       (elf_backend_section_flags): Don't define.
+       (sh64_elf_backend_section_flags): Delete.
+       * elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64,
+       not EF_SH64_ABI64.
+       (sh_elf64_merge_private_data): Similar.
+       * section.c (Section flags definitions): Don't define
+       SEC_SH_ISA_SHMEDIA.
+       (bfd-in2.h): Regenerate.
+       2000-12-09  Hans-Peter Nilsson  <hpn@cygnus.com>
+       Make DataLabel references work with partial linking.
+       * elf32-sh64.c: Fix formatting.
+       (sh64_elf_link_output_symbol_hook): New.
+       (elf_backend_link_output_symbol_hook): Define to
+       sh64_elf_link_output_symbol_hook.
+       (sh64_elf_add_symbol_hook): Make DataLabel symbol just global
+       undefined if partial linking.  Adjust sanity check.
+       * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New.
+       (elf_backend_link_output_symbol_hook): Define to
+       sh64_elf64_link_output_symbol_hook.
+       (sh64_elf64_add_symbol_hook): Make DataLabel symbol just global
+       undefined if partial linking.  Adjust sanity check.
+       2000-12-07  Hans-Peter Nilsson  <hpn@cygnus.com>
+       Implement semantics for inter-file DataLabel references.
+       * elf64-sh64.c (DATALABEL_SUFFIX): Define.
+       (sh64_elf64_add_symbol_hook): New.
+       (sh_elf64_relocate_section): If passing an indirect symbol with
+       st_type STT_DATALABEL on the way to a symbol with st_other
+       STO_SH5_ISA32, do not bitor 1 to the relocation.
+       (elf_backend_add_symbol_hook): Define to
+       sh64_elf64_add_symbol_hook.
+       * elf64-sh32.c: Tweak comments.
+       (DATALABEL_SUFFIX): Define.
+       (sh64_elf_add_symbol_hook): New.
+       (elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook.
+       * elf32-sh.c (sh_elf_relocate_section): If passing an indirect
+       symbol with st_type STT_DATALABEL on the way to a symbol with
+       st_other STO_SH5_ISA32, do not bitor 1 to the relocation.
+       2000-12-05  Hans-Peter Nilsson  <hpn@cygnus.com>
+       Pass through STT_DATALABEL.
+       * elf32-sh64.c (sh64_elf_get_symbol_type): New.
+       (elf_backend_get_symbol_type): Define.
+       * elf64-sh64.c (sh64_elf64_get_symbol_type): New.
+       (elf_backend_get_symbol_type): Define.
+       2000-11-30  Hans-Peter Nilsson  <hpn@cygnus.com>
+       * elf32-sh64.c: Tweak comments.
+       (sh64_elf_copy_private_data_internal): Add prototype.
+       (bfd_elf32_bfd_set_private_flags): Define.
+       (sh64_elf_copy_private_data_internal): Compare machine name, not
+       textual BFD target name, to check whether to copy section flag
+       SHF_SH5_ISA32.
+       (sh64_elf_merge_private_data): Validize bfd_get_arch_size.
+       Tweak section-contents-type-mismatch message.
+       (shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers.
+       Validize reloc-types.
+       * elf64-sh64.c: New file.
+       * targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare.
+       * Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo.
+       (BFD64_BACKENDS_CFILES): Add elf64-sh64.c.
+       Regenerate dependencies.
+       * Makefile.in: Regenerate.
+       * config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and
+       bfd_elf64_sh64l_vec.
+       * configure.in: Handle bfd_elf64_sh64_vec and
+       bfd_elf64_sh64l_vec.
+       * configure: Regenerate.
+       * po/POTFILES.in: Regenerate.
+       * po/bfd.pot: Regenerate.
+       2000-11-29  Hans-Peter Nilsson  <hpn@cygnus.com>
+       * elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize
+       anything else but EF_SH64 and EF_SH64_ABI64.
+       (sh64_elf_merge_private_data): Emit error for anything else but
+       EF_SH64 and EF_SH64_ABI64.
+       * config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec
+       from targ_selvecs.
+       * configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and
+       bfd_elf32_sh64l_vec as a temporary measure.
+       * configure: Regenerate.
+       2000-11-27  Hans-Peter Nilsson  <hpn@cygnus.com>
+       * cpu-sh.c (arch_info_struct): Include sh5 item
+       unconditionalized.
+       * config.bfd (sh64-*-elf*): Do not set targ_cflags.
+       Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec,
+       bfd_elf32_shblin_vec and bfd_elf32_shlin_vec.
+       * elf32-sh64.c: Tweak comments.
+       (sh64_elf_set_mach_from_flags): Recognize all machine flags that
+       are proper subsets of SH64 as bfd_mach_sh5.  Add EF_SH64_ABI64.
+       (sh64_elf_copy_private_data_internal): Wrap long line.
+       (sh64_elf_merge_private_data): Rewrite to allow objects from
+       SH64 subsets to be linked together.
+       (INCLUDE_SHMEDIA): Define.
+       * elf32-sh.c (sh_elf_relocate_section) <local symbol>:
+       Parenthesize plus-expression inside or-expression.
+       <global symbol>: Ditto.
+       (sh_elf_set_mach_from_flags): Remove code refusing
+       deleted EF_SH64_32BIT_ABI flag.
+       2000-11-26  Hans-Peter Nilsson  <hpn@cygnus.com>
+       * elf32-sh.c (sh_elf_howto_table) <R_SH_IMM_LOW16_PCREL,
+       R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16_PCREL,
+       R_SH_IMM_HI16_PCREL, R_SH_64_PCREL>: Set pcrel_offset to true.
+       (sh_elf_relocate_section) <local symbol>: Or 1 in
+       calculation of relocation if sym->st_other & STO_SH5_ISA32.
+       <global symbol>: Ditto if h->other & STO_SH5_ISA32.
+       * elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to
+       relocation.
+       2000-11-24  Hans-Peter Nilsson  <hpn@cygnus.com>
+       * Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo.
+       (BFD32_BACKENDS_CFILES): Add elf32-sh64.c.
+       Regenerate dependencies.
+       * Makefile.in: Regenerate.
+       * archures.c: Add bfd_mach_sh5.
+       * config.bfd: Map targ_cpu sh* to bfd_sh_arch.
+       Handle sh64-*-elf*.  Set targ_cflags to -DINCLUDE_SHMEDIA.
+       * configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec.
+       * configure: Regenerate.
+       * reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5,
+       BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6,
+       BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2,
+       BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8,
+       BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16,
+       BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16,
+       BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16,
+       BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16,
+       BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations.
+       * cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link
+       in item for SH5.
+       * elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items
+       for SHmedia relocs.
+       [INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs.
+       [INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call
+       shmedia_prepare_reloc, goto final_link_relocate if it returns
+       non-zero, else fail as before.
+       (sh_elf_set_mach_from_flags): Provide function only if not defined
+       as macro.  Do not recognize objects with EF_SH64_32BIT_ABI set.
+       (sh_elf_set_private_flags): Provide function only if not defined
+       as a macro.
+       (sh_elf_copy_private_data): Similar.
+       (sh_elf_merge_private_data): Similar.
+       * section.c (SEC_SH_ISA_SHMEDIA): New.
+       * targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare.
+       * elf32-sh64.c: New file.
+       * libbfd.h: Regenerate.
+       * bfd-in2.h: Regenerate.
+       * po/POTFILES.in: Regenerate.
+       * po/bfd.pot: Regenerate.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+
+2002-02-07  Daniel Jacobowitz  <drow@mvista.com>
+
+       * bfd-in.h: Update <stdbool.h> check to only see if <stdbool.h> has
+       been included, not drag it in.
+       * bfd-in2.h: Regenerate.
+
+2002-02-06  H.J. Lu  (hjl@gnu.org)
+
+       * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update
+       the mach and ISA fields if necessary.
+
+2002-02-06  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * coffcode.h (coff_set_arch_mach_hook): Select the highest known
+       ARM architecture when an F_ARM_5 flag is detected, since we cannot
+       be sure exactly which architecture this represents.
+
+2002-02-05  Nick Clifton  <nickc@redhat.com>
+
+       * po/tr.po: Updated translation.
+
+2002-02-05  Alan Modra  <amodra@bigpond.net.au>
+
+       From Jimi X <jimix@watson.ibm.com>
+       * archures (bfd_mach_ppc64): Define.
+       (bfd_powerpc_arch): Rename to bfd_powerpc_archs.
+       (bfd_powerpc_arch): Define.
+       * bfd-in2.h: Regenerate.
+       * cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs.
+       (bfd_powerpc_arch): Move to tail of bfd_powerpc_archs.
+       (bfd_powerpc_archs): Add default powerpc64 arch.
+
+2002-02-05  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs
+       against section syms in readonly sections.  Don't do the global
+       sym check if we find one.
+       * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
+       * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
+       * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
+       * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
+       (elf_s390_grok_prstatus): Add missing prototype.
+
+2002-02-04  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * elf64-mmix.c (mmix_dump_bpo_gregs): New function.
+       (mmix_elf_check_common_relocs) <case R_MMIX_BASE_PLUS_OFFSET>:
+       Call bfd_get_section_by_name only once.  Initialize
+       bpodata->n_bpo_relocs_this_section.
+       (_bfd_mmix_prepare_linker_allocated_gregs): Remove comment
+       referring to DSOs.
+       (bpo_reloc_request_sort_fn): Don't use difference of values as
+       return-value.
+
+2002-02-02  David O'Brien  <obrien@FreeBSD>
+
+       * configure.in: Tweak the FreeBSD 4.x recognition more.  Only treat
+       version 4.5 and later the same as 5-CURRENT.
+       * configure: Re-generate.
+
+2002-02-02  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * config.bfd (hppa*-*-netbsd*): New target.
+
+2002-01-31  Philipp Thomas  <pthomas@suse.de>
+
+       * coff-arm.c (coff_arm_merge_private_bfd_data): Move ERROR
+       to front of message. Unify messages with elf32-arm.h. Use
+       commas where neccessary.
+       * elf32-arm.h (elf32_arm_merge_private_bfd_data): Use all upcase
+       ERROR in messages. Unify messages with coff-arm.c. Correct
+       VFP/FPA error message.
+       (elf32_arm_print_private_bfd_data): Don't mark APCS-26 and
+       APCS-32 for translation.
+
+2002-02-01  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       Perform on-demand global register allocation from
+       R_MMIX_BASE_PLUS_OFFSET relocs.
+       * elf64-mmix.c (struct bpo_reloc_section_info, struct
+       bpo_reloc_request, struct bpo_greg_section_info): New.
+       (mmix_elf_check_common_relocs, mmix_elf_gc_sweep_hook,
+       bpo_reloc_request_sort_fn, mmix_elf_relax_section,
+       _bfd_mmix_check_all_relocs,
+       _bfd_mmix_prepare_linker_allocated_gregs,
+       _bfd_mmix_finalize_linker_allocated_gregs): New functions.
+       (elf_mmix_howto_table): Correct src_mask for most relocs.
+       (mmix_elf_perform_relocation) <case R_MMIX_BASE_PLUS_OFFSET>: New
+       case.
+       (mmix_final_link_relocate) <case R_MMIX_BASE_PLUS_OFFSET>: New
+       case.  Fix typo in comment.  New label do_mmix_reloc.
+       (mmix_elf_check_relocs): Abuse bfd_link_info member base_file to
+       store first object file with a base-plus-offset reloc.  Call
+       mmix_elf_check_common_relocs for the part common with mmo.
+       (mmix_elf_final_link): Write out linker-allocated register
+       contents section.
+       (elf_backend_gc_sweep_hook): Define.
+       (bfd_elf64_bfd_relax_section): Define.
+
+       * mmo.c: Don't include <ctype.h>
+       (mmo_init): Correct init-once logic.
+
+2002-02-01  Tom Rix  <trix@redhat.com>
+
+       * config.bfd: Conditionally support <aiaff> for pre AIX 4.3.
+
+2002-02-01  Alan Modra  <amodra@bigpond.net.au>
+
+       * Makefile.am: Run "make dep-am"
+       * Makefile.in: Regenerate.
+
+2002-01-31  David O'Brien  <obrien@FreeBSD>
+
+       * configure.in: Recognize the differences in core files from FreeBSD
+       4.{0,1} and later versions of 4.x.  This treats 4.2+ the same as
+       5-CURRENT.
+       * configure: Regenerate.
+
+2002-01-31  Ivan Guzvinec  <ivang@opencores.org>
+
+       * coff-or32.c: New file.
+       * cpu-or32.c: New file.
+       * elf32-or32.c: New file.
+       * archures.c: Add support for or32.
+       * targets.c: Add support for or32.
+       * bfd-in2.h: Regenerate.
+       * coffcode.h (coff_set_arch_mach_hook, coff_set_flags,
+       coff_write_object_contents): Add support for or32.
+       * config.bfd: Add target.
+       * configure.in: Add support for or32.
+       * configure: Regenerate.
+       * Makefile.am: Add support for or32.
+       * Makefile.in: Regenerate.
+       * po/SRC-POTFILES.in: Add or32 files.
+       * po/bfd.pot: Regenerate.
+
+2002-01-31  Nick Clifton  <nickc@cambridge.redhat.com>
+           Don Lindsay  <lindsayd@cisco.com>
+
+       * elf32-mips.c (mips_elf_calculate_relocation): Replace 'return
+       false' with a return of a bfd_reloc_ error code.
+
+2002-01-31  Hans-Peter Nilsson  <hp@axis.com>
+
+       * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
+       unexport unreferenced symbols when --export-dynamic.  Call
+       _bfd_elf_strtab_delref when unexporting.
+
+2002-01-30  Daniel Jacobowitz  <drow@mvista.com>
+
+       * bfd-in.h: Include <stdbool.h> if it is available.
+       * bfd-in2.h: Regenerated.
+
+2002-01-31  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (func_desc_adjust): STV_PROTECTED functions should
+       not go via the plt.
+
+2002-01-30  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * archures.c: Tidy up formatting of embedded comments.
+       * bfd.c: Tidy up formatting of embedded comments.
+       * bfd-in.h: Fix formatting of comments.
+       * reloc.c: Tidy up formatting of ordinary & embedded comments.
+       * section.c: Tidy up formatting of embedded comments.
+       * syms.c: Tidy up formatting of embedded comments.
+       * targets.c: Tidy up formatting of embedded comments.
+
+       * bfd-in2.h: Regenerate.
+
+2002-01-30  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * vms-tir.c (cmd_name): New function.
+       (tir_cmd_name): New function.
+       (etir_sta, etir_sto, etir_opr, etir_stc): Use cmd_name().
+       (tir_opr, tir_ctl, tir_cmd): use tir_cmd_name().
+       Fix formatting.
+
+       * peXXigen.c (pe_print_idata): Rearrange message to aid in
+       translation.
+       (pe_print_pdata):  Rearrange message to aid in translation.
+
+       * libbfd.c (warn_deprecated): Rearrange error message to aid in
+       translation.
+
+       * ihex.c (ihex_write_object_contents): Fix spelling typo.
+
+       * ieee.c (ieee_slurp_external_symbols): Remove spurious space.
+
+       * elf64-sparc.c (sparc64_elf_add_symbol_hook): Rearrange error
+       message to aid in translation.
+
+       * elf64-mmix.c (mmix_final_link_relocate): Rearrange error message
+       to aid in translation.
+
+       * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix typo.
+
+2002-01-30  Philipp Thomas  <pthomas@suse.de>
+
+       * coff-arm.c, elf32-elf.h: Unify messages.
+
+2002-01-30  Nick Clifton <nickc@redhat.com>
+
+       * po/sv.po: Updated translation.
+
+2002-01-30  Philipp Thomas  <pthomas@suse.de>
+
+       * dwarf2.c (read_abbrev): Use full section name in error message.
+       (decode_line_info): Likewise.
+
+       * elf.c (_bfd_elf_symbol_from_bfd_symbol): Don't translate debugging
+       message.
+
+2002-01-30  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (func_desc_adjust): Only provide missing function
+       descriptor symbols for undefined function code syms.  Clear
+       ELF_LINK_NON_ELF so that they can stay weak.
+
+2002-01-29  Chris Demetriou  <cgd@broadcom.com>
+           Mitch Lichtenberg  <mpl@broadcom.com>
+
+       * bfd-in.h (bfd_mips_elf32_create_embedded_relocs): New prototype.
+       * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): New function
+       to handle 32-bit ELF embedded reloc (ld --embedded-relocs)
+       generation.
+       * bfd-in2.h: Regenerate.
+
 2002-01-29  Chris Demetriou  <cgd@broadcom.com>
 
        * elf32-mips.c: Add additional comments about HI16 relocation
        emit error for egcs-1.1.2.
        * configure: Regenerate.
 
-       * doc/Makefile.am (install): Depend on install-info.
-       * doc/Makefile.in: Regenerate.
-
 2002-01-26  Egor Duda  <deo@logos-m.ru>
 
        * elf.c (elfcore_grok_win32pstatus): Copy only as much information
This page took 0.0448 seconds and 4 git commands to generate.