This commit was manufactured by cvs2svn to create branch
'carlton_dictionary-branch'.

Cherrypick from master 2004-01-26 12:52:10 UTC DJ Delorie <dj@redhat.com> 'merge from gcc':
    bfd/ChangeLog-0203
    bfd/doc/ChangeLog-9103
    gdb/ChangeLog-2003
    gdb/config/sparc/linux64.mh
    gdb/config/sparc/linux64.mt
    gdb/config/sparc/nm-sol2.h
    gdb/config/sparc/obsd.mt
    gdb/config/sparc/obsd64.mt
    gdb/config/sparc/sol2-64.mt
    gdb/config/sparc/sol2.mh
    gdb/config/sparc/sol2.mt
    gdb/config/sparc/sparc.mt
    gdb/config/sparc/sparc64.mt
    gdb/config/sparc/tm-sol2.h
    gdb/config/sparc/tm-vxworks.h
    gdb/config/sparc/vxworks.mt
    gdb/mi/ChangeLog-1999-2003
    gdb/sparc-linux-tdep.c
    gdb/sparc-nat.h
    gdb/sparc-sol2-nat.c
    gdb/sparc-sol2-tdep.c
    gdb/sparc64-linux-nat.c
    gdb/sparc64-linux-tdep.c
    gdb/sparc64-nat.c
    gdb/sparc64-sol2-tdep.c
    gdb/sparc64nbsd-tdep.c
    gdb/sparc64obsd-tdep.c
    gdb/sparcobsd-tdep.c
    gdb/testsuite/gdb.base/gdb1476.c
    gdb/testsuite/gdb.base/gdb1476.exp
    gdb/testsuite/gdb.base/sepdebug.c
    gdb/testsuite/gdb.base/sepdebug.exp
    gdb/testsuite/gdb.cp/bs15503.cc
    gdb/testsuite/gdb.cp/bs15503.exp
    gdb/testsuite/gdb.cp/exception.cc
    gdb/testsuite/gdb.cp/exception.exp
    gdb/testsuite/gdb.mi/ChangeLog-1999-2003
    gdb/tui/ChangeLog-1998-2003
    gdb/tui/tui-command.c
    gdb/tui/tui-command.h
    gdb/tui/tui-data.c
    gdb/tui/tui-data.h
    gdb/tui/tui-disasm.c
    gdb/tui/tui-disasm.h
    gdb/tui/tui-io.c
    gdb/tui/tui-io.h
    gdb/tui/tui-layout.c
    gdb/tui/tui-layout.h
    gdb/tui/tui-regs.c
    gdb/tui/tui-regs.h
    gdb/tui/tui-source.c
    gdb/tui/tui-source.h
    gdb/tui/tui-stack.c
    gdb/tui/tui-stack.h
    gdb/tui/tui-win.c
    gdb/tui/tui-win.h
    gdb/tui/tui-windata.c
    gdb/tui/tui-windata.h
    gdb/tui/tui-wingeneral.c
    gdb/tui/tui-wingeneral.h
    gdb/tui/tui-winsource.c
    gdb/tui/tui-winsource.h
    include/ChangeLog-9103
    include/coff/ChangeLog-9103
    include/elf/ChangeLog-9103
    include/opcode/ChangeLog-9103
    libiberty/configure.ac
    libiberty/cp-demangle.h
    libiberty/cp-demint.c
    opcodes/ChangeLog-0001
    opcodes/ChangeLog-0203
    sim/m32r/syscall.h
    sim/m32r/traps-linux.c
diff --git a/bfd/ChangeLog-0203 b/bfd/ChangeLog-0203
new file mode 100644
index 0000000..f99029a
--- /dev/null
+++ b/bfd/ChangeLog-0203
@@ -0,0 +1,11405 @@
+2003-12-19  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+
+	Adfd m32r-linux and PIC support.  Add new ABI that uses RELA.
+	* config.bfd (m32r*-*-linux*, m32r*le-*-linux*, m32r*le-*-*): Added.
+	* configure.in (bfd_elf32_m32rlin_vec, bfd_elf32_m32rlelin_vec,
+	bfd_elf32_m32rle_vec): Added
+	* configure: Regenerated.
+	* elf32-m32r.c (m32r_info_to_howto, m32r_elf_adjust_dynamic_symbol,
+	m32r_elf_size_dynamic_sections, m32r_elf_create_dynamic_sections,
+	m32r_elf_finish_dynamic_sections, m32r_elf_finish_dynamic_symbol,
+	allocate_dynrelocs, readonly_dynrelocs, m32r_elf_reloc_type_class,
+	m32r_elf_fake_sections): Added.
+	(m32r_elf_howto_table): Added
+	R_M32R_16_RELA, R_M32R_32_RELA, R_M32R_24_RELA,
+	R_M32R_10_PCREL_RELA, R_M32R_18_PCREL_RELA,
+	R_M32R_26_PCREL_RELA, R_M32R_HI16_ULO_RELA,
+	R_M32R_HI16_SLO_RELA, R_M32R_LO16_RELA,
+	R_M32R_SDA16_RELA, R_M32R_RELA_GNU_VTINHERIT,
+	R_M32R_RELA_GNU_VTENTRY, R_M32R_GOT24,
+	R_M32R_26_PLTREL, R_M32R_COPY, R_M32R_GLOB_DAT,
+	R_M32R_JMP_SLOT, R_M32R_RELATIVE, R_M32R_GOTOFF,
+	R_M32R_GOTPC24, R_M32R_GOT16_HI_ULO,
+	R_M32R_GOT16_HI_SLO, R_M32R_GOT16_LO,
+	R_M32R_GOTPC_HI_ULO, R_M32R_GOTPC_HI_SLO,
+	R_M32R_GOTPC_LO.
+	(m32r_elf_relocate_section, m32r_elf_check_relocs): Changed for
+	New ABI.
+	* reloc.c: Add BFD_RELOC_M32R_GOT24, BFD_RELOC_M32R_26_PLTREL,
+	BFD_RELOC_M32R_COPY, BFD_RELOC_M32R_GLOB_DAT,
+	BFD_RELOC_M32R_JMP_SLOT, BFD_RELOC_M32R_RELATIVE,
+	BFD_RELOC_M32R_GOTOFF, BFD_RELOC_M32R_GOTPC24,
+	BFD_RELOC_M32R_GOT16_HI_ULO, BFD_RELOC_M32R_GOT16_HI_SLO,
+	BFD_RELOC_M32R_GOT16_LO, BFD_RELOC_M32R_GOTPC_HI_ULO,
+	BFD_RELOC_M32R_GOTPC_HI_SLO, BFD_RELOC_M32R_GOTPC_LO.
+	* targets.c (bfd_elf32_m32rlin_vec, bfd_elf32_m32rlelin_vec,
+	bfd_elf32_m32rle_vec): Added.
+	* bfd-in2.h: Regenerated.
+	* libbfd.h: Regenerated.
+
+2003-12-19  Danny Smith  <dannysmith@users.sourceforge.net>
+
+	* coffcode.h (styp_to_sec_flags): Don't treat .reloc section
+	as SEC_DEBUGGING.
+
+2003-12-18  Richard Sandiford  <rsandifo@redhat.com>
+
+	* elf32-mips.c (elf_mips_howto_table_rel): Replace all uses of
+	mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc.  Use
+	_bfd_mips_elf_hi16_reloc for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16,
+	_bfd_mips_elf_lo16_reloc for R_MIPS_LO16 and R_MIPS_GNU_REL_LO16,
+	and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16.  Change rightshift
+	to 16 for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16.
+	(mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc)
+	(mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete.
+	(_bfd_mips_elf32_gprel16_reloc): Remove special case.
+	(mips_elf_gprel32_reloc, mips32_64bit_reloc): Likewise.
+
+	* elf64-mips.c (mips_elf64_howto_table_rel): Replace all uses of
+	mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc.  Use
+	_bfd_mips_elf_hi16_reloc for R_MIPS_HI16, _bfd_mips_elf_lo16_reloc
+	for R_MIPS_LO16 and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16.
+	Change R_MIPS_HI16's rightshift to 16.
+	(mips_elf64_howto_table_rela): Replace all uses of
+	mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc.
+	Use _bfd_mips_elf_generic_reloc for R_MIPS_GOT16 as well.
+	(mips_elf64_hi16_reloc, mips_elf64_got16_reloc): Delete.
+	(mips_elf64_shift6_reloc): Remove special case.  Use
+	_bfd_mips_elf_generic_reloc instead of returning bfd_reloc_continue.
+
+	* elfn32-mips.c (prev_reloc_section): Delete.
+	(prev_reloc_address, prev_reloc_addend): Delete.
+	(elf_mips_howto_table_rel, elf_mips_howto_table_rela): As for
+	elf64-mips.c
+	(GET_RELOC_ADDEND, SET_RELOC_ADDEND): Delete.
+	(mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc)
+	(mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete.
+	(mips_elf_gprel16_reloc): Delete use of GET_RELOC_ADDEND.
+	(mips_elf_literal_reloc, mips_elf_gprel32_reloc): Likewise.
+	(mips16_jump_reloc, mips16_gprel_reloc): Likewise.
+	(mips_elf_shift6_reloc): Likewise.  Delete use of SET_RELOC_ADDEND.
+
+	* elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Use
+	_bfd_relocate_contents to install an in-place addend.
+	(mips_hi16): New structure.
+	(mips_hi16_list): Moved from elf32-mips.c.
+	(_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_got16_reloc): New functions.
+	(_bfd_mips_elf_lo16_reloc, _bfd_mips_elf_generic_reloc): New functions.
+	(mips_elf_calculate_relocation): Assume addend is unshifted.
+	(_bfd_mips_elf_relocate_section): Don't apply the howto rightshift
+	on top of the usual high-part shift.  Don't shift the addend right
+	before calling mips_elf_calculate_relocation.
+
+	* elfxx-mips.h (_bfd_mips_elf_hi16_reloc): Declare.
+	(_bfd_mips_elf_got16_reloc, _bfd_mips_elf_lo16_reloc): Declare.
+	(_bfd_mips_elf_generic_reloc): Declare.
+
+2003-12-16  Eric Youngdale  <eric@mkssoftware.com>
+	    Nick Clifton  <nickc@redhat.com>
+
+	* peicode.h (pe_ILF_build_a_bfd): Only skip one instance of each
+	prefix character, if they are present.
+
+2003-12-15  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
+	    Nick Clifton  <nickc@redhat.com>
+
+	* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Ensure that correct flags
+	are set on known section types.
+
+2003-12-12  Nick Clifton  <nickc@redhat.com>
+
+	* po/ro.po: Updated translation.
+
+2003-12-12  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Check for
+	NULL dyn_h.
+
+2003-12-11  Nick Clifton  <nickc@redhat.com>
+
+	* elf.c (INCLUDE_SECTION_IN_SEGMENT): Skip PT_GNU_STACK segments.
+
+2003-12-08  Richard Sandiford  <rsandifo@redhat.com>
+
+	* elfxx-mips.h, elfxx-mips.c, cpu-mips.c: Convert prototypes.
+	Remove casts that were only needed for K&R compatibility.
+
+2003-12-08  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-bfd.h (struct elf_backend_data): Remove "bfd *" and add
+	"elflink_hash_entry *" param to elf_backend_link_output_symbol_hook.
+	Add "elflink_hash_entry *" param to elf_backend_output_arch_syms.
+	* elflink.h (elf_link_output_sym): Add "elflink_hash_entry *" param,
+	and pass to output_symbol_hook.
+	(elf_bfd_final_link): Adjust elf_link_output_sym calls.
+	(elf_link_output_extsym): Likewise.
+	(elf_link_input_bfd): Likewise.
+	* elf32-sh64.c (sh64_elf_link_output_symbol_hook): Adjust.
+	* elf32-v850.c (v850_elf_link_output_symbol_hook): Likewise.
+	* elf64-mmix.c (mmix_elf_link_output_symbol_hook): Likewise.
+	* elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Likewise.
+	* elfxx-mips.c (_bfd_mips_elf_link_output_symbol_hook): Likewise.
+	* elfxx-mips.h (_bfd_mips_elf_link_output_symbol_hook): Likewise.
+	* elf64-sparc.c (sparc64_elf_output_arch_syms): Likewise.
+	* elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Likewise.
+	Validate dynh->h against h.
+	* elf64-ppc.c (struct ppc_link_hash_entry): Add adjust_done bitfield.
+	(link_hash_newfunc): Init it.
+	(adjust_opd_syms): New function.
+	(ppc64_elf_edit_opd): Set adjust_done when global .opd sym adjusted.
+	Set opd.adjust for all .opd relocs.  Call adjust_opd_syms.
+	(ppc64_elf_tls_optimize): Adjust possible .opd sym values here.
+	(ppc64_elf_relocate_section): Also adjust syms not a multiple of 24.
+	(ppc64_elf_output_symbol_hook): New function.
+	(elf_backend_link_output_symbol_hook): Define.
+
+2003-12-07  Richard Sandiford  <rsandifo@redhat.com>
+
+	* elf32-mips.c, elfn32-mips.c, elf64-mips.c: Convert prototypes.
+	Remove casts that were only needed for K&R compatibility.
+
+2003-12-05  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
+
+	* coff-arm.c (aoutarm_std_reloc_howto [ARM_WINCE]): Set
+	partial_inplace for these relocs to FALSE for comptability with
+	the MS linker.
+	Remap ARM_26D relocation from 5 to 0. This fixes "bad fixup" error
+	generated by MS linker, and brings the relocation in line the MS
+	PE documentation.
+
+2003-12-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-ppc.c (ppc_elf_relax_section): Don't check relax_finalizing.
+
+2003-12-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elfxx-ia64.c (elfNN_ia64_relax_section): Use the
+	need_relax_finalize field in link_info instead of
+	relax_finalizing to check if the relax finalize pass is being
+	done.
+
+2003-12-04  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
+
+	* coff-arm.c (coff_arm_relocate_section, bfd_arm_process_before_allocation):
+	Change ARM26* to ARM_26* in comments to match definitions.
+	(coff_arm_adjust_symndx): Replace hard-coded constants with
+	appropriate definitions (ARM_26*).
+
+2003-12-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* coff-i860.c (coff_i860_reloc_nyi): Return bfd_reloc_not_supported.
+	* elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Warning fixes.
+	(mn10300_elf_relax_section): Likewise.
+	* nlm32-alpha.c (ONES): Define.
+	(nlm32_alpha_howto_table): Use it to avoid warnings.
+
+2003-12-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-i386.c (elf_i386_object_p): Delete.
+	(elf_backend_object_p): Don't define.
+	* elf32-s390.c (elf_s390_object_p): No need to alloc tdata here.
+	* elf32-sh.c (sh_elf_object_p): Likewise.
+	* elf32-sparc.c (elf32_sparc_object_p): Likewise.
+	* elf64-alpha.c (elf64_alpha_object_p): Likewise.
+	* elf64-s390.c (elf_s390_object_p): Likewise.
+	* elf64-x86-64.c (elf64_x86_64_elf_object_p): Likewise.
+
+2003-12-03  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+
+	* archures.c (bfd_mach_m32r2): Add new machine type.
+	* bfd-in2.h: Regenerate.
+	* cpu-m32r.c : Add new machine type.
+	* elf32-m32r.c (m32r_elf_object_p, m32r_elf_final_write_processing,
+	m32r_elf_merge_private_bfd_data): Add support for new machine
+	type.
+
+2003-12-03  Dave Airlie  <airlied@linux.ie>
+
+	* config.bfd: Add vax-linux-gnu target.
+	* configure.in: Likewise.
+	* configure: Regenerate.
+
+2003-12-03  Alan Modra  <amodra@bigpond.net.au>
+
+	* ecoff.c (ecoff_link_add_archive_symbols): Update for renamed
+	bfd_link_hash_entry field "next" -> "und_next".
+	* linker.c (_bfd_link_hash_newfunc): Likewise.
+	(bfd_link_add_undef): Likewise.
+	(_bfd_generic_link_add_archive_symbols): Likewise.
+	(_bfd_generic_link_add_one_symbol): Likewise.
+	* xcofflink.c (xcoff_link_add_symbols): Likewise.
+
+2003-12-02  Nick Clifton  <nickc@redhat.com>
+
+	* configure.in (ALL_LINGUAS): Add ro.
+	* po/ro.po: New Romanian translation.
+
+2003-12-02  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am: Run "make dep-am".
+	* Makefile.in: Regenerate.
+
+2003-12-01  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
+
+	* coffcode.h (coff_compute_section_file_positions): Set page_size
+	to 1 instead of 0 in the case file alignment value is zero.
+
+2003-12-01  Kazu Hirata  <kazu@cs.umass.edu>
+
+	* coff-rs6000.c: Remove ARGSUSED and VARARGS.
+	* coff64-rs6000.c: Likewise.
+	* coffcode.h: Likewise.
+	* elf32-vax.c: Likewise.
+	* hash.c: Likewise.
+	* hppabsd-core.c: Likewise.
+	* hpux-core.c: Likewise.
+	* ihex.c: Likewise.
+	* netbsd-core.c: Likewise.
+	* osf-core.c: Likewise.
+	* pdp11.c: Likewise.
+	* ptrace-core.c: Likewise.
+	* sco5-core.c: Likewise.
+	* section.c: Likewise.
+	* sunos.c: Likewise.
+	* trad-core.c: Likewise.
+
+2003-12-01  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-bfd.h (is_elf_hash_table): Take hash tab rather than info arg.
+	* elf.c (_bfd_elf_merge_sections): Adjust to suit.
+	(_bfd_elf_link_just_syms): Likewise.
+	(bfd_elf_get_needed_list): Likewise.
+	(bfd_elf_get_runpath_list): Likewise.
+	(_bfd_elf_link_hash_copy_indirect): Remove unneeded parens.
+	* elf32-hppa.c (elf32_hppa_setup_section_lists): Don't check hash tab
+	creator flavour.
+	(elf32_hppa_set_gp): Look up output sections rather than using htab.
+	* elf32-i960.c: Comment fix.  Formatting.
+	* elf32-m32r.c (m32r_elf_add_symbol_hook): Use is_elf_hash_table
+	rather than testing creator flavour.
+	* elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
+	* elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
+	* elflink.c (_bfd_elf_link_create_dynamic_sections): Adjust for
+	is_elf_hash_table change.  Remove redundant test.
+	(bfd_elf_record_link_assignment): Use is_elf_hash_table rather than
+	testing creator flavour.
+	(elf_link_record_local_dynamic_symbol): Adjust for is_elf_hash_table.
+	(_bfd_elf_fix_symbol_flags): Likewise.
+	(_bfd_elf_adjust_dynamic_symbol): Likewise.
+	* elflink.h (elf_link_add_object_symbols): Likewise.  Remove redundant
+	checks.  Use is_elf_hash_table rather than testing creator flavour.
+	Use hash_table throughout in place of info->hash.
+	(elf_add_dynamic_entry): Adjust for is_elf_hash_table change.
+	(NAME(bfd_elf,size_dynamic_sections)): Likewise.  Remove redundant
+	check.
+	(elf_bfd_final_link): Adjust for is_elf_hash_table change.
+	(elf_link_check_versioned_symbol): Use is_elf_hash_table rather than
+	testing creator flavour.
+	(elf_gc_sections): Add is_elf_hash_table check.
+	(elf_gc_common_finalize_got_offsets): Likewise.
+	(elf_bfd_discard_info): Adjust for is_elf_hash_table change.  Remove
+	redundant check.
+	* elfxx-ia64.c (elfNN_ia64_relax_section): Use is_elf_hash_table
+	rather than testing creator flavour.
+
+2003-11-28  Christian Groessler  <chris@groessler.org>
+
+	* cpu-z8k.c: Convert to ISO C90.
+	* coff-z8k.c: Likewise.
+
+2003-11-27  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elf-bfd.h (elf_backend_data::elf_backend_modify_segment_map):
+	Add link info argument.
+	* elf32-i370.c (elf_backend_modify_segment_map): Likewise.
+	* elf32-ppc.c (ppc_elf_modify_segment_map): Likewise.
+	* elf32-xtensa.c (elf_xtensa_modify_segment_map): Likewise.
+	* elf64-hppa.c (elf64_hppa_modify_segment_map): Likewise.
+	* elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise.
+	* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise.
+	* elfxx-mips.h (_bfd_mips_elf_modify_segment_map): Likewise.
+	* elf.c (assign_file_positions_except_relocs,
+	assign_file_positions_for_segments): Likewise.  Adjust calls.
+
+2003-11-27  Mark Kettenis  <kettenis@gnu.org>
+
+	* elf.c (elfcore_grok_netbsd_procinfo): Make a pseudosection out
+	of the note.
+
+2003-11-26  Daniel Jacobowitz  <drow@mvista.com>
+	    Richard Sandiford  <rsandifo@redhat.com>
+
+	* elfxx-mips.c (mips_elf_set_global_got_offset): Don't set no_fn_stub.
+	(mips_elf_set_no_stub): New function.
+	(mips_elf_multi_got): Call it.
+	(_bfd_mips_elf_finish_dynamic_symbol): If a relocation is needed for
+	a secondary GOT entry, create an R_MIPS_32 or R_MIPS_64 relocation and
+	use mips_elf_create_dynamic_relocation to deal with any compatibility
+	issues.  Store the adjusted addend in the GOT slot.
+
+2003-11-25  Mattias Engdegård  <mattias@virtutech.se>
+
+	* stabs.c (_bfd_link_section_stabs): Skip N_EXCL stabs when
+	procesing N_BINCL stabs.
+
+2003-11-25  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc_type_of_stub): Disallow stubs other than
+	ppc_stub_plt_call to symbols defined in shared libs.
+
+2003-11-22  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf-bfd.h (ELF_LINK_POINTER_EQUALITY_NEEDED): Define new flag.
+	* elf.c (_bfd_elf_link_hash_copy_indirect): Copy it.
+	* elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
+	(elf_i386_check_relocs): Set it.
+	(elf_i386_finish_dynamic_symbol): If it is not set,
+	clear st_value of SHN_UNDEF symbol.
+
+2003-11-20  Jim Blandy  <jimb@redhat.com>
+
+	* cpu-powerpc.c (powerpc_compatible): Any ISA in the PowerPC
+	family is a superset of <bfd_arch_rs6000,bfd_mach_rs6k>.
+
+2003-11-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* elf32-s390.c (elf_s390_relocate_section): Don't recalculate symbol
+	section for reloc output and subtract the output section's address
+	from the addend when converting a relocation into one against a
+	section symbol.
+	* elf64-s390.c (elf_s390_relocate_section): Likewise.
+
+2003-11-18  James E Wilson  <wilson@specifixinc.com>
+
+	* elfxx-ia64.c (get_fptr): For fptr_rel, use dynobj not abfd.
+	(elfNN_ia64_size_dynamic_sections): When stripping sections, check
+	for ia64_info->rel_fptr_sec.
+
+2003-11-18  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (toc_adjusting_stub_needed): Exit early if section
+	size is zero.
+
+2003-11-17  Daniel Jacobowitz  <drow@mvista.com>
+
+	* elf.c (_bfd_elf_link_hash_copy_indirect): Copy
+	ELF_LINK_HASH_NEEDS_PLT.  Fix formatting.
+	* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
+	* elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
+	* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise.
+	* elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
+	* elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise.
+	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
+	* elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
+	* elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
+	* elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
+	* elf32-xtensa.c (elf_xtensa_copy_indirect_symbol): Remove.
+	(elf_backend_copy_indirect_symbol): Don't define.
+
+2003-11-14  Daniel Jacobowitz  <drow@mvista.com>
+
+	* elfxx-mips.c (mips_elf_merge_gots): Weaken assert for local
+	GOT entries.
+
+2003-11-13  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* elf32-s390.c (elf_s390_relocate_section): Only convert R_390_32
+	to R_390_RELATIVE. Convert the other relocations against local
+	symbols to relocations against the start of the section.
+	* elf64-s390.c (elf_s390_relocate_section): Only convert R_390_64
+	to R_390_RELATIVE. Convert the other relocations against local
+	symbols to relocations against the start of the section.
+
+2003-11-11  Nick Clifton  <nickc@redhat.com>
+
+	* elf-m10300.c (bfd_mn10300_elf_size_dynamic_sections): Use
+	info->executable not info->shared to decide if a .interp section
+	should be present.
+	* elf32-arm.h (elf32_arm_size_dynamic_sections): Likewise.
+	* elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
+	* elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
+	* elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
+	* elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
+	* elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
+	* elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise.
+	* elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
+	* elfxx-mips.c (_bfd_mips_size_dynamic_sections): Likewise.
+	* elflink.h (size_dynamic_sections): Likewise.
+
+2003-11-10  Jonathan Wilson <jonwil@tpgi.com.au>
+
+	* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Swap out tls pointer.
+	(_bfd_XXi_final_link_postscript): Look for __tks_used symbol.  If
+	found initialise the tls data directory entry.
+
+2003-11-07  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-ppc.c (ppc_elf_install_value): Delete.
+	(shared_stub_entry, stub_entry): Make them arrays of ints.
+	Remove initial branch.
+	(ppc_elf_relax_section): Write one branch around all trampolines
+	instead.  Correct bogus R_PPC_PLTREL24 handling.  Correct
+	branch range check.  Only use shared_stub_entry when shared.
+	Test that branches can reach stubs.  Write trampolines out at
+	end so that just one realloc is used.  Handle little-endian
+	mode.  Move relevant code from ppc_elf_install_value to here.
+	(ppc_elf_relocate_section): Move code handling RELAX32 from
+	ppc_elf_install_value to here.
+
+2003-11-06  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-ppc.c (ppc_elf_howto_raw); Add entry for R_PPC_RELAX32PC.
+	(ppc_elf_install_value): Handle R_PPC_RELAX32PC.  Merge duplicate
+	cases.
+	(shared_stub_entry): Correct opcode.
+	(ppc_elf_relax_section): Generate R_PPC_RELAX32PC relocs.
+	(ppc_elf_relocate_section): Handle them.
+
+2003-11-05  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf.c (_bfd_elf_rela_local_sym): Accept asection **, and return
+	updated section in case of merged section.
+	* elf-bfd.h (_bfd_elf_rela_local_sym): Update declaration.
+	* elf-hppa.h (elf_hppa_relocate_section): Adjust call.
+	* elf-m10200.c (mn10200_elf_relocate_section): Likewise.
+	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
+	* elf32-arm.h (elf32_arm_relocate_section): Likewise.
+	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
+	* elf32-cris.c (cris_elf_relocate_section): Likewise.
+	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
+	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
+	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
+	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
+	* elf32-i370.c (i370_elf_relocate_section): Likewise.
+	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
+	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
+	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
+	* elf32-msp430.c (elf32_msp430_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-sh.c (sh_elf_relocate_section): Likewise.
+	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+	* elf32-v850.c (v850_elf_relocate_section) Likewise.
+	* elf32-vax.c (elf_vax_relocate_section): Likewise.
+	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
+	* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
+	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+	* elf64-mmix.c (mmix_elf_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.
+	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
+
+	* elf32-cris.c (cris_elf_relocate_section): Don't recalculate symbol
+	section for reloc output.
+	* elf32-i370.c (i370_elf_relocate_section): Likewise.
+	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+	* elf32-vax.c (elf_vax_relocate_section): Likewise.
+	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+
+	* elf32-ppc.c (ppc_elf_relocate_section): Don't recalculate everything
+	for R_PPC_RELAX32 reloc.  Don't bother checking ppc_elf_install_value
+	return value.
+	* elf64-ppc.c (ppc64_elf_relocate_section <R_PPC64_TOC>): Sanity check
+	sec->id.
+
+2003-11-05  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-d10v.c (extract_rel_addend, insert_rel_addend): New functions.
+	(elf32_d10v_relocate_section): Use them to handle -r reloc
+	adjustments, and in place of _bfd_elf_rela_local_sym.
+
+	* cpu-iq2000.c (arch_info_struct): Warning fix.
+
+2003-11-05  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-hppa.c (ELIMINATE_COPY_RELOCS): Define.
+	(elf32_hppa_copy_indirect_symbol): Don't copy NON_GOT_REF on
+	weakdefs.
+	(elf32_hppa_check_relocs): Use ELIMINATE_COPY_RELOCS.
+	(elf32_hppa_adjust_dynamic_symbol): Likewise.  Copy weakdef
+	NON_GOT_REF.
+	(allocate_dynrelocs): Use ELIMINATE_COPY_RELOCS and
+	SYMBOL_CALLS_LOCAL.  Discard relocs for undef weak syms with
+	non-default visibility.
+	(elf32_hppa_relocate_section): Use ELIMINATE_COPY_RELOCS and
+	SYMBOL_CALLS_LOCAL.
+
+2003-11-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* aout-target.h, aoutf1.h, bfdio.c, bfdwin.c: Update copyright date.
+	* coff-apollo.c, coff-sparc.c, coff-w65.c, coff-we32k.c: Ditto.
+	* coff-z8k.c, coffgen.c, cpu-frv.c, cpu-h8500.c, cpu-hppa.c: Ditto.
+	* cpu-ia64-opc.c, cpu-m10300.c, cpu-mips.c, cpu-msp430.c: Ditto.
+	* cpu-rs6000.c, cpu-z8k.c, efi-app-ia32.c, elf32-am33lin.c: Ditto.
+	* gen-aout.c, hash.c, hp300hpux.c, init.c, mach-o.c: Ditto.
+	* nlm-target.h, nlm.c, som.h, stabs.c, sysdep.h, xsym.h: Ditto.
+
+	* elf-m10300.c (_bfd_mn10300_elf_create_got_section): Fix
+	"dereferencing type-punned pointer" warnings.
+
+	* aout-adobe.c (aout_adobe_set_section_contents): Constify location.
+	* aoutx.h (NAME(aout,set_section_contents)): Ditto.
+	* bfd-in2.h: Regenerate.
+	* binary.c (binary_set_section_contents): Ditto.
+	* bout.c (b_out_set_section_contents): Ditto.
+	* coff-tic54x.c (tic54x_set_section_contents): Ditto.
+	* coffcode.h (coff_set_section_contents): Ditto.
+	* ecoff.c (_bfd_ecoff_set_section_contents): Ditto.
+	* elf-bfd.h (_bfd_elf_set_section_contents): Ditto.
+	* elf.c (_bfd_elf_set_section_contents): Ditto.
+	* elfxx-mips.c (_bfd_mips_elf_set_section_contents): Ditto.
+	* elfxx-mips.h (_bfd_mips_elf_set_section_contents): Ditto.
+	* i386msdos.c (msdos_set_section_contents): Ditto.
+	* ieee.c (ieee_set_section_contents): Ditto.
+	* ihex.c (ihex_set_section_contents): Ditto.
+	* libaout.h (NAME(aout,set_section_contents)): Ditto.
+	* libbfd-in.h (_bfd_nowrite_set_section_contents): Ditto.
+	(_bfd_generic_set_section_contents): Ditto.
+	* libbfd.h: Regenerate.
+	* libbfd.c (_bfd_generic_set_section_contents): Ditto.
+	* libecoff.h (_bfd_ecoff_set_section_contents): Ditto.
+	* libnlm.h (nlmNAME(set_section_contents)): Ditto.
+	(struct nlm_backend_data <nlm_mangle_relocs>): Ditto.
+	* mmo.c (mmo_set_section_contents): Ditto.
+	* nlm32-alpha.c (nlm_alpha_mangle_relocs): Ditto.
+	* nlm32-i386.c (nlm_i386_mangle_relocs): Ditto.
+	* nlm32-ppc.c (nlm_powerpc_mangle_relocs): Ditto.
+	* nlm32-sparc.c (nlm_sparc_mangle_relocs): Ditto.
+	* nlmcode.h (nlm_set_section_contents): Ditto.
+	* oasys.c (oasys_set_section_contents): Ditto.
+	* pdp11.c (NAME(aout,set_section_contents)): Ditto.
+	* ppcboot.c (ppcboot_set_section_contents): Ditto.
+	* srec.c (srec_set_section_contents): Ditto.
+	* targets.c (BFD_JUMP_TABLE_WRITE <_bfd_set_section_contents>): Ditto.
+	* tekhex.c (tekhex_set_section_contents): Ditto.
+	(move_section_contents): Ditto.
+	* versados.c (versados_set_section_contents): Ditto.
+	* vms-misc.c (_bfd_save_vms_section): Ditto.
+	* vms.c (vms_set_section_contents): Ditto.
+	* vms.h (_bfd_save_vms_section): Ditto.
+
+2003-11-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc_size_one_stub): Size relbrlt.  Accept info arg
+	rather than htab.
+	(ppc64_elf_size_stubs): Adjust ppc_size_one_stub traversal.  Zero
+	relbrlt size.
+	(ppc64_elf_build_stubs): Allocate space for relbrlt.
+
+2003-11-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* bfd-in.h (_bfd_elf_tls_setup): Declare.
+	* bfd-in2.h: Regenerate.
+	* elf-bfd.h (struct elf_link_tls_segment): Delete.
+	(struct elf_link_hash_table): Add tls_sec and tls_size.
+	* elf.c (_bfd_elf_link_hash_table_init): Init tls_sec and tls_size.
+	* elflink.c (_bfd_elf_tls_setup): New function.
+	* elflink.h (struct elf_final_link_info): Remove first_tls_sec.
+	(elf_bfd_final_link): Don't set first_tls_sec here.  Update code
+	saving tls segment info, round segment size up.
+	(elf_link_output_extsym): Adjust code using tls segment info.
+	(elf_link_input_bfd): Likewise.
+	* elf32-i386.c (dtpoff_base, tpoff): Likewise.
+	* elf32-s390.c (dtpoff_base, tpoff): Likewise.
+	* elf32-sh.c (dtpoff_base, tpoff): Likewise.
+	* elf32-sparc.c (dtpoff_base, tpoff): Likewise.
+	* elf64-s390.c (dtpoff_base, tpoff): Likewise.
+	* elf64-x86-64.c (dtpoff_base, tpoff): Likewise.
+	* elfxx-ia64.c (elfNN_ia64_tprel_base): Likewise.
+	(elfNN_ia64_dtprel_base): Likewise.
+	* elf64-alpha.c (alpha_get_dtprel_base): Likewise.
+	(alpha_get_tprel_base): Likewise.
+	(struct alpha_relax_info): Remove tls_segment.
+	(elf64_alpha_relax_got_load): Adjust invocation of
+	alpha_get_dtprel_base and alpha_get_tprel_base.
+	(elf64_alpha_relax_tls_get_addr): Likewise.
+	(elf64_alpha_relax_section): Likewise.
+	(elf64_alpha_relocate_section): Likewise.
+	(elf64_alpha_relax_find_tls_segment): Delete.
+	* elf32-ppc.c (struct ppc_elf_link_hash_table): Remove tls_sec.
+	(ppc_elf_tls_setup): Call _bfd_elf_tls_setup.  Return section.
+	(ppc_elf_relocate_section): Adjust to use elf.tls_sec.
+	* elf32-ppc.h (ppc_elf_tls_setup): Update.
+	* elf64-ppc.c (struct ppc_link_hash_table): Remove tls_sec.
+	(ppc64_elf_tls_setup): Call _bfd_elf_tls_setup.  Return section.
+	(ppc64_elf_tls_optimize): Adjust to use elf.tls_sec.
+	(ppc64_elf_relocate_section): Likewise.
+	* elf64-ppc.h (ppc64_elf_tls_setup): Update.
+
+2003-11-03  Daniel Jacobowitz  <drow@mvista.com>
+
+	* elf-bfd.h (struct elf_backend_data): Remove plt_header_size.
+	* elf-m10300.c (elf_backend_plt_header_size): Don't define.
+	* elf32-arm.h (elf_backend_plt_header_size): Don't define.
+	* elf32-cris.c (elf_backend_plt_header_size): Don't define.
+	* elf32-i386.c (elf_backend_plt_header_size): Don't define.
+	* elf32-mips.c (elf_backend_plt_header_size): Don't define.
+	* elf32-ppc.c (elf_backend_plt_header_size): Don't define.
+	* elf32-s390.c (elf_backend_plt_header_size): Don't define.
+	* elf32-sh.c (elf_backend_plt_header_size): Don't define.
+	* elf32-sparc.c (elf_backend_plt_header_size): Don't define.
+	* elf64-alpha.c (elf_backend_plt_header_size): Don't define.
+	* elf64-hppa.c (elf_backend_plt_header_size): Don't define.
+	* elf64-mips.c (elf_backend_plt_header_size): Don't define.
+	* elf64-ppc.c (elf_backend_plt_header_size): Don't define.
+	* elf64-s390.c (elf_backend_plt_header_size): Don't define.
+	* elf64-sh64.c (elf_backend_plt_header_size): Don't define.
+	* elf64-sparc.c (elf_backend_plt_header_size): Don't define.
+	* elf64-x86-64.c (elf_backend_plt_header_size): Don't define.
+	* elfn32-mips.c (elf_backend_plt_header_size): Don't define.
+	* elfxx-ia64.c (elf_backend_plt_header_size): Don't define.
+	* elfxx-target.h (elf_backend_plt_header_size): Don't define
+	or include in target initializer.
+
+2003-11-03  Andrew Cagney  <cagney@redhat.com>
+
+	* section.c (bfd_set_section_contents): Make the "location" buffer
+	constant.
+	* bfd-in2.h: Re-generate.
+
+2003-10-30  Andrew Cagney  <cagney@redhat.com>
+
+	* syms.c: Replace "struct symbol_cache_entry" with "struct
+	bfd_symbol".
+	* vms.h, targets.c, section.c, reloc.c, peicode.h: Ditto.
+	* mipsbsd.c, elf.c, linker.c, elf-bfd.h, ecoff.c: Ditto.
+	* cpu-z8k.c, cpu-ns32k.c, cpu-h8500.c, bfd.c, bfd-in.h: Ditto.
+	* bfd-in2.h: Re-generate.
+
+2003-10-30  Jakub Jelinek  <jakub@redhat.com>
+
+	* elfxx-ia64.c: Include objalloc.h, hashtab.h.
+	(struct elfNN_ia64_local_hash_entry): Remove root. Add id and r_sym
+	fields.
+	(struct elfNN_ia64_local_hash_table): Remove.
+	(struct elfNN_ia64_link_hash_table): Change loc_hash_table's type
+	to htab_t.  Add loc_hash_memory field.
+	(elfNN_ia64_local_hash_table_init, elfNN_ia64_new_loc_hash_entry):
+	Removed.
+	(elfNN_ia64_local_htab_hash, elfNN_ia64_local_htab_eq): New
+	functions.
+	(elfNN_ia64_hash_table_create): Use hashtab.h hashtable for
+	loc_hash_table.  Initialize loc_hash_memory.
+	(elfNN_ia64_hash_table_free): New function.
+	(elfNN_ia64_local_hash_lookup): Remove.
+	(elfNN_ia64_local_dyn_sym_thunk): Change into htab_traverse
+	callback.
+	(elfNN_ia64_dyn_sym_traverse): Use htab_traverse.
+	(get_local_sym_hash): Use hashtab.h hashtable for loc_hash_table.
+	(bfd_elfNN_bfd_link_hash_table_free): Define.
+
+2003-10-30  Alan Modra  <amodra@bigpond.net.au>
+
+	* elflink.c (_bfd_elf_link_record_dynamic_symbol): Modify versioned
+	symbol string in place.
+
+2003-10-30  Jim Blandy  <jimb@redhat.com>
+
+	* cpu-rs6000.c (rs6000_compatible): Check the correct arch_info
+	object's mach field: all PowerPC machines are supersets of the
+	original rs6000, but not later rs6000 machines.
+
+2003-10-30  Alan Modra  <amodra@bigpond.net.au>
+
+	* dwarf2.c (struct attribute): Delete "unsnd", "snd" and "addr".
+	Add "val" and "sval" fields.
+	(DW_STRING, DW_UNSND, DW_BLOCK, DW_SND, DW_ADDR): Delete.
+	(read_attribute_value): Expand and adjust DW_* occurrences.
+	(scan_unit_for_functions, parse_comp_unit): Likewise.
+
+2003-10-30  Phil Edwards  <phil@codesourcery.com>
+
+	* config.bfd (arm-*-vxworks):  Remove separate stanza; merge with
+	other common ELF triples.
+	(i[3-7]86-*-vxworks):  Change to ELF format.
+	(mips*-*-windiss):  New triple, add to common MIPS/ELF stanza.
+	(sh-*-vxworks):  New stanza.
+
+2003-10-30  Lars Knoll  <lars@trolltech.com>
+	    Michael Matz  <matz@suse.de>
+	    Jakub Jelinek  <jakub@redhat.com>
+	    Alan Modra  <amodra@bigpond.net.au>
+
+	* merge.c (struct sec_merge_sec_info): Update comment.
+	(struct sec_merge_hash_entry): Remove entsize.
+	(sec_merge_hash_lookup): Only adjust alignment when creating.
+	(sec_merge_emit): Remove register keyword.
+	(cmplengthentry, last4_eq, last_eq): Delete.
+	(strrevcmp, strrevcmp_align, is_suffix): New.
+	(merge_strings): Use them to implement fast suffix merging.
+	* elf-strtab.c (struct elf_strtab_hash_entry): Update comments.
+	Make "len" signed.
+	(_bfd_elf_strtab_add): Lose on >2G strings.
+	(_bfd_elf_strtab_emit): Don't emit strings with len < 0.
+	(cmplengthentry, last4_eq): Delete.
+	(strrevcmp, is_suffix): New.
+	(_bfd_elf_strtab_finalize): Rework to implement fast suffix merging.
+
+2003-10-29  Daniel Jacobowitz  <drow@mvista.com>
+
+	* elf32-arm.h (elf32_arm_final_link_relocate): Move check for
+	SEC_ALLOC.
+
+2003-10-29  Philip Blundell  <philb@gnu.org>
+
+	* elf32-arm.h (elf32_arm_plt0_entry, elf32_arm_plt_entry): New
+	code sequence.
+	(PLT_HEADER_SIZE): New.
+	(struct elf32_arm_pcrel_relocs_copied): Rename to ...
+	(struct elf32_arm_relocs_copied): ... this.  Count both
+	pcrel and non-pcrel relocs.  All uses updated.
+	(struct elf32_arm_link_hash_table): Add pointers to dynamic linker
+	sections and symbol/section mapping cache.
+	(create_got_section): New.
+	(elf32_arm_create_dynamic_sections): New.
+	(elf_backend_create_dynamic_sections): Use it.
+	(elf32_arm_final_link_relocate): Support garbage collection of relocs.
+	(elf32_arm_check_relocs): Likewise.
+	(elf32_arm_adjust_dynamic_symbol): Likewise.
+	(elf32_arm_copy_indirect_symbol): New.
+	(elf32_arm_link_hash_table_create): Initialise new fields.
+	(elf32_arm_gc_sweep_hook): Implement.
+	(elf32_arm_discard_copies): Delete.
+	(elf32_arm_finish_dynamic_symbol): Use new PLT code.
+	(elf32_arm_finish_dynamic_sections): Likewise.
+	(elf_backend_can_refcount): Define.
+	(elf_backend_copy_indirect_symbol): Likewise.
+	(elf_backend_plt_header_size): Set to PLT_HEADER_SIZE.
+
+2003-10-29  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (elf_backend_grok_prstatus): Define.
+	(elf_backend_grok_psinfo): Define.
+	(ppc64_elf_grok_prstatus, ppc64_elf_grok_psinfo): New functions.
+
+	* elf.c (_bfd_elfcore_make_pseudosection): Allow multiple
+	sections with the same name.
+	(elfcore_grok_lwpstatus): Likewise.
+	(elfcore_grok_win32pstatus): Likewise.
+	(elfcore_grok_note): Likewise.
+	(elfcore_grok_nto_status): Likewise.
+	(elfcore_grok_nto_gregs): Likewise.
+
+2003-10-27  Daniel Jacobowitz  <drow@mvista.com>
+
+	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Never skip dynamic
+	objects.
+
+2003-10-14  Richard Sandiford  <rsandifo@redhat.com>
+
+	* elfxx-mips.c (mips_elf_create_got_section): Initialize global_gotno.
+
+2003-10-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Look up
+	hash table for real symbols.
+
+2003-10-23  Michael Snyder  <msnyder@redhat.com>
+
+	* section.c (asection): Fix typo in comment.
+
+2003-10-23  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (get_tls_mask): Add toc_symndx param, save toc
+	reloc symbol index to it.  Don't allow gd syms in shared libs
+	to be optimized.
+	(ppc64_elf_tls_optimize): Adjust get_tls_mask call.
+	(ppc64_elf_size_stubs): Likewise.
+	(ppc64_elf_relocate_section): Check that tls relocs are only used
+	with tls syms, and similarly for non-tls.  Correct symbol used
+	when optimizing toc tls code.
+
+2003-10-22  Nick Clifton  <nickc@redhat.com>
+
+	* peicode.h (coff_swap_scnhdr_in): Only remove padding when
+	processing an executable.
+
+2003-10-22  Jakub Jelinek  <jakub@redhat.com>
+
+	* elflink.c (_bfd_elf_export_symbol): Adjust for globals and locals
+	field changes.
+	(_bfd_elf_link_assign_sym_version): Likewise.
+	* elflink.h (size_dynamic_sections): Likewise.
+
+2003-10-21  Alexandre Oliva  <aoliva@redhat.com>,
+	    Michael Snyder  <msnyder@redhat.com>
+
+	* archures.c (bfd_mach_sh4a, bfd_mach_sh4al_dsp, bfd_mach_sh4_nofpu,
+	bfd_mach_sh4a_nofpu): New machine types.
+	* bfd-in2.h: Rebuilt.
+	* cpu-sh.c (compatible): Remove unused function.
+	(SH4A_NEXT, SH4AL_DSP_NEXT, SH4_NOFPU_NEXT, SH4A_NOFPU_NEXT): New.
+	(arch_info_struct): Add sh4a, sh4al_dsp, sh4-nofpu and sh4a-nofpu.
+	* elf32-sh.c (sh_elf_set_mach_from_flags): Handle them.
+
+2003-10-21  Wouter van Heyst <wouter@vidicode.nl>
+
+	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Correct text
+	describing mismatched formats involving the Maverick FP type.
+
+2003-10-21  Anil Paranjpe  <anilp1@KPITCummins.com>
+
+	* binary.c (binary_object_p): Pass machine flag along with
+	architecture.
+
+2003-10-21  Thorsten Brehm  <brehm@gmx.net>
+
+	* archures.c (bfd_default_scan): Add support for mcf528x.
+	* ieee.c (ieee_write_processor): Likewise.
+
+2003-10-21  Peter Barada  <pbarada@mail.wm.sps.mot.com>
+	    Bernardo Innocenti  <bernie@develer.com>
+
+	* archures.c: Add MCF528x (MCFv4) support.
+	* bfd/cpu-m68k.c (arch_info_struct): Likewise.
+	* bfd-in2.h: Regenerate.
+
+2003-10-20  Andrew Cagney  <cagney@redhat.com>
+
+	* targets.c: Replace "struct sec" with "struct bfd_section"
+	* syms.c, sparclynx.c, section.c, opncls.c: Ditto.
+	* libcoff-in.h, libbfd-in.h, elfxx-target.h: Ditto.
+	* elf.c, coffgen.c, bfd.c, bfd-in.h, aoutf1.h: Ditto.
+	* aout-tic30.c, aout-target.h:
+	* bfd-in2.h, libcoff.h, libbfd.h: Regenerate.
+
+2003-10-18  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	Support linker relaxation of new R_MMIX_PUSHJ_STUBBABLE relocs.
+	* elf64-mmix.c (MAX_PUSHJ_STUB_SIZE): New macro.
+	(struct _mmix_elf_section_data): New member pjs.
+	(mmix_set_relaxable_size, mmix_elf_get_section_contents): New
+	functions.
+	(elf_mmix_howto_table): New entry for R_MMIX_PUSHJ_STUBBABLE.
+	(mmix_reloc_map): Ditto.
+	(mmix_elf_relocate_section): Handle R_MMIX_PUSHJ_STUBBABLE.
+	(mmix_final_link_relocate, mmix_elf_check_common_relocs): Ditto.
+	(mmix_elf_perform_relocation): Ditto.  Don't mark parameter addr
+	unused.
+	(mmix_elf_check_relocs): Move early return to after
+	mmix_elf_check_common_relocs call.
+	(mmix_elf_symbol_processing): Fix cut-and-pasto in head comment.
+	(_bfd_mmix_before_linker_allocation): Rename from
+	_bfd_mmix_prepare_linker_allocated_gregs.  All referers changed.
+	Arrange to set the initial relaxable size of sections.
+	(_bfd_mmix_after_linker_allocation): Rename from
+	_bfd_mmix_finalize_linker_allocated_gregs.
+	(mmix_elf_relax_section): Relax a R_MMIX_PUSHJ_STUBBABLE reloc.
+	(bfd_elf64_get_section_contents): Define.
+	* reloc.c: Add ENUMX for BFD_RELOC_MMIX_PUSHJ_STUBBABLE.
+	* libbfd.h, bfd-in2.h: Regenerate.
+
+	* reloc.c (bfd_generic_relax_section): Default-set
+	section->_cooked_size here.
+	(bfd_generic_get_relocated_section_contents): Don't set it here.
+	Explain why.
+
+2003-10-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* elf32-hppa.c (elf32_hppa_relocate_section): Skip relocation if
+	output section has been discarded.
+
+2003-10-17  Shrinivas Atre  <shrinivasa@KPITCummins.com>
+
+	* coff-h8300.c (funcvec_hash_newfunc): Handle normal mode.
+	(h8300_reloc16_extra_cases): Likewise.
+	(h8300_bfd_link_add_symbols): Likewise.
+
+2003-10-17 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+
+	* cpu-h8300.c (h8300sxn_info_struct): Correct address size.
+	(h8300sn_info_struct): Likewise.
+	(h8300hn_info_struct): Likewise.
+
+2003-10-16  Pavel Roskin  <proski@gnu.org>
+
+	* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Don't calculate image size
+	for sections which lack size info.
+
+2003-10-17  Danny Smith  <dannysmith@users.sourceforge.net>
+
+	* configure.host: Add __USE_MINGW_FSEEK to HDEFINES for
+	 mingw32.
+
+2003-10-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also warn
+	undefined patterns with '*'.
+
+2003-10-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't
+	use the last CIE from a different section.
+	(_bfd_elf_write_section_eh_frame): Don't pad beyond the raw
+	size of the output section.
+
+2003-10-07  Roland McGrath  <roland@redhat.com>
+
+	* elf.c (_bfd_elf_make_section_from_phdr): Set alignment_power of
+	new section from p_align header field.
+
+2003-10-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-xtensa.c (xtensa_read_table_entries): The external size
+	of entry is 8 bytes.
+
+2003-10-15  Andrew Cagney  <cagney@redhat.com>
+
+	* targets.c (BFD_JUMP_TABLE_SYMBOLS): Replace NAME##_get_symtab
+	with NAME##_canonicalize_symtab.
+	* libcoff-in.h (coff_canonicalize_symtab): Update.
+	* xsym.h (bfd_sym_canonicalize_symtab): Update.
+	* elf-bfd.h (_bfd_elf_canonicalize_symtab): Update.
+	* coffgen.c (coff_canonicalize_symtab): Update.
+	* libbfd-in.h (_bfd_nosymbols_canonicalize_symtab): Update.
+	* libnlm.h (nlmNAME(canonicalize_symtab)): Update.
+	* ieee.c (ieee_vec): Update comment.
+	* libecoff.h (_bfd_ecoff_canonicalize_symtab): Update.
+	* mmo.c (mmo_canonicalize_symtab): Update.
+	* nlm-target.h (nlm_canonicalize_symtab): Update.
+	* nlmcode.h (nlm_canonicalize_symtab): Update.
+	* i386msdos.c (msdos_canonicalize_symtab): Update.
+	* hp300hpux.c (MY (canonicalize_symtab)): Update.
+	* oasys.c (oasys_canonicalize_symtab): Update.
+	* som.c (som_canonicalize_symtab): Update.
+	* pef.c (bfd_pef_canonicalize_symtab): Update.
+	* nlmcode.h (nlm_canonicalize_symtab): Update.
+	* xsym.c (bfd_sym_canonicalize_symtab): Update.
+	* vms.c (vms_canonicalize_symtab): Update.
+	* versados.c (versados_canonicalize_symtab): Update.
+	* mach-o.c (bfd_mach_o_canonicalize_symtab): Update.
+	* ieee.c (ieee_canonicalize_symtab): Update.
+	* pdp11.c (NAME(aout,canonicalize_symtab)): Update.
+	* reloc.c: Update comment.
+	* libaout.h (NAME(aout,canonicalize_symtab)): Update.
+	* coff64-rs6000.c (aix5coff64_vec): Update.
+	* coff64-rs6000.c (bfd_xcoff_aix5_backend_data): Update.
+	* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update.
+	* aoutx.h (NAME(aout,canonicalize_symtab)): Update.
+	* elfxx-target.h (bfd_elfNN_canonicalize_symtab): Update.
+	* hp300hpux.c (MY_canonicalize_symtab): Update.
+	* ecoff.c (_bfd_ecoff_canonicalize_symtab): Update.
+	* aout-tic30.c (MY_canonicalize_symtab): Update.
+	* aout-target.h (MY_canonicalize_symtab): Update.
+	* ppcboot.c (ppcboot_canonicalize_symtab): Update.
+	* elf.c (_bfd_elf_canonicalize_symtab): Update.
+	* elfcode.h (elf_canonicalize_symtab): Update.
+	* ihex.c (ihex_canonicalize_symtab): Update.
+	* tekhex.c (tekhex_canonicalize_symtab): Update.
+	* binary.c (binary_canonicalize_symtab): Update.
+	* srec.c (srec_canonicalize_symtab): Update.
+
+2003-10-15  Kazu Hirata  <kazu@cs.umass.edu>
+
+	* elf32-h8300.c (elf_reloc_map): Fix a comment typo.
+
+2003-10-15  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* elf32-sh.c (sh_elf_relocate_section): Handle R_SH_IMM_*_PCREL
+	relocations.
+	(sh_elf_check_relocs): Likewise.
+
+	* elf32-sh64.c (elf_backend_merge_symbol_attribute): Define.
+	(sh64_elf_merge_symbol_attribute): New.
+	* elf64-sh64.c (elf_backend_merge_symbol_attribute): Define.
+	(sh64_elf64_merge_symbol_attribute): New.
+
+2003-10-14  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* elf-bfd.h (struct elf_backend_data): New function pointer member
+	elf_backend_merge_symbol_attribute.
+	* elflink.h (elf_link_add_object_symbols): Adjust call to
+	elf_backend_merge_symbol_attribute if the backend defined it.
+	* elfxx-target.h (elf_backend_merge_symbol_attribute): New macro.
+	(elfNN_bed): Add that to the initializer.
+
+2003-10-14  Bob Wilson  <bob.wilson@acm.org>
+
+	* elf32-xtensa.c (get_is_linkonce_section): Delete.
+	(xtensa_is_property_section, xtensa_is_littable_section): Use
+	XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros.  Do not recognize
+	linkonce sections containing ".xt.insn" and ".xt.lit" substrings.
+	(xtensa_get_property_section_name): Check section name instead of
+	calling get_is_linkonce_section.  Remove unused bfd parameter.  Use
+	XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros.  Never generate
+	linkonce section names by appending ".xt.insn" or ".xt.lit".
+	(xtensa_read_table_entries): Remove bfd argument in call to
+	xtensa_get_property_section_name.  Free section name when done.
+	(elf_xtensa_combine_prop_entries): Free leaking table.
+
+2003-10-13  Richard Sandiford  <rsandifo@redht.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
+	DT_MIPS_LIBLIST or DT_MIPS_CONFLICT entries.
+	(_bfd_mips_elf_finish_dynamic_symbol): Don't handle them.  Don't
+	handle DT_MIPS_MSYM.  Set DT_RELSZ based on the number of relocations
+	that were needed.
+	(_bfd_mips_elf_modify_segment_map): Fix placement of PT_MIPS_OPTIONS.
+	(_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_UCODE.
+
+2003-10-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* bfd-in.h (bfd_elf32_ia64_after_parse): New prototype.
+	(bfd_elf64_ia64_after_parse): Likewise.
+	* bfd-in2.h: Regenerated.
+
+	* elfxx-ia64.c (oor_ip): New.
+	(oor_branch_size): Likewise.
+	(bfd_elfNN_ia64_after_parse): Likewise.
+	(elfNN_ia64_relax_section): Use oor_ip if oor_branch_size
+	equals sizeof (oor_ip).
+
+2003-10-12  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* elf64-sh64.c (sh_elf64_relocate_section): Tidy up for the
+	renumbering of some relocation numbers.
+
+2003-10-11  Alan Modra  <amodra@bigpond.net.au>
+
+	* coff-sh.c: Move definition of MAP and guard more code with
+	COFF_IMAGE_WITH_PE.
+
+	* section.c (bfd_get_section_size_before_reloc): Ignore reloc_done.
+	* bfd-in2.h: Regenerate.
+
+2003-10-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* Makefile.am: Run "make dep-am".
+	* Makefile.in: Regenerate.
+	* doc/Makefile.in: Likewise.
+
+2003-10-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* cofflink.c: Include "safe-ctype.h".
+	(coff_link_add_symbols): Use ISDIGIT instead of isdigit.
+
+2003-10-08  Dave Brolley  <brolley@redhat.com>
+	On behalf of Michael Snyder  <msnyder@redhat.com>
+
+	* archures.c: Add FRV fr550 machine.
+	* cpu-frv.c: Ditto.
+	* elf32-frv.c: Ditto.
+	* bfd-in2.h: Regenerate.
+
+2003-10-08  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* elfxx-mips.c (STUB_MOVE,STUB_LI16): Fix stub code
+	for non-SGI N64 ABI. Improve code consitency.
+
+2003-10-07  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elf32-frv.c (elf32_frv_howto_table): Set R_FRV_LABEL16's
+	rightshift to 2.
+
+2003-10-07  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* libbfd-in.h (_bfd_link_section_stabs): Add string offset
+	parameter.
+	* cofflink.c (coff_link_add_symbols): Deal with split stab
+	sections.
+	* elflink.h (elf_link_add_object_symbols): Deal with split stab
+	sections.
+	* stabs.c (_bfd_link_section_stabs): Add string offset parameter.
+	* libbfd.h: Regenerated.
+
+	* coffcode.h (coff_set_alignment_hook): With PE_COFF reloc
+	overflow, set reloc start position to after the count
+	reloc. Subtract one from num relocs. Give error on 0xffff relocs
+	and no overflow.
+	* cofflink.c (_bfd_coff_final_link): Deal with PE_COFF reloc
+	overflow.
+	* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Do overflow if >=
+	0xffff.
+
+2003-10-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Pad the
+	last CIE/FDE if needed.
+
+2003-10-06  Nick Clifton  <nickc@redhat.com>
+
+	* targets.c (_bfd_target_vector): Include bfd_elf64_sparc_vec if
+	BFD64 is enabled.
+
+2003-10-06  Matt Thomas <matt@3am-software.com>
+
+	* config.bfd: Move the hppa*-*-netbsd* case to the hppa*-*-linux* case.
+
+2003-10-06  Robert Millan  <robertmh@gnu.org>
+
+	* configure.in: Match GNU/KNetBSD with new knetbsd*-gnu triplet.
+	* config.bfd: Likewise.
+	* configure: Regenerate.
+
+2003-10-04  Christian Groessler  <chris@groessler.org>
+
+	* coff-z8k.c (extra_case): Fix displacement length check for R_JR
+	and R_CALLR.
+
+2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* elf32-m68hc1x.c: Update to ISO C90; replace PTR with void*.
+	* elf32-m68hc11.c: Likewise.
+	* elf32-m68hc12.c: Likewise.
+	* elf32-m68hc1x.h: Likewise.
+
+2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Fix merge
+	of flags between HC12 and HCS12.
+
+2003-10-04  Bryce McKinlay  <bryce@mckinlay.net.nz>
+
+	* merge.c (_bfd_merge_sections): Set SEC_EXCLUDE flag on sections
+	which become empty after merging.
+
+2003-09-30  Jakub Jelinek  <jakub@redhat.com>
+
+	* elfxx-ia64.c (ia64_howto_table): Fix size of R_IA64_TPREL64[LM]SB,
+	R_IA64_DTPREL{32,64}[LM]SB and R_IA64_DTPMOD64[LM]SB.
+
+2003-09-30  Chris Demetriou  <cgd@broadcom.com>
+
+	* archures.c (bfd_mach_mipsisa64r2): New define.
+	* bfd-in2.h: Regenerate.
+	* aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mipsisa64r2.
+	* cpu-mips.c (I_mipsisa64r2): New enum value.
+	(arch_info_struct): Add entry for I_mipsisa64r2.
+	* elfxx-mips.c (_bfd_elf_mips_mach)
+	(_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_64R2.
+	(mips_set_isa_flags): Add bfd_mach_mipsisa64r2 case.
+	(mips_mach_extensions): Add entry for bfd_mach_mipsisa64r2.
+
+2003-09-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elfxx-ia64.c (elfNN_hpux_backend_symbol_processing): New.
+	Handle SHN_IA_64_ANSI_COMMON.
+	(elf_backend_section_from_bfd_section): Defined.
+
+2003-09-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elflink.c (elf_link_read_relocs_from_section): Add an argument
+	of a pointer to section. Check bad symbol index.
+	(_bfd_elf_link_read_relocs): Modify calls to
+	elf_link_read_relocs_from_section.
+
+2003-09-23  DJ Delorie  <dj@redhat.com>
+
+	* elf32-sh.c (sh_elf_howto_table): R_SH_SWITCH8,
+	R_SH_GNU_VTINHERIT, R_SH_GNU_VTENTRY,
+	R_SH_LOOP_START,R_SH_LOOP_END moved to "reserved" spaces,
+	R_SH_DIR16, R_SH_DIR8, R_SH_DIR8UL, R_SH_DIR8UW, R_SH_DIR8U,
+	R_SH_DIR8SW, R_SH_DIR8S, R_SH_DIR4UL, R_SH_DIR4UW, R_SH_DIR4U,
+	R_SH_PSHA, R_SH_PSHL added.
+	(sh_reloc_map): Add R_SH_DIR16 and R_SH_DIR8.
+	(sh_elf_relocate_section): Support new relocs.
+
+2003-09-23  Bob Wilson  <bob.wilson@acm.org>
+
+	* elf32-xtensa.c (elf_xtensa_relocate_section): Fix typo that clobbered
+	dynamic relocation offsets.
+
+2003-09-23  Alan Modra  <amodra@bigpond.net.au>
+
+	* simple.c (bfd_simple_get_relocated_section_contents): Free the
+	hash table using _bfd_generic_link_hash_table_free.
+
+2003-09-23  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-bfd.h (struct bfd_elf_special_section): Remove "suffix".  Change
+	type of prefix_length and suffix_length to int.  Rename "attributes"
+	to "attr".  Comment.
+	(_bfd_elf_get_sec_type_attr): Update prototype.
+	* elf.c (get_special_section): Rewrite.
+	(_bfd_elf_get_sec_type_attr): Return struct rather than passing in
+	attr and type pointers.
+	(_bfd_elf_new_section_hook): Adjust for above.
+	(special_sections): Merge suffix with prefix.  Set
+	prefix_length for all entries.  Set suffix_length appropriately.
+	* elf32-m32r.c (m32r_elf_special_sections): Likewise.
+	* elf32-m68hc11.c (elf32_m68hc11_special_sections): Likewise.
+	* elf32-m68hc12.c (elf32_m68hc12_special_sections): Likewise.
+	* elf32-mcore.c (mcore_elf_special_sections): Likewise.
+	* elf32-sh64.c (sh64_elf_special_sections): Likewise.
+	* elf32-v850.c (v850_elf_special_sections): Likewise.
+	* elf32-xtensa.c (elf_xtensa_special_sections): Likewise.
+	* elf64-alpha.c (elf64_alpha_special_sections): Likewise.
+	* elf64-hppa.c (elf64_hppa_special_sections): Likewise.
+	* elf64-ppc.c (ppc64_elf_special_sections): Likewise.
+	* elf64-sh64.c (sh64_elf64_special_sections): Likewise.
+	* elfxx-ia64.c (elfNN_ia64_special_sections): Likewise.
+	* elfxx-mips.c (_bfd_mips_elf_special_sections): Likewise.
+	* elf32-ppc.c (ppc_elf_special_sections): Likewise.  Fix .plt flags.
+
+2003-09-21  Daniel Jacobowitz  <drow@mvista.com>
+
+	* elf64-alpha.c (elf64_alpha_create_got_section): Initialize
+	->got if the section already exists.
+
+2003-09-19  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* dwarf2.c (decode_line_info): Cope with an initially empty
+	filename table.
+
+2003-09-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* acinclude.m4: Include ../config/accross.m4.
+	* aclocal.m4: Regenerated.
+
+	* configure.host (HOST_64BIT_TYPE): Remove if it is set to long
+	or long long.
+	(HOST_U_64BIT_TYPE): Remove if it is set to unsigned long long.
+	(host64): Remove if HOST_64BIT_TYPE is set to long.
+
+	* configure.in (HOST_64BIT_TYPE): Set according to the size of
+	long and long long.
+	(HOST_U_64BIT_TYPE): Likewise.
+	(host64): Likewise.
+	* configure: Regenerated.
+
+2003-09-19  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf.c (elfcore_write_note): Don't use sizeof(Elf_External_note)
+	since some ABIs round up the size of the struct.
+
+2003-09-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elflink.c (_bfd_elf_merge_symbol): Allow type change if
+	the old symbol is undefined and the new symbol is defined.
+
+2003-09-18  Andreas Schwab  <schwab@suse.de>
+
+	* simple.c (bfd_simple_get_relocated_section_contents): Use
+	_bfd_generic_link_hash_table_create instead of
+	bfd_link_hash_table_create.
+
+2003-09-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elfxx-ia64.c (elfNN_ia64_special_sections): Mark all sections
+	started with ".sbss" or "".sdata" as SHF_IA_64_SHORT.
+
+2003-09-10  John David Anglin	<dave.anglin@nrc-cnrc.nrc.ca>
+	    Randolph Chung	<randolph@tausq.org>
+
+	* elf32-hppa.c (struct elf32_hppa_link_hash_entry,
+	hppa_link_hash_newfunc, hppa_build_one_stub,
+	elf32_hppa_adjust_dynamic_symbol, mark_PIC_calls, allocate_plt_static,
+	allocate_dynrelocs, elf32_hppa_size_dynamic_sections,
+	elf32_hppa_finish_dynamic_symbol): Remove pic_call field and all code
+	for generating import stubs for calls to statically linked PIC
+	functions.
+	(hppa_type_of_stub): Don't generate an import stub for calls to
+	statically linked pic functions.  Generate import stubs for calls
+	in a shared object, to functions not in a regular file, and to
+	defined weak functions.  Add new argument INFO.
+	(hppa_build_one_stub): Don't undef ADDIL_DP.
+	(elf32_hppa_check_relocs): Don't set SEC_HAS_GOT_REF flag.
+	(elf32_hppa_size_stubs): Pass info to hppa_type_of_stub.
+	(final_link_relocate): Change all DLTIND relocs to DPREL relocs in a
+	non-shared link.  Convert instructions that use the the linkage table
+	pointer, or a facsimile thereof, to use the global data pointer when
+	the reloc has been changed.
+
+2003-09-08  Joel Brobecker  <brobecker@gnat.com>
+
+	* archures.c: Add new machine names for hppa.
+	* bfd-in2.h: Regenerate.
+	* cpu-hppa.c: Use the new machine names.
+
+2003-09-06  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* elf32-m68hc1x.h (struct m68hc11_elf_link_hash_table): Remove
+	all_local_syms member.
+	* elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Use bfd_elf_get_elf_syms
+	to get the local symbols.
+
+2003-09-06  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* elf32-m68hc12.c (elf32_m68hc12_special_sections): New for hc11.
+	(elf_backend_special_sections): Define.a
+
+	PR savannah/4950:
+	* elf32-m68hc11.c (elf32_m68hc11_special_sections): The .vectors
+	section is read-only.
+
+2003-09-04  Nick Clifton  <nickc@redhat.com>
+
+	* archures.c (bfd_mach_v850e1): Define.
+	* bfd-in2.h: Regenerate.
+	* cpu-v850.h (scan): Accept bfd_mach_v850e1.
+	(arch_info_struct): Include an entry for bfd_mach_v850e1.
+	* elf32-v850.c (v850_elf_object_p): Accept E_V850E1_ARCH flag.
+	(v850_elf_final_write_processing): Accept bfd_mach_v850e1.
+	(v850_elf_print_private_bfd_data): Interpret E_V850E1_ARCH flag.
+	(v850_elf_merge_private_bfd_data): Allow v850e1 binaries to be
+	linked with v850e binaries.  Mark the output as v850e.
+
+2003-09-03  Nick Clifton  <nickc@redhat.com>
+
+	* cofflink.c (_bfd_coff_link_input_bfd): Do not skip section
+	symbols that are used in relocs.
+
+2003-08-30  Robert Millan  <robertmh@gnu.org>
+
+	* configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.
+	* config.bfd: Likewise.
+	* configure: Regenerate.
+
+2003-08-31  Christian Groessler  <chris@groessler.org>
+
+	* elf32-i860.c (i860_howto_pc26_reloc): Finish relocation here
+	instead of returning bfd_reloc_continue.
+
+2003-08-31  Andreas Jaeger  <aj@suse.de>
+
+	* merge.c: Update to ISO C90.
+
+2003-08-27  Ian Lance Taylor  <ian@airs.com>
+
+	* configure.in: Check for strtoull.
+	* bfd.c (bfd_scan_vma): Use strtoull when available.
+	* configure, config.in: Regenerate.
+
+	* configure.in: Define and substitute BFD_HOST_LONG_LONG.
+	* bfd-in.h: Define BFD_HOST_LONG_LONG.  Test it rather than
+	__GNUC__ when deciding whether to use long long for
+	BFD_HOST_64_BIT.
+	* configure, Makefile.in, doc/Makefile.in, bfd-in2.h: Regenerate.
+
+2003-08-27  Christian Groessler  <chris@groessler.org>
+
+	* elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
+	i860_howto_splitn_reloc, i860_howto_highadj_reloc): New
+	functions.
+	(elf32_i860_howto_table): Insert the new functions as
+	'special_function's in the proper reloc type entries.
+
+2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
+
+	* elf32-frv.c (elf32_frv_relocate_section): Use
+	_bfd_elf_rela_local_sym.
+
+2003-08-26  Michael Snyder  <msnyder@redhat.com>
+
+	* cpu-frv.c: Remove unused enum.
+
+2003-08-25  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+
+	* reloc.c: Fix documentation for MIPS ELF relocations.
+	libbfd.h: Regenerate.
+	bfd-in2.h: Regenerate.
+
+2003-08-24  Jason Eckhardt  <jle@rice.edu>
+
+	* coff-i860.c (CALC_ADDEND): Define to be a no-op.
+
+2003-08-24  Jason Eckhardt  <jle@rice.edu>
+
+	* elf32-i860.c (elf32_i860_relocate_pc16): Subtract 4 and
+	shift by 2 before storing the relocated value.
+
+2003-08-23  Jason Eckhardt  <jle@rice.edu>
+
+	* coff-i860.c (coff_i860_reloc_nyi): New function.
+	(howto_table): Add entries for relocations PAIR, HIGHADJ, HIGH,
+	LOWn, SPLITn, and BRADDR.
+	(RTYPE2HOWTO): Check that the r_type is within the howto_table
+	before trying to access the entry.
+	(coff_i860_rtype_to_howto): Likewise.
+	(coff_i860_reloc_type_lookup): New function.
+	(i860_reloc_processing): New function.
+	(coff_bfd_reloc_type_lookup): Define macro.
+	(RELOC_PROCESSING): Define macro.
+	Minor formatting adjustments.
+
+2003-08-23  Alan Modra  <amodra@bigpond.net.au>
+
+	* elflink.h (elf_link_add_object_symbols): Don't crash on NULL owner.
+
+2003-08-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elfxx-ia64.c (elfNN_ia64_create_dynamic_sections): Align the
+	.got section at 8 bytes.
+
+2003-08-21  Nick Clifton  <nickc@redhat.com>
+
+	* cofflink.c: Update to ISO C90 and tidy up formatting.
+
+2003-08-21  Randolph Chung  <tausq@debian.org>
+
+	* elf32-hppa.c (elf32_hppa_object_p): For elf32-hppa-linux, objects
+	can have OSABI=Linux or OSABI=SysV.  Check for both.
+	* elf64-hppa.c (elf64_hppa_object_p): Likewise.
+
+2003-08-21  Nick Clifton  <nickc@redhat.com>
+
+	* po/sv.po: Updated Swedish translation.
+
+2003-08-20  Richard Sandiford  <rsandifo@redhat.com>
+
+	* elf64-mips.c (elf_backend_copy_indirect_symbol): Define.
+
+2003-08-20  Nick Clifton  <nickc@redhat.com>
+
+	* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): New macro used to
+	replace some duplicated code in most elfxx-xxxx.c files.  This
+	version uses the new fields in bfd_link_info.
+
+	* elf-m10300.c (mn10300_elf_relocate_section): Use new macro.
+	* elf32-arm.h (elf32_arm_relocate_section): Likewise.
+	* elf32-cris.c (cris_elf_relocate_section): Likewise.
+	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
+	* elf32-i386.c (elf_i386_relocate_section): Likewise.
+	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
+	* elf32-iq2000.c (iq2000_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-sparc.c (elf32_sparc_relocate_section): Likewise.
+	* elf32-vax.c (elf_vax_relocate_section): Likewise.
+	* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
+	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+	* elf64-s390.c (elf_s390_relocate_section): Likewise.
+	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
+
+	* elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols,
+	elf_hppa_remark_useless_dynamic_symbols,
+	elf_hppa_relocate_section): Use the new fields in
+	bfd_link_info structure.
+	* elf32-sh.c (sh_elf_relocate_section): Likewise.
+	* elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
+	* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
+	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
+	* elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise.
+	* elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
+
+	* elflink.h (elf_link_output_extsym): Fix test for reporting
+	undefined symbols in shared libraries.  Remove redundant test
+	of shlib_undefined when reporting references to forced local
+	symbols.
+
+2003-08-18  Andreas Schwab  <schwab@suse.de>
+
+	* libpei.h (bfd_pe_executable_p): Also recognize efi-app
+	executables.
+
+2003-08-17  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* simple.c (bfd_simple_get_relocated_section_contents): Move
+	reloc_done hack to before first bfd_section_size call.  Change all
+	returns to use new wrapper macro RETURN, restoring sec->reloc_done.
+
+2003-08-16  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c: Don't include elf/ppc.h.
+
+2003-08-14  Richard Sandiford  <rsandifo@redhat.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Fix PT_DYNAMIC
+	code to work with 64-bit bfds.
+
+2003-08-14  Alan Modra  <amodra@bigpond.net.au>
+
+	* dep-in.sed: Remove libintl.h.
+	* Makefile.am (SRC-POTFILES.in, BLD-POTFILES.in): Unset LC_COLLATE.
+	(POTFILES.in): Remove target.
+	* Makefile.in: Regenerate.
+
+2003-08-12  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_next_input_section): Update comment.
+	(ppc64_elf_relocate_section): For zero sym R_PPC64_TOC relocs,
+	use the function sym from the previous reloc.
+
+2003-08-11  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf32-i386.c (elf_i386_relocate_section): Make undefined symbols
+	fatal if -pie.
+	* elf32-s390.c (elf_s390_relocate_section): Likewise.
+	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+	* elf64-s390.c (elf_s390_relocate_section): Likewise.
+	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
+	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+	(ppc_elf_relocate_section) <case R_PPC_RELAX32>: Issue fatal error
+	on undefined symbols if -pie.
+	* elf32-sh.c (sh_elf_relocate_section): Likewise.
+
+2003-08-11  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_relocate_section): Add special case for crt1.o
+	branch to __libc_start_main.
+
+2003-08-08 Dmitry Diky <diwil@mail.ru>
+
+	* archures.c: Add xW42 and xE42 parts. Sort MPU list according to
+	gcc order.
+	* cpu-msp430.c: Likewise.
+	* elf32-msp430.c: Likewise.
+	* bfd-in2.h: Regenerate.
+
+2003-08-07  Alan Modra  <amodra@bigpond.net.au>
+
+	* elfxx-target.h: Remove PTR cast.
+	* targets.c (bfd_target): Make backend_data const void *.
+	* elf-bfd.h: Constify all occurrences of struct elf_backend_data.
+	* elf-m10300.c: Likewise.
+	* elf.c: Likewise.
+	* elf32-hppa.c: Likewise.
+	* elf32-i386.c: Likewise.
+	* elf32-m68hc1x.c: Likewise.
+	* elf32-ppc.c: Likewise.
+	* elf32-s390.c: Likewise.
+	* elf32-sh.c: Likewise.
+	* elf32-sh64.c: Likewise.
+	* elf32-sparc.c: Likewise.
+	* elf32-xtensa.c: Likewise.
+	* elf64-mips.c: Likewise.
+	* elf64-ppc.c: Likewise.
+	* elf64-s390.c: Likewise.
+	* elf64-sh64.c: Likewise.
+	* elf64-sparc.c: Likewise.
+	* elf64-x86-64.c: Likewise.
+	* elfcode.h: Likewise.
+	* elfcore.h: Likewise.
+	* elflink.c: Likewise.
+	* elflink.h: Likewise.
+	* elfxx-ia64.c: Likewise.
+	* elfxx-mips.c: Likewise.
+	* elfxx-mips.h: Likewise.
+	* elf.c (prep_headers): Remove useless check for null backend_data.
+	* bfd-in2.h: Regenerate.
+
+	* elf-bfd.h: Remove PARAMS macro.  Replace PTR with void *.
+	(NAME): Use ## rather than CONCAT4 macro.
+	* elfcode.h: Remove one remaining PARAMS macro.
+	* elf-eh-frame.c: Convert to C90, remove unneeded casts and prototypes.
+	* elf-strtab.c: Likewise.
+	* elf-hppa.h: Likewise.
+	* elf32-hppa.h: Likewise.
+	* elf32-hppa.c: Likewise.
+	(elf32_hppa_add_symbol_hook): Delete.
+	(elf_backend_add_symbol_hook): Don't define.
+	* libhppa.h: Convert to C90.  Replace INLINE with inline.
+
+2003-08-06  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc_stub_name): Tweak names for better readability.
+	(ppc64_elf_adjust_dynamic_symbol): Allow copy relocs against
+	function descriptors, but warn.
+	(ppc_build_one_stub): Remove a couple of vars.  Move code creating
+	stub syms so that we can avoid a stub sym if we already have a
+	plt sym.  Do not redefine an existing symbol.
+	(ppc64_elf_build_stubs): When --emit-stub-syms, print a symbol for
+	glink.
+
+2003-08-06  Nick Clifton  <nickc@redhat.com>
+
+	* po/fr.po: Updated French translation.
+
+2003-08-06  Alan Modra  <amodra@bigpond.net.au>
+
+	* elflink.c (_bfd_elf_create_dynamic_sections): Mark .dynbss with
+	SEC_LINKER_CREATED.
+
+2003-08-05  Daniel Jacobowitz  <drow@mvista.com>
+
+	* elf32-arm.h (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
+	(elf32_arm_final_link_relocate, elf32_arm_relocate_section): Use it.
+
+2003-08-03  Jeff Muizelaar  <muizelaar@rogers.com>
+
+	* coffcode.h (coff_slurp_line_table): Return with a warning
+	message if the line number table could not be read.
+
+2003-08-04  Nick Clifton  <nickc@redhat.com>
+
+	* elflink.h (elf_link_add_object_symbols): Prepend "warning: "
+	to messages produced for .gnu.warning.SYMBOL sections.
+
+2003-08-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* elfcode.h: Convert to C90, remove unneeded casts and prototypes.
+	* elfcore.h: Likewise.
+	* elflink.c: Likewise.
+	* elflink.h: Likewise.
+	* elf.c (sym_is_global): Remove INLINE.
+	(align_file_position): Replace INLINE with inline.
+	* elfcode.h (elf_swap_dyn_in, elf_swap_dyn_out): Remove INLINE.
+	(elf_file_p): Replace INLINE with inline.
+
+2003-08-02  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* elf32-sh.c (sh_elf_check_relocs): Don't set DF_TEXTREL here.
+
+2003-08-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elfxx-ia64.c (get_got): Align the .got section at 8 bytes.
+
+2003-08-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Use
+	ElfNN_External_Rela instead of Elf64_External_Rela.
+
+2003-08-01  Nick Clifton  <nickc@redhat.com>
+
+	* config.bfd: Add code to catch obsolete configurations and warn
+	about them unless --enable-obsolete is used.  Use this to mark
+	vax-vms port as obsolete.
+
+2003-07-30  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-ppc.c (ppc_elf_install_value): Tidy.
+	(ppc_elf_relax_section): Remove dead code.  Remove unnecessary casts.
+	Formatting.
+	* elfxx-target.h: Remove PARAMS macro.  Formatting.
+
+2003-07-30  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf.c (bfd_section_from_r_symndx): Test for SHN_UNDEF.
+	* elf64-ppc.c (get_fdh): New function, split out from
+	ppc64_elf_edit_opd.
+	(ppc64_elf_check_relocs): Use get_fdh.
+	(func_desc_adjust): Likewise.  Tidy.
+	(ppc64_elf_edit_opd): Tighten reloc checks.  Free local_syms on error
+	exit.  Use get_fdh.  Account for superfluous dynamic relocs.
+	(ppc64_elf_relocate_section): Warning fix.
+
+2003-07-30  Jason Eckhardt  <jle@rice.edu>
+
+	* coff-i860.c: Convert to ISO C90.  Remove superflous prototypes.
+
+2003-07-30  Jason Eckhardt  <jle@rice.edu>
+
+	* elf32-i860.c: Convert to ISO C90.  Remove superflous prototypes.
+
+2003-07-30  Randolph Chung  <tausq@debian.org>
+
+	* elf-hppa.h (elf_hppa_relocate_section): Look up dyn_h for undefweak.
+	* elf64-hppa.c (elf64_hppa_finalize_dlt): Check h->root.type.
+
+2003-07-30  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf.c: Convert to C90, remove unnecessary prototypes and casts.
+	Replace PTR with void *.  Formatting.
+	(_bfd_elf_assign_file_position_for_section): Remove INLINE.
+	(make_mapping): Likewise.
+
+2003-07-29  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (func_desc_adjust): Give linker created function
+	descriptor symbols a size and type.
+	(ppc64_elf_relocate_section): Correct lq insn test.
+
+2003-07-28  Eric Christopher  <echristo@redhat.com>
+
+	* elf32-ppc.c (R_PPC_RELAX32): New relocation.
+	(ppc_elf_install_value): New function.
+	(ppc_elf_sort_rela): Remove.
+	(ppc_elf_relax_section): Rewrite. Remove old relaxation
+	and replace with out of range branch stubs.
+	(ppc_elf_relocate_section): Handle R_PPC_RELAX32.
+
+2003-07-29  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elf-m10300.c (mn10300_elf_relax_section): Take symbol hash table
+	from input_bfd.
+
+2003-07-28  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf.c (special_sections): Set attributes for .got and .plt.
+
+2003-07-27  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Ensure no copy relocs
+	on function descriptors.
+	(ELIMINATE_COPY_RELOCS): Expand comment.
+	(ppc64_elf_special_sections): Move.  Don't include non-ppc64 sections.
+	Do include ".toc1".
+
+2003-07-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf.c (_bfd_elf_new_section_hook): Set the default section
+	type to SHT_NULL.
+	(elf_fake_sections): Set the section type based on asect->flags
+	if it is SHT_NULL. Don't abort on processor specific section
+	types.
+
+2003-07-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* bfd-in2.h: Regenerated.
+
+2003-07-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf-bfd.h (bfd_elf_special_section): New.
+	(elf_backend_data): Add special_sections, a pointer to
+	bfd_elf_special_section.
+	(elf_section_type). New.
+	(elf_section_flags): New.
+	(_bfd_elf_get_sec_type_attr): New.
+
+	* elf.c (_bfd_elf_make_section_from_shdr): Always use the
+	real section type/flags.
+	(special_sections): New.
+	(get_special_section): New.
+	(_bfd_elf_get_sec_type_attr): New.
+	(_bfd_elf_new_section_hook): Check special_section to set
+	elf_section_type and elf_section_flags.
+	(elf_fake_sections): Don't use section name to set ELF section
+	data.
+
+	* elf32-m32r.c (m32r_elf_special_sections): New.
+	(elf_backend_special_sections): Defined.
+
+	* elf32-m68hc11.c (elf32_m68hc11_special_sections): New.
+	(elf_backend_special_sections): Defined.
+
+	* elf32-mcore.c (mcore_elf_special_sections): New.
+	(elf_backend_special_sections): Defined.
+
+	* elf32-ppc.c (ppc_elf_special_sections): New.
+	(elf_backend_special_sections): Defined.
+
+	* elf32-sh64.c (sh64_elf_special_sections): New.
+	(elf_backend_special_sections): Defined.
+
+	* elf32-v850.c (v850_elf_special_sections): New.
+	(elf_backend_special_sections): Defined.
+
+	* elf32-xtensa.c (elf_xtensa_special_sections): New.
+	(elf_backend_special_sections): Defined.
+
+	* elf64-alpha.c (elf64_alpha_special_sections): New.
+	(elf_backend_special_sections): Defined.
+
+	* elf64-hppa.c (elf64_hppa_special_sections): New.
+	(elf_backend_special_sections): Defined.
+
+	* elf64-ppc.c (ppc64_elf_special_sections): New.
+	(elf_backend_special_sections): Defined.
+
+	* elf64-sh64.c (sh64_elf64_special_sections): New.
+	(elf_backend_special_sections): Defined.
+
+	* elfxx-ia64.c (elfNN_ia64_special_sections): New.
+	(elf_backend_special_sections): Defined.
+
+	* elfxx-mips.c (_bfd_mips_elf_special_sections): New.
+
+	* elfxx-mips.h (_bfd_mips_elf_special_sections): New.
+	(elf_backend_special_sections): Defined.
+
+	* elfxx-target.h (elf_backend_special_sections): New. Default
+	to NULL.
+	(elfNN_bed): Initialize special_sections.
+
+	* section.c (bfd_abs_section): Remove const.
+	(bfd_und_section): Likewise.
+	(bfd_com_section): Likewise.
+	(bfd_ind_section): Likewise.
+
+2003-07-24  Nick Clifton  <nickc@redhat.com>
+
+	* coff-arm.c (EXTRA_S_FLAGS): Include SEC_CODE so that code
+	sections are assigned the LOAD attribute.
+
+2003-07-25  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* elf32-sh.c: Convert to C90.  Replace PTR with void *.
+	* elf32-sh64-com.c: Likewise.
+	* elf32-sh64.c: Likewise.
+	* elf32-sh64.h: Likewise.
+	* elf64-sh64.c: Likewise.
+
+2003-07-24  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* elf32-sh.c (sh_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL.
+	(allocate_dynrelocs): Likewise.
+	(sh_elf_relocate_section): Likewise. Use SYMBOL_REFERENCES_LOCAL.
+	(sh_elf_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL.
+
+2003-07-24  Nick Clifton  <nickc@redhat.com>
+
+	* po/fr.po: Updated French translation.
+
+2003-07-23  Bob Wilson  <bob.wilson@acm.org>
+
+	* elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Make inline and move
+	near the beginning of the file.  Swap order of arguments.  Call
+	_bfd_elf_dynamic_symbol_p with "ignore_protected" set to 0.
+	(elf_xtensa_fix_refcounts): Adjust xtensa_elf_dynamic_symbol_p call.
+	(elf_xtensa_relocate_section): Likewise.
+	(shrink_dynamic_reloc_sections): Likewise.
+
+2003-07-23  Bob Wilson  <bob.wilson@acm.org>
+
+	* elf32-xtensa.c (plt_reloc_count): Fix typo in comment.
+	(elf_xtensa_size_dynamic_sections): Use elf_discarded_section.
+	(elf_xtensa_combine_prop_entries): Avoid returning non-zero without
+	first printing an error message.
+	(elf_xtensa_finish_dynamic_sections): Likewise.
+	(elf_xtensa_discard_info_for_section): Adjust size of .got.loc when
+	discarding literal table entries.
+	(elf_xtensa_merge_private_bfd_data): Remove newline from error message.
+	(elf_xtensa_do_asm_simplify): Likewise.
+
+2003-07-23  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Avoid crash when
+	we have a local symbol in common section.
+
+2003-07-22  H.J. Lu <hongjiu.lu@intel.com>
+
+	* elflink.c (_bfd_elf_dynamic_symbol_p): Don't return TRUE for
+	weak symbols.
+
+2003-07-22  Nick Clifton  <nickc@redhat.com>
+
+	* coffcode.h (coff_slurp_symbol_table): Add C_TCSYM and C_ECOML to
+	expected RS6000 storage classes.
+
+2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
+
+	* elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Mark
+	output_bfd unused to silence gcc.
+
+2003-07-21  Nick Clifton  <nickc@redhat.com>
+
+	* po/sv.po: Updated Swedish translation.
+
+2003-07-21  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use..
+	(_bfd_elf_symbol_refs_local_p): ..this.  Declare.
+	* elflink.c (_bfd_elf_symbol_refs_local_p): New function.
+	* elf32-i386.c (elf_i386_relocate_section): Remove h NULL test
+	now done in _bfd_elf_symbol_refs_local_p.
+	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+
+2003-07-18  H.J. Lu <hongjiu.lu@intel.com>
+
+	* elflink.c (_bfd_elf_dynamic_symbol_p): Undo the last change.
+
+2003-07-18  H.J. Lu <hongjiu.lu@intel.com>
+
+	* elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Fix a typo.
+	(SYMBOL_CALLS_LOCAL): Likewise.
+
+	* elflink.c (_bfd_elf_dynamic_symbol_p): Return TRUE
+	immediately if symbol isn't defined locally.
+
+2003-07-18  Richard Henderson  <rth@redhat.com>
+
+	* elflink.c (_bfd_elf_dynamic_symbol_p): New.
+	* elf-bfd.h (_bfd_elf_dynamic_symbol_p): Declare it.
+	(SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use it.
+	* elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Likewise.
+	* elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
+	* elf64-hppa.c (elf64_hppa_dynamic_symbol_p): Likewise.
+	* elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Likewise.
+	Update all callers to provide the relocation being resolved.
+
+2003-07-17  Shaun Jackman <sjackman@pathwayconnect.com>
+
+	* config.bfd (arm-wince-pe): Add -DARM_COFF_BUGFIX to
+	targ_cflags.
+
+2003-07-17  Nick Clifton  <nickc@redhat.com>
+
+	* po/es.po: New Spanish translation.
+	* po/sv.po: New Swedish translation.
+	* po/opcodes.pot: Regenerate.
+
+2003-07-16  Richard Henderson  <rth@redhat.com>
+
+	* config.bfd, configure.host, configure.in: Remove ia64-aix support.
+	* elfxx-ia64.c, targets.c: Likewise.
+
+2003-07-16  Richard Henderson  <rth@redhat.com>
+
+	* elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Properly return false
+	for symbols defined locally plus -Bsymbolic.  Tidy logic.
+
+2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
+
+	* archures.c (bfd_mach_mips7000): New.
+	* bfd-in2.h: Regenerated.
+	* cpu-mips.c (arch_info_struct): Add an entry for mips:7000.
+	* elfxx-mips.c (mips_set_isa_flags): Handle bfd_mach_mips7000.
+	(mips_mach_extensions): Add an entry for it.
+
+2003-07-14  Nick Clifton  <nickc@redhat.com>
+
+	* po/tr.po: Update with latest version.
+	* po/SRC-POTFILES.in: Regenerate.
+	* po/bfd.pot: Regenerate.
+	* Makfile.in: Regenerate.
+	* configure: Regenerate.
+
+2003-07-12  Jeff Baker  <jbaker@qnx.com>
+
+	* bfd/config.bfd (__QNXTARGET__): Define for Neutrino architectures.
+	* bfd/elf32-arm.h (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
+	* bfd/elf32-sh.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
+	* bfd/elf32-ppc.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
+
+2003-07-12  Jeff Muizelaar  <muizelaar@rogers.com>
+
+	* coffcode.h (coff_set_section_contents): Set the
+	IMAGE_FILE_32BIT_MACHINE flag for PE targets.
+
+2003-07-11  Richard Sandiford  <rsandifo@redhat.com>
+
+	* bfd-in.h (bfd_h8300_pad_address): Declare.
+	* bfd-in2.h: Regenerate.
+	* cpu-h8300.c (bfd_h8300_pad_address): New function.
+	* coff-h8300.c (h8300_reloc16_estimate): Use it to canonicalize
+	addresses before checking whether they can be relaxed.
+	(h8300_reloc16_extra_cases): Likewise for the R_MOVL2 sanity check.
+	Don't complain about overflows in general 8-bit relocations.
+	* elf32-h8300.c (elf32_h8_relax_section): Use bfd_h8300_pad_address.
+	Fix handling of R_H8_DIR24A8.
+
+2003-07-11  Richard Sandiford  <rsandifo@redhat.com>
+
+	* elf32-h8300.c: Convert function prototypes and definitions
+	to C90 syntax.
+	* coff-h8300.c: Likewise.
+	* cpu-h8300.c: Likewise.
+
+2003-07-11  Alan Modra  <amodra@bigpond.net.au>
+
+	* po/SRC-POTFILES.in: Regenerate.
+	* po/bfd.pot: Likewise.
+
+2003-07-10  Bob Wilson  <bob.wilson@acm.org>
+
+	* elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Create new
+	.got.loc section.  Do not set SEC_ALLOC or SEC_LOAD flags for the
+	.xt.lit.plt section.
+	(elf_xtensa_size_dynamic_sections): Set size of the .got.loc section
+	and allocate memory for it.
+	(elf_xtensa_combine_prop_entries): Copy contents of .xt.lit output
+	section to the .got.loc section.
+	(elf_xtensa_finish_dynamic_sections): Fix up call to
+	elf_xtensa_combine_prop_entries and set DT_XTENSA_GOT_LOC_OFF to
+	the address of .got.loc.
+	(relax_property_section): Shrink .got.loc to match changes in any
+	literal table section.
+	(xtensa_is_property_section): Change to match
+	xtensa_get_property_section_name.
+	(xtensa_is_littable_section): New.
+
+2003-07-10  H.J. Lu <hongjiu.lu@intel.com>
+
+	* elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1 instead of
+	-1LL.
+
+2003-07-10  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am (BFD32_BACKENDS): Add elf32-am33lin.lo.
+	(BFD32_BACKENDS_CFILES): elf32-am33lin.c not elf32-am33lin.lo.
+	Run "make dep-am".
+	* Makefile.in: Regenerate.
+
+2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
+
+	2001-09-12  Alexandre Oliva  <aoliva@redhat.com>
+	* elf32-am33lin.c (ELF_MACHINE_CODE): Redefine to EM_MN10300.
+	(ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10300.
+	2001-06-02  Nick Clifton  <nickc@cambridge.redhat.com>
+	* elf32-am33lin.c: Rename global functions.
+	2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
+	* config.bfd (am33_2.0, am33_2.0-*-linux*): Added.
+	* configure.in (bfd_elf32_am33lin_vec): Added.
+	* Makefile.am (BFD32_BACKENDS): Added elf32-am33lin.lo.
+	(elf32-am33lin.lo): List dependencies.
+	* aclocal.m4, configure, Makefile.in: Rebuilt.
+	* elf-m10300.c (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME,
+	ELF_ARCH, ELF_MACHINE_CODE, ELF_MAXPAGESIZE): Define only if
+	ELF_ARCH was not defined before.
+	(elf_symbol_leading_char): Define if not defined.
+	* elf32-am33lin.c: Override the definitions above.
+	* targets.c (bfd_elf32_am33lin_vec): New.
+
+2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
+
+	2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
+	* elf-m10300.c (elf32_mn10300_link_hash_newfunc): Initialize
+	pcrel_relocs_copied.
+	2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
+	* elf-m10300.c (ELF_DYNAMIC_INTERPRETER): Renamed from
+	ld-linux.so.2 to ld.so.1.
+	2001-10-10  Alexandre Oliva  <aoliva@redhat.com>
+	* elf-m10300.c (elf_mn10300_sizeof_plt0): New macro.
+	(_bfd_mn10300_elf_adjust_dynamic_symbol): Use it.
+	(_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
+	* elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Allocate
+	.rela.* section contents with bfd_zalloc.
+	2001-09-25  Alexandre Oliva  <aoliva@redhat.com>
+	* elf-m10300.c: Added declarations for functions missing them.
+	Merge some shared-library changes from the i386 back-end.  Use
+	R_MN10300_RELATIVE instead of R_MN10300_PCREL32 and
+	R_MN10300_GLOB_DAT instead of R_MN10300_32 where appropriate.
+	(struct elf32_mn10300_link_hash_entry): Remove duplicates of
+	members of elf_link_hash_entry.  Adjusted references.
+	(mn10300_elf_final_link_relocate): dynobj was already loaded
+	into a local variable, use it.
+	2001-09-21  Nick Clifton  <nickc@cambridge.redhat.com>
+	* elf-m10300.c: Add missing function prototypes.
+	2001-08-24  Alexandre Oliva  <aoliva@redhat.com>
+	* elf-m10300.c (mn10300_elf_relocate_section): Don't compute
+	relocation for dynamic relocations.
+	2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
+	* reloc.c (BFD_RELOC_MN10300_GOTOFF24): New.
+	* elf-m10300.c: Introduce GOTPC16, GOTOFF24, GOTOFF16 and
+	PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32.
+	(_bfd_mn10300_elf_create_dynamic_sections): Move creation ot PLT...
+	(_bfd_mn10300_elf_create_got_section): ... here, so that its
+	adress is already known at the time we compute relaxations.
+	(mn10300_elf_relax_section): Relax GOTPC32, GOTOFF32, GOT32
+	and PLT32 to narrower relocations.
+	* libbfd.h, bfd-in2.h: Rebuilt.
+	2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
+	* reloc.c (BFD_RELOC_MN10300_GOT32, BFD_RELOC_MN10300_GOT24,
+	BFD_RELOC_MN10300_GOT16, BFD_RELOC_MN10300_COPY,
+	BFD_RELOC_MN10300_GLOB_DAT, BFD_RELOC_MN10300_JMP_SLOT,
+	BFD_RELOC_MN10300_RELATIVE): New relocs.
+	* libbfd.h, bfd-in2.h: Rebuilt.
+	* elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): New.
+	(struct elf32_mn10300_link_hash_entry): Added DSO-related
+	fields.
+	(elf_mn10300_howto): Defined new relocation types.
+	(mn10300_reloc_map): Map them.
+	(_bfd_mn10300_elf_create_got_section): New fn.
+	(mn10300_elf_check_relocs): Handle PIC relocs.
+	(mn10300_elf_final_link_relocate): Likewise.
+	(mn10300_elf_relocate_section): Handle DSOs.
+	(PLT0_ENTRY_SIZE, PLT_ENTRY_SIZE, PIC_PLT_ENTRY_SIZE): New macros.
+	(elf_mn10300_plt0_entry, elf_mn10300_plt_entry,
+	elf_mn10300_pic_plt_entry): New.
+	(elf_mn10300_sizeof_plt, elf_mn10300_plt_plt0_offset,
+	elf_mn10300_plt0_linker_offset, elf_mn10300_plt0_gotid_offset,
+	elf_mn10300_plt_temp_offset, elf_mn10300_plt_symbol_offset,
+	elf_mn10300_plt_reloc_offset: New macros.
+	(ELF_DYNAMIC_INTERPRETER): Likewise.
+	(_bfd_mn10300_elf_create_dynamic_sections): New function.
+	(_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
+	(_bfd_mn10300_elf_discard_copies): Likewise.
+	(_bfd_mn10300_elf_size_dynamic_sections): Likewise.
+	(_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
+	(_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
+	(elf_backend_can_gc_sections,
+	elf_backend_create_dynamic_sections,
+	elf_backend_adjust_dynamic_sections,
+	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): New
+	macros.
+
+2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
+
+	2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
+	* elf-m10300.c (compute_function_info): Account for AM33
+	registers in `movm' when computing stack space for `call' when
+	linking for AM33/2.0 link.
+	2000-04-01  Alexandre Oliva  <aoliva@cygnus.com>
+	* archures.c (bfd_mach_am33_2): Renamed from bfd_mach_am332.
+	* bfd-in2.h: Rebuilt.
+	* cpu-m10300.c (bfd_am33_2_arch): Renamed from bfd_am332_arch.
+	* elf-m10300.c: Updated.
+	2000-03-31  Alexandre Oliva  <aoliva@cygnus.com>
+	* archures.c (bfd_mach_am332): Defined.
+	* bfd-in2.h: Rebuilt.
+	* cpu-m10300.c (bfd_am332_arch): Defined.
+	(bfd_am33_arch): Chained with am33-2.
+	* elf-m10300.c (elf_mn10300_mach): Handle am332.
+	(_bfd_mn10300_elf_final_write_processing): Likewise.
+
+2003-07-09  H.J. Lu <hongjiu.lu@intel.com>
+
+	* elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1LL.
+
+2003-07-10  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (bfd_elf64_mkobject): Define.
+	(struct ppc64_elf_obj_tdata): New.
+	(ppc64_elf_tdata, ppc64_tlsld_got): Define.
+	(ppc64_elf_mkobject): New function.
+	(struct got_entry): Add "owner".  Move "tls_type".
+	(struct ppc_link_hash_table): Delete "relgot", "tlsld_got".
+	(ppc64_elf_init_stub_bfd): New function.
+	(create_got_section): Create header .got in dynobj.  Create .got
+	and .rela.got in each bfd.  Stash pointers in ppc64_elf_obj_tdata.
+	(ppc64_elf_create_dynamic_sections): Don't call create_got_section.
+	Look for dynobj .got, and test it.
+	(ppc64_elf_copy_indirect_symbol): Adjust for changed got.
+	(update_local_sym_info): Likewise.
+	(ppc64_elf_check_relocs): Likewise.
+	(ppc64_elf_gc_sweep_hook): Likewise.
+	(ppc64_elf_tls_optimize): Likewise.
+	(allocate_dynrelocs): Likewise.
+	(ppc64_elf_size_dynamic_sections): Likewise.
+	(ppc64_elf_relocate_section): Likewise.
+	(ppc64_elf_next_toc_section): Update comment.
+	(toc_adjusting_stub_needed): Remove unneeded cast.
+	(ppc64_elf_build_stubs): Check for stub sections in stub bfd by
+	testing section flags.
+	(ppc64_elf_build_stubs): Likewise.
+	(ppc64_elf_size_stubs): Likewise.  Remove stub_bfd param.
+	(ppc64_elf_finish_dynamic_sections): Write out got sections.
+	(func_desc_adjust): Copy over dynamic info for undef weaks.
+	* elf64-ppc.h (ppc64_elf_init_stub_bfd): Declare.
+	(ppc64_elf_size_stubs): Update prototype.
+	* elflink.h (elf_link_sort_relocs): Use link_orders to find reldyn
+	input sections rather than scanning dynobj.
+
+2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
+
+	* elfxx-mips.c (mips_elf_link_hash_entry): Remove min_dyn_reloc_index.
+	(bfd_mips_elf_swap_msym_in, bfd_mips_elf_swap_msym_out): Delete.
+	(mips_elf_create_msym_section): Delete.
+	(mips_elf_create_dynamic_relocation): Don't set min_dyn_reloc_index.
+	(_bfd_mips_elf_copy_indirect_symbol): Likewise.
+	(_bfd_mips_elf_create_dynamic_sections): Don't create .msym.
+	(_bfd_mips_elf_size_dynamic_sections): Don't calculate its size.
+	(_bfd_mips_elf_size_dynamic_sections): Don't add DT_MIPS_MSYM.
+	(_bfd_mips_elf_finish_dynamic_symbol): Don't add symbols to .msym.
+	(_bfd_mips_elf_finish_dynamic_sections): Likewise.
+
+2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
+
+	* elfxx-mips.c (mips_elf_irix6_finish_dynamic_symbol): Make the
+	symbols protected.
+
+2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
+
+	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Fix handling
+	of relocations whose offset is -2.
+
+2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
+
+	* bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): Treat
+	forced-local symbols like other locals.  Don't create relocations
+	against STN_UNDEF in irix objects.
+
+2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
+
+	* bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): In SGI-
+	compatible objects, add the values of defined external symbols
+	to the addend.
+
+2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Always
+	initialize a GOT entry to the symbol's st_value.
+
+2003-07-08  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-bfd.h (struct elf_obj_tdata): Move linker_section_pointers..
+	* elf32-ppc.c (struct ppc_elf_obj_tdata): ..to here.  New.
+	(ppc_elf_tdata): Define.
+	(elf_local_ptr_offsets): Adjust.
+	(ppc_elf_mkobject): New function.
+	(bfd_elf32_mkobject): Define.
+
+	* elfcode.h (elf_object_p): Allocate tdata via _bfd_set_format.
+	* elfcore.h (elf_core_file_p): Likewise.
+	* section.c (bfd_section_init): Remove prototype.
+
+2003-07-08  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-bfd.h (struct elf_link_hash_entry): Remove linker_section_pointer
+	field.
+	(enum elf_linker_section_enum): Delete.
+	(struct elf_linker_section): Delete.
+	(struct elf_linker_section_pointers): Delete.
+	(struct elf_obj_tdata): Remove #if 0 chunk.  Remove linker_section.
+	Make linker_section_pointers a void**.
+	(elf_local_ptr_offsets, elf_linker_section): Don't define.
+	* elf32-ppc.c (enum elf_linker_section_enum): New, cut-down version
+	of old item in elf-bfd.h.
+	(struct elf_linker_section): Likewise.
+	(struct elf_linker_section_pointers): Likewise.
+	(elf_local_ptr_offsets): Define.
+	(struct ppc_elf_link_hash_entry): Add linker_section_pointer.
+	(ppc_elf_link_hash_newfunc): Init it.
+	(struct ppc_elf_link_hash_table): Add sbss.
+	(ppc_elf_link_hash_table_create): zmalloc rather than clearing
+	individual fields.
+	(elf_create_linker_section): Fold into..
+	(ppc_elf_create_linker_section): ..here.  Remove hole_size code.
+	Make rela section here if shared.
+	(elf_find_pointer_linker_section): Pass lsect rather than enum.
+	(elf_create_pointer_linker_section): Adjust.  zalloc rather than
+	clearing in a loop.
+	(elf_finish_pointer_linker_section): Adjust.  Don't make rela
+	section here.
+	(ppc_elf_check_relocs): Adjust.
+	(ppc_elf_add_symbol_hook): Tighten hash creator test.  Remove code
+	creating .sbss by hand.
+	* elf.c (_bfd_elf_link_hash_newfunc): Adjust.
+
+2003-07-04  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf32-s390.c (elf_howto_table): Change R_390_GOT12 to
+	complain_overflow_bitfield.
+	* elf64-s390.c (elf_howto_table): Change R_390_GOT12 to
+	complain_overflow_bitfield.
+
+2003-07-04  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Return
+	true even if -pie.
+
+2003-07-04  Jakub Jelinek  <jakub@redhat.com>
+
+	* elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add rel_fptr_sec.
+	(elfNN_ia64_dynamic_symbol_p): Change info->shared into
+	!info->executable.
+	(get_fptr): For -pie create .opd as writable section and create
+	.rela.opd as well.
+	(elfNN_ia64_check_relocs): Change info->shared into
+	!info->executable.
+	(allocate_fptr): Likewise.
+	(allocate_dynrel_entries): Account for a relative reloc for -pie
+	@fptr().  Don't account for a relative reloc if -pie want_ltoff_fptr
+	for undefweak symbol.  Account for an IPLT reloc in .rela.opd
+	section if -pie.
+	(set_got_entry): Don't create a relative reloc if -pie
+	want_ltoff_fptr for undefweak symbol.
+	(set_fptr_entry): Emit an IPLT reloc in .rela.opd for -pie.
+	(elfNN_ia64_relocate_section): Emit a relative reloc for -pie
+	@fptr().
+
+	* elfxx-ia64.c (elfNN_ia64_relocate_section): Issue undefined_symbol
+	even if -pie.
+	* elf32-i386.c (elf_i386_relocate_section): Likewise.
+	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+	* elf64-s390.c (elf_s390_relocate_section): Likewise.
+	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+	* elf32-s390.c (elf_s390_relocate_section): Likewise.
+	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+
+2003-07-04  Paul Clarke <paulc@senet.com.au>
+
+	* elf32-h8300.c (R_H8_DIR32A16): Fix name field.
+	(elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation.
+	<R_H8_DIR32A16>: Fix type of relocation.
+
+2003-07-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* elf32-sh.c (sh_elf_create_dynamic_sections): Return if dynamic
+	sections were created already.  Remove unnecessary tests of
+	the previous change.
+
+2003-07-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* elf32-sh.c (sh_elf_create_dynamic_sections): Don't call
+	bfd_make_section for existing sections.
+
+2003-07-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-sparc.c (elf32_sparc_check_relocs): Don't call
+	create_got_section if we already have done so.
+	* elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
+	(sh_elf_check_relocs): Likewise.
+	(sh_elf_adjust_dynamic_symbol): Delete "dynobj" var.  Use
+	htab->root.dynobj instead.
+	(sh_elf_check_relocs): Likewise.
+	(sh_elf_finish_dynamic_sections): Likewise.
+
+	* section.c (bfd_make_section): Return NULL for existing section.
+
+2003-07-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-ppc.c (ppc_elf_create_dynamic_sections): Don't call
+	ppc_elf_create_got if we've already done so.
+
+	* elf-bfd.h (_bfd_elf_create_linker_section) Don't declare.
+	(_bfd_elf_find_pointer_linker_section): Likewise.
+	(bfd_elf32_create_pointer_linker_section): Likewise.
+	(bfd_elf32_finish_pointer_linker_section): Likewise.
+	(bfd_elf64_create_pointer_linker_section): Likewise.
+	(bfd_elf64_finish_pointer_linker_section): Likewise.
+	(_bfd_elf_make_linker_section_rela): Likewise.
+	* elfcode.h (elf_create_pointer_linker_section): Don't define.
+	(elf_finish_pointer_linker_section): Likewise.
+	* elflink.c (_bfd_elf_make_linker_section_rela): Delete.
+	(_bfd_elf_create_linker_section): Move this function..
+	(_bfd_elf_find_pointer_linker_section): ..and this..
+	* elflink.h (elf_create_pointer_linker_section): ..and this..
+	(elf_finish_pointer_linker_section): ..and this..
+	* elf32-ppc.c: ..to here, renaming to the following, and adjusting
+	calls.
+	(elf_create_linker_section): Convert to C90, tidy.
+	(elf_find_pointer_linker_section): Likewise.
+	(elf_create_pointer_linker_section): Likewise.
+	(elf_finish_pointer_linker_section): Likewise.
+	* elf32-i370.c: Delete #if 0 code.
+
+2003-07-02  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't allow _savef* and
+	_restf* to be satisfied by shared libs, and always force them local.
+	(toc_adjusting_stub_needed): Avoid scanning linker created sections.
+	Correct test for "bl".
+	(ppc64_elf_relocate_section <R_PPC64_TLS>): Correct test for
+	primary opcode 31.
+
+2003-07-01  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* elf32-s390.c (s390_elf_ldisp_reloc): New prototype.
+	(s390_tls_reloc): New function.
+	(elf_howto_table): Add long displacement relocations R_390_20,
+	R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20.
+	(elf_s390_reloc_type_lookup): Likewise.
+	(elf_s390_check_relocs): Likewise.
+	(elf_s390_gc_sweep_hook): Likewise.
+	(elf_s390_relocate_section): Likewise.
+	* elf64-s390.c: Same changes as for elf32-s390.c.
+	* reloc.c: Add long displacement relocations BFD_RELOC_390_20,
+	BFD_RELOC_390_GOT20, BFD_RELOC_390_GOTPLT20 and
+	BFD_RELOC_390_TLS_GOTIE20.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Likewise.
+
+2003-06-30  Alan Modra  <amodra@bigpond.net.au>
+
+	* cpu-ia64-opc.c (ext_imms_scaled): Don't sign extend using shifts.
+	(ins_imms, ins_immsm1u4): Likewise.  Warning fix.
+
+2003-06-29  Alan Modra  <amodra@bigpond.net.au>
+
+	* archive.c: Convert to C90, remove unnecessary prototypes and casts.
+	Replace PTR with void *.  Formatting.
+	* archive64.c: Likewise.
+	* archures.c: Likewise.
+	* bfd-in.h: Likewise.
+	* bfd.c: Likewise.
+	* bfdio.c: Likewise.
+	* bfdwin.c: Likewise.
+	* cache.c: Likewise.
+	* corefile.c: Likewise.
+	* format.c: Likewise.
+	* init.c: Likewise.
+	* libbfd-in.h: Likewise.
+	* libbfd.c: Likewise.
+	* linker.c: Likewise.
+	* opncls.c: Likewise.
+	* reloc.c: Likewise.
+	* section.c: Likewise.
+	* simple.c: Likewise.
+	* syms.c: Likewise.
+	* targets.c: Likewise.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+
+	* ecoff.c (bfd_debug_section): Add missing kept_section initialization.
+	* libbfd-in.h (_bfd_sh_align_load_span): Don't declare if defined.
+	* libbfd.c (COERCE32, EIGHT_GAZILLION): Simplify.
+	(bfd_getb64): Rewrite without parens.
+	(bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
+	* cache.c (insert, snip): Remove INLINE.
+	* linker.c (bfd_link_add_undef): Likewise.
+
+2003-06-29  Andreas Jaeger  <aj@suse.de>
+
+	* elf64-x86-64.c: Convert to ISO C90 prototypes, remove
+	unnecessary prototypes.  Replace PTR with void *.
+	(elf64_x86_64_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL to
+	trim plt entries.  Move undefweak non-default visibility test ...
+	(allocate_dynrelocs): ... from here.
+	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
+	Change all callers.
+	(allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL.  Use
+	SYMBOL_REFERENCES_LOCAL for dynreloc check.
+	(elf64_x86_64_relocate_section): Use SYMBOL_CALLS_LOCAL for
+	dynreloc and .got relocs.
+	(elf64_x86_64_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL
+	for .got relocs.
+
+2003-06-29  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* elfxx-mips.c: Allow lazy binding for R_MIPS_JALR.
+
+2003-06-27  Nick Clifton  <nickc@redhat.com>
+
+	* opncls.c (bfd_add_gnu_debuglink_section): Rename to
+	bfd_add_gnu_debuglink_section and only create the section, do not
+	fill in its contents.
+	(bfd_fill_in_gnu_debuglink_section): New function.  Fill in the
+	contents of a .gnu-debuglink section.
+	* bfd-in2.h: Regenerate.
+
+2003-06-27  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* elfxx-mips.c: Revert .got alignment to 2**4.
+
+2003-06-27  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* elf32-mips.c: Fix addend for _gp_disp special symbol.
+
+2003-06-27  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove non-default
+	relocation header setup.
+
+2003-06-25  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-ppc.c (ppc_elf_howto_table): Remove unnecessary cast.
+	(ppc_elf_reloc_type_lookup): Modify comment.
+	(ppc_elf_info_to_howto): Ditto.
+	(ppc_elf_relocate_section): Ditto.
+	(ppc_elf_check_relocs): Call ppc_elf_howto_init.
+
+2003-06-25  Alan Modra  <amodra@bigpond.net.au>
+
+	* aout-ns32k.c: Correct spelling of "relocatable".
+	* aoutx.h: Likewise.
+	* bfd-in.h: Likewise.
+	* bfd.c: Likewise.
+	* bout.c: Likewise.
+	* coff-a29k.c: Likewise.
+	* coff-alpha.c: Likewise.
+	* coff-arm.c: Likewise.
+	* coff-i386.c: Likewise.
+	* coff-i860.c: Likewise.
+	* coff-i960.c: Likewise.
+	* coff-m68k.c: Likewise.
+	* coff-m88k.c: Likewise.
+	* coff-mcore.c: Likewise.
+	* coff-mips.c: Likewise.
+	* coff-or32.c: Likewise.
+	* coff-ppc.c: Likewise.
+	* coff-rs6000.c: Likewise.
+	* coff-sh.c: Likewise.
+	* coff-tic80.c: Likewise.
+	* coff64-rs6000.c: Likewise.
+	* cofflink.c: Likewise.
+	* cpu-ns32k.c: Likewise.
+	* ecoff.c: Likewise.
+	* ecofflink.c: Likewise.
+	* elf-bfd.h: Likewise.
+	* elf-eh-frame.c: Likewise.
+	* elf-hppa.h: Likewise.
+	* elf-m10200.c: Likewise.
+	* elf-m10300.c: Likewise.
+	* elf.c: Likewise.
+	* elf32-arm.h: Likewise.
+	* elf32-avr.c: Likewise.
+	* elf32-cris.c: Likewise.
+	* elf32-d10v.c: Likewise.
+	* elf32-dlx.c: Likewise.
+	* elf32-fr30.c: Likewise.
+	* elf32-frv.c: Likewise.
+	* elf32-h8300.c: Likewise.
+	* elf32-hppa.c: Likewise.
+	* elf32-i370.c: Likewise.
+	* elf32-i386.c: Likewise.
+	* elf32-i860.c: Likewise.
+	* elf32-i960.c: Likewise.
+	* elf32-ip2k.c: Likewise.
+	* elf32-iq2000.c: Likewise.
+	* elf32-m32r.c: Likewise.
+	* elf32-m68hc11.c: Likewise.
+	* elf32-m68hc1x.c: Likewise.
+	* elf32-m68k.c: Likewise.
+	* elf32-mcore.c: Likewise.
+	* elf32-mips.c: Likewise.
+	* elf32-msp430.c: Likewise.
+	* elf32-openrisc.c: Likewise.
+	* elf32-ppc.c: Likewise.
+	* elf32-s390.c: Likewise.
+	* elf32-sh.c: Likewise.
+	* elf32-sh64.c: Likewise.
+	* elf32-sparc.c: Likewise.
+	* elf32-v850.c: Likewise.
+	* elf32-vax.c: Likewise.
+	* elf32-xstormy16.c: Likewise.
+	* elf32-xtensa.c: Likewise.
+	* elf64-alpha.c: Likewise.
+	* elf64-hppa.c: Likewise.
+	* elf64-mips.c: Likewise.
+	* elf64-mmix.c: Likewise.
+	* elf64-ppc.c: Likewise.
+	* elf64-s390.c: Likewise.
+	* elf64-sh64.c: Likewise.
+	* elf64-sparc.c: Likewise.
+	* elf64-x86-64.c: Likewise.
+	* elfcode.h: Likewise.
+	* elflink.h: Likewise.
+	* elfn32-mips.c: Likewise.
+	* elfxx-ia64.c: Likewise.
+	* elfxx-mips.c: Likewise.
+	* i386linux.c: Likewise.
+	* ieee.c: Likewise.
+	* libcoff-in.h: Likewise.
+	* linker.c: Likewise.
+	* m68klinux.c: Likewise.
+	* pdp11.c: Likewise.
+	* pe-mips.c: Likewise.
+	* peXXigen.c: Likewise.
+	* reloc.c: Likewise.
+	* reloc16.c: Likewise.
+	* sparclinux.c: Likewise.
+	* sunos.c: Likewise.
+	* syms.c: Likewise.
+	* versados.c: Likewise.
+	* vms.c: Likewise.
+	* xcofflink.c: Likewise.
+	* bfd-in2.h: Regenerate.
+	* libcoff.h: Regenerate.
+	* libbfd.h: Regenerate.
+
+2003-06-24  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-ppc.c (ppc_elf_check_relocs): Report plt reloc against
+	local sym errors.
+
+	* elf32-i386.c: Convert to C90 function definitions, remove unnecessary
+	prototypes and casts.  Replace PTR with void *.  Formatting.
+	* elf32-ppc.c: Likewise.  Break long strings too.
+	(ppc_elf_relax_section): Use enum elf_ppc_reloc_type for r_type.
+	(ppc_elf_unhandled_reloc): Internationalize error message.
+	* elf32-ppc.h: Remove PARAMS.
+
+2003-06-23  Mark Mitchell  <mark@codesourcery.com>
+
+	* elf32-ppc.c (ppc_elf_begin_write_processing): Use bytes to count
+	APUinfo slots.
+	(ppc_elf_final_write_processing): Likewise.
+
+2003-06-23  H.J. Lu <hongjiu.lu@intel.com>
+
+	* elflink.h (elf_link_input_bfd): Check raw size when using
+	kept_section to preserve debug information discarded by
+	linkonce.
+
+2003-06-20  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (struct ppc_link_hash_table): Add top_id.
+	(ppc64_elf_setup_section_lists): Set it.
+	(ppc64_elf_relocate_section): Check sym section id against top_id.
+	(ppc_build_one_stub): Comment on top_id.
+
+2003-06-20  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
+
+	* config.bfd: Add tic4x-*-rtems*.
+
+2003-06-20  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c: Convert to C90 function definitions, remove unnecessary
+	prototypes and casts.  Replace PTR with void *.  Format copyright.
+	Mention ABI links.
+	(struct ppc_link_hash_table): Rename sgot, srelgot, splt, srelplt,
+	sdynbss, srelbss, sglink, sbrlt and srelbrlt to got, relgot .. relbrlt.
+	(ppc_type_of_stub): Make r_type an enum.
+	(ppc64_elf_size_stubs): Likewise.
+	* elf64-ppc.h: Remove PARAMS macro.
+
+2003-06-19  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_link_hash_table_create): Reinstate init of
+	elf hash tab fields.
+
+	* elf64-ppc.c (ppc64_elf_reloc_type_lookup): Tidy prototype.
+	(ppc64_elf_info_to_howto): Likewise.
+	(ppc64_elf_build_stubs): Add "stats" param, and print statistics.
+	* elf64-ppc.h (ppc64_elf_build_stubs): Adjust prototype.
+
+2003-06-19  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-sparc.c (sparc64_elf_relocate_section): Ignore R_SPARC_DISP32
+	reloc overflow on discarded eh_frame entries.
+
+2003-06-19  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (toc_adjusting_stub_needed): New function.
+	(ppc64_elf_next_input_section): Use it here to set has_gp_reloc.
+	Return error condition.
+	(ppc64_elf_size_stubs): Restrict toc adjusting stubs to sections
+	that have has_gp_reloc set.
+	(struct ppc_link_hash_table): Add stub_count.
+	(ppc_build_one_stub): Increment it.
+	(ppc64_elf_link_hash_table_create): zmalloc rather than clearing
+	individual fields.
+	* elf64-ppc.h (ppc64_elf_next_input_section): Update prototype.
+
+2003-06-18  Alan Modra  <amodra@bigpond.net.au>
+
+	* elflink.h (elf_gc_record_vtentry): Revert last change.  Correct
+	size calculation from addend.  Round size up.
+
+2003-06-18  Hans-Peter Nilsson  <hp@axis.com>
+
+	* elf32-cris.c (cris_elf_relocate_section) <case
+	R_CRIS_32_GOTREL>: When linking a program, don't complain about a
+	symbol from a normal object or an undefined weak symbol.
+
+2003-06-18  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_relocate_section): Accept a symbol on
+	R_PPC64_TOC relocs.
+
+2003-06-17  H.J. Lu <hongjiu.lu@intel.com>
+
+	* section.c (struct sec): Put back kept_section.
+	(STD_SECTION): Put back kept_section initialization.
+	* bfd-in2.h: Regenerate.
+
+	* elflink.h (elf_link_input_bfd): Also check discarded linkonce
+	sections for relocateable output. Use kept_section to preserve
+	debug information discarded by linkonce.
+
+2003-06-17  Roland McGrath  <roland@redhat.com>
+
+	* elfxx-ia64.c (elfNN_ia64_relocate_section): Support
+	segment-relative relocation between different segments.
+
+2003-06-17  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_relocate_section): Do unaligned reloc
+	optimizations earlier.
+
+	* elf64-ppc.c (struct ppc_link_hash_table): Reinstate top_index.
+	Restore previous input_list type.
+	(ppc64_elf_link_hash_table_create): Undo last change.
+	(ppc64_elf_setup_section_lists): Reinstate code setting up input lists
+	per output section, but don't bother with bfd_abs_section marker.
+	(ppc64_elf_next_input_section): Adjust for multiple input section
+	lists.
+	(group_sections): Likewise.
+
+2003-06-17  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf64-ppc.c (ppc64_elf_relocation_section): Ensure
+	*r_offset == r_addend for RELATIVE relocs against .got.
+
+2003-06-17  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_relocate_section): Optimize unaligned relocs.
+
+2003-06-17  Nick Clifton  <nickc@redhat.com>
+
+	* elflink.h (elf_gc_record_vtentry): Allocate an extra element
+	in the vtable_entries_used array to allow for the accessing
+	the largest element.
+
+2003-06-17  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (struct ppc_link_hash_table): Remove top_index.  Modify
+	input_list.
+	(ppc64_elf_link_hash_table_create): Init input_list here.
+	(ppc64_elf_setup_section_lists): Remove code setting up input lists
+	per output section.  Set toc_off for abs and other standard sections.
+	(ppc64_elf_reinit_toc): Don't set elf_gp on input bfds lacking a toc.
+	(ppc64_elf_next_input_section): Adjust for single input section list.
+	Don't set toc_curr from input bfds that haven't set elf_gp.
+	(group_sections): Adjust for single input section list.
+
+	* elf64-ppc.c (ppc64_elf_relocate_section): Correct pcrel section zero.
+
+2003-06-16  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_relocate_section): When optimizing toctprel
+	tls, check that a TOC16_DS or TOC16_LO_DS reloc isn't pointing to a
+	dtprel entry.  Ensure TLS_LD DTPMOD reloc has a zero addend.  Write
+	got section for RELATIVE relocs.  Fix wrong comment.  Change condition
+	under which dynamic relocs update the section contents.
+
+2003-06-13  Robert Millan  <zeratul2@wanadoo.es>
+
+	* config.bfd: Add i386-netbsd-gnu target.
+
+2003-06-12  Nick Clifton  <nickc@redhat.com>
+
+	* opncls.c (calc_crc32): Rename to
+	bfd_calc_gnu_debuglink_crc32 and export.
+	(GNU_DEBUGLINK): Define and use to replace occurrences of
+	hard-coded ".gnu_debuglink" in the code.
+	(get_debug_link_info): Prevent aborts by replacing call to
+	xmalloc with a call to malloc.
+	(find_separate_debug_file): Prevent aborts by replacing calls
+	to xmalloc and xstrdup with calls to malloc and strdup.
+	(bfd_add_gnu_debuglink): New function.  Add a .gnu_debuglink
+	section to a bfd.
+	* bfd-in2.h: Regenerate.
+
+2003-06-12 Federico G. Schwindt <fgsch@lodoss.net>
+
+	* config.bfd (i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3]):
+	New target (was i[3-7]86-*-openbsd* before).
+	(i[3-7]86-*-openbsd*): Change to use bfd_elf32_i386_vec.
+	(vax-*-openbsd*): New target.
+
+2003-06-11  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME): Use .MIPS.options
+	for n32, too.
+	(MIPS_ELF_STUB_SECTION_NAME): Use .MIPS.stubs for n32, too.
+	(mips_elf_rel_dyn_section): Use appropriate section alignment.
+	(mips_elf_create_got_section): Likewise.
+	(_bfd_mips_elf_create_dynamic_sections): Likewise.
+
+2003-06-11  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* elf32-mips.c (mips_elf_generic_reloc): New Function.
+	(elf_mips_howto_table_rel): Use it.
+	(gprel32_with_gp): Move prototype.
+	(mips_elf_hi16_reloc): Check for ! BSF_LOCAL instead of zero addend.
+	Use mips_elf_generic_reloc.
+	(mips_elf_got16_reloc): Check for ! BSF_LOCAL instead of zero addend.
+	Code cleanup.
+	(_bfd_mips_elf32_gprel16_reloc): Check for ! BSF_LOCAL instead of
+	zero addend.
+	(mips_elf_gprel32_reloc): Likewise. Use the same GP assignment logic
+	as in the other *_gprel*_reloc functions.
+	(gprel32_with_gp): Handle partial_inplace properly.
+	(mips32_64bit_reloc): Use mips_elf_generic_reloc.
+	(mips16_gprel_reloc): Check for ! BSF_LOCAL instead of zero addend.
+	Do addend handling directly instead of calling
+	_bfd_mips_elf_gprel16_with_gp. Handle partial_inplace properly.
+	* elf64-mips.c (mips_elf64_hi16_reloc): Check for ! BSF_LOCAL instead
+	of zero addend. Handle partial_inplace properly.
+	(mips_elf64_got16_reloc): Check for ! BSF_LOCAL instead of zero
+	addend.
+	(mips_elf64_gprel16_reloc): Likewise.
+	(mips_elf64_literal_reloc): Likewise.
+	(mips_elf64_gprel32_reloc): Likewise. Use the same GP assignment
+	logic as in the other *_gprel*_reloc functions. Handle
+	partial_inplace properly.
+	(mips_elf64_shift6_reloc): Check for ! BSF_LOCAL instead of zero
+	addend. Handle partial_inplace properly.
+	(mips16_gprel_reloc): Likewise. Do addend handling directly instead
+	of calling _bfd_mips_elf_gprel16_with_gp.
+	* elfn32-mips.c (mips_elf_got16_reloc): Check for BSF_LOCAL.
+	(mips_elf_gprel32_reloc): Check for ! BSF_LOCAL instead
+	of zero addend.
+	(mips_elf_shift6_reloc): Handle partial_inplace properly.
+	(mips16_gprel_reloc): Likewise. Do addend handling directly instead
+	of calling _bfd_mips_elf_gprel16_with_gp.
+	* elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Handle
+	partial_inplace properly. Fix wrong addend handling. Fix overflow
+	check.
+	(_bfd_mips_elf_sign_extend): Renamed from mips_elf_sign_extend and
+	exported.
+	(mips_elf_calculate_relocation): Use _bfd_mips_elf_sign_extend.
+	(_bfd_mips_elf_relocate_section): Likewise.
+	(mips_elf_create_dynamic_relocation): Update sec_info_type access.
+	* elfxx-mips.h (_bfd_mips_relax_section): Fix prototype declaration.
+	(_bfd_mips_elf_sign_extend): New prototype.
+
+2003-06-11 Federico G. Schwindt <fgsch@lodoss.net>
+
+	* config.bfd (sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1]):
+	New target (was sparc-*-openbsd* before).
+	(sparc-*-openbsd*): Change to use bfd_elf32_sparc_vec.
+
+	* configure.in (vax-*-openbsd*): Set COREFILE to netbsd-core.lo.
+	* configure: Regenerate.
+
+2003-06-11  H.J. Lu <hongjiu.lu@intel.com>
+
+	* po/Make-in (DESTDIR): New.
+	(install-data-yes): Support $(DESTDIR).
+	(uninstall): Likewise.
+
+2003-06-11  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am (config.status): Depend on version.h.
+	Run "make dep-am".
+	* Makefile.in: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2003-06-10  Alan Modra  <amodra@bigpond.net.au>
+	    Gary Hade <garyhade@us.ibm.com>
+
+	* elf64-ppc.c (ppc64_elf_relocate_section <*_DS>): Special case lq.
+
+2003-06-10  Richard Sandiford  <rsandifo@redhat.com>
+
+	* archures.c (bfd_mach_h8300sxn): New architecture.
+	* bfd-in2.h: Regenerate.
+	* cpu-h8300.c (h8300_scan): Check for 'sxn'.
+	(h8300sxn_info_struct): New.
+	(h8300sx_info_struct): Link to it.
+	* elf32-h8300.c (elf32_h8_mach): Add h8300sxn case.
+	(elf32_h8_final_write_processing): Likewise.
+
+2003-06-08  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c: Move TARGET_LITTLE_SYM and other macros used by
+	elfxx-target.h so that we can use elf_backend_got_header_size.
+	(ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Delete.
+	(GLINK_CALL_STUB_SIZE): Modify.  Define new glink call stub and
+	associated macros.
+	(ppc64_elf_howto_raw <GOT_TPREL16_DS, GOT_TPREL16_LO_DS>): Correct
+	dst_mask.
+	(enum ppc_stub_type): Add ppc_stub_long_branch_r2off and
+	ppc_stub_plt_branch_r2off.
+	(struct ppc_stub_hash_entry): Reorganize.
+	(struct ppc_link_hash_table): Add no_multi_toc, multi_toc_needed,
+	toc_curr, toc_off and emit_stub_syms.
+	(ppc64_elf_link_hash_table_create): Init them.
+	(ppc_stub_name): Correct string size.
+	(ppc64_elf_check_relocs): Set has_gp_reloc on GOT and TOC relocs.
+	(ppc64_elf_size_dynamic_sections): Set no_multi_toc if GOT entries
+	used.
+	(ppc_type_of_stub): Tweak root.type test.
+	(build_plt_stub): Remove glink code.  Adjust for insn macro changes.
+	(ppc_size_one_stub): Handle ppc_stub_long_branch_r2off and
+	ppc_stub_plt_branch_r2off.
+	(ppc_build_one_stub): Likewise.  Fix var shadowing.  Correct addis,addi
+	range test.  Use toc_off to calculte r2 values.  Handle emit_stub_syms.
+	(ppc64_elf_setup_section_lists): Remove htab creator flavour test.
+	Initialize elf_gp and toc_curr.
+	(ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): New functions.
+	(ppc64_elf_next_input_section): Set toc_off.
+	(group_sections): Ensure groups have the same TOC.
+	(ppc64_elf_size_stubs): Check whether we need a TOC adjusting stub.
+	(ppc64_elf_build_stubs): Add emit_stub_syms param, and stash in htab.
+	Build new glink stub.
+	(ppc64_elf_relocate_section): Handle multiple TOCs.  Fix comments.
+	(ppc64_elf_finish_dynamic_sections): Adjust DT_PPC64_GLINK.
+	* elf64-ppc.h (ppc64_elf_build_stubs): Update prototype.
+	(ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): Declare.
+	* section.c (struct sec): Rename flag12 to has_gp_reloc.
+	(STD_SECTION): Update.
+	* ecoff.c (bfd_debug_section): Update comment.
+	* bfd-in2.h: Regenerate.
+
+2003-06-05  Daniel Jacobowitz  <drow@mvista.com>
+
+	* elfcode.h (elf_slurp_reloc_table_from_section): Don't dereference
+	NULL function pointers.
+
+2003-06-05  Daniel Jacobowitz  <drow@mvista.com>
+
+	* simple.c (bfd_simple_get_relocated_section_contents): Call
+	_bfd_generic_link_add_symbols instead of bfd_link_add_symbols.
+
+2003-06-04  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+	* coff-tic54x.c: Removed the ticoff0_bad_format_hook() and
+	ticoff1_bad_format_hook() functions. Removed the coff0 and coff1
+	swaptables.
+	* coff-tic4x.c: Ditto
+	* coffcode.h: Added extra arguments to CREATE_BIG_COFF_TARGET_VEC
+	and CREATE_LITTLE_COFF_TARGET_VEC. Created the macro
+	CREATE_BIGHDR_COFF_TARGET_VEC. Created the ticoff0_bad_format_hook(),
+	ticoff1_bad_format_hook() functions. Created the coff0 and coff1
+	swap tables.
+	* coff-tic4x.c: Adopted new CREATE_xxx_COFF_TARGET_VEC macros.
+	* coff-a29k.c: Append COFF_SWAP_TABLE argument
+	* coff-apollo.c: Ditto
+	* coff-arm.c: Ditto
+	* coff-h8300.c: Ditto
+	* coff-h8500.c: Ditto
+	* coff-i960.c: Ditto
+	* coff-m68k.c: Ditto
+	* coff-m88k.c: Ditto
+	* coff-mcore.c: Ditto
+	* coff-sh.c: Ditto
+	* coff-sparc.c: Ditto
+	* coff-tic80.c: Ditto
+	* coff-we32k.c: Ditto
+	* coff-z8k.c: Ditto
+	* coff-w65.c: Ditto
+
+2003-06-04  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+	* coff-tic4x.c (ticoff0_swap_table, ticoff1_swap_table): Fixed
+	initialization bug
+
+2003-06-03  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_STACK.
+	(bfd_section_from_phdr): Likewise.
+	(map_sections_to_segments): Create PT_GNU_STACK segment header.
+	(get_program_header_size): Count with PT_GNU_STACK.
+	* elf-bfd.h (struct elf_obj_tdata): Add stack_flags.
+	* elflink.h (bfd_elfNN_size_dynamic_sections): Set stack_flags.
+
+2003-06-03  H.J. Lu <hongjiu.lu@intel.com>
+
+	* elflink.h (elf_link_input_bfd): Call linker error_handler
+	for discarded definitions.
+
+2003-06-03  Elias Athanasopoulos  <elathan@phys.uoa.gr>
+
+	* syms.c (decode_section_type): Return 'n' if section flags are
+	SEC_HAS_CONTENTS && SEC_READONLY.
+
+2003-06-03  Nick Clifton  <nickc@redhat.com>
+
+	* elf32-v850.c (v850_elf_howto_t): Rename R_V850_32to
+	R_V850_ABS32.  Add entry for R_V850_REL32.
+	(v850_elf_reloc_map): Likewise.
+	(v850_elf_check_relocs): Likewise.
+	(v850_elf_perform_relocation): Likewise.
+	(v850_elf_final_link_relocate): Likewise.  Include computation
+	to make R_V850_REl32 pc-relative.
+
+2003-06-03  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* elf32-sh.c (sh_elf_size_dynamic_sections): Create .interp section
+	and DT_DEBUG dynamic tag even for position independent executables.
+	* elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewize.
+
+2003-06-02  Daniel Jacobowitz  <drow@mvista.com>
+
+	* config.bfd: Move obsolete entries out of the range of the
+	targmatch sed script.
+
+2003-06-02  Daniel Jacobowitz  <drow@mvista.com>
+
+	* config.bfd (mips*-dec-bsd*, mips*-*-pe*): Mark as obsolete.
+
+2003-05-31  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf32-ppc.c (allocate_dynrelocs): Use single slot for first 8192
+	plt entries, not just 8191.
+
+2003-05-30  Daniel Jacobowitz  <drow@mvista.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_discard_info): Correct loop index.
+	Reported by Ken Faiczak <kfaiczak@SANDVINE.com>.
+
+2003-05-30  Ulrich Drepper  <drepper@redhat.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	* elflink.h (elf_link_add_object_symbols): Use !info->executable
+	instead of info->shared where appropriate.
+	(bfd_elfNN_size_dynamic_sections, elf_link_output_extsym): Likewise.
+	* elflink.c (_bfd_elf_create_got_section): Likewise.
+	(_bfd_elf_link_create_dynamic_sections): Likewise.
+	(_bfd_elf_link_assign_sym_version): Likewise.
+	* elf32-i386.c (elf_i386_size_dynamic_sections): Create .interp section
+	and DT_DEBUG dynamic tag even for position independent executables.
+	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
+	* elf32-s390.c (elf_s390_size_dynamic_sections: Likewise.
+	* elf64-ppc.c (ppc64_elf_size_dynamic_sections: Likewise.
+	* elf64-s390.c (elf_s390_size_dynamic_sections: Likewise.
+	* elf64-x86-64.c (elf64_x86_64_size_dynamic_sections: Likewise.
+	* elfxx-ia64.c (elfNN_ia64_size_dynamic_sections: Likewise.
+	* elf32-sparc.c (elf32_sparc_size_dynamic_sections: Likewise.
+	* elf64-alpha.c (elf64_alpha_size_dynamic_sections: Likewise.
+	* elf64-sparc.c (sparc64_elf_size_dynamic_sections: Likewise.
+
+2003-05-30  Kris Warkentin <kewarken@qnx.com>
+
+	* elf.c (elfcore_grok_nto_status): Only set lwpid for the active or
+	signalled thread.
+	(elfcore_grok_nto_gregs): Only make .reg section for the active thread.
+
+2003-05-29  Nick Clifton  <nickc@redhat.com>
+
+	* pef.c: Include "safe-ctype.h" instead of <ctype.h>.
+	Tidy up formatting.
+	* Makefile.am: Add dependency on safe-ctype.h.
+	* Makefile.in: Regenerate.
+
+2003-05-29  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* elfxx-mips.c: Don't force symbols local unconditionally.
+
+2003-05-28  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-hppa.c (elf32_hppa_relocate_section): Delete bogus
+	undefined_symbol call.
+
+2003-05-27  Richard Sandiford  <rsandifo@redhat.com>
+
+	* elfxx-mips.c (mips_elf_hash_sort_data): Fix formattting.
+	(mips_elf_link_hash_table): Likewise.
+
+2003-05-22  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* elf64-mips.c (elf_mips_gnu_rel16_s2): Add internally used
+	R_MIPS_GNU_REL16_S2 support.
+	(bfd_elf64_bfd_reloc_type_lookup): Use it.
+	(mips_elf64_rtype_to_howto): Use it.
+	* elfn32-mips.c (elf_mips_gnu_rel16_s2): Add internally used
+	R_MIPS_GNU_REL16_S2 support.
+	(bfd_elf32_bfd_reloc_type_lookup): Use it.
+	(mips_elf_n32_rtype_to_howto): Use it.
+
+2003-05-21  Stuart F. Downing  <sdowning@fame.com>
+
+	* som.h: Define PA_2_0 before including a.out.h
+
+2003-05-07  Eric Christopher  <echristo@redhat.com>
+	    Alexandre Oliva   <aoliva@redhat.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Adjust
+	pic tests, change to warning.
+	(_bfd_mips_elf_final_link): Remove EF_MIPS_CPIC flag setting.
+
+2003-05-21  Marcus Comstedt  <marcus@mc.pp.se>
+
+	* config.bfd: Check for a target triplet of shl-...-netbsdelf as
+	well as shle-...-netbsdelf.  Remove duplicate entry.
+
+2003-05-21  Nick Clifton  <nickc@redhat.com>
+
+	* elf32-xstormy16.c (xstormy16_elf_howto_table): Fix dst_mask
+	for X_STORMY16_REL_12 reloc.
+
+	* elf.c (bfd_elf_get_needed_list): Use is_elf_hash_table to check
+	the type of the hash table in the bfd_link_info structure.
+	(bfd_elf_get_runpath_list): Likewise.
+
+2003-05-19  Roland McGrath  <roland@redhat.com>
+
+	* elf.c (bfd_elf_bfd_from_remote_memory): New function.
+	* bfd-in.h: Declare it.
+	* bfd-in2.h: Regenerated.
+	* elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): New function.
+	* elf-bfd.h (struct elf_backend_data): New function pointer member
+	elf_backend_bfd_from_remote_memory.
+	(_bfd_elf32_bfd_from_remote_memory, _bfd_elf64_bfd_from_remote_memory):
+	Declare them.
+	* elfxx-target.h (elf_backend_bfd_from_remote_memory): New macro.
+	(elfNN_bed): Add that to the initializer.
+
+2003-05-15  Roland McGrath  <roland@redhat.com>
+
+	* elf.c (elfcore_grok_note): Grok NT_AUXV note, make ".auxv" section.
+
+2003-05-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* elflink.h (elf_link_output_extsym): Only issue error about !=
+	STV_DEFAULT symbols if they are bfd_link_hash_undefined.
+
+2003-05-20  H.J. Lu <hongjiu.lu@intel.com>
+
+	* elflink.c (_bfd_elf_merge_symbol): Check ELF_LINK_DYNAMIC_DEF
+	when removing the old definition for symbols with non-default
+	visibility.
+
+2003-05-18  Jason Eckhardt  <jle@rice.edu>
+
+	* elf32-i860.c (elf32_i860_relocate_highadj): Simplify calculation.
+
+2003-05-17  Andreas Schwab  <schwab@suse.de>
+
+	* elf32-m68k.c (elf_m68k_check_relocs): Cache reloc section in
+	elf_section_data during processing of pc-relative and absolute
+	relocations.
+	(elf_m68k_relocate_section): Use the cached reloc section instead
+	of computing it again.  Fix handling of visibility.  Don't modify
+	addend when copying over a relocation into the output.
+
+2003-05-17  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
+	to trim plt entries.  Move undefweak non-default visibility test..
+	(allocate_dynrelocs): ..from here.
+	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't test
+	dynamic_sections_created here.  Update comment.  Move undefweak
+	non-default visibility test..
+	(allocate_dynrelocs): ..from here.  Fix comment.
+	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
+	to trim plt entries.  Move undefweak non-default visibility test..
+	(allocate_dynrelocs): ..from here.  Fix comment.
+	* elflink.h (elf_link_output_extsym): Compare ELF_ST_VISIBILITY with
+	STV_DEFAULT rather than comparing with zero.
+	* elflink.c (_bfd_elf_merge_symbol): Likewise.
+	(_bfd_elf_fix_symbol_flags): Likewise.  Format comment.
+
+2003-05-17  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* bfd.c (_bfd_get_gp_value): Prevent illegal access for abfd null
+	pointers.
+	(_bfd_set_gp_value): Likewise.
+
+2003-05-16  Michael Snyder  <msnyder@redhat.com>
+	From Bernd Schmidt  <bernds@redhat.com>
+	* archures.c (bfd_mach_h8300sx): New.
+	* bfd-in2.h: Regenerate.
+	* cpu-h8300.c (h8300_scan)): Add support for h8300sx.
+	(h8300sx_info_struct): New.
+	(h8300s_info_struct): Link to it.
+	* elf32-h8300.c (elf32_h8_mach): Add support for h8300sx.
+	(elf32_h8_final_write_processing): Likewise.
+	(elf32_h8_relax_section): Likewise.
+
+2003-05-16  Kelley Cook  <kelleycook@wideopenwest.com>
+
+	* config.bfd: Accept i[3-7]86 variants.
+	* configure.host: Likewise.
+	* configure.in: Likewise.
+	* configure: Regenerate.
+
+2003-05-15  H.J. Lu <hongjiu.lu@intel.com>
+
+	* elflink.c (_bfd_elf_fix_symbol_flags): Also hide protected
+	symbol.
+
+2003-05-15  H.J. Lu <hongjiu.lu@intel.com>
+
+	* elflink.h (elf_link_check_versioned_symbol): Also allow
+	the base version.
+
+2003-05-15  Alan Modra  <amodra@bigpond.net.au>
+	    H.J. Lu <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL.
+	(elf_i386_relocate_section): Likewise.
+	* elf32-ppc.c (allocate_dynrelocs): Likewise.
+	(ppc_elf_relocate_section): Likewise.
+	* elf64-ppc.c (allocate_dynrelocs): Likewise.
+	(ppc64_elf_relocate_section): Likewise.
+
+2003-05-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* elf32-mips.c (gprel32_with_gp): Remove useless N64 ABI case.
+
+2003-05-13  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Check for
+	processor capability, allow merge of HC12 and HCS12 in some cases.
+	(m68hc11_elf_hash_table_create): Use bfd_malloc instead of bfd_zalloc.
+	* cpu-m68hc12.c (bfd_m68hc12s_arch): New struct.
+	(bfd_m68hc12_arch): Link it.
+	(scan_mach): New function.
+
+2003-05-13  Andrew Haley  <aph@redhat.com>
+
+	* elf.c (bfd_elf_hash): Mask lower 32 bits of hash.
+
+2003-05-13  Alan Modra  <amodra@bigpond.net.au>
+	    H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Move from
+	elf32-ppc.c.  Add ELF_LINK_FORCED_LOCAL check.
+	* elf32-ppc.c: (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Delete.
+	(allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for dynreloc check.
+	(ppc_elf_relocate_section): Likewise.
+	* elf64-ppc.c (allocate_dynrelocs): Likewise.
+	(ppc64_elf_relocate_section): Likewise.  Use for .got relocs too.
+	(ppc64_elf_adjust_dynamic_symbol): Don't assume symbols with .plt
+	relocs need no other types.
+	* elf32-i386.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for
+	dynreloc check.
+	(elf_i386_relocate_section): Likewise.  Use for .got relocs too.
+	(elf_i386_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL for
+	.got relocs.
+
+2003-05-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* elf32-sh.c (sh_elf_adjust_dynamic_symbol): For weak symbols,
+	copy ELF_LINK_NON_GOT_REF from weakdef.
+	(allocate_dynrelocs): For undef weak syms with non-default
+	visibility, a) don't allocate plt entries, b) don't allocate
+	.got relocs, c) discard dyn rel space
+	(sh_elf_relocate_section): d) don't generate .got relocs, e)
+	don't generate dynamic relocs.
+	(sh_elf_copy_indirect_symbol): Don't copy ELF_LINK_NON_GOT_REF
+	for weakdefs when symbol already adjusted.
+
+2003-05-12  Nick Clifton  <nickc@redhat.com>
+
+	* elf32-xstormy16.c (xstormy16_elf_howto_table): use 'bitfield'
+	overflow detection for R_XSTORMY16_16 reloc.
+
+2003-05-12  Paul Clarke  <paulc@senet.com.au>
+
+	* elf32-h8300.c: Fix typo in name of R_H8_DIR8 reloc.
+
+2003-05-11  Jason Eckhardt  <jle@rice.edu>
+
+	* elf32-i860.c (elf32_i860_relocate_highadj): Properly
+	adjust upper bits.
+	(elf32_i860_relocate_splitn): Obtain upper 5 bits from the
+	proper place.
+	(elf32_i860_relocate_pc16): Obtain upper 5 bits from the
+	proper place.
+
+2003-05-11  Andreas Schwab  <schwab@suse.de>
+
+	* elf32-m68k.c (elf_m68k_relocate_section): Replace ugly
+	complicated tests for unresolvable relocs with a simple direct
+	scheme using "unresolved_reloc" var.  Report some detail on
+	bfd_reloc_outofrange and similar errors.
+
+2003-05-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* elf32-s390.c (allocate_dynrelocs, elf_s390_relocate_section):
+	Fix WILL_CALL_FINISH_DYNAMIC_SYMBOL call.
+	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
+	* elf64-s390.c: Likewise.
+
+2003-05-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* elf32-s390.c (ELIMINATE_COPY_RELOCS): Define as one.
+	(elf_s390_adjust_dynamic_symbol): For weak symbols, copy
+	ELF_LINK_NON_GOT_REF from weakdef.
+	(elf_s390_copy_indirect_symbol): Test whether the weakdef sym has
+	already been adjusted before treating it specially.
+	* el64-s390.c: Likwise.
+
+2003-05-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* elf32-s390.c (allocate_dynrelocs): For undef weak syms with
+	non-default visibility, a) don't make them dynamic, b) discard
+	space for dynamic relocs.
+	(elf_s390_relocate_section): Initialize the GOT entries and skip
+	R_390_{8,16,32}/R_390_PC{16,16DBL,32DBL,32} for weak undefined
+	symbols with non-default visibility.
+	* elf64-s390.c: Likewise.
+
+2003-05-09  Alan Modra  <amodra@bigpond.net.au>
+
+	* cpu-arm.c (arm_check_note): Warning fix.
+	* elf32-iq2000.c (iq2000_elf_check_relocs): Warning fixes.  Arrange
+	to keep relocs if edited.
+	(iq2000_elf_print_private_bfd_data): Return TRUE.
+	* elfxx-ia64.c (elfNN_ia64_relax_section): Use ELFNN_R_SYM, not
+	ELF64_R_SYM.
+	(elfNN_ia64_relax_ldxmov): Warning fix.
+	* xtensa-isa.c (xtensa_add_isa): Warning fix.
+	* xtensa-modules.c (get_num_opcodes): Warning fix.
+
+2003-05-09  Andrey Petrov <petrov@netbsd.org>
+
+	* elf.c (elf_fake_sections): Use correct cast for sh_name.
+
+2003-05-09  Alan Modra  <amodra@bigpond.net.au>
+
+	* elflink.c (_bfd_elf_link_create_dynamic_sections): Move from
+	elflink.h.  Replace LOG_FILE_ALIGN with bed->s->log_file_align.
+	(_bfd_elf_create_dynamic_sections): Use bed->s->log_file_align.
+	(bfd_elf_record_link_assignment): Move from elflink.h.
+	(_bfd_elf_merge_symbol): Likewise.
+	(_bfd_elf_add_default_symbol): Likewise.
+	(_bfd_elf_export_symbol): Likewise.
+	(_bfd_elf_link_find_version_dependencies): Likewise.
+	(_bfd_elf_link_assign_sym_version): Likewise.
+	(_bfd_elf_link_read_relocs): Likewise.
+	(_bfd_elf_link_size_reloc_section): Likewise.
+	(_bfd_elf_fix_symbol_flags): Likewise.
+	(_bfd_elf_adjust_dynamic_symbol): Likewise.
+	(_bfd_elf_link_sec_merge_syms): Likewise.
+	(elf_link_read_relocs_from_section): Likewise.  Use bed->s->sizeof_rel
+	and bed->s->sizeof_rela.
+	(_bfd_elf_link_output_relocs): Likewise.
+	* elf-bfd.h (struct elf_size_info): Rename file_align to
+	log_file_align.
+	(struct elf_info_failed): Move from elflink.h.
+	(struct elf_assign_sym_version_info): Likewise.
+	(struct elf_find_verdep_info): Likewise.
+	(_bfd_elf_create_dynamic_sections): Delete duplicate declaration.
+	(_bfd_elf_merge_symbol, _bfd_elf_add_default_symbol,
+	_bfd_elf_export_symbol, _bfd_elf_link_find_version_dependencies,
+	_bfd_elf_link_assign_sym_version,
+	_bfd_elf_link_create_dynamic_sections, _bfd_elf_link_read_relocs,
+	_bfd_elf_link_size_reloc_section, _bfd_elf_link_output_relocs,
+	_bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol,
+	_bfd_elf_link_sec_merge_syms): Declare.
+	(bfd_elf32_link_create_dynamic_sections): Don't declare.
+	(_bfd_elf32_link_read_relocs): Likewise.
+	(bfd_elf64_link_create_dynamic_sections): Likewise.
+	(_bfd_elf64_link_read_relocs): Likewise.
+	* elflink.h: Move lots o' stuff elsewhere.
+	* bfd-in.h (bfd_elf32_record_link_assignment): Don't declare.
+	(bfd_elf64_record_link_assignment): Likewise.
+	(bfd_elf_record_link_assignment): Declare.
+	* bfd-in2.h: Regenerate.
+	* elfcode.h (elf_link_create_dynamic_sections): Don't declare.
+	(NAME(_bfd_elf,size_info)): Adjust for log_file_align.
+	* elf.c (_bfd_elf_init_reloc_shdr): Adjust for bed->s->log_file_align.
+	(assign_file_positions_for_segments): Likewise.
+	(assign_file_positions_except_relocs): Likewise.
+	(swap_out_syms, elfcore_write_note): Likewise.
+	* elf-m10200.c: Adjust for changed function names.
+	* elf-m10300.c: Likewise.
+	* elf32-arm.h: Likewise.
+	* elf32-h8300.c: Likewise.
+	* elf32-hppa.c: Likewise.
+	* elf32-ip2k.c: Likewise.
+	* elf32-m32r.c: Likewise.
+	* elf32-m68hc11.c: Likewise.
+	* elf32-m68hc1x.c: Likewise.
+	* elf32-m68k.c: Likewise.
+	* elf32-mips.c: Likewise.
+	* elf32-ppc.c: Likewise.
+	* elf32-sh.c: Likewise.
+	* elf32-v850.c: Likewise.
+	* elf32-xtensa.c: Likewise.
+	* elf64-alpha.c: Likewise.
+	* elf64-hppa.c: Likewise.
+	* elf64-mmix.c: Likewise.
+	* elf64-ppc.c: Likewise.
+	* elf64-sh64.c: Likewise.
+	* elfxx-ia64.c: Likewise.
+	* elfxx-mips.c: Likewise.
+	(MIPS_ELF_LOG_FILE_ALIGN): Use log_file_align.
+	* elf64-alpha.c (alpha_elf_size_info): Adjust for log_file_align.
+	* elf64-hppa.c (hppa64_elf_size_info): Likewise.
+	* elf64-mips.c (mips_elf64_size_info): Likewise.
+	* elf64-s390.c (s390_elf64_size_info): Likewise.
+	* elf64-sparc.c (sparc64_elf_size_info): Likewise.
+
+2003-05-08  H.J. Lu <hongjiu.lu@intel.com>
+
+	* elflink.h (elf_add_default_symbol): After skipping the
+	unversioned symbol, go to non-default one.
+
+2003-05-07  H.J. Lu <hongjiu.lu@intel.com>
+
+	* elfxx-ia64.c (_bfd_elf_link_hash_hide_symbol): Also clear the
+	want_plt field.
+	(elfNN_ia64_relocate_section): Don't do dynamic symbol lookup
+	for symbols with non-default visibility.
+
+2003-05-07  H.J. Lu <hongjiu.lu@intel.com>
+
+	* elflink.h (elf_link_check_versioned_symbol): Also handle the
+	case that a DSO references a hidden symbol which may be
+	satisfied by a versioned symbol in another DSO.
+	(elf_link_output_extsym): Check versioned definition for hidden
+	symbol referenced by a DSO.
+
+2003-05-07  Nick Clifton  <nickc@redhat.com>
+
+	* elf32-xstormy16.c (xstormy16_elf_howto_table): Reset
+	R_XSTORMY16_16 reloc to ignore overflows.
+
+2003-05-06  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Improve
+	error message for mixing different-endian files.  Check for ABI
+	compatibility of input files with the selected emulation.
+
+2003-05-05  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-i386.c (allocate_dynrelocs): For undef weak syms with
+	non-default visibility, a) don't make them dynamic, b) discard
+	space for dynamic relocs.
+	* elf64-x86-64.c (allocate_dynrelocs): Likewise.
+
+	* elf32-ppc.c (allocate_dynrelocs): For undef weak syms with
+	non-default visibility, a) don't allocate plt entries, b) don't
+	allocate .got relocs, c) discard dyn rel space,
+	(ppc_elf_relocate_section): d) don't generate .got relocs, e)
+	don't generate dynamic relocs.
+	* elf64-ppc.c (allocate_dynrelocs): As above.
+	(ppc64_elf_relocate_section): As above.
+
+2003-05-05  Andreas Jaeger  <aj@suse.de>
+
+	* elf64-x86-64.c (allocate_dynrelocs): Don't allocate dynamic
+	relocation entries for weak undefined symbols with non-default
+	visibility.
+	(elf64_x86_64_relocate_section): Initialize the GOT entries and
+	skip R_386_32/R_386_PC32 for weak undefined symbols with
+	non-default visibility.
+
+2003-05-04  H.J. Lu <hjl@gnu.org>
+
+	* elf32-i386.c (allocate_dynrelocs): Don't allocate dynamic
+	relocation entries for weak undefined symbols with non-default
+	visibility.
+	(elf_i386_relocate_section): Initialize the GOT entries and
+	skip R_386_32/R_386_PC32 for weak undefined symbols with
+	non-default visibility.
+
+	* elfxx-ia64.c (allocate_fptr): Don't allocate function
+	descriptors for weak undefined symbols with non-default
+	visibility.
+	(allocate_dynrel_entries): Don't allocate relocation entries
+	for symbols resolved to 0.
+	(set_got_entry): Don't install dynamic relocation for weak
+	undefined symbols with non-default visibility.
+	(set_pltoff_entry): Likewise.
+
+	* elflink.h (elf_fix_symbol_flags): Hide weak undefined symbols
+	with non-default visibility.
+	(elf_link_output_extsym): Don't make weak undefined symbols
+	with non-default visibility dynamic.
+
+2003-05-04  H.J. Lu <hjl@gnu.org>
+
+	* elflink.h (elf_merge_symbol): Correctly handle weak definition.
+
+2003-05-04  H.J. Lu <hjl@gnu.org>
+
+	* elflink.h (elf_merge_symbol): Don't record a hidden/internal
+	symbol dynamic. Check indirection when removing the old
+	definition for symbols with non-default visibility.
+	(elf_add_default_symbol): Skip when told by elf_merge_symbol.
+
+2003-05-02  Nick Clifton  <nickc@redhat.com>
+
+	* elf32-xstormy16.c (xstormy16_elf_howto_table): Make the
+	R_XSTORMY16_8 and R_XSTORMY16_16 relocs detect and complain about
+	unsigned overflow.
+
+2003-05-02  Andreas Jaeger  <aj@suse.de>
+
+	* elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Don't copy
+	ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
+	(ELIMINATE_COPY_RELOCS): Define as one.  Use throughout.
+	(elf_x86_64_adjust_dynamic_symbol): For weak symbols, copy
+	ELF_LINK_NON_GOT_REF from weakdef.
+
+2003-05-02  Charles Lepple <clepple@ghz.cc>
+	    Nick Clifton <nickc@redhat.com>
+
+	* acinclude.m4: Fix name of --enable-install-libbfd switch.
+	* aclocal.m4: Regenerate.
+	* configure: Regenerate.
+	* Makefile.in: Regenerate.
+
+2003-05-01  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Test whether the
+	weakdef sym has already been adjusted before treating it specially.
+	* elf32-i386.c (elf_i386_copy_indirect_symbol): Don't copy
+	ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
+	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
+	(ppc64_elf_check_relocs): Set ELF_LINK_NON_GOT_REF.
+
+2003-04-28  H.J. Lu <hjl@gnu.org>
+
+	* elfxx-ia64.c (elfNN_ia64_relax_section): Relax ldxmov during
+	the relax finalize pass.
+
+	* section.c (struct sec): Add need_finalize_relax and remove
+	flag11.
+	(STD_SECTION): Update struct sec initializer.
+	* bfd-in2.h: Regenerated.
+
+2003-04-28  H.J. Lu <hjl@gnu.org>
+
+	* elflink.h (elf_merge_symbol): Call elf_backend_copy_indirect_symbol
+	to copy any information related to dynamic linking when we flip
+	the indirection.
+
+2003-04-27  H.J. Lu <hjl@gnu.org>
+
+	* elf-bfd.h (ELF_LINK_DYNAMIC_DEF): New.
+	(ELF_LINK_DYNAMIC_WEAK): New.
+
+	* elflink.h (elf_merge_symbol): Add one argument to indicate if
+	a symbol should be skipped. Ignore definitions in dynamic
+	objects for symbols with non-default visibility.
+	(elf_add_default_symbol): Adjusted.
+	(elf_link_add_object_symbols): Check if a symbol should be
+	skipped. Don't merge the visibility field with the one from
+	a dynamic object.
+	(elf_link_check_versioned_symbol): Use undef_bfd.
+	(elf_link_output_extsym): Warn if a forced local symbol is
+	referenced from dynamic objects. Make non-weak undefined symbol
+	with non-default visibility a fatal error.
+
+2003-04-27  Daniel Jacobowitz  <drow@mvista.com>
+
+	* configure.in: Bump version on HEAD to 2.14.90.
+	* configure: Regenerated.
+
+2003-04-26  Stephane Carrez  <stcarrez@nerim.fr>
+
+	PR savannah/3331:
+	* elf32-m68hc11.c (m68hc11_elf_relax_section): Clear prev_insn_group
+	when we couldn't relax something.
+
+2003-04-25  Alan Modra  <amodra@bigpond.net.au>
+
+	* elflink.h (elf_merge_symbol): When we find a regular definition
+	for an indirect symbol, flip the indirection so that the old
+	direct symbol now points to the new definition.
+
+2003-04-24  Roland McGrath  <roland@redhat.com>
+
+	* elf.c (bfd_section_from_phdr): Map PT_GNU_EH_FRAME to "eh_frame_hdr".
+
+2003-04-24  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-ppc.c: Formatting and comment fixes.
+	(ELIMINATE_COPY_RELOCS): Move before ppc_elf_copy_indirect_symbol.
+	(ppc_elf_copy_indirect_symbol): Copy flags here for weakdefs.
+
+2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+
+	* archures.c (bfd_mach_h8300hn, bfd_mach_h8300sn): Added.
+	* bfd-in2.h: Rebuilt.
+	* coff-h8300.c (BADMAG): Add check for H8300HNBADMAG & H8300SNBADMAG.
+	* coffcode.h (coff_set_arch_mach_hook): Add case for H8300HNMAGIC
+	& H8300SNMAGIC.
+	(coff_set_flags): Add case for bfd_mach_h8300hn & bfd_mach_h8300sn.
+	* cpu-h8300.c (h8300_scan): Handle h8300hn, h8300sn.
+	(h8300sn_info_struct, h8300hn_info_struct): New.
+	* elf32-h8300.c (elf32_h8_mach): Handle case for h8300hn & h8300sn
+	(elf32_h8_final_write_processing): Likewise.
+
+2003-04-23  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* elf32-sh.c (tpoff): New.
+	(struct elf_sh_dyn_relocs): Remove tls_tpoff32.
+	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
+	(allocate_dynrelocs): Don't make unnecessary dynamic TLS
+	relocations.  Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses.
+	(sh_elf_relocate_section): Likewise. Remove unnecessary tests.
+	(dtpoff_base): Fix wrong indentation.
+	(sh_elf_check_relocs): Don't set DF_STATIC_TLS flag with non-TLS
+	relocations.  Don't set tls_tpoff32 flag.  Don't make unnecessary
+	R_SH_TLS_TPOFF32 relocations.
+
+2003-04-23  J"orn Rennecke <joern.rennecke@superh.com>
+
+	* archures.c (enum bfd_architecture): Amend comment to refer to SuperH.
+	* cpu-sh.c: Likewise.
+	* elf32-sh.c: Likewise.
+	* reloc.c (bfd_reloc_code_real): Likewise.
+	* elf32-sh64-com.c: Change comment to refer to SuperH.
+	* elf32-sh64.c: Likewise.
+	* elf64-sh64.c: Likewise.
+	* bfd-in2.h (enum bfd_architecture): Regenerate.
+
+2003-04-23  Alan Modra  <amodra@bigpond.net.au>
+
+	From Julien LEMOINE <speedblue@debian.org>
+	* elf32-i386.c (elf_i386_info_to_howto): Delete.
+	(elf_info_to_howto): Define as elf_i386_info_to_howto_rel.
+
+2003-04-22  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+
+	* archures.c: Replace references to Mitsubishi M32R with references
+	to Renesas M32R.
+	* relocs.c: Likewise.
+	* bfd-in2.h: Regenerate.
+
+2003-04-21  Richard Henderson  <rth@redhat.com>
+
+	* elf64-alpha.c (alpha_elf_dynamic_symbol_p): Return false for an
+	executable when a symbol is defined both regular and dynamic.
+
+2003-04-21  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* Makefile.am (BFD32_BACKENDS): Add elf32-m68hc1x.lo.
+	(elf32-m68hc1x.lo): Update dependencies
+	* configure.in: Add elf32-m68hc1x.lo.
+	* configure: Rebuild.
+	* Makefile.in: Rebuild.
+
+2003-04-21  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* elf32-m68hc1x.c: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
+	(m68hc11_elf_hash_table_create): New function.
+	(elf32_m68hc11_link_hash_table_free): New function.
+	(stub_hash_newfunc): New function.
+	(m68hc11_add_stub): New function.
+	(elf32_m68hc11_add_symbol_hook): New function.
+	(elf32_m68hc11_setup_section_lists): New function.
+	(elf32_m68hc11_next_input_section): New function.
+	(elf32_m68hc11_size_stubs): New function.
+	(elf32_m68hc11_build_stubs): New function.
+	(m68hc11_get_relocation_value): New function.
+	(elf32_m68hc11_relocate_section): Call the above to redirect
+	some relocations to the trampoline code.
+	(m68hc11_elf_export_one_stub): New function.
+	(m68hc11_elf_set_symbol): New function.
+	(elf32_m68hc11_build_stubs): Call it via bfd_hash_traverse.
+	(m68hc11_elf_get_bank_parameters): Get parameters only when the info
+	is not yet initialized.
+
+	* elf32-m68hc1x.h: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
+	(elf32_m68hc11_stub_hash_entry): New struct.
+	(m68hc11_page_info): Add trampoline handler address.
+	(m68hc11_elf_link_hash_table): Add stubs generation members.
+	(elf32_m68hc11_add_symbol_hook): Declare.
+	(elf32_m68hc11_setup_section_lists): Declare.
+	(elf32_m68hc11_size_stubs): Declare.
+	(elf32_m68hc11_build_stubs): Declare.
+
+	* elf32-m68hc11.c (m68hc11_elf_ignore_reloc): Move to elf32-m68hc1x.c.
+	(elf32_m68hc11_gc_mark_hook, elf32_m68hc11_gc_sweep_hook): Likewise.
+	(elf32_m68hc11_check_relocs, elf32_m68hc11_relocate_section): Ditto.
+	(_bfd_m68hc11_elf_set_private_flags): Ditto.
+	(_bfd_m68hc11_elf_merge_private_bfd_data): Ditto.
+	(_bfd_m68hc11_elf_print_private_bfd_data): Ditto.
+	(bfd_elf32_bfd_link_hash_table_create): Define.
+	(elf_backend_add_symbol_hook): Define.
+	(m68hc11_elf_bfd_link_hash_table_create): New function.
+	(m68hc11_elf_build_one_stub): New function.
+	(m68hc11_elf_size_one_stub): New function.
+	(m68hc11_elf_bfd_link_hash_table_create): Install the above.
+	(bfd_elf32_bfd_link_hash_table_create): Define.
+
+	* elf32-m68hc12.c (m68hc11_elf_ignore_reloc): Remove.
+	(m68hc12_addr_is_banked): Remove, use m68hc11_addr_is_banked.
+	(m68hc12_phys_addr): Ditto.
+	(m68hc12_phys_page): Ditto.
+	(m68hc12_elf_special_reloc): Move to elf32-m68hc1x.c.
+	(elf32_m68hc11_gc_mark_hook): Likewise.
+	(elf32_m68hc11_gc_sweep_hook): Likewise.
+	(elf32_m68hc11_check_relocs): Likewise.
+	(elf32_m68hc11_relocate_section): Likewise.
+	(_bfd_m68hc12_elf_set_private_flags): Likewise.
+	(_bfd_m68hc12_elf_merge_private_bfd_data): Likewise.
+	(_bfd_m68hc12_elf_print_private_bfd_data): Likewise.
+	(m68hc12_elf_build_one_stub): New function.
+	(m68hc12_elf_size_one_stub): New function.
+	(m68hc12_elf_bfd_link_hash_table_create): New function, use the above.
+	(elf_backend_add_symbol_hook): Define.
+	(elf_m68hc11_howto_table): Use TRUE for pcrel relocs; fix masks.
+
+2003-04-18  Nick Clifton  <nickc@redhat.com>
+
+	* format.c (bfd_check_format_matches): Only check associated
+	vector if the matching_vector has been created.
+
+2003-04-15  Alexandre Oliva  <aoliva@redhat.com>
+
+	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Fix typo in
+	2003-04-09's change.
+
+2003-04-15  Brian Ford  <ford@vss.fsi.com>
+
+	* peicode.h (coff_swap_scnhdr_in): If a section holds
+	uninitialized data and is from an object file or from an
+	executable image that has not initialized the s_size field, or if
+	the physical size is padded, use the virtual size (stored in
+	s_paddr) instead.
+
+2003-04-15  H.J. Lu <hjl@gnu.org>
+
+	* elflink.h (elf_link_add_object_symbols): Properly report
+	filename for alignment reduction.
+
+2003-04-15  Rohit Kumar Srivastava <rohits@kpitcummins.com>
+
+	* archures.c: Replace occurrances of 'Hitachi' with 'Renesas'.
+	* reloc.c: Likewise.
+	* coff-h8300.c: Likewise.
+	* coff-h8500.c: Likewise.
+	* coff-sh.c: Likewise.
+	* cpu-h8300.c: Likewise.
+	* cpu-sh.c: Likewise.
+	* elf32-h8300.c: Likewise.
+	* elf32-sh.c: Likewise.
+	* elf32-sh64-com.c: Likewise.
+	* elf32-sh64.c: Likewise.
+	* elf64-sh64.c: Likewise.
+	* bfd-in2.h: Regenerate.
+
+2003-04-14  H.J. Lu <hjl@gnu.org>
+
+	* elflink.h (elf_link_add_object_symbols): Maintain maximum
+	alignment for common symbols. Warn reducing alignment for
+	common symbols. Report old filename when symbol size changes.
+
+2003-04-12  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elfxx-mips.c (mips_elf_calculate_relocation): Adjust two other
+	occurrences of the same test changed in the previous patch.
+	Optimize.
+
+2003-04-11  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elfxx-mips.c (mips_elf_get_global_gotsym_index): New.
+	(mips_elf_calculate_relocation): Decay GOT_PAGE/GOT_OFST to
+	GOT_DISP/addend only if the symbol got a global GOT entry.
+
+2003-04-10  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elfxx-mips.c (mips_elf_calculate_relocation): Decay
+	GOT_PAGE/GOT_OFST referencing overridable symbol to
+	GOT_DISP/addend.
+	(_bfd_mips_elf_check_relocs): Handle GOT_PAGE referencing
+	global symbol as GOT_DISP.
+
+2003-04-10  Bob Wilson  <bob.wilson@acm.org>
+
+	* elf32-xtensa.c (elf_xtensa_relocate_section): Don't continue to the
+	next relocation on an undefined symbol.
+
+2003-04-09  Richard Henderson  <rth@redhat.com>
+
+	* elf64-alpha.c (elf64_alpha_relocate_section) <R_ALPHA_GPREL32>:
+	Ignore relocations against r_symndx == 0.
+
+2003-04-09  H.J. Lu <hjl@gnu.org>
+
+	* elf64-alpha.c (elf64_alpha_relocate_section): Don't return
+	FALSE for undefined symbols.
+	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
+
+2003-04-09  Alexandre Oliva  <aoliva@redhat.com>
+
+	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Try DWARF3-standard
+	and IRIX-specific shift-to-64-bit 4-byte lengths before following
+	addr_size.
+
+2003-04-08  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): Detect (ctor)
+	pointer size from ABI, not arch_bits_per_address.
+
+2003-04-07  Kevin Buettner  <kevinb@redhat.com>
+
+	* elfn32-mips.c (elf32_mips_grok_prstatus): Adjust core file related
+	constants for n32 ABI.
+
+2003-04-06  Andrew Cagney  <cagney@redhat.com>
+
+	* simple.c (bfd_simple_get_relocated_section_contents): Disable
+	free that leads to GDB vs BFD memory corruption.
+
+2003-04-04  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Also adjust
+	symbols that mark the end of the section.
+	(m68hc11_elf_relax_section): Use R_M68HC11_PCREL_8 relocs when
+	converting to a relative branch so that the offset is computed after
+	the relaxation; also relocate a jsr into a bsr if possible but don't
+	relax them if they are to a far symbol as we need to call the
+	trampoline code.
+	(elf_m68hc11_howto_table): Set pcrel_offset to true.
+
+2003-04-04  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+	* archures.c: Namespace cleanup. Rename bfd_mach_c3x to
+	bfd_mach_tic3x and bfd_mach_c4x to bfd_mach_tic4x
+	* bfd-in2.h: Regenerate
+	* coff-tic4x.c: Namespace cleanup. Replace s/c4x/tic4x/
+	* cpu-tic4x.c: Ditto
+
+2003-04-03  Nick Clifton  <nickc@redhat.com>
+
+	* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Compute ps and ss
+	differently for object files and executables.
+	* peicode.h (coff_swap_scnhdr_in): Only set the s_size field
+	for object files or for executables who have not already
+	initialised the field.
+	* libpei.h (bfd_pe_executable_p): New macro.  Return true if
+	the PE format bfd is an executable.
+
+2003-04-03  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-ppc.c (ppc_elf_check_relocs): Don't use SYMBOL_REFERENCES_LOCAL
+	here as it's too early to reliably determine locality.
+	(ppc_elf_gc_sweep_hook): Likewise.
+	(SYMBOL_REFERENCES_LOCAL): Expand comment.
+
+2003-04-02  Bob Wilson  <bob.wilson@acm.org>
+
+	* xtensa-modules.c: Remove comment indicating that this is a
+	generated file.
+
+2003-04-02  Alan Modra  <amodra@bigpond.net.au>
+
+	* elfxx-mips.c (_bfd_mips_elf_hide_symbol): Test for NULL dynobj.
+
+2003-04-01  Bob Wilson  <bob.wilson@acm.org>
+
+	* Makefile.am (ALL_MACHINES): Add cpu-xtensa.lo.
+	(ALL_MACHINES_CFILES): Add cpu-xtensa.c.
+	(BFD32_BACKENDS): Add elf32-xtensa.lo, xtensa-isa.lo, and
+	xtensa-modules.lo.
+	(BFD32_BACKENDS_CFILES): Add elf32-xtensa.c, xtensa-isa.c, and
+	xtensa-modules.c.
+	(cpu-xtensa.lo): New target.
+	(elf32-xtensa.lo): Likewise.
+	(xtensa-isa.lo): Likewise.
+	(xtensa-modules.lo): Likewise.
+	* Makefile.in: Regenerate.
+	* archures.c (bfd_architecture): Add bfd_{arch,mach}_xtensa.
+	(bfd_archures_list): Add bfd_xtensa_arch.
+	* config.bfd: Handle xtensa-*-*.
+	* configure.in: Handle bfd_elf32_xtensa_{le,be}_vec.
+	* configure: Regenerate.
+	* reloc.c: Add BFD_RELOC_XTENSA_{RTLD,GLOB_DAT,JMP_SLOT,RELATIVE,
+	PLT,OP0,OP1,OP2,ASM_EXPAND,ASM_SIMPLIFY}.
+	* targets.c (bfd_elf32_xtensa_be_vec): Declare.
+	(bfd_elf32_xtensa_le_vec): Likewise.
+	(bfd_target_vector): Add bfd_elf32_xtensa_{be,le}_vec.
+	* cpu-xtensa.c: New file.
+	* elf32-xtensa.c: Likewise.
+	* xtensa-isa.c: Likewise.
+	* xtensa-modules.c: Likewise.
+	* libbfd.h: Regenerate.
+	* bfd-in2.h: Likewise.
+
+2003-04-01  Nick Clifton  <nickc@redhat.com>
+
+	* archures.c (bfd_mach_arm_unknown): Define.
+	* bfd-in.h (bfd_arm_merge_machines, bfd_arm+update_notes,
+	bfd_arm_get_mach_from_notes): Prototype.
+	* bfd-in2.h: Regenerate.
+	* coff-arm.c (coff_arm_merge_private_bfd_data): Call
+	bfd_arm_merge_machines.
+	(coff_arm_final_link_postscript): Call bfd_arm_update_notes.
+	* coffcode.h (coff_set_arch_mach_hook): Call
+	bfd_arm_get_mach_from_notes.
+	* coffgen.c (coff_real_object_p): Revert previous delta.
+	* cpu_arm.c (arm_check_note): New function.  Examine a note in a
+	.note section.
+	(bfd_arm_merge_machines): New function: Handle the merging of ARM
+	binaries compiled for different architectures..
+	(bfd_arm_update_notes): New function: Update an ARM note section.
+	(bfd_arm_get_mach_from_notes): New function: Extract a bfd machine
+	number from an ARM note section.
+	* elf32-arm.h (elf32_arm_object_p): Use
+	bfd_arm_get_mach_from_notes.
+	(elf32_arm_merge_private_bfd_data): Use bfd_arm_merge_machines.
+	(elf32_arm_final_write_processing): Use bfd_arm_update_notes.
+
+2003-04-01  Ben Elliston  <bje@wasabisystems.com>
+
+	* dwarf2.c (read_attribute_value): Correct typo in comment.
+
+2003-04-01  Nick Clifton  <nickc@redhat.com>
+
+	* dwarf2.c (concat_filename): Use bfd_malloc() and strdup()
+	instead of concat().
+	(decode_line_info): Only free filename if it is not NULL.
+	(add_line_info): Make a copy of the filename when storing it into
+	the info structure.
+
+2003-03-31  Andreas Schwab  <schwab@suse.de>
+	    Daniel Jacobowitz  <drow@mvista.com>
+
+	* simple.c (bfd_simple_get_relocated_section_contents): Add
+	parameter symbol_table.  Optionally use it instead of the symbol
+	table from the bfd.  Save and restore output offsets and output
+	sections  around bfd_get_relocated_section_contents.  Fix a memory
+	leak.
+	(simple_save_output_info, simple_restore_output_info): New
+	functions.
+	* bfd-in2.h: Regenerate.
+	* dwarf2.c (read_abbrevs): Use
+	bfd_simple_get_relocated_section_contents instead of
+	bfd_get_section_contents.
+	(decode_line_info): Likewise.
+	(_bfd_dwarf2_find_nearest_line): Likewise.  Don't call
+	find_rela_addend.
+	(find_rela_addend): Remove.
+	* elfxx-ia64.c (elfNN_ia64_reloc): Weaken sanity check for
+	debugging sections.
+	(elfNN_ia64_hash_table_create): Create the hash table with malloc,
+	not bfd_zalloc.
+
+2003-03-31  David Heine  <dlheine@suif.stanford.edu>
+
+	* aoutx.h (aout_link_hash_table_create): Use bfd_malloc instead of
+	bfd_alloc.
+	* dwarf2.c (concat_filename): Always allocate space for the
+	returned filename.
+	(decode_line_info): Free the allocated filename returned by
+	concat_filename.
+	* elf-eh-frame.c (bfd_elf_write_section_eh_frame): Fix memory leaks.
+	* elf.c (copy_private_bfd_data): Likewise.
+	(_bfd_elf_slurp_version_tables): Fix bug freeing contents pointer.
+	* elflink.h (elf_link_sort_relocs): Fix memory leak.
+	* format.c (bfd_check_format_matches): Likewise.
+	* linker.c (bfd_generic_final_link): Likewise.
+	* opncls.c (find_separate_debug_info): Likewise.
+	* simple.c (bfd_simple_get_relocated_section_contents): Likewise.
+
+2003-03-28  H.J. Lu <hjl@gnu.org>
+
+	* elflink.h (elf_link_add_object_symbols): Correctly combine
+	visibilities.
+
+2003-03-27  Jakub Jelinek  <jakub@redhat.com>
+
+	* elfxx-ia64.c (elfNN_ia64_relax_section): Reset self_dtpmod_offset
+	to -1 before recomputing got offsets.
+
+2003-03-26  Andreas Schwab  <schwab@suse.de>
+
+	* elf32-m68k.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
+	(elf_m68k_relocate_section): Use it to correctly handle symbols
+	forced to be local.
+	(elf_m68k_finish_dynamic_symbol): Emit RELATIVE reloc for got
+	entries for symbols that are forced to be local.
+
+2003-03-25  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elfxx-mips.c (_bfd_mips_relax_section): New function.
+	* elfxx-mips.h (_bfd_mips_relax_section): Declare.
+	* elfn32-mips.c, elf64-mips.c: Use it.
+
+2003-03-25  Stan Cox   <scox@redhat.com>
+	    Nick Clifton  <nickc@redhat.com>
+
+	Contribute support for Intel's iWMMXt chip - an ARM variant:
+
+	* archures.c: Add bfd_mach_arm_iWMMXt.
+	* reloc.c: Add BFD_RELOC_ARM_CP_OFF_IMM_S2.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+	* coff-arm.c (coff_arm_merge_private_bfd_data): Allow iWMMXt
+	object files to be linked with XScale ones.
+	(coff_arm_final_link_postscript): Update note section.
+	* coffcode.h (coff_set_arch_mach_hook): Handle note section.
+	* coffgen.c (coff_real_object_p): Call bfd_coff_set_arch_mach_hook
+	after identifying a coff binary.
+	* cpu-arm.c (processors): Add iWMMXt.
+	(arch_inf): Likewise.
+	* elf32-arm.h (arm_object_p): Handle note section.
+	(elf32_arm_merge_private_bfd_data): Allow iWMMXt object files to
+	be linked with XScale ones.
+	(elf32_arm_section_flags): New function: Set flags on note section.
+	(elf32_arm_final_write_processing): Handle note section.
+
+2003-03-21  DJ Delorie  <dj@redhat.com>
+
+	* elf32-xstormy16.c (elf32_xstormy16_relocate_section): Call
+	_bfd_elf_rela_local_sym.
+
+2003-03-20  H.J. Lu <hjl@gnu.org>
+
+	* elfxx-ia64.c (elfNN_ia64_relax_section): Don't try relax for
+	non-ELF outputs.
+
+2003-03-20  Nick Clifton  <nickc@redhat.com>
+
+	* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Initialise $idata2 and
+	$idata5 in case bfd_coff_final_link is not called.
+
+2003-03-19  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf64-sparc.c (struct sparc64_elf_section_data): Add reloc_count
+	field.
+	(canon_reloc_count): Define.
+	(sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table,
+	sparc64_elf_canonicalize_dynamic_reloc): Use it instead of
+	reloc_count.
+	(sparc64_elf_canonicalize_reloc): New routine.
+	(bfd_elf64_canonicalize_reloc): Define.
+
+2003-03-18  Jakub Jelinek  <jakub@redhat.com>
+
+	* elfxx-ia64.c (elfNN_ia64_relax_section): Handle relaxation
+	againt mergeable sections.  Take r_addend into account when caching
+	trampolines.
+
+2003-03-18  Richard Henderson  <rth@redhat.com>
+
+	* elfxx-ia64.c (get_dyn_sym_info): Return NULL gracefully for
+	local symbols that have no dyninfo.
+
+2003-03-14  Gene Smith  <gene.smith@siemens.com>
+
+	* ieee.c (ieee_write_expression): Handle the case where symbol is
+	NULL.
+	General formatting improvements.
+
+2003-03-13  Nick Clifton  <nickc@redhat.com>
+
+	* configure.in (LINGUAS): Add zh_CN.
+	* configure: Regenerate.
+	* po/zh_CN.po: New file.
+
+2003-03-13  Elias Athanasopoulos  <elathan@phys.uoa.gr>
+
+	* aout-cris.c (BYTES_IN_WORD): Don't define.
+	aout-encap.c: Likewise.
+	aout-ns32k.c: Likewise.
+	aout-tic30.c: Likewise.
+	hp300bsd.c: Likewise.
+	i386aout.c: Likewise.
+	i386dynix.c: Likewise.
+	i386linux.c: Likewise.
+	i386lynx.c: Likewise.
+	i386mach3.c: Likewise.
+	m68k4knetbsd.c: Likewise.
+	m68klinux.c: Likewise.
+	m68klynx.c: Likewise.
+	m68knetbsd.c: Likewise.
+	m88kmach3.c: Likewise.
+	mipsbsd.c: Likewise.
+	newsos3.c: Likewise.
+	sparclinux.c: Likewise.
+	sparclynx.c: Likewise.
+	sparcnetbsd.c: Likewise.
+	vaxbsd.c: Likewise. Fix comment formatting.
+
+2003-03-12  Alexandre Oliva  <aoliva@redhat.com>
+
+	* Reverted 2003-03-02's patch.
+
+	* elfxx-target.h (bfd_elfNN_canonicalize_reloc): Make it
+	overridable.
+	* elf64-mips.c (mips_elf64_canonicalize_reloc,
+	mips_elf64_get_dynamic_reloc_upper_bound,
+	mips_elf64_canonicalize_dynamic_reloc): New, adapted from elf.c.
+	(bfd_elf64_get_canonicalize_reloc,
+	bfd_elf64_get_dynamic_reloc_upper_bound,
+	bfd_elf64_canonicalize_dynamic_reloc): Define.
+	(mips_elf64_slurp_reloc_table): Support dynamic.
+	(mips_elf64_slurp_one_reloc_table): Adjust.
+
+2003-03-12  Nick Clifton  <nickc@redhat.com>
+
+	* xsym.c (bfd_sym_fetch_type_information_table_entry): Change
+	'index' to 'offset' in test for zero value.
+
+2003-03-11  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Do not create
+	dynamic relocations pointing to local or section symbols, use the
+	NULL symbol instead.  Document the choice to not emit an
+	additional R_MIPS_64 relocation.
+
+2003-03-11  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-ppc.c (ppc_elf_relocate_section): Subtract tls seg vma from
+	zero index dynamic tls relocs generated for the GOT.  Tidy code.
+	Set "relocation" to 1 on DTPMOD32 relocs.  Optimize HA adjustment.
+	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+
+2003-03-07  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-ppc.c (ppc_elf_relocate_section): Don't look for a nop after
+	a tls_get_addr call.
+
+	* elf32-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
+	(ppc_elf_adjust_dynamic_symbol): For weak symbols, copy
+	ELF_LINK_NON_GOT_REF from weakdef.
+	* elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
+	(ppc64_elf_adjust_dynamic_symbol): For weak symbols, copy
+	ELF_LINK_NON_GOT_REF from weakdef.
+	* elf32-i386.c (ELIMINATE_COPY_RELOCS): Define as one.  Use throughout.
+	(elf_i386_adjust_dynamic_symbol): For weak symbols, copy
+	ELF_LINK_NON_GOT_REF from weakdef.
+
+2003-03-06  Jakub Jelinek <jakub@redhat.com>
+	Andrew Haley  <aph@redhat.com>
+
+	* elflink.h (elf_bfd_discard_info): Don't process eh frames if
+	output is relocateable.
+
+2003-03-06  Steven Konopa <skonopa@kgo.csc.com>
+
+	* som.c (som_fixup_formats): Correct formats for R_AUX_UNWIND and
+	R_COMMENT.
+
+2003-03-06  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-ppc.c (ppc_elf_create_linker_section): Don't capitalize
+	error messages.
+	(ELIMINATE_COPY_RELOCS): Define to zero.
+	(ppc_elf_relocate_section): Don't deref htab->tls_sec when calculating
+	TLSLD relocs.  Report reloc types on a number of errors.  Optimize
+	LOCAL24PC check for non-local syms.  Don't capitalize error messages.
+	* elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define to zero.
+	(ppc64_elf_relocate_section): Don't deref htab->tls_sec when
+	calculating TLSLD relocs.  Report reloc types on a number of errors.
+	Don't capitalize error messages.
+
+2003-03-03  H.J. Lu <hjl@gnu.org>
+
+	* elfxx-ia64.c (USE_BRL): Removed.
+	(oor_ip): Removed.
+
+2003-03-03  J"orn Rennecke <joern.rennecke@superh.com>
+
+	* elf32-sh.c (sh_elf_howto_tab): Make R_SH_IND12W into an ordinary
+	relocation (no special function), and make it non-partial_inplace.
+	(sh_elf_relax_section): When creating a bsr, use a consistent value
+	no matter if the symbol is extern or not;  set addend to -4.
+	Don't swap load / non-load instructions for SH4.
+	(sh_elf_relax_delete_bytes): In R_SH_IND12W case, check the offset
+	rather than if the symbol is external to determine if adjusting the
+	offset makes sense.  Adjust the addend too if appropriate.
+	(sh_elf_relocate_section): In R_SH_IND12W, don't fiddle with the
+	relocation.
+
+2003-03-03  Nick Clifton  <nickc@redhat.com>
+
+	* po/da.po: Installed latest translation.
+
+2003-03-02  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* elf32-mips.c (elf_mips_howto_table_rel): Change definition of
+	R_MIPS_PC16 to rightshift 2.
+	(elf_reloc_map mips_reloc_map): Map to rightshifted BFD reloc.
+	(bfd_elf32_bfd_reloc_type_lookup): Support
+	BFD_RELOC_MIPSEMB_16_PCREL_S2.
+	* elf64-mips.c (mips_elf64_howto_table_rel): Change definition of
+	R_MIPS_PC16 to rightshift 2.
+	(mips_elf64_howto_table_rela): Likewise.
+	(mips_reloc_map): Map to rightshifted BFD reloc.
+	* elfn32-mips.c: The same as in elf64-mips.c.
+	* elfxx-mips.c (mips_elf_got_for_ibfd): Typo in comment.
+	(mips_elf_calculate_relocation): Handle rightshifted addends for
+	R_MIPS_PC16.
+	* reloc.c (BFD_RELOC_MIPSEMB_16_PCREL_S2): New BFD relocation for
+	MIPS Embedded PIC. Remove superfluous empty COMMENT.
+	* libbfd.h: Regenerate.
+	* bfd-in2.h: Regenerate.
+
+2003-02-28  Richard Henderson  <rth@redhat.com>
+
+	* elfxx-ia64.c (elfNN_ia64_relax_section): Correct bounds
+	for ltoff22x relaxation.
+
+2003-03-01  Alan Modra  <amodra@bigpond.net.au>
+
+	* bfd-in.h (_bfd): Don't define.
+	* bfd.c: Rename occurrences of "struct _bfd" to "struct bfd".
+	* syms.c: Likewise.
+	* bfd-in2.h: Regenerate.
+
+2003-02-27  Richard Henderson  <rth@redhat.com>
+
+	* elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add want_gotx;
+	(elfNN_ia64_check_relocs): Set it.
+	(allocate_global_data_got): Check it.
+	(allocate_local_got): Likewise.
+	(allocate_dynrel_entries): Likewise.
+	(elfNN_ia64_relax_ldxmov): New.
+	(elfNN_ia64_relax_section): Handle LTOFF22X, LDXMOV.
+	(elfNN_ia64_choose_gp): Split out from ...
+	(elfNN_ia64_final_link): ... here.
+
+2003-02-27  Andrew Cagney  <cagney@redhat.com>
+
+	* bfd.c (struct bfd): Rename "struct _bfd".
+	* bfd-in.h: Update copyright.
+	(struct bfd): Rename "struct _bfd".
+	(_bfd): Define for backward compatibility.
+	* bfd-in2.h: Regenerate.
+
+2003-02-25  Alan Modra  <amodra@bigpond.net.au>
+
+	* elflink.h (elf_bfd_final_link): Apportion reloc counts to rel_hdr
+	and rel_hdr2 when initially counting input relocs rather than after
+	creating output reloc sections.
+	(elf_link_read_relocs_from_section): Don't abort with wrong reloc
+	sizes.
+
+	* Makefile.am: Run "make dep-am".
+	* Makefile.in: Regenerate.
+
+2003-02-24  Kris Warkentin  <kewarken@qnx.com>
+
+	* elf.c (elfcore_read_notes): Add check for QNX style core file.
+	(elfcore_grog_nto_note): New function.
+	(elfcore_grog_nto_gregs): New function.
+	(elfcore_grog_nto_status): New function.
+
+2003-02-24  Alan Modra  <amodra@bigpond.net.au>
+
+	* elflink.c (_bfd_elf_create_got_section): Check existing .got
+	section flags before concluding that we've already been called.
+	Don't use register keyword.
+	(_bfd_elf_create_dynamic_sections): Don't use register keyword.
+	(_bfd_elf_create_linker_section): Formatting.
+
+2003-02-20  jmc  <jmc@prioris.mini.pw.edu.pl>
+
+	* coff-h8300.c: Fix typo: intial -> initial.
+	* coff-ppc.c: Likewise.
+
+2003-02-20  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-ppc.c: Formatting.
+	(allocate_dynrelocs): LD and GD relocs against the same sym need
+	separate GOT entries.
+	(ppc_elf_relocate_section): Correct GOT handling for multiple GOT
+	entries per symbol.
+
+2003-02-19  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-hppa.c (elf32_hppa_gc_sweep_hook): Simplify dynamic reloc
+	removal.  Localize vars.  Remove unnecessary dynobj test.
+	* elf32-i386 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead
+	of INFO.
+	(allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
+	and optimize.
+	(elf_i386_relocate_section): Likewise.
+	(elf_i386_gc_sweep_hook): Simplify dyn reloc removal.  Localize vars.
+	* elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
+	* elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
+	* elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
+	* elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
+	* elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise.  Remove
+	local_dynrel for section too.  Don't touch HIPLT22, LOPLT10, PCPLT32
+	or PCPLT10 relocs.  Don't subtract twice on PLT32 relocs.
+	Formatting.
+
+	* elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define.
+	(ppc64_elf_check_relocs): Use it.  Correct comment.  Move SEC_ALLOC
+	test.
+	(ppc64_elf_adjust_dynamic_symbol): Use ELIMINATE_COPY_RELOCS.
+	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
+	(allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
+	and optimize.  Use ELIMINATE_COPY_RELOCS.
+	(ppc64_elf_relocate_section): Likewise.
+
+	* elf32-ppc.c (struct ppc_elf_dyn_relocs): Add pc_count field.
+	(ppc_elf_copy_indirect_symbol): Copy pc_count field.
+	(ELIMINATE_COPY_RELOCS): Define.
+	(ppc_elf_adjust_dynamic_symbol): Convert copy relocs to dynamic.
+	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
+	(MUST_BE_DYN_RELOC): Define.
+	(allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
+	and optimize.  Trim dyn_relocs.
+	(ppc_elf_check_relocs): Don't generate dyn_relocs when we know they'll
+	not be used.  Do generate dyn_relocs for copy reloc avoidance.  Keep
+	track of pc_rel dyn relocs.
+	(ppc_elf_relocate_section): Remove "will_become_local".  Adjust
+	WILL_CALL_FINISH_DYNAMIC_SYMBOL use.  Trim dyn relocs as per
+	allocate_dynrelocs.  Don't recalculate "sec".
+
+2003-02-18  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-ppc.c (ppc_elf_relocate_section): Remove unnecessary test.
+	* elf64-ppc.c (ppc64_elf_tls_optimize): Decrement tlsld_got.refcount
+	on invalid LD relocs.
+	(allocate_dynrelocs): Invalid LD relocs don't use tlsld_got entry.
+	(ppc64_elf_relocate_section): Unify new handling of LD relocs and
+	tlsld_got entry.  Use IS_PPC64_TLS_RELOC.
+
+	* elf32-ppc.h: New file.
+	* elf32-ppc.c: Include elf32-ppc.h.
+	(NOP, CROR_151515, CROR_313131, TP_OFFSET, DTP_OFFSET): Define.
+	(struct ppc_elf_link_hash_entry): Rename "root" to "elf".  Adjust uses.
+	Add "tls_mask" field.
+	(TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL, TLS_TLS, TLS_TPRELGD): Define.
+	(struct ppc_elf_link_hash_table): Rename "root" to "elf".  Adjust uses.
+	Add got, relgot, plt, relplt, dynbss, relbss, dynsbss, relsbss,
+	sdata, sdata2, tls_sec, tls_get_addr, tlsld_got fields.
+	Make use of htab shortcuts throughout file.
+	(ppc_elf_link_hash_newfunc): Init tls_mask field.
+	(ppc_elf_link_hash_table_create): Init new fields.
+	(ppc_elf_copy_indirect_symbol): Copy tls_mask.
+	(ppc_elf_howto_raw): Add tls relocs.
+	(ppc_elf_reloc_type_lookup): Handle them.
+	(ppc_elf_unhandled_reloc): New function.
+	(ppc_elf_create_got): Stash got section pointer in hash table,
+	return status.  Make .rela.got too.
+	(ppc_elf_create_dynamic_sections): Stash section pointers in htab.
+	(ppc_elf_adjust_dynamic_symbol): Only set up copy relocs when
+	NON_GOT_REF set.  Don't allocate space in .plt here..
+	(allocate_dynrelocs): ..do so here instead, properly ref-counting and
+	not allocating plt entries unnecessarily.  Allocate got entries here.
+	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
+	(ppc_elf_size_dynamic_sections): Allocate local got entries.  Pass
+	"info" during allocate_dynrelocs hash traversal.  Use htab section
+	shortcuts rather than searching for named sections.  Get rid of
+	"plt" and "strip" booleans.
+	(update_local_sym_info, bad_shared_reloc): New functions.
+	(ppc_elf_check_relocs): Handle TLS relocs.  Move .rela.got creation to
+	ppc_elf_create_got.  Don't mark got or plt reloc syms dynamic, do so
+	in allocate_dynreloc.  Use update_local_sym_info and bad_shared_reloc.
+	Disallow R_PPC_EMB_RELSDA, R_PPC_EMB_NADDR32, R_PPC_EMB_NADDR16,
+	R_PPC_EMB_NADDR16_LO, R_PPC_EMB_NADDR16_HI and R_PPC_EMB_NADDR16_HA
+	in shared libs.  R_PPC_PLTREL32 is a plt reloc too.  Refcount all
+	relocs that might use a plt entry.  Set NON_GOT_REF too.
+	Enumerate all do-nothing relocs.
+	(ppc_elf_gc_sweep_hook): Simplify removal of dynrelocs.  Handle
+	tls relocs and all plt relocs.
+	(ppc_elf_tls_setup, ppc_elf_tls_optimize): New functions.
+	(ppc_elf_finish_dynamic_symbol): Don't build got entries here.
+	(ppc_elf_finish_dynamic_sections): Rewrite tag code using htab
+	shortcuts.
+	(ppc_elf_relocate_section): Tidy.  Handle TLS relocs.  Use
+	bfd_elf_local_sym_name.  Simplify unresolved reloc code.  Build got
+	entries and got relocs here.  Warn on non-zero got reloc addend.
+	Split out branch taken/not taken reloc code into a separate switch
+	and correct offset calculation. Allow BRTAKEN/BRNTAKEN dynamic relocs.
+	Split out HA reloc adjustments to separate switch statement.  Don't
+	warn on reloc overflow if we've already warned about undefined.
+	Don't rebuild sym name when reporting errors.  Report all possible
+	errors from _bfd_final_link_relocate.
+	(bfd_elf32_bfd_final_link): Don't define.
+
+2003-02-18  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_relocate_section): Don't init "r".  Don't
+	rebuild sym name when reporting errors.
+
+2003-02-17  Nick Clifton  <nickc@redhat.com>
+
+	* elflink.h (elf_link_output_extsym): Only check
+	allow_shlib_undefined for shared libraries.
+	* elf32-i386.c (elf_i386_relocate_section): Remove bogus check
+	of allow_shlib_undefined.
+	* elf32-cris.c (cris_elf_relocate_section): Likewise.
+	* elf32-hppa.c (elf32_hppa_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.
+	* elf32-vax.c (elf_vax_relocate_section): Likewise.
+	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+	* elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
+	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+	* elf64-s390.c (elf_s390_relocate_section): Likewise.
+	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
+	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
+
+2003-02-17  Nick Clifton  <nickc@redhat.com>
+
+	* elf.c (SEGMENT_AFTER_SEGMENT): Add third parameter - the
+	address field to use in the comparison.
+	(SEGMENT_OVERLAPS): Check that LMAs overlap as well.
+
+2003-02-14  Bob Wilson  <bob.wilson@acm.org>
+
+	* elfcore.h (elf_core_file_p): Compare alternate machine codes for ELF
+	backends when checking if the generic ELF target should be used.
+
+	* syms.c (_bfd_stab_section_find_nearest_line): For line number stabs
+	outside of functions, treat values as absolute addresses.
+
+	* bfd.c: Change embedded documentation to use consistent indentation
+	and to split up long lines.  Change informal style of description
+	for functions lacking real documentation.
+	* coffcode.h: Break up long lines in embedded documentation.
+	* format.c: Likewise.
+	* targets.c: Likewise.
+	* libcoff.h: Regenerate.
+	* bfd-in2.h: Regenerate.
+
+2003-02-14  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_link_hash_table_create): Init tls_get_addr.
+	(ppc64_elf_copy_indirect_symbol): Merge tls_mask too.
+	(ppc64_elf_gc_sweep_hook): Simplify removal of dyn_relocs.
+	(allocate_dynrelocs): Don't treat undefined and undefweak specially.
+	(ppc_size_one_stub): Fix warning, and tighten plt entry check.
+	(group_sections): Don't share a stub section if stubs are for a large
+	section.  Adjust comment.
+	(ppc64_elf_size_stubs): Roughly double the size left for stubs if
+	!stubs_always_before_branch.
+	(ppc64_elf_relocate_section): Initialize tlsld GOT entry once.  Don't
+	treat undefined and undefweak specially when processing dyn relocs.
+
+2003-02-13  Jakub Jelinek  <jakub@redhat.com>
+
+	* elflink.h (elf_link_add_object_symbols): Handle .symver x, x@FOO.
+
+2003-02-13  Nick Clifton  <nickc@redhat.com>
+
+	* elf32-arm.h (elf32_thumb_to_arm_stub): Include section VMAs
+	in computation of offset to insert into BL instruction.
+
+2003-02-11  Uwe Stieber  <uwe@wwws.de>
+
+	* config.bfd: Add support for kaOS as cross build target system.
+
+2003-02-11  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_check_relocs): Match versioned
+	.__tls_get_addr too.
+	(ppc64_elf_tls_setup): Ensure cached tls_get_addr is not indirect.
+
+2003-02-10  Kaz kojima  <kkojima@rr.iij4u.or.jp>
+
+	* elf32-sh.c (elf_sh_dyn_relocs): Add tls_tpoff32 field.
+	(elf_sh_link_hash_entry): Remove tls_tpoff32 field.
+	(sh_elf_link_hash_newfunc): Remove the initialization of
+	tls_tpoff32 field.
+	(allocate_dynrelocs): Keep dyn_relocs if it includes the entry
+	for which tls_tpoff32 flag is set.
+	(sh_elf_relocate_section): Covert to LE only if the dyn_relocs
+	of the symbol includes the entry matched with the input_section
+	and having tls_tpoff32 flag on.  When linking statically, set
+	symbol index of R_SH_TLS_TPOFF32 relocation to zero if the symbol
+	is defined in this executable.
+	(sh_elf_check_relocs): Set tls_tpoff32 flag appropriately.
+
+2003-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf32-s390.c (elf_s390_size_dynamic_sections): Set relocs to TRUE
+	even if there is just non-empty .rela.plt.
+
+2003-02-10  Nick Clifton  <nickc@redhat.com>
+
+	* archures.c (bfd_mach_arm_ep9312): Define.
+	* bfd-in2.h: Regenerate.
+	* cpu-arm.c (processors[]): Add ep9312.
+	(bfd_arm_arch): Add ep9312.
+	* elf32-arm.h (elf32_arm_merge_private_data): Update error
+	messages and add test for Maverick floating point support.
+	(elf32_arm_print_private_bfd_data): Handle
+	EF_ARM_MAVERICK_FLOAT flag.
+	(elf32_arm_object_p): New function.
+	(elf_backend_object_p): Define.
+
+2003-02-10  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c: Rename assorted occurrences of tls_type and similar
+	variables, structure fields or function params to tls_mask or
+	similar to better reflect usage.
+	(struct got_entry): Comment.
+	(struct ppc_link_hash_entry): Expand comment, and renumber TLS_*.
+	(get_tls_mask): Rename from get_tls_type.
+
+2003-02-09  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (TLS_GD_LD): Don't define..
+	(TLS_GD): ..define this instead and update all uses.
+	(TLS_TPRELGD): Define.
+	(ppc64_elf_link_hash_table_create): Tweak initialization of
+	init_refcount and init_offset.
+	(ppc64_elf_check_relocs): Add one extra element to t_symndx array.
+	Mark second slot of GD or LD toc entries.
+	(get_tls_type): Return an int.  Distinguish toc GD and LD entries
+	from other tls types.
+	(ppc64_elf_tls_setup): New function, split out from..
+	(ppc64_elf_tls_optimize): ..here.  Don't optimize when symbols are
+	defined in a dynamic object.  Fix LD optimization.  Don't set TLS_TPREL
+	on GD->IE optimization, use TLS_TPRELGD instead.  Use get_tls_type
+	return value to properly decide whether toc GD and LD entries can
+	optimize away __tls_get_addr call.  Check next reloc after DTPMOD64
+	to determine GD or LD rather than looking at TLS_LD flag.  Don't
+	attempt to adjust got entry tls_type here..
+	(allocate_dynrelocs): ..instead, adjust got entry tls_type here, and
+	look for possible merges.
+	(ppc64_elf_size_dynamic_sections): Adjust local got entries for
+	optimization.
+	(ppc64_elf_size_stubs): Tweak __tls_get_addr fudge.
+	(ppc64_elf_relocate_section): Rename some vars to better reflect usage.
+	Make use of return value from get_tls_type to properly detect GD and
+	LD optimizations.  Split tlsld/gd hi/ha from lo/ds case.  Don't
+	handle tls_get_addr removal when looking at REL24 relocs, do it when
+	looking at the previous reloc.  Check reloc after DTPMOD64 to determine
+	GD or LD.
+	* elf64-ppc.h (ppc64_elf_tls_setup): Declare.
+
+2003-02-08  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-hppa.c (group_sections): Don't share a stub section if
+	stubs are for a large section.
+
+	* elf32-hppa.c (elf32_hppa_size_stubs): Double the size left for
+	stubs if !stubs_always_before_branch.
+
+2003-02-07  Nick Clifton  <nickc@redhat.com>
+
+	* elf.c (swap_out_syms): Generate an error message if an
+	equivalent output section cannot be found for a symbol.
+
+2003-02-07  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf64-alpha.c (elf64_alpha_relax_section): Don't crash if
+	local_got_entries is NULL.
+
+2003-02-06  Andreas Schwab  <schwab@suse.de>
+
+	* elf-eh-frame.c (get_DW_EH_PE_signed): Define.
+	(read_value): Add parameter is_signed, use signed extraction if
+	the value is signed.
+	(_bfd_elf_write_section_eh_frame): Pass signed flag of the
+	encoding to read_value.
+
+2003-02-06  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy got and
+	plt info when called to transfer weak sym info.
+
+2003-02-05  Alan Modra  <amodra@bigpond.net.au>
+
+	* reloc.c: Add PPC and PPC64 TLS relocs.
+	* libbfd.h: Regenerate.
+	* bfd-in2.h: Regenerate.
+	* elf64-ppc.c (TP_OFFSET, DTP_OFFSET): Declare.
+	(ppc64_elf_howto_raw): Add TLS howto's.  Adjust R_PPC64_NONE to be
+	against a 32 bit field.
+	(ppc64_elf_reloc_type_lookup): Handle TLS relocs.
+	(_ppc64_elf_section_data): Add t_symndx and comments.
+	(ppc64_elf_section_data): Use elf_section_data macro.
+	(ppc64_elf_new_section_hook): American spelling.
+	(struct got_entry, struct plt_entry): New.
+	(MUST_BE_DYN_RELOC): Rename from IS_ABSOLUTE_RELOC.
+	(struct ppc_stub_hash_entry): Add "addend" field.
+	(struct ppc_link_hash_entry): Add "tls_type".
+	(TLS_TLS, TLS_GD_LD, TLS_LD, TLS_TPREL, TLS_DTPREL,
+	TLS_EXPLICIT): Define.
+	(struct ppc_link_hash_table): Add tls_sec, tls_get_addr, tlsld_got.
+	(link_hash_newfunc): Init new fields.
+	(ppc64_elf_link_hash_table_create): Likewise.  Set init_refcount and
+	init_offset to NULL.
+	(ppc64_elf_copy_indirect_symbol): Copy got and plt info.  Don't call
+	_bfd_elf_link_hash_copy_indirect, rather insert relevant code from
+	there.
+	(update_local_sym_info, update_plt_info): New functions.
+	(ppc64_elf_check_relocs): Use them.  Handle TLS relocs.  Adjust GOT
+	handling to use got.glist rather than got.refcount.  Likewise for PLT.
+	(ppc64_elf_gc_sweep_hook): Handle TLS relocs, new GOT and PLT lists.
+	(func_desc_adjust): Adjust for new PLT list.
+	(ppc64_elf_adjust_dynamic_symbol): Likewise.
+	(get_sym_h, get_tls_type): New functions.
+	(ppc64_elf_edit_opd): Remove unused variable.  Use get_sym_h.
+	(ppc64_elf_tls_optimize): New function.
+	(allocate_dynrelocs): Adjust for new PLT and GOT lists.  Allocate
+	TLS relocs.
+	(ppc64_elf_size_dynamic_sections): Likewise.
+	(ppc_type_of_stub): Adjust for new PLT list.
+	(ppc_build_one_stub): Likewise.
+	(ppc64_elf_size_stubs): Likewise.  Use get_sym_h.  Treat __tls_get_addr
+	calls specially.
+	(ppc64_elf_relocate_section): Adjust for new GOT and PLT lists.  Handle
+	TLS relocs.  Report local syms using bfd_elf_local_sym_name.  Don't
+	init GOT entries that have a reloc.  Generate GOT relocs here..
+	(ppc64_elf_finish_dynamic_symbol): ..not here.  Adjust for PLT list.
+	* elf64-ppc.h (ppc64_elf_tls_optimize): Declare.
+
+2003-02-04  Andreas Schwab  <schwab@suse.de>
+
+	* elf32-m68k.c (elf_m68k_hash_entry): Define.
+	(elf_m68k_link_hash_traverse): Remove.
+	(elf_m68k_link_hash_newfunc): Use struct bfd_hash_entry and
+	elf_m68k_hash_entry instead of struct elf_m68k_link_hash_entry to
+	reduce casting.
+	(elf_m68k_check_relocs): Use elf_m68k_hash_entry instead of
+	casting.
+	(elf_m68k_size_dynamic_sections): Use elf_link_hash_traverse
+	instead of elf_m68k_link_hash_traverse.
+	(elf_m68k_discard_copies): Change first parameter to pointer to
+	struct elf_link_hash_entry and use elf_m68k_hash_entry when struct
+	elf_m68k_link_hash_entry is needed.
+
+2003-02-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-bfd.h (struct got_entry, struct plt_entry): Forward declare.
+	(struct elf_link_hash_entry): Add "glist" and "plist" fields to
+	"got" union, and declare as gotplt_union.  Use gotplt_uinion for
+	"plt" field.
+	(struct elf_link_hash_table): Make "init_refcount" a gotplt_union.
+	Add "init_offset" field.
+	(struct elf_obj_tdata <local_got>): Add "struct got_entry **" to union.
+	(elf_local_got_ents): Declare.
+	* elf.c (_bfd_elf_link_hash_newfunc): Adjust initialization of "got"
+	and "plt".
+	(_bfd_elf_link_hash_hide_symbol): Use "init_offset".
+	(_bfd_elf_link_hash_table_init): Set "init_offset".
+	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set init_refcount
+	from init_offset.
+	(elf_adjust_dynamic_symbol): Set plt and got offsets using init_offset.
+
+	* elf.c (bfd_elf_local_sym_name): Split out from..
+	(group_signature): ..here.
+	* elf-bfd.h (bfd_elf_local_sym_name): Declare.
+
+2003-02-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-bfd.h (enum elf_link_info_type): Remove.
+	(struct bfd_elf_section_data): Move sec_info_type, use_rela_p fields
+	to struct sec.  Remove linkonce_p field.
+	(elf_linkonce_p): Delete.
+	(elf_discarded_section): Update for sec_info_type change.
+	* section.c (struct sec): Add sec_info_type, use_rela_p, has_tls_reloc,
+	flag11, flag12, flag13, flag14, flag15, flag16, flag20, flag24.
+	(ELF_INFO_TYPE_NONE): Define.
+	(ELF_INFO_TYPE_STABS): Define.
+	(ELF_INFO_TYPE_MERGE): Define.
+	(ELF_INFO_TYPE_EH_FRAME): Define.
+	(ELF_INFO_TYPE_JUST_SYMS): Define.
+	(STD_SECTION): Update struct sec initializer.
+	* ecoff.c (bfd_debug_section): Likewise.
+	* elf.c: Likewise.  Update occurrences of sec_info_type and use_rela_p.
+	* elflink.h: Likewise.
+	* elf-eh-frame.c: Likewise.
+	* elf64-alpha.c: Likewise.
+	* elfxx-ia64.c: Likewise.
+	* elfxx-mips.c: Likewise.
+	* bfd-in2.h: Regenerate.
+
+	* elf32-sparc.c (sec_do_relax): Use elf_section_data macro rather than
+	referring to used_by_bfd.
+	* elf64-sparc.c (sec_do_relax): Likewise.
+	* elf64-mmix.c (mmix_elf_section_data): Likewise.
+	* elfxx-mips.c (mips_elf_section_data): Likewise.
+	* ieee.c (ieee_slurp_section_data): Use ieee_per_section macro.
+	(ieee_get_section_contents): Likewise.
+	(ieee_new_section_hook): Formatting.
+	(ieee_canonicalize_reloc): Remove commented out code.
+	* mmo.c (mmo_section_data): Define.  Use throughout file.
+	* oasys.c (oasys_get_section_contents): Use oasys_per_section macro.
+
+2003-01-31  Graydon Hoare <graydon@redhat.com>
+
+	* Makefile.am (opncls.lo): Add dependency upon libiberty.h.
+	* Makefile.in: Regenerate.
+	* opncls.c (calc_crc32, get_debug_link_info,
+	seperate_debug_file_exists, find_seperate_debug_file): New
+	internal functions.
+	(bfd_follow_gnu_debuglink): New function.  Follow the pointer
+	contained inside a .gnu_debuglink section.
+	* bfd-in2.h: Regenerate.
+
+2003-01-29  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elfxx-mips.c (mips_elf_got_entry_hash): Don't dereference
+	entry->abfd when it's NULL.
+
+2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Handle
+	_bfd_elf_section_offset returning -2 the same way as -1.
+
+	* elfxx-mips.c (mips_elf_multi_got): New function.
+	(struct mips_got_entry): Make symndx and gotidx signed.  Moved
+	addend into union along with address and link hash entry.
+	(struct mips_got_info): Added bfd2got and next.
+	(struct mips_elf_hash_sort_data): Added max_unref_got_dynindx.
+	(mips_elf_got_section, mips_elf_create_got_section): Use
+	SEC_EXCLUDE bit to tell whether we really need the got
+	section.  Take boolean arguments to disregard an excluded
+	section, or to create it as excluded.  Adjust all callers.
+	Use mips_elf_got_section all over.
+	(mips_elf_local_got_index, mips_elf_got_page,
+	mips_elf_got16_entry): Take input bfd as argument, and pass it
+	on to mips_elf_create_local_got_entry.
+	(mips_elf_global_got_index, mips_elf_create_local_got_entry):
+	Take input bfd as argument, and manage entries in the
+	appropriate GOT.
+	(mips_elf_got_offset_from_index): Take input bfd as argument,
+	and use it to adjust the GP offset of the bfd.
+	(mips_elf_sort_hash_table, mips_elf_sort_hash_table_f): Move
+	unreferenced GOT entries of global symbols to the end.
+	(mips_elf_record_global_got_symbol): Take input bfd as
+	argument.  Add entries to the master GOT hash table.
+	(struct mips_elf_bfd2got_hash): New.
+	(struct mips_elf_got_per_bfd_arg): New.
+	(struct mips_elf_set_global_got_offset_arg): New.
+	(mips_elf_hash_bfd_vma, mips_elf_multi_got_entry_hash,
+	mips_elf_multi_got_entry_eq, mips_elf_bfd2got_entry_hash,
+	mips_elf_bfd2got_entry_eq, mips_elf_make_got_per_bfd,
+	mips_elf_merge_gots, mips_elf_set_global_got_offset,
+	mips_elf_resolve_final_got_entry,
+	mips_elf_resolve_final_got_entries, mips_elf_adjust_gp,
+	mips_elf_got_for_ibfd): New functions.
+	(ELF_MIPS_GP_OFFSET): Don't depend on SGI_COMPAT.
+	(MIPS_ELF_GOT_MAX_SIZE): New macro.
+	(STUB_LW): Generate 64-bit stub regardless of SGI_COMPAT.
+	(mips_elf_got_entry_hash): Take new fields into account.  Use
+	mips_elf_hash_bfd_vma.
+	(mips_elf_got_entry_eq): Take new fields into account.
+	(mips_elf_create_got_section): Initialize new fields.
+	(mips_elf_calculate_relocation): Pass input_bfd to functions
+	that now take it.  Adjust gp for the input_bfd.
+	(mips_elf_allocate_dynamic_relocation,
+	mips_elf_create_dynamic_relocation,
+	_bfd_mips_elf_create_dynamic_sections): Use...
+	(mips_elf_rel_dyn_section): New function.  Borrow code from...
+	(_bfd_mips_elf_check_relocs): Pass input_bfd to functions that
+	now take it.  Create the got section if needed, even if
+	excluded, before recording a global got symbol.  Move some
+	code to...
+	(mips_elf_record_local_got_symbol): New fn.
+	(_bfd_mips_elf_size_dynamic_sections): Disable combreloc.
+	Compute multi-got global entries offsets.  Move GOT code to...
+	(_bfd_mips_elf_always_size_sections): Call mips_elf_multi_got
+	if the GOT is too big.
+	(_bfd_mips_elf_finish_dynamic_symbol): Set got entry of
+	undefweak symbol to zero.  Generate dynamic relocations for
+	non-primary GOT entries for global symbols.
+	(_bfd_mips_elf_finish_dynamic_sections): Handle multi-got
+	case.  Generate dynamic relocations for local got entries.
+	Sort dynamic relocations on N64 too, using...
+	(sort_dynamic_relocs_64): New fns.
+	(_bfd_mips_elf_hide_symbol): Adjust multi-got counters.
+	(_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_XGOT.
+
+2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
+
+	* bfd.c (struct _bfd): Added id field.
+	* opncls.c (_bfd_id_counter): New static variable.
+	(_bfd_new_bfd): Use it.
+	* bfd-in2.h: Rebuilt.
+
+2003-01-25  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-sparc.c (bfd_elf32_new_section_hook): Define.
+
+2003-01-25  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs.
+	(elf32_sparc_rev32_howto): New variable.
+	(sparc_reloc_map): Add TLS relocs.
+	(elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto):
+	Handle REV32.
+	(sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject):
+	New functions.
+	(struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry,
+	struct elf32_sparc_link_hash_table):
+	New structures.
+	(elf32_sparc_tdata, elf32_sparc_local_got_tls_type,
+	elf32_sparc_hash_table): Define.
+	(link_hash_newfunc, elf32_sparc_link_hash_table_create,
+	create_got_section, elf32_sparc_create_dynamic_sections,
+	elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New
+	functions.
+	(elf32_sparc_check_relocs): Handle TLS relocs.  Add dynamic reloc
+	reference counting.
+	(elf32_sparc_gc_sweep_hook): Likewise.
+	(elf32_sparc_adjust_dynamic_symbol): Likewise.
+	(elf32_sparc_size_dynamic_sections): Likewise.
+	(elf32_sparc_relocate_section): Likewise.
+	(allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff):
+	New functions.
+	(elf32_sparc_object_p): Allocate backend private object data.
+	(bfd_elf32_bfd_link_hash_table_create,
+	elf_backend_copy_indirect_symbol, bfd_elf32_mkobject,
+	elf_backend_can_refcount): Define.
+	(elf_backend_create_dynamic_sections): Define to
+	elf32_sparc_create_dynamic_sections.
+	* reloc.c: Add SPARC TLS relocs.
+	* bfd-in2.h, libbfd.h: Rebuilt.
+	* elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs.
+	(sparc_reloc_map): Likewise.
+
+2003-01-24  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* bfd-in2.h: Regenerate.
+	* elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition,
+	s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions.
+	(elf_howto_table): Add TLS relocs.
+	(elf_s390_reloc_type_lookup): Likewise.
+	(elf_s390_link_hash_entry): Add tls_type.
+	(elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type):
+	New macros.
+	(elf_s390_link_hash_table): Add tls_ldm_got.
+	(link_hash_newfunc): Initialize tls_type.
+	(elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got.
+	(elf_s390_copy_indirect_symbol): Copy tls_type information.
+	(elf_s390_check_relocs): Support TLS relocs.
+	(elf_s390_gc_sweep_hook): Likewise.
+	(allocate_dynrelocs): Likewise.
+	(elf_s390_size_dynamic_sections): Likewise.
+	(elf_s390_relocate_section): Likewise.
+	(elf_s390_finish_dynamic_symbol): Likewise.
+	(bfd_elf32_mkobject): Define for TLS.
+	* elf64-s390.c: Same changes as for elf32-s390.c.
+	* libbfd.h: Regenerate.
+	* reloc.c: Add s390 TLS relocations.
+
+2003-01-24  Charles Lepple  <clepple@ghz.cc>
+
+	* aclocal.m4: Fix name of --enable-install-libbfd switch.
+
+2003-01-23  Nick Clifton  <nickc@redhat.com>
+
+	* Add sh2e support:
+	2002-04-02  Elena Zannoni  <ezannoni@redhat.com>
+	* archures.c (bfd_mach_sh2e): Added.
+	* bfd-in2.h: Rebuilt.
+	* cpu-sh.c (arch_info_struct): Added SH2e.
+	* elf32-sh.c (sh_elf_set_mach_from_flags): Handle EF_SH2E.
+
+2003-01-23  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-bfd.h (struct bfd_elf_section_data): Remove tdata.  Change
+	dynindx to an int.  Rearrange for better packing.
+	* elf.c (_bfd_elf_new_section_hook): Don't alloc if already done.
+	* elf32-mips.c (bfd_elf32_new_section_hook): Define.
+	* elf32-sh64.h: New.  Split out from include/elf/sh.h.
+	(struct _sh64_elf_section_data): New struct.
+	(sh64_elf_section_data): Don't dereference sh64_info (was tdata).
+	* elf32-sh64-com.c: Include elf32-sh64.h.
+	* elf32-sh64.c: Likewise.
+	(sh64_elf_new_section_hook): New function.
+	(bfd_elf32_new_section_hook): Define.
+	(sh64_elf_fake_sections): Adjust for sh64_elf_section_data change.
+	(sh64_bfd_elf_copy_private_section_data): Likewise.
+	(sh64_elf_final_write_processing): Likewise.
+	* elf32-sparc.c (struct elf32_sparc_section_data): New.
+	(elf32_sparc_new_section_hook): New function.
+	(SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
+	(sec_do_relax): Define.
+	(elf32_sparc_relax_section): Adjust to use sec_do_relax.
+	(elf32_sparc_relocate_section): Likewise.
+	* elf64-mips.c (bfd_elf64_new_section_hook): Define.
+	* elf64-mmix.c (struct _mmix_elf_section_data): New.
+	(mmix_elf_section_data): Define.  Use throughout file.
+	(mmix_elf_new_section_hook): New function.
+	(bfd_elf64_new_section_hook): Define.
+	* elf64-ppc.c (struct _ppc64_elf_section_data): New.
+	(ppc64_elf_section_data): Define.  Use throughout.
+	(ppc64_elf_new_section_hook): New function.
+	(bfd_elf64_new_section_hook): Define.
+	* elf64-sparc.c (struct sparc64_elf_section_data): New.
+	(sparc64_elf_new_section_hook): New function.
+	(SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
+	(sec_do_relax): Define.
+	(sparc64_elf_relax_section): Adjust to use sec_do_relax.
+	(sparc64_elf_relocate_section): Likewise.
+	(bfd_elf64_new_section_hook): Define.
+	* elfn32-mips.c (bfd_elf32_new_section_hook): Define.
+	* elfxx-mips.c (struct _mips_elf_section_data): New.
+	(mips_elf_section_data): Define.  Use throughout.
+	(_bfd_mips_elf_new_section_hook): New function.
+	(mips_elf_create_got_section): Don't alloc used_by_bfd.
+	* elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare.
+	* elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef.
+	* Makefile.am: Run "make dep-am".
+	* Makefile.in: Regenerate.
+
+2003-01-21  Richard Henderson  <rth@redhat.com>
+
+	* elf64-alpha.c (ALPHA_ELF_LINK_HASH_PLT_LOC): New.
+	(struct alpha_elf_link_hash_entry): Add plt_old_section, plt_old_value.
+	(elf64_alpha_adjust_dynamic_symbol): Set them.
+	(elf64_alpha_size_plt_section_1): Reset them when plt entry removed.
+	(elf64_alpha_relax_tls_get_addr): Handle LDM relocs.  Frob the
+	symbol index when relaxing LDM to TPREL.
+	(elf64_alpha_relax_section): Likewise.  Allow relaxation of GD
+	relocs, even if the target isn't locally defined.
+	(elf64_alpha_check_relocs): Frob LDM reloc symndx to zero.
+	(elf64_alpha_relocate_section): Likewise.  Force TP-relative
+	relocs vs symndx 0 to the tp base.
+
+2003-01-21  Fabio Alemagna  <falemagn@aros.org>
+
+	* config.bfd: Handle i[3456]86-*-aros*.
+
+2003-01-21  Andreas Schwab  <schwab@suse.de>
+
+	* elf32-ppc.c (struct ppc_elf_dyn_relocs): Define.
+	(struct ppc_elf_link_hash_entry): Define.
+	(ppc_elf_hash_entry): New function.
+	(struct ppc_elf_link_hash_table): Define.
+	(ppc_elf_hash_table): New function.
+	(ppc_elf_link_hash_newfunc): New function.
+	(ppc_elf_link_hash_table_create): New function.
+	(ppc_elf_copy_indirect_symbol): New function.
+	(allocate_dynrelocs): New function.
+	(readonly_dynrelocs): New function.
+	(ppc_elf_size_dynamic_sections): Allocate space for dynamic
+	relocs and determine DT_TEXTREL.
+	(ppc_elf_check_relocs): Don't do that here, just count the
+	dynamic relocs.
+	(ppc_elf_gc_sweep_hook): Discard any dynamic relocs against the
+	removed section.
+	(bfd_elf32_bfd_link_hash_table_create): Define.
+	(elf_backend_copy_indirect_symbol): Define.
+
+2003-01-21  Richard Henderson  <rth@redhat.com>
+
+	* elf64-alpha.c (alpha_dynamic_entries_for_reloc): GOTTPREL and
+	TPREL also get a reloc if shared.  Remove SREL support.
+	(elf64_alpha_emit_dynrel): New.
+	(elf64_alpha_relocate_section): Use it.  Resolve dynamic TPREL
+	and GOTTPREL relocs to local symbols against the tp base.
+	(elf64_alpha_finish_dynamic_symbol): Use elf64_alpha_emit_dynrel.
+
+	* elf64-alpha.c (elf64_alpha_relax_got_load): Decrement got
+	use count before clobbering r_type.
+	(elf64_alpha_relax_tls_get_addr): Don't use pos[1] if insn
+	ordering would mean dataflow inspection is necessary.
+
+2003-01-20  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+	* coffcode.h (coff_set_flags): Added get/set arch hooks.
+
+2003-01-20  Fabio Alemagna  <falemagn@aros.org>
+
+	* elf32-sh.c: Treat elfNN_bed like other macros defined in
+	  elfxx-target.h and #undef it before #define'ing it.
+	* elf32-i386.c: Likewise.
+	* elf32-sh64.c: Likewise.
+	* elf64-alpha.c: Likewise.
+	* elf64-sh64.c: Likewise.
+
+2003-01-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* bfd-in2.h: Regenerate.
+	* elf32-s390.c (elf_s390_adjust_gotplt): New prototype.
+	(elf_howto_table): Rename R_390_GOTOFF to R_390_GOTOFF32. Add
+	R_390_GOTOFF16, R_390_GOTOFF64, R_390_GOTPLT12, R_390_GOTPLT16,
+	R_390_GOTPLT32, R_390_GOTPLT64, R_390_GOTPLTENT, R_390_PLTOFF16,
+	R_390_PLTOFF32 and R_390_PLTOFF64.
+	(elf_s390_reloc_type_lookup): Likewise.
+	(struct elf_s390_link_hash_entry): Add gotplt_refcount to keep track
+	of GOTPLT references to a function.
+	(link_hash_newfunc): Initialize gotplt_refcount.
+	(elf_s390_check_relocs): Move allocation of local_got_refcounts array
+	and creation of the got section out of the main switch. Add support
+	for the gotoff, gotplt and pltoff relocations.
+	(elf_s390_gc_sweep_hook): Add reference counting for gotoff, gotplt
+	and pltoff.
+	(elf_s390_adjust_gotplt): New function.
+	(elf_s390_adjust_dynamic_symbol): Adjust gotplt refcount for removed
+	plt entries.
+	(allocate_dynrelocs): Add comment.
+	(elf_s390_relocate_section): Change r_type to unsigned. Add support
+	for gotoff, gotplt and pltoff relocations.
+	* elf64-s390.c: Same changes as for elf32-s390.c.
+	* libbfd.h: Regenerate.
+	* reloc.c: Add BFD_RELOC_390_GOTOFF64, BFD_RELOC_390_GOTPLT12,
+	BFD_RELOC_390_GOTPLT16, BFD_RELOC_390_GOTPLT32, BFD_RELOC_390_GOTPLT64,
+	BFD_RELOC_390_GOTPLTENT, BFD_RELOC_390_PLTOFF16, BFD_RELOC_390_PLTOFF32
+	and BFD_RELOC_390_PLTOFF64.
+
+2003-01-18  Jakub Jelinek  <jakub@redhat.com>
+
+	* elfxx-ia64.c (elfNN_ia64_relocate_section): Handle
+	R_IA64_TPREL64[LM]SB against non-global symbol properly.
+
+2003-01-16  Jakub Jelinek  <jakub@redhat.com>
+
+	* elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add
+	self_dtpmod_done and self_dtpmod_offset.
+	(allocate_global_data_got): Only use one got entry for all
+	dtpmod relocs against local symbols.
+	(allocate_dynrel_entries): Only need .rela.got entry for
+	dtpmod against global symbol.
+	(elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset.
+	Reserve space in .rela.got for the local dtpmod entry.
+	(set_got_entry): Initialize the common local dtpmod .got entry.
+	(elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB
+	and R_IA_64_DTPREL64MSB.
+
+2003-01-16  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c: Include elf/ppc64.h rather than elf/ppc.h.
+	(R_PPC_*): Rename all occurrences to R_PPC64_*.
+	(R_PPC64_ADDR30): Rename all occurrences to R_PPC64_REL30.
+	(enum elf_ppc_reloc_type): Ditto to enum elf_ppc64_reloc_type.
+	(ppc64_elf_gc_sweep_hook): Handle R_PPC64_REL30 along with other
+	relative relocs, not with absolute ones.
+	* Makefile.am: Run "make dep-am".
+	* Makefile.in: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2003-01-15  Andreas Schwab  <schwab@suse.de>
+
+	* elf32-ppc.c (ppc_elf_check_relocs): Don't set DF_TEXTREL for a
+	relocation against a non-allocated readonly section.
+
+2003-01-10  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-ppc.c (ppc_elf_relocate_section): Adjust addend for GOT16_HA.
+	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.  PLTGOT16_HA too.
+
+2002-01-08  Klee Dienes  <kdienes@apple.com>
+
+	* Makefile.am (ALL_MACHINES): Use cpu-msp430.lo, not cpu-msp430.c.
+	(BFD32_BACKENDS): Use elf32-msp430.lo, not elf32-msp430.c.
+	* Makefile.in: Regenerate.
+
+2003-01-08  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elfn32-mips.c (prev_reloc_section): New.
+	(GET_RELOC_ADDEND): Use it.  Parenthesize macro arguments.
+	(SET_RELOC_ADDEND): Parenthesize macro argument.
+
+2003-01-07  John David Anglin  <dave.anglin@nrc.gc.ca>
+
+	* elf32-hppa.c (final_link_relocate): For all DP relative relocations,
+	adjust addil instructions if the symbol has no section.
+
+2003-01-07  DJ Delorie  <dj@redhat.com>
+
+	* elf32-xstormy16.c (xstormy16_elf_howto_table): Make REL_12 not
+	partial_inplace.
+
+2003-01-07  Andreas Schwab  <schwab@suse.de>
+
+	* elf32-m68k.c (elf_m68k_check_relocs): Don't set DF_TEXTREL for
+	PC relative relocations.
+	(elf_m68k_discard_copies): Set it here instead.
+
+2002-01-02  Ben Elliston  <bje@redhat.com>
+	    Jeff Johnston  <jjohnstn@redhat.com>
+
+	* Makefile.am (ALL_MACHINES): Add cpu-iq2000.lo.
+	(ALL_MACHINES_CFILES): Add cpu-iq2000.c.
+	(BFD32_BACKENDS): Add elf32-iq2000.lo.
+	(BFD32_BACKENDS_CFILES): Add elf32-iq2000.c.
+	(cpu-iq2000.lo): New target.
+	* Makefile.in: Regenerate.
+	* config.bfd: Handle iq2000-*-elf.
+	* archures.c (bfd_architecture): Add bfd_{arch,mach}_iq2000.
+	(bfd_archures_list): Add bfd_iq2000_arch.
+	* configure.in: Handle bfd_elf32_iq2000_vec.
+	* configure: Regenerate.
+	* reloc.c: Add BFD_RELOC_IQ2000_OFFSET_16, BFD_RELOC_IQ2000_OFFSET_21,
+	and BFD_RELOC_IQ2000_UHI16.
+	* targets.c (bfd_elf32_iq2000_vec): Declare.
+	(bfd_target_vector): Add bfd_elf32_iq2000_vec.
+	* elf.c (prep_headers): Set e_machine to EM_IQ2000.
+	* cpu-iq2000.c: New file.
+	* elf32-iq2000.c: Likewise.
+	* libbfd.h: Regenerate.
+	* bfd-in2.h: Likewise.
+
+2003-01-02  Richard Sandiford  <rsandifo@redhat.com>
+
+	* elfxx-mips.c: Include libiberty.h.
+	(elf_mips_isa, _bfd_mips_elf_mach_extends_p): Remove.
+	(mips_set_isa_flags): New function, split out from...
+	(_bfd_mips_elf_final_write_processing): ...here.  Only call
+	mips_set_isa_flags if the EF_MIPS_MACH bits are clear.
+	(mips_mach_extensions): New array.
+	(mips_32bit_flags_p): New function.
+	(_bfd_mips_elf_merge_private_bfd_data): Rework architecture checks.
+	Use mips_32bit_flags_p to check if one binary is 32-bit and the
+	other is 64-bit.  When adopting IBFD's architecture, adopt the
+	bfd_mach as well as the flags.
+
+2003-01-02  Nick Kelsey  <nickk@ubicom.com>
+
+	* elf32-ip2k.c: Re-work of linker relaxation code for the ip2k to
+	fix internal errors, fix bad code generation, fix incorrect stabs
+	information, and improve ability to eliminate redundant page
+	instructions. Added code to ip2k_final_link_relocate to self-verify
+	the linker relaxation.  Fix formatting problems.
+
+2002-12-30  Chris Demetriou  <cgd@broadcom.com>
+
+	* aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mipsisa32r2 case.
+	* archures.c (bfd_mach_mipsisa32r2): New define.
+	* bfd-in2.h: Regenerate.
+	* cpu-mips.c (I_mipsisa32r2): New enum value.
+	(arch_info_struct): Add entry for I_mipsisa32r2.
+	* elfxx-mips.c (elf_mips_isa, _bfd_elf_mips_mach)
+	(_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_32R2.
+	(_bfd_mips_elf_final_write_processing): Add
+	bfd_mach_mipsisa32r2 case.
+	(_bfd_mips_elf_merge_private_bfd_data): Handle merging of
+	binaries marked as using MIPS32 Release 2.
+
+2002-12-30    Dmitry Diky <diwil@mail.ru>
+
+	* Makefile.am: Add msp430 target.
+	* configure.in: Likewise.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* archures.c: Add msp430 architecture vector.
+	* config.bfd: Likewise.
+	* reloc.c: Add msp430 relocs.
+	* targets.c: Add msp320 target.
+	* cpu-msp430.c: New file: msp430 cpu detection.
+	* elf32-msp430.c: New file: msp430 reloc processing.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+
+2002-12-28  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf.c (elf_sort_sections): Don't reorder .tbss.
+	(assign_file_positions_for_segments): Only adjust off/voff
+	for increased alignment in PT_LOAD or PT_NOTE segment,
+	but adjust p_filesz for .tbss too.  in PT_LOAD consider
+	.tbss to have zero memory size.
+	(copy_private_bfd_data) [SECTION_SIZE]: Define.
+	[IS_CONTAINED_BY_VMA, IS_CONTAINED_BY_LMA]: Use it.
+	[INCLUDE_SECTION_IN_SEGMENT]: Only put SHF_TLS sections
+	into PT_TLS segment.  Never put SHF_TLS sections in
+	segments other than PT_TLS or PT_LOAD.
+
+	* elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Clear .plt
+	sh_entsize.
+
+2002-12-23  DJ Delorie  <dj@redhat.com>
+
+	* coff64-rs6000.c (xcoff64_ppc_relocate_section): Fix logic reversal.
+
+2002-12-23  Alan Modra  <amodra@bigpond.net.au>
+
+	* elflink.h (elf_link_output_extsym): Heed strip_discarded.
+
+2002-12-23  Nick Clifton  <nickc@redhat.com>
+
+	* archures.c (bfd_arch_get_compatible): Add third parameter
+	'accept_unknowns'.  Only accept unknown format BFDs if
+	accept_unknowns is true, or if the format is "binary".
+	* bfd-in2.h: Regenerate.
+
+2002-12-21  Nick Clifton  <nickc@redhat.com>
+
+	* coff-arm.c (coff_arm_relocate_section): Disable WINCE workaround
+	that subtracted 8 from pc relative relocations.
+
+2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
+
+	* coff-h8300.c: Fix comment typos.
+	* coffcode.h: Likewise.
+	* cpu-cris.c: Likewise.
+	* elf32-vax.c: Likewise.
+	* genlink.h: Likewise.
+	* linker.c: Likewise.
+	* som.c: Likewise.
+	* tekhex.c: Likewise.
+	* vms-misc.c: Likewise.
+
+2002-12-20  DJ Delorie  <dj@redhat.com>
+
+	* reloc.c: Add BFD_RELOC_XSTORMY16_12.
+	* libbfd.h: Regenerate.
+	* bfd-in2.h: Regenerate.
+	* elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_12.
+	(xstormy16_reloc_map): Add R_XSTORMY16_12.
+
+2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
+
+	* doc/bfdint.texi: Fix typos.
+
+2002-12-20  Paul Eggert  <eggert@twinsun.com>
+
+	Port to POSIX 1003.1-2001.
+	* acinclude.m4 (AM_INSTALL_LIBBFD): Do not rely on "test -o".
+	* configure.in (build-warnings): Likewise.
+	(Horrible hacks to build DLLs on Windows): Do not rely on "tail -1".
+	* aclocal.m4: Regenerate.
+	* config.in: Regenerate.
+	* configure: Regenerate.
+
+2002-12-19  Alan Modra  <amodra@bigpond.net.au>
+
+	* coff-h8300.c: Include libiberty.h.
+	(h8300_reloc16_extra_cases): Check the hash table creator before
+	referencing h8300 specific fields.  Stash the hash table pointer
+	in a local var.  Comment typo fixes.
+	(h8300_bfd_link_add_symbols): Likewise.
+
+	* reloc.c (struct reloc_howto_struct): Revise src_mask and
+	dst_mask comments.
+	* bfd-in2.h: Regenerate.
+
+2002-12-18  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-ppc.c (ppc_elf_relocate_section): Reorganize dynamic reloc
+	code a little.  Comment on dynamic relocs against section symbols.
+
+2002-12-17  Roger Sayle  <roger@eyesopen.com>
+
+	* configure.host (ia64-*-hpux*): Support 64 bit targets using
+	the HP compiler's "long long".
+
+2002-12-16  Andrew MacLeod  <amacleod@redhat.com>
+
+	* elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_LO16
+	and R_XSTORMY16_HI16) howto entries.
+	(xstormy16_reloc_map): Map R_XSTORMY16_{LO,HI}16 to BFD_RELOC_{LO,HI}16.
+	(xstormy16_info_to_howto_rela): Use R_XSTORMY16_GNU_VTINHERIT to
+	determine the start of the second reloc table.
+
+2002-12-16  Nathan Tallent  <eraxxon@alumni.rice.edu>
+
+	* ecofflink.c: Fix the reading of the debugging information
+	of Tru64/Alpha binaries that are produced by recent Compaq
+	compilers.
+	(mk_fdrtab): Fix error in creating the FDR (file descriptor)
+	table.
+	(lookup_line): Because of the strange information sometimes
+	generated by Compaq's recent compilers, change how the FDR
+	table is searched so that PDRs (procedure descriptors) are
+	correctly found.  Note that this change is really more of a hack;
+	however, I have included extensive documentation as to why
+	this is the best solution short of an extensive rewrite or
+	another hack.
+	(fdrtab_lookup): Add comments to explain the algorithm.
+
+2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elf-m10300.c (elf32_mn10300_link_hash_newfunc): Reorder
+	initializers to match struct declaration.
+
+2002-12-12  Alan Modra  <amodra@bigpond.net.au>
+
+	* dwarf2.c (comp_unit_contains_address): Comment typo fix.
+	* elf.c (get_program_header_size): Likewise.
+	* elf32-m32r.c (m32r_elf_lo16_reloc): Likewise.
+	(m32r_elf_generic_reloc): Likewise.
+	* elf32-ppc.c (ppc_elf_howto_init): Likewise.
+	* elflink.h (elf_bfd_discard_info): Likewise.
+
+2002-12-12  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-i386.c (elf_i386_finish_dynamic_sections): Add output_offset
+	to DT_JMPREL.  Use srelplt input section size for DT_PLTRELSZ and
+	DT_RELSZ adjustment, not output section.  Avoid writing tags when
+	unchanged.  Don't assume linker script is sane, adjust DT_REL too.
+	* elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Just use raw
+	size of srelplt for DT_PLTRELSZ.  Use srelplt input section size for
+	DT_RELASZ adjustment, not output section.  Avoid writing tags when
+	unchanged.  Adjust DT_RELA.
+	* elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Tweaks for better
+	formatting.  Avoid writing tags when unchanged.  Adjust DT_RELA.
+
+2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elfxx-mips.c (mips_elf_calculate_relocation): Don't divide
+	addend by 4.
+
+2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elfxx-mips.c (struct mips_got_entry): New.
+	(struct mips_got_info): Added got_entries field.
+	(mips_elf_got_entry_hash, mips_elf_got_entry_eq): New functions.
+	(mips_elf_local_got_index, mips_elf_got_page,
+	mips_elf_got16_entry): Re-implement in terms of new...
+	(mips_elf_create_local_got_entry): Rewrite to use got_entries.
+	Change return type.
+	(mips_elf_highest): Warning clean-up.
+	(mips_elf_create_got_section): Initialize got_entries.
+	(_bfd_mips_elf_check_relocs): Use got_entries to estimate
+	local got size.
+	(_bfd_mips_elf_size_dynamic_sections): Do not account for
+	GOT_PAGE entries, since we now reuse GOT16 entries.
+
+2002-12-10  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* aoutx.h (set_section_contents): Allow an otherwise unrepresentable
+	read-only section that lies after .text and before .data to be
+	written into the output file and included in a_text.
+	(translate_to_native_sym_flags): If an otherwise unrepresentable
+	section was merged with .text, convert its symbols to N_TEXT
+	symbols.
+	* libaout.h (aout_section_merge_with_text_p): New macro.
+
+2002-12-08  Alan Modra  <amodra@bigpond.net.au>
+
+	* bfd-in.h: Comment typo fix.  Formatting.
+	* bfd-in2.h: Regenerate.
+	* coff64-rs6000.c (xcoff64_openr_next_archived_file): Warning fix.
+	* elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): Prototype.
+	* elf64-mmix.c (mmix_dump_bpo_gregs): Warning fix.
+
+2002-12-05  Richard Henderson  <rth@redhat.com>
+
+	* elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21BI.
+	Only send PCREL21B though the plt.  Fix installed reloc type.
+	(elfNN_ia64_relocate_section): Give error for dynamic reloc
+	against PCREL22 or PCREL64I; clean up error messages for
+	branch relocs.
+
+2002-12-04  Kevin Buettner  <kevinb@redhat.com>
+
+	* elf64-mips.c (elf64_mips_grok_prstatus, elf64_mips_grok_psinfo):
+	New functions.
+	(elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
+
+2002-12-04  David Mosberger  <davidm@hpl.hp.com>
+
+	* cpu-ia64-opc.c: Add operand constant "ar.csd".
+
+2002-12-04  H.J. Lu <hjl@gnu.org>
+
+	* elfxx-ia64.c (get_local_sym_hash): Use section ID instead of
+	BFD address when constructing local name.
+
+2002-12-04  Andreas Schwab  <schwab@suse.de>
+
+	* elf32-m68k.c (struct elf_m68k_link_hash_table): Add sym_sec
+	member.
+	(elf_m68k_link_hash_table_create): Initialize it.
+	(elf_m68k_check_relocs): Handle symbols that are forced to be
+	local due to visibility changes.
+	(elf_m68k_adjust_dynamic_symbol): Likewise.
+	(elf_m68k_size_dynamic_sections): Likewise.
+	(elf_m68k_discard_copies): Likewise.
+	(elf_m68k_relocate_section): Likewise.
+
+2002-12-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_edit_opd): Correct typo.
+
+2002-12-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* srec.c (srec_write_symbols): Restore '$' prefix to address
+	accidentally removed in 2002-04-04 change.
+	(srec_get_symtab): Use 0 instead of `(long) FALSE'.
+
+2002-12-03  Nick Clifton  <nickc@redhat.com>
+
+	* elf32-ppc.c (apuinfo_list_init): New function.
+	(apuinfo_list_add): New function: Add a value to the list.
+	(apuinfo_list_length): New function: Return the number of
+	values on the list.
+	(apuinfo_list_element): New function: Return a value on the
+	list.
+	(apuinfo_list_finish): New function: Free the resources used
+	by the list.
+	(ppc_elf_begin_write_processing): New function.  Scan the
+	input bfds for apuinfo sections.
+	(ppc_elf_write_section): New function: Delay the creation of
+	the contents of an apuinfo section in an output bfd.
+	(ppc_elf_final_write_processing): New function.  Create the
+	contents of an apuinfo section in an output bfd.
+	(elf_backend_begin_write_processing): Define.
+	(elf_backend_final_write_processing): Define.
+	(elf_backend_write_section): Define.
+
+2002-12-03  Richard Henderson  <rth@redhat.com>
+
+	* cpu-ia64-opc.c (elf64_ia64_operands): Add ldxmov entry.
+
+2002-12-01  Stephane Carrez  <stcarrez@nerim.fr>
+
+	Fix PR savannah/1417:
+	* elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Don't adjust
+	branch if it goes to the start of the deleted region.
+
+2002-12-01  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* bfd-in2.h (bfd_mach_m6812): Rebuild.
+	* archures.c (bfd_mach_m6812_default, bfd_mach_m6812,
+	bfd_mach_m6812s): Declare.
+
+	* elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): New function.
+	(_bfd_m68hc12_elf_set_private_flags): Call it.
+	(_bfd_m68hc12_elf_print_private_bfd_data): Report processor version.
+	(_bfd_m68hc12_elf_merge_private_bfd_data): Merge the flags and
+	report microcontroller incompatibilities (HC12 vs HCS12).
+	(elf_backend_object_p): Update.
+
+2002-11-30  Alan Modra  <amodra@bigpond.net.au>
+
+	* bfd-in.h (TRUE_FALSE_ALREADY_DEFINED, BFD_TRUE_FALSE): Delete.
+	(enum bfd_boolean, boolean): Delete.
+	(bfd_boolean): Typedef to an int.
+	(FALSE, TRUE): Define.
+	* aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c, aout-cris.c,
+	aout-encap.c, aout-ns32k.c, aout-target.h, aout-tic30.c, aoutf1.h,
+	aoutx.h, archive.c, archive64.c, archures.c, bfd-in.h, bfd.c, bfdwin.c,
+	binary.c, bout.c, cache.c, cisco-core.c, coff-a29k.c, coff-alpha.c,
+	coff-apollo.c, coff-arm.c, coff-aux.c, coff-h8300.c, coff-h8500.c,
+	coff-i386.c, coff-i860.c, coff-i960.c, coff-ia64.c, coff-m68k.c,
+	coff-m88k.c, coff-mcore.c, coff-mips.c, coff-or32.c, coff-ppc.c,
+	coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c, coff-tic30.c,
+	coff-tic4x.c, coff-tic54x.c, coff-tic80.c, coff-w65.c, coff-we32k.c,
+	coff-z8k.c, coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c,
+	corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c,
+	cpu-cris.c, cpu-d10v.c, cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c,
+	cpu-h8300.c, cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c,
+	cpu-i860.c, cpu-i960.c, cpu-ia64.c, cpu-ip2k.c, cpu-m10200.c,
+	cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c, cpu-m68hc12.c, cpu-m68k.c,
+	cpu-m88k.c, cpu-mcore.c, cpu-mips.c, cpu-mmix.c, cpu-ns32k.c,
+	cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c,
+	cpu-rs6000.c, cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c,
+	cpu-tic4x.c, cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c,
+	cpu-w65.c, cpu-we32k.c, cpu-xstormy16.c, cpu-z8k.c, dwarf1.c,
+	dwarf2.c, ecoff.c, ecofflink.c, efi-app-ia32.c, efi-app-ia64.c,
+	elf-bfd.h, elf-eh-frame.c, elf-hppa.h, elf-m10200.c, elf-m10300.c,
+	elf-strtab.c, elf.c, elf32-arc.c, elf32-arm.h, elf32-avr.c,
+	elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c, elf32-fr30.c,
+	elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c, elf32-hppa.h,
+	elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
+	elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
+	elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
+	elf32-pj.c, elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-sh64-com.c,
+	elf32-sh64.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
+	elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
+	elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c,
+	elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c,
+	elfarm-oabi.c, elfcode.h, elfcore.h, elflink.c, elflink.h,
+	elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
+	elfxx-target.h, format.c, freebsd.h, genlink.h, hash.c, hp300hpux.c,
+	hppabsd-core.c, hpux-core.c, i386aout.c, i386linux.c, i386lynx.c,
+	i386mach3.c, i386msdos.c, i386os9k.c, ieee.c, ihex.c, irix-core.c,
+	libaout.h, libbfd-in.h, libbfd.c, libcoff-in.h, libecoff.h, libieee.h,
+	libnlm.h, liboasys.h, libpei.h, libxcoff.h, linker.c, lynx-core.c,
+	m68klinux.c, m68klynx.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c,
+	mmo.c, netbsd-core.c, netbsd.h, nlm.c, nlm32-alpha.c, nlm32-i386.c,
+	nlm32-ppc.c, nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c,
+	pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c, pe-mcore.c, pe-mips.c,
+	pe-sh.c, peXXigen.c, pef.c, pei-arm.c, pei-i386.c, pei-mcore.c,
+	pei-mips.c, pei-sh.c, peicode.h, ppcboot.c, ptrace-core.c, reloc.c,
+	reloc16.c, riscix.c, rs6000-core.c, sco5-core.c, section.c, simple.c,
+	som.c, som.h, sparclinux.c, sparclynx.c, srec.c, stabs.c, sunos.c,
+	syms.c, targets.c, tekhex.c, ticoff.h, trad-core.c, versados.c,
+	vms-gsd.c, vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h,
+	xcoff-target.h, xcofflink.c, xsym.c, xsym.h: Replace boolean with
+	bfd_boolean, true with TRUE, false with FALSE.  Simplify comparisons
+	of bfd_boolean vars with TRUE/FALSE.  Formatting.
+	* bfd-in2.h, libbfd.h, libcoff.h: Regenerate
+
+2002-11-28  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-bfd.h: Replace occurrences of Elf32_Internal_* and
+	Elf64_Internal_* with Elf_Internal_*.  Replace Elf_Internal_Rel
+	with Elf_Internal_Rela.
+	* elf-hppa.h, elf-m10200.c, elf-m10300.c, elf32-arc.c, elf32-arm.h,
+	elf32-avr.c, elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c,
+	elf32-fr30.c, elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c,
+	elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
+	elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
+	elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
+	elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-v850.c, elf32-vax.c,
+	elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
+	elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
+	elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c, elfarm-oabi.c,
+	elfcode.h, elflink.h, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c: Ditto.
+	* elf-hppa.h (elf_hppa_internal_shdr): Delete.  Use Elf_Internal_Shdr
+	throughout instead.
+	* elf.c (_bfd_elf_no_info_to_howto_rel): Delete.
+	* elfcode.h (elf_swap_reloca_in): Pass source operand as a bfd_byte *.
+	Remove INLINE keyword.
+	(elf_swap_reloc_in): Likewise.  Also clear r_addend.
+	(elf_swap_reloc_out, elf_swap_reloca_out): Pass destination operand
+	as a bfd_byte *.
+	(elf_write_relocs): Consolidate REL and RELA code.
+	(elf_slurp_reloc_table_from_section): Simplify REL code.
+	(NAME(_bfd_elf,size_info)): Populate reloc swap entries.
+	* elf-bfd.h (MAX_INT_RELS_PER_EXT_REL): Define.
+	* elflink.h (elf_link_read_relocs_from_section): Consolidate REL and
+	RELA code.
+	(elf_link_adjust_relocs): Likewise.  Don't malloc space for temp
+	reloc array, use a fixed size of MAX_INT_RELS_PER_EXT_REL.
+	(elf_link_output_relocs): Likewise.
+	(elf_reloc_link_order): Likewise.
+	(elf_finish_pointer_linker_section): Likewise.
+	(struct elf_link_sort_rela): Remove union.
+	(elf_link_sort_cmp1): Update to suit.
+	(elf_link_sort_cmp2): Here too.
+	(elf_link_sort_relocs): Consolidate REL and RELA code.  Fix memory
+	over-allocation for int_rels_per_ext_rel != 1 case.
+	* elf32-arm.h: Update all bfd_elf32_swap_reloc_out calls.
+	* elf32-i386.c: Likewise.
+	* elf32-cris.c: Likewise for bfd_elf32_swap_reloca_out.
+	* elf32-hppa.c, elf32-i370.c, elf32-m68k.c, elf32-ppc.c, elf32-s390.c,
+	elf32-sh.c, elf32-vax.c, elfxx-mips.c: Likewise.
+	* elf64-alpha.c: Likewise for bfd_elf64_swap_reloca_out.
+	* elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
+	elf64-sparc.c, elf64-x86-64.c: Likewise.
+	* elfxx-ia64.c: Likewise for bfd_elfNN_swap_reloca_out.
+	* elfxx-mips.c (sort_dynamic_relocs): Likewise for
+	bfd_elf32_swap_reloc_in.
+
+	* elf32-arm.h: Update elf32_arm_info_to_howto calls.
+	* elf32-mips.c: Likewise for mips_info_to_howto_rel.
+	(mips_elf64_swap_reloc_in): Zero r_addend.
+	(mips_elf64_be_swap_reloc_in): Likewise.
+	(mips_elf64_slurp_one_reloc_table): Simplify.
+
+	* elf64-alpha.c (alpha_elf_size_info): Populate reloc swap entries.
+	* elf64-hppa.c (hppa64_elf_size_info): Likewise.
+	* elf64-sparc.c (sparc64_elf_size_info): Likewise.
+
+2002-11-28  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* elf32-sh.c (sh_elf_relocate_section): Don't complain about
+	unresolved debugging relocs in dynamic applications.
+	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
+
+2002-11-26  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-eh-frame.c (ENSURE_NO_RELOCS): Disregard R_*_NONE relocs.
+	(_bfd_elf_discard_section_eh_frame): Don't discard duplicate CIEs
+	on a relocatable link.  Comment typos.
+	* elf.c (_bfd_elf_link_hash_newfunc): Assign elements of structure
+	in the order they are declared.  Clear elf_hash_value too.
+	(_bfd_elf_link_hash_table_init): Likewise assign in order.  Clear
+	eh_info and tls_segment.
+	* elflink.h (elf_link_input_bfd <emit_relocs>): Keep reloc offsets
+	sorted when discarding relocs by turning them into R_*_NONE.
+
+	* libbfd.c (warn_deprecated): Comment spelling.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2002-11-21  Richard Henderson  <rth@redhat.com>
+
+	* elflink.h (elf_link_add_object_symbols): Don't overwrite the
+	arch's st_other bits when merging visibilities.
+	(elf_link_output_extsym): Tidy clearing of visibility field.
+
+2002-11-21  Alan Modra  <amodra@bigpond.net.au>
+
+	* coff-mcore.c (SWAP_IN_RELOC_OFFSET): Define.
+	(SWAP_OUT_RELOC_OFFSET): Define.
+
+2002-11-20  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elf.c (_bfd_elf_link_hash_table_init): Make sure
+	can_refcount is properly extended to the type of
+	init_refcount.
+
+2002-11-19  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elfxx-mips.c (MIPS_RELOC_RELA_P): New macro.
+	(_bfd_mips_elf_relocate_section): Use it.
+
+	* elfxx-mips.c (MNAME): New macro.
+	(_bfd_mips_elf_check_relocs): Use it.
+	(_bfd_mips_elf_discard_info): Likewise.
+	(_bfd_mips_elf_final_link): Likewise.
+
+2002-11-19  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust
+	rel_hdr.sh_size too.
+
+2002-11-18  Klee Dienes  <kdienes@apple.com>
+
+	* Makefile.am (BFD32_LIBS): Add bfdwin.lo, bfdio.lo.
+	(BFD32_LIBS_CFILES): Add bfdwin.c, bfdio.c.
+	(BFD_H_FILES): Add bfdwin.c, bfdio.c.
+	(LIBBFD_H_FILES): Add bfdwin.c, bfdio.c.
+	Add dependencies for bfdwin.c, bfdio.c.
+	* bfd.c: Remove bfd_get_mtime, bfd_get_size.
+	* libbfd.c: Remove real_read, bfd_bread, _bfd_window_internal,
+	bfd_init_window, bfd_free_window, bfd_get_file_window, bfd_bwrite,
+	bfd_tell, bfd_flush, bfd_stat, bfd_seek.
+	* bfdio.c: New file.  Contains real_read, bfd_bread, bfd_write,
+	bfd_tell, bfd_flush, bfd_stat, bfd_seek, bfd_ge_mtime,
+	bfd_get_size (moved from libbfd.c and bfd.c).
+	* bfdwin.c New file.  Contains _bfd_window_internal,
+	bfd_init_window, bfd_free_window, bfd_get_file_window (moved from
+	libbfd.c and bfd.c).
+	* po/SRC-POTFILES.in: Regenerate.
+	* po/bfd.pot: Regenerate.
+	* libbfd.h: Regenerate.
+	* bfd-in2.h: Regenerate.
+	* aclocal.m4: Regenerate.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+
+2002-11-18  Klee Dienes  <kdienes@apple.com>
+
+	* bfd.c (bfd_preserve_save): Don't zero BFD_IN_MEMORY.
+
+2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
+
+	* coff-h8300.c (h8300_reloc16_estimate): Do not optimize away
+	jsr after a short jump.
+	* elf32-h8300.c (elf32_h8_relax_section): Likewise.
+
+2002-11-15  Klee Dienes  <kdienes@apple.com>
+
+	* pef.c (bfd_pef_convert_architecture): Move declaration of
+	ARCH_POWERPC and ARCH_M68K to the start of the function.
+
+2002-11-14  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+	* coff-tic4x.c (tic4x_howto_table): Formatting fixup
+
+2002-11-14  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs):
+	For bpo_gregs_section->contents, allocate _raw_size, not
+	_cooked_size.
+
+2002-11-13  Klee Dienes  <kdienes@apple.com>
+
+	* config.bfd: Add entries for powerpc-*-darwin and cousins.
+
+2002-11-13  H.J. Lu <hjl@gnu.org>
+
+	* elfcode.h (elf_object_p): Don't restore abfd->arch_info.
+
+2002-11-13  Klee Dienes  <kdienes@apple.com>
+	    Alan Modra  <amodra@bigpond.net.au>
+
+	* bfd.c (struct bfd_preserve): New.
+	(bfd_preserve_save): New function.
+	(bfd_preserve_restore): Ditto.
+	(bfd_preserve_finish): Ditto.
+	* bfd-in2.h: Regenerate.
+	* mach-o.c: Formatting.
+	(bfd_mach_o_scan_read_symtab_symbol): Make "value" unsigned.
+	(bfd_mach_o_object_p): Use bfd_preserve_save/restore/finish.
+	(bfd_mach_o_core_p): Ditto.
+	(bfd_mach_o_scan): Pass in mdata.
+	* mach-o.h (bfd_mach_o_scan): Update prototype.
+	* pef.c: Formatting.
+	(bfd_pef_object_p): Use bfd_preserve_save/restore/finish.
+	(bfd_pef_xlib_object_p): Ditto.
+	(bfd_pef_scan): Pass in mdata.  Move version check to bfd_pef_object_p.
+	* pef.h (bfd_pef_scan): Update prototype.
+	* xsym.c: Formatting, K&R fixes.
+	(bfd_sym_object_p): Use bfd_preserve_save/restore/finish.
+	(bfd_sym_scan): New function split out from bfd_sym_object_p.
+	* xsym.h (bfd_sym_scan): Declare.
+	* elfcode.h (elf_object_p): Use bfd_preserve_save/restore/finish.
+	* elfcore.h (elf_core_file_p): Likewise.
+	* targets.c (_bfd_target_vector): Revert 2002-11-08 change.
+
+2002-11-12  Nick Clifton  <nickc@redhat.com>
+
+	* po/da.po: Updated Danish translation.
+
+2002-11-12  Alan Modra  <amodra@bigpond.net.au>
+
+	* elflink.h (elf_link_add_object_symbols): Optimize stabs for
+	relocatable link too.
+	(elf_link_input_bfd): When emitting relocs, adjust offsets for
+	eh_frame and stab sections.  Zap deleted relocs.
+	(elf_reloc_symbol_deleted_p): Return true for zero r_symndx.
+	(elf_bfd_discard_info): Run for relocatable link too.
+	* elf64-ppc.c (ppc64_elf_edit_opd): Rename from edit_opd.  Make global.
+	Handle ld -r case.
+	(ppc64_elf_size_dynamic_sections): Don't call edit_opd from here.
+	* elf64-ppc.h (ppc64_elf_edit_opd): Declare.
+
+	* elf-bfd.h (struct cie_header): Move from elf_eh-frame.c.
+	(struct cie, struct eh_cie_fde, struct eh_frame_sec_info): Likewise.
+	(struct eh_frame_array_ent, struct eh_frame_hdr_info): Likewise.
+	(enum elf_link_info_type): Remove ELF_INFO_TYPE_EH_FRAME_HDR.
+	(struct eh_frame_hdr_info): Add "hdr_sec", remove "split".
+	(struct elf_link_hash_table): Add eh_info.
+	(struct elf_obj_tdata): Change eh_frame_hdr to an asection *.
+	(_bfd_elf_discard_section_eh_frame): Update prototype.
+	(_bfd_elf_discard_section_eh_frame_hdr): Likewise.
+	(_bfd_elf_write_section_eh_frame): Likewise.
+	(_bfd_elf_write_section_eh_frame_hdr): Likewise.
+	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Remove "ehdrsec"
+	param.  Get "hdr_info" from link hash table.
+	(_bfd_elf_discard_section_eh_frame_hdr): Remove "sec" param.  Get
+	header section from link hash table.  Save header section to elf_tdata.
+	(_bfd_elf_maybe_strip_eh_frame_hdr): Remove local "sec".  Use
+	header section from link hash table.  Don't alloc hdr_info.  Clear
+	hdr_sec instead of setting "strip".
+	(_bfd_elf_eh_frame_section_offset): Formatting.
+	(_bfd_elf_write_section_eh_frame): Remove "ehdrsec", add "info" param.
+	Get header section from link hash table.
+	(_bfd_elf_write_section_eh_frame_hdr): Remove "sec", add "info" param.
+	Get header section from link hash table.
+	* elf.c (map_sections_to_segments): Use cached eh_frame_hdr.
+	(get_program_header_size): Likewise.
+	(_bfd_elf_section_offset): Formatting.
+	* elflink.h (elf_link_create_dynamic_sections): Stash eh frame header
+	section pointer in link hash table.
+	(elf_bfd_final_link): Adjust _bfd_elf_write_section_eh_frame_hdr
+	and _bfd_elf_write_section_eh_frame calls.  Update comment about
+	eh_frame entries.
+	(elf_bfd_discard_info): Adjust _bfd_elf_discard_section_eh_frame and
+	_bfd_elf_discard_section_eh_frame_hdr calls.  Remove "ehdr".
+
+	* po/SRC-POTFILES.in: Regenerate.
+
+	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't zero
+	relocs for discarded FDEs.  Remove dead code.
+	(_bfd_elf_write_section_eh_frame_hdr): Remove dead code.
+	* elflink.h (elf_bfd_discard_info): Don't save edited relocs.
+	Tidy conditions under which stabs are edited.  Formatting.
+	* elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
+	from discarded relocs.
+	* elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Add reloc output
+	section adjustments after testing magic values.
+
+2002-11-12  Thomas Moestl <tmm@FreeBSD.org>
+
+	* elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Correct
+	references to large plt symbols.
+
+2002-11-12  Klee Dienes  <kdienes@apple.com>
+
+	* mach-o.c (bfd_mach_o_scan_read_thread): Don't re-use 'i' when
+	looking for an unused section name.
+
+2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
+
+	* coff-h8300.c: Fix formatting.
+	* elf32-h8300.c: Likewise.
+	* reloc16.c: Likewise.
+
+2002-11-09  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
+
+	* elf32-arm.h (elf32_arm_size_dynamic_sections): Don't strip output
+	section when dynamic section unused;  _bfd_strip_section_from_output
+	instead.
+
+2002-11-08  Alan Modra  <amodra@bigpond.net.au>
+
+	* targets.c (_bfd_target_vector): Disable pef_vec, pef_xlib_vec
+	and sym_vec.
+
+	* dwarf2.c: Revert last change.
+
+2002-11-07  Michal Ludvig  <mludvig@suse.cz>
+
+	* dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
+	_bfd_dwarf2_find_nearest_line): Use
+	bfd_simple_get_relocated_section_contents() instead of
+	bfd_get_section_contents().
+	* reloc.c (bfd_perform_relocation): Add sanity check.
+	* simple.c (simple_get_relocated_section_contents): If the section
+	does not have any relocs associated with it, just return the
+	unadjusted contents.
+
+2002-11-07  Hans-Peter Nilsson  <hp@axis.com>
+
+	* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOT,
+	case R_CRIS_32_GOT>: Correct test for filling in constant .got
+	contents, enabling for a non-DSO, for symbols defined in the
+	program with --export-dynamic.
+
+2002-11-07  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c: Comment typo fixes.
+	(ppc64_elf_merge_private_bfd_data): Allow BFD_ENDIAN_UNKNOWN input.
+
+2002-11-07  Nick Clifton  <nickc@redhat.com>
+
+	* po/da.po: Updated Danish translation.
+
+2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elf64-mips.c (mips_elf64_slurp_one_reloc_table): Generate
+	exactly three internal relocs per external reloc.  Set reloc_count
+	to the external reloc count.
+
+2002-11-06  Klee Dienes  <kdienes@apple.com>
+
+	 * coff-stgo32.c (stub_bytes): Mark as const.
+	 Fix comment formatting.
+
+2002-11-06  Klee Dienes  <kdienes@apple.com>
+
+	* Makefile.am (BFD32_BACKENDS): Add mach-o.lo, pef.lo, and
+	xsym.lo.
+	(BFD32_BACKENDS_CFILES): Add mach-o.c, pef.c, and xsym.c.
+	(SOURCE_HFILES): Add mach-o.h, pef.h, pef-traceback.h, xsym.h
+	* archures.c (enum bfd_architecture): Add bfd_arch_m98k.
+	* bfd.c (struct bfd): Add private data for mach-o, pef, and sym.
+	* targets.c (enum bfd_flavour): Add flavours for mach-o, pef, and
+	sym.
+	(_bfd_target_vector): Add target vectors for mach-o, pef, and sym.
+	* Makefile.in: Regenerate.
+	* doc/Makefile.in: Regenerate.
+	* bfd-in2.h: Regenerate.
+	* xsym.c: New file.  Contains support for the Apple/Metrowerks
+	xSYM debugging format.
+	* xsym.h: New file.
+	* pef.c: New file.  Contains support for the Apple Code Fragment
+	Manager Preferred Executable Format
+	* pef.h: New file.
+	* pef-traceback.h: New file.  Contains support for parsing PowerPC
+	traceback tables as used by PEF executables (and perhaps other
+	systems as well).
+	* mach-o.c: New file.  Contains support for the Mach-O object file
+	format.
+	* mach-o.h: New file.
+	* mach-o-target.c: New file.  Declares the mach-o targets
+	themselves.  Included three times by mach-o.c; each time with a
+	different set of macros set.
+
+2002-11-06  Graeme Peterson  <gp@qnx.com>
+
+	* Makefile.am: Remove entries for elf32-qnx.[ch].
+	* Makefile.in: Regenerate.
+	* config.bfd: Change arm-nto to use bfd_elf32_{big|little}arm_vec,
+	ppc-nto to use bfd_elf32_powerpc{le}_vec, sh-nto to use
+	bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
+	* configure.in: Remove support for bfd_elf32_sh{l}qnx_vec,
+	bfd_elf32_powerpc{le}qnx_vec, bfd_elf32_{big|little}armqnx_vec,
+	and bfd_elf32_i386qnx_vec, and removed elf32-qnx.lo from other targets.
+	bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
+	* configure: Regenerate.
+	* elf32-qnx.c: Remove.
+	* elf32-qnx.h: Remove.
+	* elf.c: Remove calls to QNX specific set_nonloadable_filepos,
+	is_contained_by_filepos, and copy_private_bfd_data_p.
+	* elf-bfd.h (struct elf_backend_data): Remove set_nonloadable_filepos,
+	is_contained_by_filepos, and copy_private_bfd_data_p.
+	* elf32-i386.c: Remove QNX extended bfd support.
+	* elf32-ppc.c: Remove QNX extended bfd support.
+	* elf32-sh.c: Remove QNX extended bfd support.
+	* elfarm-nabi.c: Remove QNX extended bfd support.
+	* targets.c: Remove qnx vectors.
+	* elfxx-target.h (elf_backend_set_nonloadable_filepos): Remove
+	(elf_backend_is_contained_by_filepos): Remove.
+	(elf_backend_copy_private_bfd_data_p): Remove.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2002-11-06  David O'Brien  <obrien@FreeBSD.org>
+	    Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-sparc.c (sparc64_elf_relocate_section): Adjust addend of
+	dynamic relocs against section symbols for the output section vma.
+
+2002-11-05  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-arm.h (t2a1_push_insn, t2a2_ldr_insn, t2a3_mov_insn,
+	t2a4_bx_insn, t2a5_pop_insn, t2a6_bx_insn): Remove.
+
+2002-11-05  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+	    Alan Modra  <amodra@bigpond.net.au>
+
+	* config.bfd (sh-*-linux*): Use bfd_elf*_sh64*lin_vec as sh64
+	vectors in target_selvecs.
+	(shle-*-netbsdelf*): Use bfd_elf*_sh64*nbsd_vec as sh64 vectors
+	in target_selvecs.
+	(sh-*-netbsdelf*): Likewise.
+	* configure.in (assocvecs): New variable.  Handle assocvecs like
+	selvecs.
+	* configure: Regenerate.
+	* format.c (bfd_check_format_matches): Store bfd_target pointers
+	in matching_vector instead of target names.  Select first target
+	from bfd_associated_vector that matches a list of ambiguous targets.
+	* targets.c (_bfd_associated_vector): New array.
+	(bfd_associated_vector): New variable.
+	(_bfd_target_vector): Add bfd_elf*_sh64*lin_vec.
+	* libbfd-in.h (bfd_associated_vector): Declare.
+	* libbfd.h: Regenerate.
+
+2002-11-05  Elias Athanasopoulos  <eathan@otenet.gr>
+
+	* vms-gsd.c (_bfd_vms_write_gsd): Check that symbol->udata.p is
+	non-NULL before dereferencing.
+
+2002-11-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* vms.c (vms_object_p): Restore the start address when returning
+	NULL.
+
+2002-11-04  Alan Modra  <amodra@bigpond.net.au>
+	    Hans-Peter Nilsson  <hp@axis.com>
+
+	* elflink.h (struct elf_final_link_info): Add shndxbuf_size.
+	(elf_bfd_final_link): Don't bother zeroing symtab_hdr fields.
+	Set up a larger symshndxbuf, and write it out.  Free it on
+	exit rather than freeing symbuf twice.  Correct section index
+	on output section symbol loop.
+	(elf_link_output_sym): Accumulate symbol extension section
+	indices, reallocating symshndxbuf rather than writing it out.
+	(elf_link_flush_output_syms): Don't flush symshndxbuf.
+	* elf.c (assign_section_numbers): Init i_shdrp to all zero.
+	Use bfd_zalloc to clear i_shdrp[0] too.
+
+2002-11-03  Stephen Clarke <stephen.clarke@earthling.net>
+
+	 * elf32-sh64-com.c (sh64_address_in_cranges): Use
+	_raw_size of cranges section if _cooked_size not yet set.
+
+2002-11-03  Hans-Peter Nilsson  <hp@axis.com>
+
+	* elf32-v850.c (v850_elf_relax_delete_bytes): Correct parameters
+	for bfd_elf32_swap_symbol_out.
+
+2002-10-31  David O'Brien  <obrien@FreeBSD.org>
+
+	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't mix
+	signed and unsigned in comparison.
+
+2002-10-30  Daniel Jacobowitz  <drow@mvista.com>
+
+	* coffcode.h: Remove extraneous '\'.
+
+2002-10-28  H.J. Lu <hjl@gnu.org>
+
+	* Makefile.am (targets.lo): Depend on Makefile instead of
+	config.status.
+	(archures.lo): Likewise.
+	* Makefile.in: Regenerated.
+
+2002-10-25  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Add
+	bfd_elf64_bigmips_vec and bfd_elf64_littlemips_vec to
+	targ_selvecs.
+
+2002-10-25  Jim Wilson  <wilson@redhat.com>
+
+	* elf64-sh64.c (sh_elf64_relocate_section): Call
+	_bfd_elf_rela_local_sym.  Handle relocs against STT_SECTION symbol
+	of SHF_MERGE section.
+
+2002-10-25  Hans-Peter Nilsson  <hp@axis.com>
+
+	* simple.c: Correct placement of ATTRIBUTE_UNUSED.
+
+2002-10-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+	* aoutx.h (NAME(aout,swap_ext_reloc_in)): Cast bytes->r_index to
+	unsigned int.  Cast RELOC_BASE10, RELOC_BASE13 and RELOC_BASE22 to
+	unsigned int.
+	(NAME(aout,final_link)): Cast enum used in assignment.
+	(aout_link_write_symbols): Cast enums in comparisons, int values to
+	boolean, enums in assignments to int.
+	(aout_link_input_section_std): Cast rel->r_index to unsigned int.
+	(aout_link_input_section_ext): Likewise.  Cast enums used in
+	comparisons with unsigned ints.
+	(aout_link_reloc_link_order): Cast enum to int in assignment.
+	* archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr
+	calls to char *.
+	* bfd-in.h (bfd_set_section_vma): Cast enum true to unsigned int in
+	assignment.
+	* bfd-in2.h (bfd_set_section_vma): Likewise.
+	* bfd.c (bfd_record_phdr): Cast enums in assignments.
+	* binary.c (bfd_alloc): Cast enum to long.
+	* coffgen.c (_bfd_coff_is_local_label_name): Cast return to boolean.
+	* dwarf2.c (read_abbrevs): Add casts to enum types.
+	(read_attribute_value): Likewise.
+	(arange_add): Cast result of bfd_zalloc call.
+	(comp_unit_contains_address): Return true and false.
+	(comp_unit_find_nearest_line): Cast return to boolean.
+	* format.c (bfd_check_format_matches, bfd_set_format): Likewise.
+	* gen-aout.c: define macro '_' if not defined.
+	* libbfd.c (bfd_realloc): Cast malloc and realloc to PTR.
+	(bfd_bwrite): Cast bfd_realloc to bfd_byte *.
+	(bfd_write_bigendian_4byte_int): Cast return to boolean.
+	(bfd_seek): Cast bfd_realloc to bfd_byte *.
+	(bfd_generic_is_local_label_name): Cast return to boolean.
+	* libcoff.h (_bfd_coff_adjust_symndx): Remove extraneous '\'.
+	* linker.c (_bfd_link_hash_newfunc): Cast bfd_hash_allocate result to
+	struct bfd_hash_entry *.
+	(_bfd_generic_link_hash_newfunc): likewise.
+	(_bfd_generic_final_link): Cast enum to unsigned int.
+	* merge.c (sec_merge_emit): Cast return to boolean.
+	(merge_strings): Add casts to const unsigned char *.
+	* reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int.
+	(bfd_generic_get_relocated_section_content): Cast enum to unsigned int.
+	* section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result
+	to struct bfd_hash_entry *.
+	(bfd_set_section_content): Add cast to PTR in comparison.
+	* simple.c (simple_dummy_warning, simple_dummy_undefined_symbol,
+	simple_dummy_reloc_overflow, simple_dummy_reloc_dangerous,
+	simple_dummy_unattached_reloc,
+	bfd_simple_get_relocated_section_contents): Add K&R declarations and
+	function definitions.
+	* srec.c (S3Forced): Initialize to false.
+	(srec_get_symtab): Cast return value from bfd_alloc to asymbol *.
+	* stabs.c (_bfd_link_section_stabs): Cast enum to int in comparisons.
+	(_bfd_discard_section_stabs): Likewise.  Also cast return to boolean.
+	* syms.c (bfd_is_undefined_symclass): Cast return to boolean.
+	(_bfd_stab_section_find_nearest_line): Cast enum to bfd_byte in
+	comparisons.
+
+2002-10-23  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf64-alpha.c (elf64_alpha_check_relocs): Only put maybe_dynamic
+	relocs into shared lib non-allocated reloc sections.
+
+2002-10-23  Nathan Tallent  <eraxxon@alumni.rice.edu>
+
+	* dwarf2.c (add_line_info): Ensure that the line_info_table is
+	sorted even when given an out-of-order line sequence.
+	(lookup_address_in_line_info_table): When an exact VMA match is
+	not found, return line information with the closest VMA.
+
+2002-10-23 Ross Alexander <ross.alexander@uk.neceur.com>
+
+	* elf64-hppa.c: Force DT_FLAGS to always be set.  Required by
+	HPUX 11.00 patch PHSS_26559.
+
+2002-10-22  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't move
+	the options section into a separate section unless IRIX 6
+	compatibility is enabled.
+
+2002-10-22  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elflink.h (struct elf_link_sort_rela): Turn rel and rela
+	into arrays.
+	(elf_link_sort_cmp1, elf_link_sort_cmp2): Adjust.
+	(elf_link_sort_relocs): Likewise.  Take int_rels_per_ext_rel
+	into account.
+	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Compose
+	R_MIPS_REL32 with R_MIPS64 if ABI_64_P.
+
+2002-10-21  Graeme Peterson  <gp@qnx.com>
+
+	* targets.c (_bfd_target_vector): Add missing qnx vectors.
+
+2002-10-21  Alan Modra  <amodra@bigpond.net.au>
+
+	* targets.c (bfd_target_list): Don't return the default target twice.
+
+2002-10-21  Elias Athanasopoulos  <eathan@otenet.gr>
+
+	* archive.c (_bfd_archive_bsd_update_armap_timestamp): Replace
+	perror with bfd_perror.
+
+2002-10-19  H.J. Lu <hjl@gnu.org>
+
+	* elflink.h (elf_link_add_object_symbols): Correctly handle
+	DT_RPATH and DT_RUNPATH.
+
+2002-10-19  Mark Kettenis  <kettenis@gnu.org>
+
+	* elf.c (elfcore_grok_note): Fix recognition on NT_PRXFPREG notes.
+
+2002-10-17  Denis Chertykov  <denisc@overta.ru>
+
+	* elf32-ip2k.c (ELF_MACHINE_ALT1): Define alternate machine code
+	for ip2k port.
+
+2002-10-17  Alan Modra  <amodra@bigpond.net.au>
+
+	* elfxx-target.h (USE_REL): Don't define as 1.
+	* elf32-arm.h (USE_REL): Provide a default define of 0.
+	Use #if rather than #ifdef when testing USE_REL.
+	* elf32-m32r.c: Likewise.
+
+	* elf32-arc.c (USE_REL): Define as 1.
+	* elf32-d10v.c (USE_REL): Likewise.
+	* elf32-m32r.c (USE_REL): Likewise.
+	* elf32-m68hc11.c (USE_REL): Likewise.
+	* elf32-m68hc12.c (USE_REL): Likewise.
+	* elf32-or32.c (USE_REL): Likewise.
+	* elfarm-nabi.c (USE_REL): Likewise.
+
+2002-10-16  Jakub Jelinek  <jakub@redhat.com>
+
+	* config.bfd (s390-*-linux*): Add targ64_selvecs.
+	(s390x-*-linux*): Add targ_selvecs.
+
+2002-10-16  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am (BFD32_BACKENDS): Remove elfarmqnx-nabi.lo,
+	elf32-i386-fbsd.lo, elf32-i386qnx.lo, elf32-ppcqnx.lo,
+	elf32-sh-lin.lo, elf32-sh64-lin.lo, elf32-sh-nbsd.lo,
+	elf32-sh64-nbsd.lo, elf32-shqnx.lo.  Add elf32-qnx.lo.
+	(BFD32_BACKENDS_CFILES): Likewise for corresponding C files.
+	(BFD64_BACKENDS): Remove elf64-sh64-lin.lo, elf64-sh64-nbsd.lo.
+	(BFD64_BACKENDS_CFILES): Likewise for corresponding C files.
+	(SOURCE_HFILES): Add elf32-qnx.h.
+	(BUILD_HFILES): Add bfdver.h.
+	Run "make dep-am".
+	* Makefile.in: Regenerate.
+	* configure.in Update bfd vector dependencies.
+	* configure: Regenerate.
+	* elf32-i386-fbsd.c: Delete.  Move code to elf32-i386.c.
+	* elf32-i386qnx.c: Likewise.
+	* elf32-ppcqnx.c: Delete.  Move code to elf32-ppc.c.
+	* elf32-sh-nbsd.c: Delete.  Move code to elf32-sh.c.
+	* elf32-sh-lin.c: Likewise.
+	* elf32-shqnx.c: Likewise.
+	* elf32-sh64-lin.c: Delete.  Move code to elf32-sh64.c.
+	* elf32-sh64-nbsd.c: Likewise.
+	* elf64-sh64-lin.c: Delete.  Move code to elf64-sh64.c.
+	* elf64-sh64-nbsd.c: Likewise.
+	* elfarmqnx-nabi.c: Delete.  Move code to elfarm-nabi.c.
+	* elf32-arm.h (ELF_MAXPAGESIZE): Always define.
+	* elf32-i386.c: Remove ELF_ARCH and ELF32_I386_C_INCLUDED tests.
+	* elf32-ppc.c: Remove ELF32_PPC_C_INCLUDED tests.
+	* elf32-qnx.h (elf_backend_set_nonloadable_filepos): Always define.
+	(elf_backend_is_contained_by_filepos): Likewise.
+	(elf_backend_copy_private_bfd_data_p): Likewise.
+	Globalize and move functions to..
+	* elf32-qnx.c: ..here.  New file.
+	* elf32-sh.c: Remove ELF_ARCH and ELF32_SH_C_INCLUDED tests.  Don't
+	emit target vectors when INCLUDE_SHMEDIA.
+	* elf32-sh64.c: Remove ELF_ARCH test.  Move TARGET_* etc. defines to
+	end of file.
+	* elf64-sh64.c: Remove ELF_ARCH test.
+	* elfarm-nabi.c: Remove ELFARM_NABI_C_INCLUDED test.
+	* po/BLD-POTFILES.in: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2002-10-16  Alan Modra  <amodra@bigpond.net.au>
+
+	* elflink.h (elf_link_add_object_symbols): Error out on dynamic objects
+	loaded with --just-symbols.
+
+	* elf32-i386qnx.c (TARGET_LITTLE_NAME): Define.
+	* elf32-ppcqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
+	* elf32-shqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
+	* elfarmqnx-nabi.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
+
+2002-10-15  Richard Henderson  <rth@redhat.com>
+
+	* Makefile.am (BFD64_BACKENDS): Remove elf64-alpha-fbsd.
+	(BFD64_BACKENDS_CFILES): Likewise.
+	* configure.in (bfd_elf64_alpha_freebsd_vec): Use elf64-alpha.
+	* elf64-alpha-fbsd.c: Remove file, move code ...
+	* elf64-alpha.c: ... here.
+	* Makefile.in, configure: Rebuild.
+
+2002-10-14  Richard Henderson  <rth@redhat.com>
+
+	* elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: Increment
+	VALUE, not ADDEND.
+
+2002-10-14  Stephen Clarke <stephen.clarke@superh.com>
+
+	* elf32-sh.c (elf_sh_link_hash_entry): Replace
+	datalabel_got_offset with union of datalabel_got
+	offset and refcount.
+	(sh_elf_link_hash_newfunc): Initialize datalabel_got.refcount.
+	(allocate_dynrelocs): Delete unnecessary code for
+	STT_DATALABEL type.  Create entry in got for
+	datalabel version of symbol if datalabel_got.refcount > 0.
+	(sh_elf_relocate_section): Use datalabel_got union.
+	(sh_elf_gc_sweep_hook): Pull common code to initialize
+	h and eh out of switch statement.  Declare seen_stt_datalabel.
+	Initialize it.  Decrement datalabel_got.refcount for
+	got relocs when seen_stt_datalabel is true.
+	Decrement local_got_refcounts entry for datalabel got relocs
+	of local symbols.
+	(sh_elf_copy_indirect_symbol): Copy datalabel_got field over.
+	(sh_elf_check_relocs): Declare seen_stt_datalabel.
+	Initialize it.  When seen_stt_datalabel is true, increment
+	datalabel_got refcount rather than got.refcount.
+	(sh_elf_finish_dynamic_symbol): Create relocs to
+	initialize got entry for datalabel version of symbol.
+
+2002-10-14  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am: Run "make dep-am".
+	(BFD_H_FILES): Remove version.h.
+	* bfd-in.h (BFD_VERSION, BFD_VERSION_DATE, BFD_VERSION_STRING): Move..
+	* version.h: ..to here.
+	* configure.in (bfd_version_date): Remove.
+	(AC_OUTPUT): Make bfdver.h from version.h.
+	* bfd.c: #include "bfdver.h".
+	* vms-hdr.c: Likewise.
+	* Makefile.in: Regenerate.
+	* bfd-in2.h: Regenerate.
+	* configure: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2002-10-14  Alan Modra  <amodra@bigpond.net.au>
+
+	* archures.c (bfd_mach_i386_i386, bfd_mach_i386_i8086,
+	bfd_mach_i386_i386_intel_syntax, bfd_mach_x86_64,
+	bfd_mach_x86_64_intel_syntax bfd_mach_ppc, bfd_mach_ppc64,
+	bfd_mach_rs6k, bfd_mach_d10v, bfd_mach_sh, bfd_mach_v850,
+	bfd_mach_arc_5, bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8,
+	bfd_mach_m32r, bfd_mach_frv, bfd_mach_frvsimple,
+	bfd_mach_ia64_elf64, bfd_mach_ia64_elf32,
+	bfd_mach_ip2022, bfd_mach_ip2022ext,
+	bfd_mach_s390_31, bfd_mach_s390_64, bfd_mach_xstormy16): Renumber.
+	* bfd-in2.h: Regenerate.
+
+2002-10-14  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* config.bfd (sh*eb-*-linux*, sh*-*-linux*): Add the alternative
+	endian vector to targ_selvecs.
+
+2002-10-13  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elfxx-mips.c (mips_elf_calculate_relocation): Take
+	save_addend argument.  Don't apply the 32-bit mask to a
+	GPREL32 value if it's to be used in another relocation.  Don't
+	use forced-check computation of local_p to decide whether to
+	add gp0 to GPREL16 value.  Don't use only the lowest 16 bits
+	of the addend of a non-in-place GPREL16 relocation.
+	(_bfd_mips_elf_relocate_section): Pass use_saved_addend_p to
+	mips_elf_calculate_relocation().
+
+2002-10-12  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* elf32-m68hc11.c (m68hc11_elf_relax_section): Don't treat relocs
+	with symbols in other sections if we relaxed something;  the sections
+	output offsets must be re-computed before.
+
+2002-10-12  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* elf32-m68hc11.c (m68hc11_elf_relax_section): Update symbols
+	handling to use Elf_Internal_Sym.
+	(m68hc11_elf_relax_delete_bytes): Likewise.
+
+2002-10-11  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* elf32-sh.c (sh_elf_optimized_tls_reloc, sh_elf_mkobject,
+	sh_elf_object_p, dtpoff_base): New functions.
+	(sh_elf_howto_table): Add TLS relocs.
+	(sh_reloc_map): Likewise.
+	(sh_elf_info_to_howto): Support TLS relocs.
+	(elf_sh_link_hash_entry): Add tls_type and tls_tpoff32.
+	(sh_elf_hash_entry, sh_elf_tdata, sh_elf_local_got_tls_type):
+	New macros.
+	(sh_elf_obj_tdata): New.
+	(elf_sh_link_hash_table): Add tls_ldm_got.
+	(sh_elf_link_hash_table_create): Clear refcount of tls_ldm_got.
+	(allocate_dynrelocs): Support TLS relocs.
+	(sh_elf_size_dynamic_sections): Likewise.
+	(sh_elf_relocate_section): Support TLS relocs.  Don't try to find
+	.rela.got section when found already.  Return false after printing
+	error about unresolvable relocation.
+	(sh_elf_gc_sweep_hook): Support TLS relocs.
+	(sh_elf_check_relocs): Likewise.
+	(sh_elf_finish_dynamic_symbol): Likewise.
+	(bfd_elf32_mkobject, elf_backend_object_p): Define for TLS case.
+	* reloc.c: Add SH TLS relocs.
+	* bfd-in2.h, libbfd.h: Regenerate.
+
+2002-10-11  Daniel Jacobowitz  <drow@mvista.com>
+
+	* Makefile.in: Regenerated.
+
+2002-10-11  Daniel Jacobowitz  <drow@mvista.com>
+
+	* Makefile.am: Run dep-am.
+	(BFD_H_DEP): Add simple.c and linker.c.
+	(BFD32_LIBS): Add simple.lo.
+	(BFD32_LIBS_CFILES): Add simple.c.
+	* Makefile.in: Regenerated.
+	* bfd-in2.h: Regenerated.
+	* simple.c: New file.
+
+2002-10-11  Alan Modra  <amodra@bigpond.net.au>
+
+	* coff-arm.c (record_arm_to_thumb_glue): Avoid type-punned pointers.
+	(record_thumb_to_arm_glue): Likewise.
+	* ecoff.c (ecoff_link_add_externals): Likewise.
+	* elf32-arm.h (record_arm_to_thumb_glue): Likewise.
+	(record_thumb_to_arm_glue): Likewise.
+	* elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise.
+	* elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
+	* elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
+	* elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
+	* elf64-ppc.c (func_desc_adjust): Likewise.
+	* elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
+	(sh64_elf64_create_dynamic_sections): Likewise.
+	* elflink.c (_bfd_elf_create_got_section): Likewise.
+	(_bfd_elf_create_dynamic_sections): Likewise.
+	(_bfd_elf_create_linker_section): Likewise.
+	* elflink.h (elf_add_default_symbol): Likewise.
+	(elf_link_create_dynamic_sections): Likewise.
+	(NAME(bfd_elf,size_dynamic_sections)): Likewise.
+	* elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Likewise.
+	* elfxx-mips.c (mips_elf_create_got_section): Likewise.
+	(_bfd_mips_elf_add_symbol_hook): Likewise.
+	(_bfd_mips_elf_create_dynamic_sections): Likewise.
+	* linker.c (generic_link_add_symbol_list): Likewise.
+	* xcofflink.c (xcoff_link_add_symbols): Likewise.
+
+	* elfxx-ia64.c (oor_brl, oor_ip): Conditionally define.
+
+	* elf64-ppc.c (edit_opd): Only zero opd syms when function is
+	completely removed.  Correct local sym adjustment.
+
+2002-10-10  Stephen Clarke <stephen.clarke@superh.com>
+
+	* elf32-sh.c (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
+	Correct mistake in calculation of address of .got.
+	* elf64-sh64.c (elf_sh64_pic_plt_entry_be,
+	elf_sh64_pic_plt_entry_le): Likewise.
+
+2002-10-09  Richard Shann <richard.shann@superh.com>
+	    Stephen Clarke <stephen.clarke@superh.com>
+
+	* Makefile.am: Add entries for elf32-sh64-lin.c and
+	elf64-sh64-lin.c. Regenerate.
+	* Makefile.in: Regenerate.
+	* config.bfd: Change sh64eb-*-linux* and sh64-*-linux*
+	to use sh64 vectors rather than sh vectors.
+	* configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
+	bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
+	* configure: Regenerate.
+	* elf32-sh64-lin.c: New file.
+	* elf64-sh64-lin.c: New file.
+	* targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
+	bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
+
+2002-10-08  H.J. Lu <hjl@gnu.org>
+
+	* elf32-i386.c (elf_i386_relocate_section): Re-arrange the
+	IE->LE transition for R_386_TLS_IE.
+
+2002-10-08  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (edit_opd): Correct test for discarded sections.
+
+2002-10-07  Mark Elbrecht  <snowball3@softhome.net>
+
+	* cofflink.c (mark_relocs): Don't mark relocations in excluded
+	sections.
+
+2002-10-07  Alan Modra  <amodra@bigpond.net.au>
+
+	* elflink.h (elf_link_input_bfd): Remove BFD_VERSION_DATE dependent
+	code.
+
+	* elf64-ppc.c (ppc64_elf_build_stubs): Increment .glink indx.
+
+2002-10-06  Alan Modra  <amodra@bigpond.net.au>
+
+	* opncls.c: Formatting.
+	(_bfd_new_bfd): Use a smaller section hash table.
+
+2002-10-05  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Set the type
+	of the other two relocations packed with a REL32 to NONE.
+
+2002-10-02  Stephen Clarke <stephen.clarke@superh.com>
+
+	* elf32-sh.c (elf_sh_link_hash_entry): Add gotplt_refcount.
+	(sh_elf_link_hash_newfunc): Initialize it.
+	(allocate_dynrelocs): Transfer gotplt refs from plt.refcount
+	to got.refcount for symbols that are forced local or when
+	we have direct got refs.
+	(sh_elf_gc_sweep_hook): Adjust gotplt_refcount.  Use it
+	to correctly adjust got.refcount and plt.refcount.
+	(sh_elf_copy_indirect_symbol): Copy gotplt_refcount across.
+	(sh_elf_check_relocs): Increment gotplt_refcount.
+
+2002-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf32-i386.c (elf_i386_relocate_section): Fix
+	movl foo@indntpoff, %eax IE->LE transition.
+
+2002-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD
+	sequence and its transitions.
+
+2002-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32
+	to st_value + addend in non-code sections.
+	* elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve
+	R_X86_64_DTPOFF32 to st_value + addend in non-code sections.
+
+2002-09-30  Gavin Romig-Koch  <gavin@redhat.com>
+	    Ken Raeburn  <raeburn@cygnus.com>
+	    Aldy Hernandez  <aldyh@redhat.com>
+	    Eric Christopher  <echristo@redhat.com>
+	    Richard Sandiford  <rsandifo@redhat.com>
+
+	* archures.c (bfd_mach_mips4120, bfd_mach_mips5400): New.
+	(bfd_mach_mips5500): New.
+	* cpu-mips.c (I_mips4120, I_mips5400, I_mips5500): New.
+	(arch_info_struct): Add corresponding entries here.
+	* elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_4120,
+	E_MIPS_MACH_5400 and E_MIPS_MACH_5500.
+	(_bfd_mips_elf_final_write_processing): Handle bfd_mach_mips4120,
+	bfd_mach_mips5400 and bfd_mach_mips5500.
+	(_bfd_mips_elf_mach_extends_p): New function.
+	(_bfd_mips_elf_merge_private_bfd_data): Use it to help merge
+	the EF_MIPS_MACH flags.
+	* bfd-in2.h: Regenerate.
+
+2002-09-28  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* elf32-vax.c (elf_vax_size_dynamic_section): Don't strip
+	.got sections.
+
+2002-09-28  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf.c (map_sections_to_segments): Correct test for start of
+	writable section in the same page as end of read-only section.
+
+2002-09-27  Matt Thomas  <matt@3am-software.com>
+
+	* elf32-vax.c (elf_vax_check_relocs): Remove unused
+	local_got_refcounts usage.  Remove allocation of got slot.
+	(elf_vax_gc_sweep_hook): Remove unused local_got_refcounts usage.
+	Remove de-allocation of got slot.
+	(elf_vax_size_dynamic_section): Fix some indentation.  Add hash
+	traversal for elf_vax_instantiate_got_entries.  Allow empty .got
+	sections to be GC'ed.
+	(elf_vax_instantiate_got_entries): New function.
+	(elf_vax_relocate_section): Simplify R_VAX_GOT32 handling.  Remove
+	tests that are now handled by elf_vax_instantiate_got_entries.
+	Assert GOT entry falls within .got section size.  Remove redundant
+	comparisions.  Fix comments.
+
+2002-09-27  Jakub Jelinek  <jakub@redhat.com>
+
+	* reloc.c: Add x86-64 TLS relocs.
+	* bfd-in2.h, libbfd.h: Rebuilt.
+	* elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit
+	relocs.  Add TLS relocs.
+	(x86_64_reloc_map): Add TLS relocs.
+	(elf64_x86_64_info_to_howto): Adjust for added TLS relocs.
+	(struct elf64_x86_64_link_hash_entry): Add tls_type field.
+	(GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define.
+	(elf64_x86_64_hash_entry): Define.
+	(struct elf64_x86_64_obj_tdata): New.
+	(elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define.
+	(struct elf64_x86_64_link_hash_table): Add tls_ld_got.
+	(link_hash_newfunc): Initialize tls_type.
+	(elf64_x86_64_link_hash_table_create): Initialize tls_ld_got.
+	(elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary.
+	(elf64_x86_64_mkobject): New.
+	(elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata.
+	(elf64_x86_64_tls_transition): New.
+	(elf64_x86_64_check_relocs): Add r_type variable and use it.
+	Handle TLS relocs.
+	(elf64_x86_64_gc_sweep_hook): Handle TLS relocs.
+	(allocate_dynrelocs): Allocate GOT space for TLS relocs.
+	(elf64_x86_64_size_dynamic_sections): Likewise.
+	(dtpoff_base, tpoff): New.
+	(elf64_x86_64_relocate_section): Handle TLS relocs.
+	(elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT
+	entries.
+	(bfd_elf64_mkobject): Define.
+
+	* elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
+	DF_STATIC_TLS if shared.
+
+2002-09-26  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* elfxx-mips.c (_bfd_mips_elf_fake_sections): Don't emit unneeded
+	empty relocation sections.
+
+2002-09-26  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc_build_one_stub): Don't build glink stubs here.
+	(ppc64_elf_build_stubs): Build them here instead.
+
+2002-09-24  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf32-sparc.c (elf32_sparc_relocate_section): Put R_SPARC_RELATIVE
+	addend into r_addend, not *r_offset.
+	(elf32_sparc_finish_dynamic_symbol): Likewise.
+	* elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at
+	R_SPARC_RELATIVE's r_offset.
+
+2002-09-23  Nathan Tallent  <eraxxon@alumni.rice.edu>
+
+	* dwarf2.c (decode_line_info): Update to correctly decode
+	the (non-standard DWARF2) out-of-order address sequences
+	generated by the Intel C++ 6.0 compiler for ia64-Linux.
+
+2002-09-23  Mark Elbrecht  <snowball3@softhome.net>
+
+	* config.bfd: For DJGPP targets, match with any cpu and any machine.
+
+2002-09-23  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs
+	for discarded FDEs.  Remove redundant assignment.
+	* elflink.h (elf_bfd_discard_info): Save edited relocs.
+
+2002-09-22  H.J. Lu <hjl@gnu.org>
+
+	* elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge
+	the relocation count between different .reloc sections.
+
+2002-09-21  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-ppc.c (ppc_elf_relocate_section): Allow ".sbss.*" and
+	".sdata.*" for R_PPC_SDAREL16, ".sbss2*" and ".sdata2*" for
+	R_PPC_EMB_SDA2REL.  Similarly for R_PPC_EMB_SDA21 and
+	R_PPC_EMB_RELSDA.
+
+	* elfcode.h (elf_slurp_reloc_table_from_section): Make "symcount"
+	unsigned.  Move "symcount" assignment out of loop.
+	* Makefile.am: Run "make dep-am".
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* po/SRC-POTFILES.in: Regnerate.
+
+2002-09-19  Nathan Tallent  <eraxxon@alumni.rice.edu>
+
+	* dwarf2.c (_bfd_dwarf2_find_nearest_line): If address length is
+	zero, set it to 8 for (non-standard) 64-bit DWARF2 formats
+	(e.g. IRIX64).
+
+2002-09-19  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Clear .got word
+	even if generating R_PPC_RELATIVE reloc.
+	(ppc_elf_relocate_section): Make sure relocation is performed
+	if skip == -2.  Clear memory at r_offset when creating dynamic
+	relocation.
+
+2002-09-19  Jakub Jelinek  <jakub@redhat.com>
+
+	* reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE,
+	BFD_RELOC_386_TLS_GOTIE): Add.
+	* bfd-in2.h, libbfd.h: Rebuilt.
+	* elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE
+	and R_386_TLS_GOTIE.
+	(elf_i386_reloc_type_lookup): Handle it.
+	(struct elf_i386_link_hash_entry): Change tls_type type to unsigned
+	char instead of enum, change GOT_* into defines.
+	(GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define.
+	(elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
+	(elf_i386_check_relocs): Likewise.  Avoid crash if local symbol is
+	accessed both as normal and TLS symbol.  Move R_386_TLS_LDM and
+	R_386_PLT32 cases so that R_386_TLS_IE can fall through.
+	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
+	(elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
+	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
+	(allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if
+	tls_type is GOT_TLS_IE_BOTH.
+	(elf_i386_size_dynamic_sections): Likewise.
+	(elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
+	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
+	(elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch
+	all 4 GOT_TLS_* TLS types.
+
+2002-09-19  Nick Clifton  <nickc@redhat.com>
+
+	* elflink.h (elf_fix_symbol_flags): When examining weak symbols,
+	follow indirect links.
+
+2002-09-19  Nathan Tallent  <eraxxon@alumni.rice.edu>
+
+	* ecoffswap.h (ecoff_swap_pdr_in) <isym, iline>: Update to
+	correctly sign-extend 32-bit ECOFF null values (0xffffffff, -1)
+	on 64 bit machines.
+	(ecoff_swap_sym_in) <iss>: Likewise.
+	* ecoff.c (_bfd_ecoff_slurp_symbolic_info): Fix error reading
+	ECOFF information: 'ioptMax' refers to the actual *size*
+	of the optimization symtab, not the number of entries.
+
+2002-09-19  Daniel Jacobowitz  <drow@mvista.com>
+
+	* elf32-arm.h (elf32_arm_adjust_dynamic_symbol): Update
+	ELF_LINK_HASH_NEEDS_PLT logic.
+
+2002-09-18  Daniel Jacobowitz  <drow@mvista.com>
+
+	* elfcode.h (elf_slurp_reloc_table_from_section): Check
+	correct relocation count.
+
+2002-09-17  Daniel Jacobowitz  <drow@mvista.com>
+
+	* bfd-in.h (bfd_get_dynamic_symcount): Define.
+	* bfd.c (struct _bfd): Add dynsymcount.
+	* bfd-in2.h: Regenerated.
+	* elf.c (_bfd_elf_canonicalize_dynamic_symtab): Set
+	abfd->dynsymcount.
+	* elfcode.h (elf_slurp_reloc_table_from_section): Check
+	for overflow.
+
+2002-09-17  Stan Cox <scox@redhat.com>
+
+	* elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3.
+	(mips_elf64_final_gp): Don't make up gp value.
+	* elfn32-mips.c (mips_elf_final_gp): Likewise.
+	* elfxx-mips.c (_bfd_mips_elf_final_link): Always create
+	.MIPS.options/.options section.
+
+2002-09-17  David O'Brien  <obrien@FreeBSD.org>
+
+	* elf32-i386-fbsd.c: Always label using the EI_OSABI method.
+	It is benign for FreeBSD < 4.1.  Minor reformatting.
+	* elf64-alpha-fbsd.c: Likewise.
+
+2002-09-17  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf32-i386.c (elf_i386_relocate_section) [R_386_TLS_TPOFF32]: Negate
+	addend.
+
+2002-09-17  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-alpha.c (alpha_elf_size_info): Make static.
+
+2002-09-17  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+	* coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
+	* cpu-tic4x.c: Ditto.
+
+2002-09-17  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* elf64-mips.c (define elf_backend_ignore_discarded_relocs): Remove
+	duplicate define.
+
+2002-09-16  Bruno Haible  <bruno@clisp.org>
+
+	* elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included
+	by a target variant implementation.
+	* elf64-alpha.c: Likewise.
+	* elf32-i386-fbsd.c: New file.
+	* elf64-alpha-fbsd.c: New file.
+	* targets.c: Support bfd_elf32_i386_freebsd_vec and
+	bfd_elf64_alpha_freebsd_vec.
+	* configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec,
+	bfd_elf64_alpha_freebsd_vec.
+	* Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo.
+	(BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c.
+	(BFD64_BACKENDS): Add elf64-alpha-fbsd.lo.
+	(BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c.
+	(elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies.
+	* config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD
+	specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate.
+
+2002-09-12  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf32-i386.c (dtpoff_base, tpoff): Don't crash if tls_segment is
+	NULL.
+	(elf_i386_relocate_section): Return false after printing error about
+	unresolvable relocation.
+
+2002-09-12  Nick Clifton  <nickc@redhat.com>
+
+	* elf32-arm.h (elf32_arm_final_link_relocate): Fix handling of
+	R_ARM_THM_PC11.
+
+2002-09-11  Jeffrey Law  <law@redhat.com>
+
+	* elf32-h8300.c (elf32_h8_relax_section): Fix typo.
+
+2002-09-11  Andrew Haley  <aph@cambridge.redhat.com>
+
+	* elf.c (_bfd_elf_find_nearest_line): Check functionname_ptr and
+	line_ptr before deciding we've found a symbol.
+
+2002-09-11  Nick Clifton  <nickc@redhat.com>
+
+	* po/da.po: New Danish translation file.
+	* configure.in (LINGUAS): Add 'da'.
+	* configure: Regenerate.
+
+2002-09-10  Michael Snyder  <msnyder@redhat.com>
+
+	* irix-core.c (do_sections, do_sections64): New functions.
+	(irix_core_core_file_p): Call new functions do_sections,
+	do_sections64, depending on corefile (32-bit or 64-bit).
+
+2002-09-09  Richard Henderson  <rth@redhat.com>
+
+	* elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
+	and PCREL21F like PCREL21B.
+
+2002-09-04  Kevin Buettner  <kevinb@redhat.com>
+
+	* config.bfd (mips*-*-irix6*): Add new ABI vectors.  Make n32 default
+	vector.
+
+2002-09-02  Nick Clifton  <nickc@redhat.com>
+
+	* elf32-v850.c (v850_elf_final_link_relocate): Use helpful
+	names instead of cryptically overloaded bfd_reloc error
+	codes.
+	(v850_elf_relocate_section): Likewise.
+	(v850_elf_relax_section): Replace caching of external symbols
+	with caching of internal symbols obtained from calling
+	bfd_elf_get_elf_syms().
+	Fixup problems with freeing cached allocated memory blocks.
+
+2002-09-02  Alan Modra  <amodra@bigpond.net.au>
+
+	* cpu-pj.c (scan_mach, compatible, arch_info_struct): Remove.
+	(bfd_pj_arch): Use bfd_default_scan.
+	* cpu-v850.c (scan): Remove.
+	(N): Use bfd_default_scan.
+	* cpu-z8k.c (scan_mach): Remove.
+	(arch_info_struct, bfd_z8k_arch): Reorganize so that the default is
+	first.  Use bfd_default_scan.
+
+	* ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded
+	bfd_mach constants.
+	(ecoff_get_magic): Likewise.
+	* elf32-v850.c (v850_elf_object_p): Likewise.
+	(v850_elf_final_write_processing): Likewise.
+	* mipsbsd.c (MY(set_arch_mach)): Likewise.
+	(MY(write_object_contents)): Likewise.
+	* coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
+	* coffcode.h (coff_write_object_contents): Likewise.
+	(coff_set_arch_mach_hook): Add comment describing machine == 0.
+	Remove unnecessary "machine" assignments.
+	(coff_write_relocs): Test for the absolute section sym by testing
+	section and flags.
+
+	* aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386
+	and bfd_mach_i386_i386_intel_syntax.
+	* pdp11.c (NAME(aout,machine_type)): Likewise.
+
+2002-08-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+	* bfd-in.h (align_power): Cast constants to bfd_vma type.
+	* bfd-in2.h (align_power): Likewise.
+
+2002-08-30  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am: Run "make dep-am".
+	* Makefile.in: Regenerate.
+
+	* cpu-avr.c (compatible): Don't use hard-coded mach constants.
+	* cpu-powerpc.c (powerpc_compatible): Likewise.
+	* cpu-rs6000.c (rs6000_compatible): Likewise.
+
+2002-08-28  Catherine Moore  <clm@redhat.com>
+
+	* elf32-v850.c (v850_elf_reloc_map): Add new relocs.
+	(v850-elf-reloc): Don't resolve pc relative relocs.
+	(v850_elf_ignore_reloc): New routine.
+	(v850_elf_final_link_relocate): Handle new relocs.
+	(v850_elf_relax_delete_bytes ): New routine.
+	(v850_elf_relax_section): New routine.
+	(bfd_elf32_bfd_relax_section): Define.
+	(HOWTO): New entries for new relocs.
+	* reloc.c (BFD_RELOC_V850_LONGCALL): New reloc.
+	(BFD_RELOC_V850_LONGJUMP): New reloc.
+	(BFD_RELOC_V850_ALIGN): New reloc.
+	* archures.c: Remove redundant v850ea architecture.
+	* cpu-v850.c: Remove redundant v850ea support.
+	* libbfd.h: Regenerate.
+	* bfd-in2.h: Regenerated.
+
+2002-08-28  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+	* config.bfd: Add tic4x-*-*coff* and c4x-*-*coff* target.
+	* configure.in: Add tic4x_coff vector files.
+	* configure: Regenerate.
+	* Makefile.am: Add tic4x target.
+	* Makefile.in: Regenerate.
+
+2002-08-27  Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+	* archures.c: Add the BFD arch type tic4x.
+	* bfd-in.h: Add BFD_IN_MEMORY flag.
+	* coff-tic4x.c: New file.
+	* coffswap.h (coff_swap_sym_out): Add preadjuster.
+	* cpu-tic4x.c: New file.
+	* targets.c: Added tic4x- in list of xvecs.
+	* ticoff.h: New file.
+	* bfd-in2.h: Regenerate.
+
+2002-08-27  Adam Nemet  <anemet@lnxw.com>
+
+	* elf32-arm.h (elf32_arm_finish_dynamic_sections): Set the last
+	bit of DT_INIT and DT_FINI for Thumb functions.
+
+2002-08-26  Alan Modra  <amodra@bigpond.net.au>
+
+	* coffcode.h (coff_set_arch_mach_hook): Handle W65MAGIC.
+
+2002-08-26  Alan Modra  <amodra@bigpond.net.au>
+
+	* aoutx.h (NAME(aout,reloc_type_lookup)): Handle BFD_RELOC_8.
+
+2002-08-24  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* elf32-sh.c (sh_elf_copy_indirect_symbol): New.
+	(create_got_section, allocate_dynrelocs, readonly_dynrelocs):
+	Likewise.
+	(struct elf_sh_pcrel_relocs_copied): Removed.
+	(struct elf_sh_dyn_relocs): New.
+	(struct elf_sh_link_hash_entry): Replace pcrel_relocs_copied
+	field with dyn_relocs.
+	(struct elf_sh_link_hash_table): Add short-cuts to get dynamic
+	sections and sym_sec.
+	(sh_elf_link_hash_newfunc): Clear dyn_relocs.
+	(sh_elf_link_hash_table_create): Clear shorts-cuts and sym_sec.
+	(sh_elf_create_dynamic_sections): Use create_got_section instead
+	of _bfd_elf_create_got_section.
+	(sh_elf_check_relocs): Likewise.
+	(sh_elf_create_dynamic_sections): Use short-cuts to the dynamic
+	sections.
+	(sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections,
+	sh_elf_relocate_section, sh_elf_check_relocs,
+	sh_elf_finish_dynamic_symbol, sh_elf_finish_dynamic_sections):
+	Likewise.
+	(sh_elf_adjust_dynamic_symbol): Handle nocopyreloc. Keep the
+	dynamic relocations and avoiding the copy relocation when we
+	didn't find any dynamic relocations in the section which has
+	contents or is read-only.
+	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
+	(sh_elf_size_dynamic_sections): Don't reset the size of
+	.rela.got section even if dynamic_sections_created flag is off.
+	Don't use sh_elf_discard_copies. Scan all input bfd and use
+	allocate_dynrelocs. Call readonly_dynrelocs to determine
+	whether we need DT_TEXTREL.
+	(sh_elf_adjust_dynamic_symbol): Use plt.refcount to determine
+	whether the symbol was never referred to.
+	(sh_elf_relocate_section): Use WILL_CALL_FINISH_DYNAMIC_SYMBOL.
+	(sh_elf_gc_sweep_hook): Fill with the real sweep function.
+	(sh_elf_check_relocs): Call create_got_section if the short-cut
+	to .got is null. Increment reference counters only instead of
+	allocating space on dynamic sections here. Don't conditionalize
+	uninitialized got.offset value when marking the symbol as a
+	global offset table entry. Keep relocations for symbols satisfied
+	by a dynamic library to avoid copy relocations for the symbol.
+	Set dynobj field of an elf hash table if needed.
+	(sh_elf_finish_dynamic_sections): Handle null section pointer
+	correctly.
+	(elf_backend_copy_indirect_symbol): Defined.
+	(elf_backend_can_refcount): Defined.
+
+2002-08-23  Nick Clifton  <nickc@redhat.com>
+
+	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Undo
+	previous change.  Add comment explaining why.
+
+2002-08-23  Stephen Clarke <stephen.clarke@superh.com>
+
+	* elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le): Copy
+	contents of .got.plt[2] to tr0, not address of .got.plt.
+	(sh_elf_finish_dynamic_symbol): Do not apply GOT_BIAS when
+	patching absolute plt entry. For shmedia plt entry, set bottom bit
+	of branch to plt0 as this is a branch to an shmedia instruction.
+	* elf64-sh64.c (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le):
+	Copy contents of .got.plt[2] to tr0, not address of .got.plt.
+	(elf_sh64_plt_entry_be, elf_sh64_plt_entry_le): Use ptrel to
+	branch to plt0.
+	(sh64_elf64_finish_dynamic_symbol): Do not apply GOT_BIAS when
+	patching absolute plt entry. For shmedia plt entry, branch to
+	plt0 is now ptrel, so use relative offset.  Set bottom bit of
+	branch target as it is a branch to an shmedia instruction.
+
+2002-08-23  Stephen Clarke <stephen.clarke@superh.com>,
+	    Richard Shann <richard.shann@superh.com>
+
+	* elf32-sh.c (sh_elf_finish_dynamic_sections): Set LSB of DT_INIT
+	value if .init is an SHmedia function.  Similarly for DT_FINI.
+	* elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
+
+2002-08-23  Stephen Clarke <stephen.clarke@superh.com>
+
+	* elf32-sh.c (sh_elf_size_dynamic_sections): Zero initialize
+	dynamic section.
+	* elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
+
+2002-08-22  Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use a simple
+	byte read when reading the return address register column.
+
+2002-08-22  Nick Clifton  <nickc@redhat.com>
+
+	* config.bfd: Add powepc64-*-*bsd* target.
+
+2002-08-22  Graeme Peterson  <gp@qnx.com>
+
+	* Makefile.am: Add entries for elf32-shqnx.c
+	* Makefile.in: Regenerate.
+	* config.bfd: Add support sh-*-nto* target.
+	* configure.in: Add support for bfd_elf32_sh{l}qnx_vec.
+	* configure: Regenerate.
+	* elf32-qnx.h: Changed typo "elf_i386qnx_*" to "elf_qnx_*" .
+	* elf32-sh.c: Do not include elf32-target.h if
+	ELF32_SH_C_INCLUDED is defined.
+	* elf32-shqnx.c: New file: Support for QNX.
+	* targets.c: Add bfd_elf32_sh{l}qnx_vec.
+
+2002-08-22  Nick Clifton  <nickc@redhat.com>
+
+	* po/tr.po: Updated Turkish translation.
+
+	* syms.c (_bfd_generic_read_minisymbols): Set bfd_error if the
+	symbols are not read.
+
+2002-08-22  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-m68hc11.c: Formatting fixes.
+	(elf32_m68hc11_gc_mark_hook): Correct params.  Remove unnecessary test.
+	* elf32-m68hc12.c: Formatting fixes.
+	(elf32_m68hc11_gc_mark_hook): Correct params.  Remove unnecessary test.
+
+2002-08-22  Alan Modra  <amodra@bigpond.net.au>
+
+	* coff-rs6000.c (rs6000coff_vec <object_flags>): Add SEC_CODE and
+	SEC_DATA.
+	(pmac_xcoff_vec): Likewise.
+	* coff64-rs6000.c (rs6000coff64_vec): Likewise.
+	(aix5coff64_vec): Likewise.
+
+2002-08-22  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-bfd.h (struct elf_backend_data): Add struct elf_backend_data
+	param to elf_backend_copy_indirect_symbol.
+	(_bfd_elf_link_hash_copy_indirect): Likewise.
+	* elflink.h (elf_add_default_symbol, elf_fix_symbol_flags): Adjust
+	calls to copy_indirect_symbol.
+	* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
+	* elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
+	* elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
+	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
+	* elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
+	* elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
+	* elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
+	* elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise.
+	* elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Likewise.
+	* elf.c (_bfd_elf_link_hash_copy_indirect): Likewise.  Properly
+	test refcounts for "used" values.
+
+2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Add PARAMS to
+	argument declaration.
+
+2002-08-19  Elena Zannoni <ezannoni@redhat.com>
+
+	* archures.c (bfd_mach_ppc_e500): Added.
+	* bfd-in2.h: Rebuilt.
+	* cpu-powerpc.c (bfd_powerpc_archs): Added e500.
+
+2002-08-19  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-m68hc12.c (elf_backend_can_gc_sections): False.
+
+2002-08-17  Andrew Cagney  <ac131313@redhat.com>
+
+	* elf.c (bfd_elf_get_elf_syms): Change type of `esym' to
+	`bfd_byte'.
+
+2002-08-17  Stan Cox  <scox@redhat.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Use the
+	IRIX 6 segment layout for NEWABI.
+
+2002-08-16  Stephen Clarke <stephen.clarke@superh.com>
+
+	* elf32-sh.c (sh_elf_gc_mark_hook): For sh64, skip indirect
+	symbols when looking for section referred to by a relocation.
+	* elf64-sh.c (sh_elf64_gc_mark_hook): Likewise.
+
+2002-08-15  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-i370.c: Move reloc enum to include/elf/i370.h.
+
+2002-08-15  Hans-Peter Nilsson  <hp@axis.com>
+
+	* elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add
+	missing check for whether the symbol is referenced by DSO before
+	unexporting it as an unneeded dynamic symbol.
+
+2002-08-14  H.J. Lu <hjl@gnu.org>
+
+	* libbfd.h: Regenerate.
+
+2002-08-14  H.J. Lu <hjl@gnu.org>
+
+	* config.bfd: Always add 64bit vectors to 32bit Linux/mips.
+
+2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* elf32-m68hc11.c (m68hc11_relax_group): New to relax group of
+	instructions.
+	(m68hc11_direct_relax): New to define table of relaxable instructions.
+	(find_relaxable_insn): New, find a relaxable insn.
+	(compare_reloc): New to compare two relocs.
+	(m68hc11_elf_relax_section): New, relax text sections.
+	(m68hc11_elf_relax_delete_bytes): New, delete bytes and adjust branchs.
+	(elf32_m68hc11_check_relocs): New function for GC support.
+	(elf32_m68hc11_relocate_section): New function for GC support.
+	(bfd_elf32_bfd_relax_section): Define to support linker relaxation.
+	(elf_backend_check_relocs): Likewise.
+	(elf_backend_relocate_section): Likewise.
+
+2002-08-13  H.J. Lu <hjl@gnu.org>
+
+	* elflink.h (NAME(bfd_elf,size_dynamic_sections): Don't count
+	definitions in shared objects when checking symbol with
+	undefined version.
+
+2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* elf32-m68hc11.c (elf32_m68hc11_gc_mark_hook): New for section GC.
+	(elf32_m68hc11_gc_sweep_hook): Likewise.
+	(elf_backend_gc_mark_hook): Define for GC section support.
+	(elf_backend_gc_sweep_hook): Likewise.
+	(elf_backend_can_gc_sections): Likewise.
+
+	* elf32-m68hc12.c: Likewise.
+
+2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* elf32-m68hc11.c (_bfd_m68hc11_elf_print_private_bfd_data): New.
+	(_bfd_m68hc11_elf_merge_private_bfd_data): New function.
+	(_bfd_m68hc11_elf_set_private_flags): New function.
+	Use them to set/check/print ELF flags specific to 68HC11.
+
+	* elf32-m68hc12.c (_bfd_m68hc12_elf_print_private_bfd_data): New.
+	(_bfd_m68hc12_elf_merge_private_bfd_data): New function.
+	(_bfd_m68hc12_elf_set_private_flags): New function.
+	Use them to set/check/print ELF flags specific to 68HC12.
+
+2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs;
+	fix masks for PC-rel relocs.
+	(m68hc11_elf_ignore_reloc): New function.
+
+	* elf32-m68hc12.c (m68hc12_elf_special_reloc): New to handle specific
+	68HC12 banked addressing relocs.
+	(m68hc12_phys_addr): New to compute physical address of banked memory.
+	(m68hc12_phys_page): Likewise for page.
+	(m68hc12_addr_is_banked): New to see if address is in banked area.
+	(elf_m68hc12_howto_table): Add new relocs and rename to xx12.
+
+2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* reloc.c (BFD_RELOC_M68HC11_RL_JUMP, BFD_RELOC_M68HC11_RL_GROUP,
+	BFD_RELOC_M68HC11_LO16, BFD_RELOC_M68HC11_PAGE,
+	BFD_RELOC_M68HC11_24): New relocs for 68HC11/68HC12.
+	* bfd-in2.h: Regenerate.
+
+2002-08-12  H.J. Lu <hjl@gnu.org>
+
+	* elflink.h (elf_add_default_symbol): Preserve section across
+	elf_merge_symbol.
+
+2002-08-09  Graeme Peterson  <gp@qnx.com>
+
+	* Makefile.am: Add entries for elf32-ppcqnx.c, and add
+	elf32-qnx.h dependency to elfarmqnx-nabi.c and elf32-i386qnx.c.
+	* Makefile.in: Regenerate.
+	* config.bfd: Add support for powerpc{le}-*-nto targets.
+	* configure.in: Add support for bfd_elf32_powerpc{le}qnx_vec.
+	* configure: Regenerate.
+	* elf32-i386qnx.c: Moved backend functions into a QNX specific
+	common file "elf32-qnx.h", and now include that file.
+	* elf32-qnx.h: New file: QNX specific common elf backend.
+	* elf32-ppc.c: Do not include elf32-target.h if
+	ELF32_PPC_C_INCLUDED is defined.
+	* elf32-ppcqnx.c: New file: Support for QNX.
+	* elfarmqnx-nabi.c: Include elf32-qnx.h for qnx elf backend.
+	* targets.c: Add bfd_elf32_powerpc{le}qnx_vec.
+
+2002-08-09  Nick Clifton  <nickc@redhat.com>
+
+	* po/sv.po: Updated Swedish translation.
+
+2002-08-09  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if
+	g->global_gotsym is NULL.
+
+2002-08-08  H.J. Lu <hjl@gnu.org>
+
+	* elflink.h (elf_add_default_symbol): Don't warn if a definition
+	overrides an indirect versioned symbol.
+
+2002-08-08  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
+	for R_386_TLS_TPOFF32 relocs against symndx 0.
+
+2002-08-07  H.J. Lu <hjl@gnu.org>
+
+	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Check symbol
+	with undefined version if needed.
+	(elf_link_assign_sym_version): Match a default symbol with a
+	version without definition. No need to hide the default
+	definition separately.
+
+2002-08-08  Alan Modra  <amodra@bigpond.net.au>
+
+	* elflink.h (elf_link_output_extsym): Don't output symbols from
+	SEC_EXCLUDE sections.
+
+	* aoutx.h (aout_link_write_symbols): Correct handling of warning syms.
+
+2002-08-07  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd
+	entries.
+
+2002-08-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signedness
+	mismatch.
+
+2002-08-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* elfxx-mips.c (ABI_64_P): Remove superfluous check.
+
+2002-08-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* elf32-mips.c (mips_reloc_map): Fix typo.
+
+2002-08-06  Alan Modra  <amodra@bigpond.net.au>
+
+	* xcofflink.c (xcoff_write_global_symbol): Set n_scnum for abs_section.
+
+2002-08-06  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_howto_raw): Zero all src_mask entries.
+
+2002-08-06  Alan Modra  <amodra@bigpond.net.au>
+
+	* libxcoff.h: Use PARAMS on function declarations.
+	* coff-rs6000.c (xcoff_generate_rtinit): Simplify size calc.
+	* coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
+
+	* coff-rs6000.c: (xcoff_rtype2howto): Don't place reloc address in
+	addend.
+	* coff64-rs6000.c: (xcoff64_rtype2howto): Likewise.
+
+2002-08-06  Alan Modra  <amodra@bigpond.net.au>
+
+	* coff-rs6000.c: Formatting fixes.
+	(xcoff_calculate_relocation): Use PARAMS in declaration.
+	(xcoff_complain_overflow): Likewise.
+	(xcoff_ppc_relocate_section): Use old-style function pointer call.
+	(bfd_xcoff_backend_data): Remove useless comments.
+	(rs6000coff_vec): Likewise.
+	(bfd_pmac_xcoff_backend_data): Likewise.
+	(pmac_xcoff_vec): Likewise.
+
+	* coff64-rs6000.c: Formatting fixes.
+	(xcoff64_calculate_relocation): Use PARAMS in declaration.
+	(xcoff64_ppc_relocate_section): Use old-style function pointer call.
+	(bfd_xcoff_backend_data): Remove useless comments.
+	(rs6000coff64_vec): Likewise.
+	(bfd_xcoff_aix5_backend_data): Likewise.
+	(aix5coff64_vec): Likewise.
+
+2002-08-06  Alan Modra  <amodra@bigpond.net.au>
+
+	* coff-rs6000.c (xcoff_howto_table): Revert some of last change to
+	mask entries.  Use complain_overflow_dont for R_REF.
+	(xcoff_reloc_type_ba): Revert last change.
+	(xcoff_reloc_type_br): Likewise.
+	(xcoff_reloc_type_crel): Likewise.
+	(xcoff_ppc_relocate_section): Likewise.
+	* coff64-rs6000.c (xcoff64_reloc_type_br): Likewise.
+	(xcoff64_ppc_relocate_section): Likewise.
+	(xcoff64_howto_table): Revert some of last change to mask entries.
+	Use complain_overflow_dont for R_REF.
+
+	* coff-rs6000.c (xcoff_howto_table): Fix src_mask entries.  Make all
+	relocs with bitsize == 16 have size = 1.
+	(xcoff_reloc_type_ba): Correct src_mask and dst_mask adjustment.
+	(xcoff_reloc_type_br): Likewise.
+	(xcoff_reloc_type_crel): Likewise.
+	(xcoff_ppc_relocate_section): Set up src_mask and dst_mask correctly.
+	* coff64-rs6000.c (xcoff64_reloc_type_br): Correct src_mask and
+	dst_mask adjustment.
+	(xcoff64_ppc_relocate_section): Set up src_mask and dst_mask correctly.
+	(xcoff64_howto_table): Fix src_mask entries.  Make all relocs with
+	bitsize == 16 have size = 1.
+
+2002-08-01  Denis Chertykov  <denisc@overta.ru>
+
+	* elf32-ip2k.c: Processor manufacturer changed to Ubicom.
+	(struct misc): New field isymbuf. All free_* fields removed.
+	(symbol_value): Pass in internal syms. No need to swap syms in.
+	(ip2k_elf_relax_section): Use bfd_elf_get_elf_syms. Properly free
+	possibly cached info.
+	(tidyup_after_error): Removed.
+	(ip2k_elf_relax_section_pass1): Don't use removed fields of struct
+	misc. Use new field.
+	(adjust_all_relocations): Use internal syms. No need to swap syms
+	in and out.
+	(add_page_insn): Don't use removed fields of struct misc.
+
+2002-08-01  Nick Clifton  <nickc@redhat.com>
+
+	* elf32-arm.h: Revert previous delta.
+
+2002-08-01  Nick Clifton  <nickc@redhat.com>
+
+	* configure.in (AM_INIT_AUTOMAKE): Bump version number.
+	* configure: Regenerate.
+
+2002-07-31  H.J. Lu <hjl@gnu.org>
+
+	* config.bfd: Add x86-64 vector to Linux/i386 if 64bit BFD is
+	selected.
+
+2002-07-31  H.J. Lu <hjl@gnu.org>
+
+	* config.bfd: Add n32 vectors to 32bit Linux/mips if 64bit BFD
+	is selected.
+
+2002-07-31  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type
+	if _bfd_elf_link_hash_copy_indirect will swap got.refcount.
+
+2002-07-31  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
+
+	* cpu-ns32k.c (_bfd_ns32k_put_immdeiate, _bfd_ns32k_get_immediate):
+	There is no 8 byte relocation type for this architecture.
+	(do_ns32k_reloc): Use bfd_vma instead of native types.
+	(bfd_ns32k_put_immediate, _bfd_ns32k_relocate_contents) put_data
+	returns void.
+	(_bfd_ns32k_put_displacement): Don't check for overflow. We can
+	rely on generic code to do that.
+	* aout-ns32k.c (howto_table): Add appropriate overflow detection
+	to all table entries.
+	(_bfd_ns32k_relocate_contents): put_data returns void.
+	* ns32k.h: (_bfd_ns32k_put_displacement, _bfd_ns32k_put_immediate)
+	(_bfd_do_ns32k_reloc_contents): Fix prototypes. put data functions
+	return void.
+
+2002-07-31  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
+
+	* aoutx.h (aout_link_check_ar_symbols): Whether to include an
+	archive object is target dependant.
+
+2002-07-31  Adam Nemet  <anemet@lnxw.com>
+
+	* elf32-arm.h (ARM_PLT_ENTRY_SIZE): Rename PLT_ENTRY_SIZE.
+	(THUMB_PLT_ENTRY_SIZE): New macro.
+	(PLT_ENTRY_SIZE): Return the appropriate *_PLT_ENTRY_SIZE.
+	(elf32_arm_plt0_entry): Rename PLT_ENTRY_SIZE to
+	ARM_PLT_ENTRY_SIZE.
+	(elf32_arm_plt_entry): Likewise.
+	(elf_backend_plt_header_size): Likewise.
+	(elf32_thumb_plt0_entry): New global.
+	(elf32_arm_finish_dynamic_sections): Use it.  Put Thumb entries
+	into .plt.thumb.
+	(elf32_thumb_plt_entry): New global.
+	(elf32_arm_finish_dynamic_symbol): Use it.  Use .thumb.plt for
+	Thumb entries.  Set the bottom bit of the corresponding GOT entry
+	for a Thumb PLT entry.
+	(struct elf32_arm_plt_entry_info): New structure.
+	(struct elf32_arm_link_hash_entry, plt_info): New member of this
+	type.
+	(elf32_arm_link_hash_newfunc): Initialize new member.
+	(elf32_arm_final_link_relocate, R_ARM_THM_PC22 case): Handle
+	relocations against the PLT.
+	(elf32_arm_check_relocs, case R_ARM_PLT32 case): Set
+	first_rel_type if this is the first time we encounter the symbol.
+	(elf32_arm_check_relocs, case R_ARM_THM_PC22 case): New case.
+	Determine if relocation needs a PLT entry.  Set first_rel_type if
+	this is the first time we encounter the symbol
+	(elf32_arm_adjust_dynamic_symbol): Create PLT entries for Thumb
+	functions as well.
+	(elf32_arm_size_dynamic_sections): Handle .plt.thumb like .plt.
+	(elf32_arm_create_dynamic_sections): New function.  Create the
+	.plt.thumb section.
+	(elf_backend_create_dynamic_sections): Call it.
+
+2002-07-31  Nick Clifton  <nickc@redhat.com>
+
+	* bfd.c (bfd_alt_mach_code): Rename parameter 'index' to
+	'alternative' in order to avoid shadowing global symbol of the
+	same name.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+	* libcoff.h: Regenerate.
+
+2002-07-31  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* Makefile.am: Add n32 ABI support.
+	* Makefile.in: Regenerate.
+	* config.bfd: Add n32 vectors to mips64*-*-linux* targets. Treat 64
+	bit vectors for mips*-*-linux targets as optional.
+	* configure.in: Add n32 ABI vectors.
+	* configure: Regenerate.
+	* elf32-mips.c (mips_elf32_object_p): Reject n32 ABI files.
+	* elfn32-mips.c: New file, n32 ABI support.
+	* targets.c: Add n32 ABI vectors.
+
+2002-07-30  Graeme Peterson  <gp@qnx.com>
+
+	* elfarmqnx-nabi.c: New file: Support for QNX.
+	* config.bfd: Add support for arm-*-nto target.
+	* configure.in: Add support for bfd_elf32_{big|little}armqnx_vec.
+	* configure: Regenerate.
+	* Makefile.am: Add entries for elfarmqnx-nabi.c.
+	* Makefile.in: Regenerate.
+	* elf32-arm.h (ELF_MAXPAGESIZE): Do not define if already defined.
+	Do not define global function if ELFARM_NABI_C_INCLUDED is defined.
+	* elfarm-nabi.c: Do not include elf32-arm.h if
+	ELFARM_NABI_C_INCLUDED is defined.
+	* targets.c: Add bfd_elf32_{big|little}armqnx_vec.
+
+2002-07-30  Nick Clifton  <nickc@redhat.com>
+
+	* po/sv.po: Updated Swedish translation.
+
+2002-07-30  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type.
+
+2002-07-30  Alan Modra  <amodra@bigpond.net.au>
+
+	* aoutx.h (some_aout_object_p): Clean up tdata properly on error.
+	* archive.c (bfd_generic_archive_p): Likewise.
+	* coff-rs6000.c (_bfd_xcoff_archive_p): Likewise.
+	(_bfd_xcoff_archive_p): Use bfd_scan_vma in place of strtol.
+	* coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
+	(xcoff64_archive_p): Likewise.
+	(xcoff64_openr_next_archived_file): Likewise.
+	(xcoff64_archive_p): Clean up tdata properly on error.
+	* coffgen.c (coff_real_object_p): Likewise.
+	(coff_object_p): Release filehdr and opthdr.
+	* ecoff.c (_bfd_ecoff_archive_p): Clean up tdata properly on error.
+	* ieee.c (ieee_archive_p): Likewise.
+	* ihex.c (ihex_object_p): Likewise.
+	(ihex_mkobject): Always allocate tdata.
+	* peicode.h (pe_ILF_object_p): Release bfd_alloc'd buffer on error.
+	* srec.c (srec_mkobject): Always allocate tdata.
+	(srec_object_p): Clean up tdata properly on error.
+	(symbolsrec_object_p): Likewise.
+	* versados.c (versados_object_p): Likewise.
+	* vms-misc.c (_bfd_vms_get_record): Use bfd_malloc instead of malloc,
+	and bfd_realloc instead of realloc.
+	(add_new_contents): Use bfd_alloc instead of bfd_malloc for sections.
+	* vms.c (vms_initialize): Always allocate tdata.  Use bfd_alloc in
+	place of bfd_malloc, simplifying error freeing.  Free hash table too.
+	(vms_object_p): Clean up tdata on error.
+	(vms_mkobject): Don't complain on stderr if vms_initialize fails.
+	(vms_close_and_cleanup): Adjust for bfd_alloc use.
+
+2002-07-30  Alan Modra  <amodra@bigpond.net.au>
+
+	* elfxx-ia64.c (elfNN_ia64_final_write_processing): Set e_flags.
+
+2002-07-26  Chris Demetriou  <cgd@broadcom.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
+	flags into resulting BFD.
+
+2002-07-26  Alan Modra  <amodra@bigpond.net.au>
+
+	From John Reiser <jreiser@BitWagon.com>
+	* elf32-i386.c (elf_i386_link_hash_table_create): Clear
+	tls_ldm_got.refcount.
+
+2002-07-25  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* elf64-mips.c: Update TODO comment.
+	(mips_elf64_higher_reloc,mips_elf64_highest_reloc,
+	mips_elf64_gprel16_reloca): Remove prototypes.
+	(mips16_jump_reloc,mips16_gprel_reloc): Add functions.
+	(UNUSED_RELOC): Replace by EMPTY_RELOC.
+	(mips_elf64_howto_table_rel): Use special R_MIPS_HI16 handling. Remove
+	wrong comments. Remove disfunctional support of R_MIPS_HIGHER and
+	R_MIPS_HIGHEST.
+	(mips_elf64_howto_table_rela): Fix handling of R_MIPS_GPREL16 and
+	R_MIPS_GOT16. Remove wrong comments.
+	(elf_mips16_jump_howto,elf_mips16_gprel_howto,
+	elf_mips_gnu_vtinherit_howto,elf_mips_gnu_vtentry_howto): New, code
+	from elf32-mips.c.
+	(mips_elf64_hi16_reloc): Fix formatting.
+	(mips_elf64_higher_reloc,mips_elf64_highest_reloc): Remove.
+	(mips_elf64_got16_reloc): Fix formatting. Remove superfluous code.
+	Better comment. Fall back to R_MIPS_GOT_DISP instead of abort().
+	(mips_elf64_gprel16_reloc): Make static. Add check for
+	partial_inplace.
+	(mips_elf64_gprel16_reloca): Remove.
+	(mips_elf64_literal_reloc): New function.
+	(mips_elf64_gprel32_reloc): Fix formatting.
+	(mips_elf64_shift6_reloc): Fix comment. Make static.
+	(mips16_jump_reloc,mips16_gprel_reloc): New functions, code from
+	elf32-mips.c.
+	(elf_reloc_map,mips_reloc_map): New mapping table, similiar as in
+	elf32-mips.c
+	(bfd_elf64_bfd_reloc_type_lookup): Use the mapping table. Enable GNU
+	specific relocations.
+	(mips_elf64_rtype_to_howto): Enable GNU specific relocations.
+	(mips_elf64_object_p): Invert logic to check for SGI-ish ABI.
+	(ELF_MAXPAGESIZE): Add comment.
+
+2002-07-25  Nick Clifton  <nickc@redhat.com>
+
+	* po/sv.po: Updated Swedish translation.
+	* po/es.po: Updated Spanish translation.
+	* po/fr.po: Updated French translation.
+
+2002-07-25  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-bfd.h (_bfd_elf32_link_record_local_dynamic_symbol): Define
+	as elf_link_record_local_dynamic_symbol.
+	(_bfd_elf64_link_record_local_dynamic_symbol): Likewise.
+	(elf_link_record_local_dynamic_symbol): Declare.  Now returns int.
+	* elflink.h (elf_link_record_local_dynamic_symbol): Move to..
+	* elflink.c: .. here.  Use bfd_elf_get_elf_syms.  Check whether an
+	attempt is made to record a symbol in a discarded section, and
+	return `2' in that case.
+
+2002-07-24  Nick Clifton  <nickc@redhat.com>
+
+	* po/sv.po: Updated Swedish translation.
+	* po/es.po: Updated Spanish translation.
+
+2002-07-23  Alan Modra  <amodra@bigpond.net.au>
+
+	* po/SRC-POTFILES.in: Regenerate.
+
+	* elf-hppa.h (elf_hppa_relocate_section): If relocatable, return
+	immediately.  Remove code handling relocatable linking.
+	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
+	* elf32-cris.c (cris_elf_relocate_section): Likewise.
+	* elf32-fr30.c (elf32_frv_relocate_section): Likewise.
+	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
+	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
+	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
+	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
+	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+	* elf32-v850.c (v850_elf_relocate_section): Likewise.
+	* elf32-vax.c (elf_vax_relocate_section): Likewise.
+	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+	* elf32-avr.c (elf_backend_rela_normal): Define.
+	* elf32-cris.c: Likewise.
+	* elf32-fr30.c: Likewise.
+	* elf32-frv.c: Likewise.
+	* elf32-h8300.c: Likewise.
+	* elf32-hppa.c: Likewise.
+	* elf32-ip2k.c: Likewise.
+	* elf32-sparc.c: Likewise.
+	* elf32-v850.c: Likewise.
+	* elf32-vax.c: Likewise.
+	* elf64-hppa.c: Likewise.
+	* elf64-sparc.c: Likewise.
+	* elf32-fr30.c (elf32_frv_relocate_section): Edit comment.
+	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
+	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
+	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
+	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
+	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
+	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
+	* elf-m10200.c (USE_RELA): Don't define.
+	* elf-m10300.c: Likewise.
+	* elfarm-oabi.c: Likewise.
+	* elf32-i370.c: Likewise.
+	* elf32-ip2k.c: Likewise.
+	* elf32-m68k.c: Likewise.
+	* elf32-mcore.c: Likewise.
+	* elf32-ppc.c: Likewise.
+	* elf32-s390.c: Likewise.
+	* elf32-vax.c: Likewise.
+	* elf64-ppc.c: Likewise.
+	* elf64-s390.c: Likewise.
+	* elf64-x86-64.c: Likewise.
+	* elfxx-ia64.c: Likewise.
+	* elf32-avr.c (USE_REL): Don't undef.
+	* elf32-ip2k.c: Likewise.
+
+2002-07-23  Nick Clifton  <nickc@redhat.com>
+
+	* elf-bfd.h (struct elf_backend_data): Add new bitfield
+	'want_p_paddr_set_to_zero'.
+	* elfxx-target.h: Set default value for want_p_paddr_set_to_zero
+	to false;
+	* elfxx-ia64.c: Set want_p_paddr_set_zero for HPUX target.
+	* elf.c (copy_private_bfd_data): Test want_p_paddr_set_zero.
+
+2002-07-23  Gabor Keresztfalvi  <keresztg@mail.com>
+
+	* nlmcode.h (nlm_swap_auxiliary_headers_out): Swapped the order of
+	the MeSsAgEs and CoPyRiGhT tags to make >=NW4.x NLM loaders to
+	show the Copyright string.
+	Minor formatting tidy ups.
+
+2002-07-23  Nick Clifton  <nickc@redhat.com>
+
+	* po/fr.po: Updated French translation.
+	* po/sv.po: Updated Swedish translation.
+
+2002-07-23  Alan Modra  <amodra@bigpond.net.au>
+
+	* elflink.h (elf_link_input_bfd): Don't change internal symbols
+	when outputting relocs.
+
+2002-07-20  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only insert
+	DT_PLTGOT into the dynamic section if there is a PLT.
+
+2002-07-19  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* elfxx-mips.c (_bfd_mips_elf_discard_info): New function, code from
+	elf32-mips.c.
+	(_bfd_mips_elf_write_section): Likewise.
+	* elfxx-mips.h (_bfd_mips_elf_discard_info): New prototype.
+	(_bfd_mips_elf_write_section): Likewise.
+	* elf32-mips.c (elf32_mips_discard_info): Move to elfxx-mips.c.
+	(elf32_mips_write_section): Likewise.
+	* elf64-mips.c (_bfd_mips_elf_ignore_discarded_relocs): Use it.
+	(_bfd_mips_elf_write_section): Likewise.
+
+2002-07-19  Alan Modra  <amodra@bigpond.net.au>
+
+	* elfxx-ia64.c: (elfNN_ia64_modify_segment_map): Properly scan
+	PT_IA_64_UNWIND segments for a given section.
+
+2002-07-17  H.J. Lu <hjl@gnu.org>
+
+	* Makefile.am: Fix a typo.
+	* Makefile.in: Regenerate.
+
+2002-07-15  Denis Chertykov  <denisc@overta.ru>
+	    Frank Ch. Eigler  <fche@redhat.com>
+	    Ben Elliston  <bje@redhat.com>
+	    Alan Lehotsky  <alehotsky@cygnus.com>
+	    John Healy  <jhealy@redhat.com>
+	    Graham Stott  <grahams@redhat.com>
+	    Jeff Johnston  <jjohnstn@redhat.com>
+
+	* Makefile.am: Add support for ip2k.
+	* Makefile.in: Regenerate.
+	* doc/Makefile.in: Regenerate.
+	* archures.c: Add support for ip2k.
+	* config.bfd: Add support for ip2k.
+	* configure.in: Add support for ip2k.
+	* configure: Regenerate.
+	* reloc.c: Add support for ip2k.
+	* targets.c: Add support for ip2k.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+	* cpu-ip2k.c: New file.
+	* elf32-ip2k.c: New file.
+
+2002-07-17  Ian Rickards  <irickard@arm.com>
+
+	* dwarf2.c (concat_filename): If we can't establish the directory
+	just return the filename.
+
+2002-07-16  Moritz Jodeit  <moritz@jodeit.org>
+
+	* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Correct order of memset args.
+
+2002-07-16  Alan Modra  <amodra@bigpond.net.au>
+
+	* elflink.h: Formatting fixes, tidy prototypes.
+	(elf_link_assign_sym_version): Move common code out of loop.
+
+2002-07-16  Alan Modra  <amodra@bigpond.net.au>
+
+	* elflink.h (elf_link_input_bfd): Don't call reloc_emitter when
+	reloc section size is zero.  Correct reloc output location.
+
+2002-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+	* elf-hppa.h (elf_hppa_reloc_final_type): Use R_PARISC_PCREL16F as
+	the final type for the e_fsel selector when generating PA2.0W code.
+	(elf_hppa_relocate_insn): Provide support for PA2.0W 16-bit format 1
+	relocations.
+
+2002-07-14  H.J. Lu <hjl@gnu.org>
+
+	* elflink.h (elf_link_assign_sym_version): Hide the default
+	definition if there is a hidden versioned definition.
+
+2002-07-12  Hans-Peter Nilsson  <hp@axis.com>
+
+	* elf32-cris.c (cris_elf_relocate_section): Drop nonsensical
+	dynamic reference test in assertion when initializing GOT with
+	static contents.  Just assert that there are either no dynamic
+	sections, the symbol is defined in the regular objects or that the
+	symbol is undef weak.  Tweak comment.
+	(elf_cris_finish_dynamic_symbol): Emit .got reloc for a program
+	only if the symbol isn't defined in the program and isn't undef
+	weak.
+	(elf_cris_adjust_dynamic_symbol): Simplify condition for getting
+	rid of PLT entry: only do it if the symbol isn't defined in a DSO.
+	When doing so, clear ELF_LINK_HASH_NEEDS_PLT.  Tweak comments.
+	(elf_cris_discard_excess_program_dynamics): Don't consider
+	ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs.
+
+2002-07-11  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-i386.c (elf_i386_relocate_section): Don't complain about
+	unresolved debugging relocs in dynamic applications.
+	* elf32-s390.c (elf_s390_relocate_section): Likewise.
+	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+	* elf64-s390.c (elf_s390_relocate_section): Likewise.
+	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+
+2002-07-10  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ONES): Define.
+	(ppc64_elf_howto_table): Use ONES here to avoid warnings.  Fill in
+	missing src_mask fields.  Tweak R_PPC64_NONE, R_PPC64_COPY.  Fill
+	in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32.
+
+	* elf64-ppc.c (ppc64_elf_get_symbol_info): Delete.
+	(ppc64_elf_set_private_flags): Delete.
+	(ppc64_elf_section_from_shdr): Delete.
+	(ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code.
+	(ppc64_elf_fake_sections): Delete.
+	(bfd_elf64_bfd_set_private_flags): Don't define.
+	(bfd_elf64_get_symbol_info): Likewise.
+	(elf_backend_section_from_shdr): Likewise.
+	(elf_backend_fake_sections): Likewise.
+
+2002-07-10  Marco Walther  <Marco.Walther@sun.com>
+
+	* elf.c: (assign_section_numbers) Set sh_entsize for .stab only
+	when not already set.
+	* elf64-sparc.c: (sparc64_elf_fake_sections): New function.
+	(elf_backend_fake_sections): Define.
+
+2002-07-10  Alan Modra  <amodra@bigpond.net.au>
+
+	* merge.c (_bfd_merge_section): Remove redundant output_section check.
+	Formatting.
+	(_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections.
+
+2002-07-09  Hans-Peter Nilsson  <hp@axis.com>
+
+	* elf32-cris.c (cris_elf_relocate_section): Move sanity-check for
+	NULL sym_hashes to just before use.
+	<case R_CRIS_32_GOTREL>: In test for local symbol, accept also
+	symbol with non-default visibility.
+	<case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto.
+	<case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
+	Ditto.
+	(cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for
+	symbol with non-default visibility.
+	(cris_elf_check_relocs): At tests for local symbol before
+	increasing h->plt.refcount, also check for non-default
+	visibility.  Ditto when checking for local symbol to eliminate
+	pc-relative runtime relocs.
+
+2002-07-08  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf.c: Formatting.
+	(IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks.
+	(INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP.
+	(copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP
+	segments.
+
+2002-07-07  Mark Mitchell  <mark@codesourcery.com>
+	    Alan Modra  <amodra@bigpond.net.au>
+
+	* cofflink.c (_bfd_coff_final_link): On PE COFF systems, take into
+	account the impact of relocation count overflow when computing
+	section offsets.
+	* coffcode.h (coff_write_relocs): Use obj_pe when deciding whether
+	or not to apply the PE COFF reloc overflow handling.  Fix a
+	fencepost error in deciding whether or not to use that technique.
+
+2002-07-07  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx,
+	change type of locsyms.
+	(bfd_elf_get_elf_syms): Declare.
+	* elf.c (bfd_elf_get_elf_syms): New function.
+	(group_signature): Use bfd_elf_get_elf_syms.
+	(bfd_section_from_r_symndx): Likewise.
+	* elfcode.h (elf_slurp_symbol_table): Likewise.
+	* elflink.h (elf_link_is_defined_archive_symbol): Likewise.
+	(elf_link_add_object_symbols): Likewise.  Reorganise to increase
+	locality of various data structures.  Properly free internal relocs.
+	(elf_bfd_final_link): Properly free internal relocs.
+	(elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms.
+	(elf_link_input_bfd): Likewise.
+	(elf_gc_mark): Likewise.  Properly free internal relocs.
+	(elf_gc_sweep): Properly free internal relocs.
+	(elf_reloc_symbol_deleted_p): No need to swap syms in.
+	(elf_bfd_discard_info): Use bfd_elf_get_elf_syms.  Properly free
+	internal relocs.
+	* elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms.
+	Properly free possibly cached info.
+	(mn10200_elf_relax_delete_bytes): Remove symbol swapping code.
+	(mn10200_elf_symbol_address_p): Pass in internal syms.  Remove
+	symbol swapping code.
+	(mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms.
+	Properly free possibly cached info.
+	* elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c.
+	(mn10300_elf_relax_delete_bytes): Likewise.
+	(mn10300_elf_symbol_address_p): Likewise.
+	(mn10300_elf_get_relocated_section_contents): Likewise.
+	* elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c.
+	(elf32_h8_relax_delete_bytes): Likewise.
+	(elf32_h8_symbol_address_p): Likewise.
+	(elf32_h8_get_relocated_section_contents): Likewise.
+	* elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c.
+	(m32r_elf_relax_delete_bytes): Likewise.
+	(m32r_elf_get_relocated_section_contents): Likewise.
+	* elf32-sh.c (sh_elf_reloc_loop): Free section contents using
+	elf_section_data to determine whether cached.
+	(sh_elf_relax_section): As above for elf-m10200.c.
+	(sh_elf_relax_delete_bytes): Likewise.
+	(sh_elf_get_relocated_section_contents): Likewise.
+	* elf32-xstormy16.c (xstormy16_elf_relax_section): As above.
+	* elf64-alpha.c (elf64_alpha_relax_section): As above.  Also delay
+	reading of local syms.
+	* elf64-mmix.c (mmix_elf_relax_section): Likewise.
+	* elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above.
+	* elfxx-ia64.c (elfNN_ia64_relax_section): As above.
+	* elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal
+	relocs.
+	* elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly
+	free internal relocs and section contents.  Don't read symbols.
+	* elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms.
+	(elf32_hppa_size_stubs): Don't free local syms.
+	* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay
+	reading of local syms.  Use bfd_elf_get_elf_syms.  Properly free
+	possibly cached info.
+	* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
+	* elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms.
+	* elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and
+	all_local_syms.
+	(get_local_syms): Delete function.
+	(edit_opd): Use bfd_elf_get_elf_syms.  Free on error exit.  Cache
+	on exit.
+	(ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms.  Free/cache on exit.
+
+2002-07-05  Jim Wilson  <wilson@redhat.com>
+
+	* syms.c (decode_section_type): New.
+	(bfd_decode_symclass): Call decode_section_type.
+
+2002-07-04  Jakub Jelinek  <jakub@redhat.com>
+
+	* merge.c (_bfd_merged_section_offset): Avoid accessing byte before
+	section content start.
+	Reported by Michael Schumacher <mike@hightec-rt.com>.
+
+2002-07-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* section.c (_bfd_strip_section_from_output): Remove unnecessary
+	link order code.  Don't actually remove the output section here;
+	Just set a flag for the linker to do so.
+	* elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed
+	sections when setting up output section dynsyms.
+
+2002-07-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpux
+	fudge.
+	* elf.c (bfd_section_from_shdr): Work around broken hpux shared
+	libs here instead.
+
+2002-07-02  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* elf64-s390.c (create_got_section): Set .got section alignment to
+	8 bytes.
+	(elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes.
+
+2002-07-02  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf.c (_bfd_elf_reloc_type_class): Fix comment grammar.
+
+2002-07-01  Matt Thomas  <matt@3am-software.com>
+
+	* elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_*
+	to EF_VAX_*.
+
+2002-07-01  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* elfxx-mips.c (ABI_64_P): Fix comment.
+	(MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the
+	new section names for N64 ABI.
+	(mips_elf_output_extsym): No special _gp_disp handling for NewABI.
+	(mips_elf_calculate_relocation): Code formatting.
+	(mips_elf_create_dynamic_relocation): Likewise.
+	(_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too.
+	(_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI.
+	(_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64
+	in any NewABI.
+	(_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling
+	for NewABI.
+	(_bfd_mips_elf_modify_segment_map): Handle any N64 ABI.
+	(_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled
+	here, too.
+
+2002-07-01  Andreas Schwab  <schwab@suse.de>
+
+	* elf64-x86-64.c (elf64_x86_64_relocate_section): Only convert
+	R_X86_64_64 to R_X86_64_RELATIVE.
+
+2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+	* vaxbsd.c: New BFD backend for VAX BSD and Ultrix.
+	* Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend.
+	Run "make dep-am".
+	* config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of
+	host_aout_vec.
+	* configure.in (vaxbsd_vec): Add.
+	* targets.c (vaxbsd_vec): Add.
+	* Makefile.in: Rebuild.
+	* configure: Rebuild.
+	* po/SRC-POTFILES.in: Rebuild.
+
+2002-07-01  Alan Modra  <amodra@bigpond.net.au>
+
+	* elflink.h (elf_gc_mark): Pass in the section whose relocs we are
+	examining to gc_mark_hook, rather than the bfd.
+	(elf_gc_sections): Adjust.
+	* elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise.
+	* elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise.
+	* elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
+	* elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
+	* elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
+	* elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
+	* elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
+	* elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
+	* elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
+	* elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
+	* elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
+	* elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
+	* elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
+	* elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
+	* elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
+	* elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
+	* elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
+	* elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
+	* elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
+	* elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
+	* elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
+	* elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
+	* elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
+	* elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
+	* elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
+	* elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise.
+	* elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
+	* elf32-frv.c (elf32_frv_gc_mark_hook): Likewise.  Also remove
+	redundant local sym tests.
+	* elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry.
+	(link_hash_newfunc): Init is_entry.
+	(ppc64_elf_copy_indirect_symbol): Copy is_entry.
+	(ppc64_elf_link_hash_table_create): Init all_local_syms.
+	(create_linkage_sections): Use bfd_make_section_anyway rather than
+	bfd_make_section.
+	(ppc64_elf_mark_entry_syms): New function.
+	(ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab.  Set
+	up opd entry to function section map.
+	(ppc64_elf_gc_mark_hook): Special case opd section relocs, and
+	relocs that reference the opd section.
+	(edit_opd): New function.
+	(ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd.
+	(ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here.
+	(get_local_syms): Do so here.  Exit if we already have local syms.
+	Remove bogus comment imported from elf32-hppa.c.  Don't attempt to
+	read local syms on non-ELF input.
+	(ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather
+	than duplicating it's function here.  Adjust free of internal
+	relocs to suit.
+	(ppc64_elf_relocate_section): Adjust local syms in opd section.
+	* elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare.
+	* elf32-hppa.c (elf32_hppa_size_stubs): Call
+	_bfd_elf32_link_read_relocs rather than duplicating it's function
+	here.  Adjust free of internal relocs to suit.
+
+2002-07-01  Andreas Jaeger  <aj@suse.de>
+
+	* elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocations
+	are not allowed in shared libs code, enforce -fPIC.
+
+2002-06-29  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* mmo.c (mmo_write_loc_chunk): Don't eliminate leading and
+	trailing zero-sequences when there's previous left-over data.
+
+2002-06-27  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+	* elf64-hppa.c (elf64_hppa_reloc_type_class): New function.
+	(elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec
+	and opd_rel_sec in order for starting rela section.  Check _raw_size.
+	(elf_backend_reloc_type_class): Define.
+
+2002-06-27  Kevin Buettner <kevinb@redhat.com>
+
+	* dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit
+	DWARF2 formats.
+
+2002-06-27  Alan Modra  <amodra@bigpond.net.au>
+
+	* cpu-powerpc.c: Comment on ordering of arch_info.
+	* elf32-ppc.c (ppc_elf_object_p): New function.
+	(elf_backend_object_p): Define.
+	* elf64-ppc.c (ppc64_elf_object_p): New function.
+	(elf_backend_object_p): Define.
+
+2002-06-26  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* configure.in (vax-*-netbsd*): Set COREFILE to netbsd-core.lo.
+	* configure: Regenerate.
+
+2002-06-25  Jason Eckhardt  <jle@rice.edu>
+
+	* dwarf2.c (decode_line_info): Check unit->addr_size
+	to read in the proper number of prologue bytes.
+
+2002-06-25  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* config.bfd (powerpc-*-aix5*): Only create a selvecs for
+	aix5coff64_vec if 64-bit bfd support has been enabled.
+	(powerpc64-*-aix5*): Only define if 64-bit bfd support has
+	been enabled.
+
+	* targets.c (_bfd_target_vector[]): Only include
+	aix5coff64_vec if 64-bit bfd support has been enabled.
+
+2002-06-25  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy.
+	* elf32-hppa.c (hppa_add_stub): Likewise.
+	* elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
+	* elflink.h (elf_add_default_symbol): Fix comment typo.
+	(elf_add_default_symbol): Replace strcpy and strncpy with memcpy.
+	(elf_link_add_object_symbols): Likewise.
+	(elf_link_assign_sym_version): Likewise.
+	* hash.c (bfd_hash_lookup): Likewise.
+	* linker.c (_bfd_generic_link_add_one_symbol): Likewise.
+	* section.c (bfd_get_unique_section_name): Likewise.
+	* syms.c (_bfd_stab_section_find_nearest_line): Likewise.
+	* elf.c (_bfd_elf_make_section_from_phdr): Likewise.
+	(assign_section_numbers): Likewise.
+	(_bfd_elfcore_make_pseudosection): Likewise.
+	(elfcore_grok_lwpstatus): Likewise.
+	(elfcore_grok_win32pstatus): Likewise.
+	(elfcore_write_note): Constify input params.  Use PTR instead of
+	void *.  Include terminating NUL in namesz.  Correct padding.
+	Support NULL "name" param.  Use memcpy instead of strcpy.
+	(elfcore_write_prpsinfo): Constify input params.
+	(elfcore_write_prstatus): Likewise.  Use PTR instead of void *.
+	(elfcore_write_lwpstatus): Likewise.
+	(elfcore_write_pstatus): Likewise.
+	(elfcore_write_prfpreg): Likewise.
+	(elfcore_write_prxfpreg): Likewise.
+	* elf-bfd.h (elfcore_write_note): Update declaration.
+	(elfcore_write_prpsinfo): Likewise.
+	(elfcore_write_prstatus): Likewise.
+	(elfcore_write_pstatus): Likewise.
+	(elfcore_write_prfpreg): Likewise.
+	(elfcore_write_prxfpreg): Likewise.
+	(elfcore_write_lwpstatus): Likewise.
+
+2002-06-25  Jason Eckhardt  <jle@rice.edu>
+
+	* ecoff.c (ecoff_set_symbol_info): Set BSF_FUNCTION for
+	symbols of type stProc and stStaticProc.
+
+2002-06-25  Nick Clifton  <nickc@redhat.com>
+
+	* ecoff.c: VArious formatting fixes.
+
+2002-06-25  Alan Modra  <amodra@bigpond.net.au>
+
+	* coff-rs6000.c (xcoff_generate_rtinit): Fix typo.
+
+2002-06-25  Alan Modra  <amodra@bigpond.net.au>
+
+	* aout-adobe.c: Don't compare against "true" or "false.
+	* aout-target.h: Likewise.
+	* aoutx.h: Likewise.
+	* archive.c: Likewise.
+	* bout.c: Likewise.
+	* cache.c: Likewise.
+	* coff-a29k.c: Likewise.
+	* coff-alpha.c: Likewise.
+	* coff-i386.c: Likewise.
+	* coff-mips.c: Likewise.
+	* coff-or32.c: Likewise.
+	* coff64-rs6000.c: Likewise.
+	* coffcode.h: Likewise.
+	* coffgen.c: Likewise.
+	* cpu-ns32k.c: Likewise.
+	* ecoff.c: Likewise.
+	* ecofflink.c: Likewise.
+	* elf.c: Likewise.
+	* elf32-arm.h: Likewise.
+	* elf32-cris.c: Likewise.
+	* elf32-d30v.c: Likewise.
+	* elf32-i386.c: Likewise.
+	* elf32-mcore.c: Likewise.
+	* elf32-ppc.c: Likewise.
+	* elf32-sh.c: Likewise.
+	* elf32-sh64.c: Likewise.
+	* elf32-v850.c: Likewise.
+	* elf64-alpha.c: Likewise.
+	* elf64-sh64.c: Likewise.
+	* elfcode.h: Likewise.
+	* elfcore.h: Likewise.
+	* elflink.h: Likewise.
+	* elfxx-mips.c: Likewise.
+	* i386os9k.c: Likewise.
+	* ieee.c: Likewise.
+	* libbfd.c: Likewise.
+	* linker.c: Likewise.
+	* mmo.c: Likewise.
+	* nlm32-alpha.c: Likewise.
+	* nlm32-i386.c: Likewise.
+	* nlm32-ppc.c: Likewise.
+	* nlm32-sparc.c: Likewise.
+	* nlmcode.h: Likewise.
+	* oasys.c: Likewise.
+	* pdp11.c: Likewise.
+	* peicode.h: Likewise.
+	* reloc.c: Likewise.
+	* som.c: Likewise.
+	* srec.c: Likewise.
+	* tekhex.c: Likewise.
+	* vms.c: Likewise.
+	* xcofflink.c: Likewise.
+	* elf64-sparc.c: Edit comment to not use "== false".
+
+	* aoutf1.h: Don't use "? true : false".
+	* ecoff.c: Likewise.
+	* format.c: Likewise.
+	* ieee.c: Likewise.
+	* linker.c: Likewise.
+	* mmo.c: Likewise.
+	* oasys.c: Likewise.
+
+2002-06-23  H.J. Lu  <hjl@gnu.org>
+
+	* elflink.h (elf_link_add_archive_symbols): For the default
+	version, check references with only one `@' first.
+
+2002-06-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+	* elf64-hppa.c (elf64_hppa_mark_milli_and_exported_functions): New
+	function.
+	(allocate_global_data_dlt): Don't add millicode symbols to dynamic
+	symbol table.
+	(allocate_global_data_opd, allocate_dynrel_entries): Likewise.
+	(elf64_hppa_size_dynamic_sections): Revise to use
+	elf64_hppa_mark_milli_and_exported_functions.
+	(elf64_hppa_finish_dynamic_symbol): Remove code to keep millicode
+	symbols out of dynamic symbol table.
+
+2002-06-23  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.in: Regenerate.
+	* libbfd.h: Regenerate.
+	* bfd-in2.h: Regenerate.
+	* configure: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+	* elflink.h: Comment typo fixes.
+
+2002-06-23  H.J. Lu  <hjl@gnu.org>
+
+	* elf-bfd.h (elf_link_loaded_list): New structure.
+	(elf_link_hash_table): Add "loaded".
+	* elf.c (_bfd_elf_link_hash_table_init): Initialize "loaded".
+	* elflink.h (elf_link_check_versioned_symbol): New function.
+	(elf_link_output_extsym): Call elf_link_check_versioned_symbol.
+
+2002-06-19  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* elflink.h (size_dynamic_sections): If the target does not
+	support an ELF style hash table, return true, indicating that
+	nothing needed to be done, rather than false, indicating that the
+	section's size could not be computed.
+
+2002-06-18  Dave Brolley  <brolley@redhat.com>
+
+	From Catherine Moore, Michael Meissner, Dave Brolley:
+	* po/SRC-POTFILES.in: Add cpu-frv.c and elf32-frv.c
+	* targets.c: Support bfd_elf32_frv_vec.
+	* reloc.c: Add FRV relocs.
+	* configure.in: Add support for bfd-elf32-frv-vec.
+	* config.bfd (targ_cpu): Add support for frv-*-elf.
+	* archures.c: Add frv arch and machines.
+	* Makefile.am (ALL_MACHINES): Add cpu-frv.lo.
+	(ALL_MACHINES_CFILES): Add cpu-frv.c.
+	(BFD32_BACKENDS): Add elf32-frv.lo.
+	(BFD32_BACKENDS_CFILES): Add elf32-frv.c
+	(cpu-frv.lo): New target.
+	(elf32-frv.lo): New target.
+	* cpu-frv.c: New file.
+	* elf32-frv.c: New file.
+
+2002-06-18  Jakub Jelinek  <jakub@redhat.com>
+
+	* elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies
+	e_shnum == 0.
+	Only read the first section header if e_shoff is non-zero.
+	Don't consider e_shstrndx if there are no sections.
+
+2002-06-17  Tom Rix <trix@redhat.com>
+
+	* elf32-d10v.c (elf_d10v_howto_table): Change R_D10V_10_PCREL_R,
+	R_D10V_10_PCREL_L and R_D10V_18_PCREL to use
+	complain_overflow_bitfield.
+
+2002-06-17  Alan Modra  <amodra@bigpond.net.au>
+
+	* opncls.c (bfd_openr): Remove redundant bfd_set_error.
+	(bfd_fdopenr): Likewise.
+	(bfd_openstreamr): Likewise.
+	(bfd_openw): Likewise.
+
+	* targets.c: Sort target vecs.
+	(_bfd_target_vector): Add aix5coff64_vec, bfd_elf32_sh64_vec,
+	bfd_elf32_sh64l_vec, bfd_elf32_sh64lnbsd_vec,
+	bfd_elf32_sh64nbsd_vec, bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec,
+	bfd_elf64_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec.
+	* configure.in: Sort target vecs.  Add m88kmach3_vec.
+	* configure: Regenerate.
+
+2002-06-16  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* elf64-mmix.c (bpo_reloc_request_sort_fn): Use member
+	bpo_reloc_no to break sort order ties, not address of items.
+
+2002-06-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+	* elf-hppa.h (elf_hppa_final_link): Fix formatting in comment.
+	Skip excluded sections in determing __gp value.
+	(elf_hppa_final_link_relocate): Use the symbol's address in
+	R_PARISC_FPTR64 relocations that don't need an opd entry.
+	* elf64-hppa.c (allocate_dynrel_entries): Simplify code.
+	(elf64_hppa_finalize_dynreloc): Likewise.
+	(elf64_hppa_size_dynamic_sections): Move comments and fix typo.
+	(elf64_hppa_finish_dynamic_symbol): Break up assert.
+
+2002-06-14  Sergey Grigoriev  <serge@leopold.Physik.Uni-Augsburg.DE>
+
+	* pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
+	alignment for .bss, .data and .text sections so that sse and sse2
+	code will work.
+	* pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
+
+2002-06013  J"orn Rennecke  <joern.rennecke@superh.com>
+
+	config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
+	sh[1234]*-elf*.
+
+2002-06-12  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+	* elflink.h (elf_bfd_final_link): Improve error handling for missing
+	dynamic sections.
+
+	* elf64-hppa.c (allocate_global_data_opd): We don't need an opd entry
+	for a symbol that has no output section.
+	(allocate_dynrel_entries): Correct comment.
+	(elf64_hppa_finalize_dynreloc): Likewise.  Don't create an opd entry
+	unless we want one.
+	(elf64_hppa_finalize_opd): Prevent segfault if dyn_h is NULL.
+	(elf64_hppa_finalize_dlt): Likewise.  Prevent segfault for symbols
+	with no section.  Remove unnecessary parentheses.
+
+2002-06-11  Tom Rix  <trix@redhat.com>
+
+	* coffcode.h (coff_compute_section_file_positions): Add data
+	section to AIX loader alignment check.
+
+	* coff-rs6000.c (_bfd_xcoff_mkobject): Set default text section
+	alignment to 4 bytes.
+	(_bfd_xcoff_copy_private_bfd_data): Use text and data alignment
+	power accessor macro.
+	(do_shared_object_padding): Remove invalid assertion.
+
+2002-06-10  Richard Sandiford  <rsandifo@redhat.com>
+
+	* section.c (_bfd_strip_section_from_output): Set SEC_EXCLUDE
+	for removed output sections.
+
+2002-06-10  Geoffrey Keating  <geoffk@redhat.com>
+
+	* merge.c (merge_strings): Use htab_create_alloc with calloc, not
+	htab_alloc.
+	* elf-strtab.c (_bfd_elf_strtab_finalize): Likewise.
+
+2002-06-08  H.J. Lu <hjl@gnu.org>
+
+	* elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to
+	work around a long long bug in gcc 2.96 on mips.
+
+2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* Makefile.am (BFD32_BACKENDS): Add vax1knetbsd.lo.
+	(BFD32_BACKENDS_CFILES): Add vax1knetbsd.c.
+	Regenerate dependency lists.
+	* Makefile.in: Regenerate.
+	* config.bfd (vax-*-netbsdelf*, vax-*-netbsdaout*): Add
+	vax1knetbsd_vec to targ_selvecs.
+	* configure.in: Add vax1knetbsd_vec.
+	* configure: Regenerate.
+	* targets.c (_bfd_target_vector): Add vax1knetbsd_vec.
+	* vax1knetbsd.c: New file.
+	* vaxnetbsd.c: Update copyright years.
+	(TARGET_PAGE_SIZE): Set to 0x1000.
+	(DEFAULT_MID): Set to M_VAX4K_NETBSD.
+
+2002-06-08  Matt Thomas  <matt@3am-software.com>
+
+	* libaout.h (enum machine_type): Add M_VAX4K_NETBSD.
+
+2002-06-08  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Make static.
+
+2002-06-08  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am: Run "make dep-am".
+	* Makefile.in: Regenerate.
+
+	* armnetbsd.c: Replace CONST with const.
+	* corefile.c: Likewise.
+	* elf32-dlx.c: Likewise.
+	* elf64-mips.c: Likewise.
+	* mmo.c: Likewise.
+	* ns32knetbsd.c: Likewise.
+
+	* elf64-sparc.c (sparc64_elf_add_symbol_hook): Check the hash
+	table is elf64-sparc.
+
+2002-06-08  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Simplify code.
+	Fix RELA addends to get not shifted in the result. Don't do special
+	handling of R_MIPS_64 for NewABI.
+
+2002-06-07  Alan Modra  <amodra@bigpond.net.au>
+
+	* aoutx.h (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
+	(NAME(aout,slurp_reloc_table)): Likewise.
+	* coff-mips.c (mips_relax_section): Use bfd_zalloc.
+	* coff-rs6000.c (xcoff_write_armap_big): Use bfd_zmalloc.
+	(xcoff_write_archive_contents_big): Likewise.
+	(xcoff_generate_rtinit): Likewise.
+	(xcoff_generate_rtinit): Likewise, and check error return.
+	* coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
+	* coffgen.c (coff_section_symbol): Use bfd_zalloc.
+	(coff_get_normalized_symtab): Likewise.
+	(coff_make_empty_symbol): Likewise.
+	(bfd_coff_set_symbol_class): Likewise.
+	* cofflink.c (coff_link_add_symbols): Likewise.
+	* ecoff.c (_bfd_ecoff_make_empty_symbol): Likewise.
+	* ecofflink.c (ecoff_write_shuffle): Use bfd_zmalloc.
+	(bfd_ecoff_write_accumulated_debug): Likewise.
+	* elf64-alpha.c (get_got_entry): Use bfd_zalloc.
+	* i386linux.c (bfd_i386linux_size_dynamic_sections): Likewise.
+	* i386lynx.c (NAME(lynx,slurp_reloc_table)): Use bfd_zmalloc.
+	* ieee.c (do_with_relocs): Use bfd_zalloc.
+	* m68klinux.c (bfd_m68klinux_size_dynamic_sections): Likewise.
+	* pdp11.c (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
+	(NAME(aout,slurp_reloc_table)): Likewise.
+	(NAME(aout,squirt_out_relocs)): Don't memset when zalloc'd.
+	* reloc16.c (bfd_coff_reloc16_relax_section): Use bfd_zmalloc.
+	* som.c (som_build_and_write_symbol_table): Likewise.
+	(som_slurp_string_table): Likewise.
+	(som_slurp_symbol_table): Likewise.
+	(som_bfd_ar_write_symbol_stuff): Likewise.
+	* sparclinux.c (bfd_sparclinux_size_dynamic_sections): Use bfd_zalloc.
+	* sunos.c (bfd_sunos_size_dynamic_sections): Likewise.
+	* tekhex.c (find_chunk): Likewise.  Get rid of unused "sname".
+	* vms-gsd.c (_bfd_vms_slurp_gsd): Use bfd_zmalloc.
+	* xcofflink.c (xcoff_link_add_symbols): Use bfd_zalloc/bfd_zmalloc.
+
+2002-06-07  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-bfd.h (struct bfd_elf_section_data <group_name>): Replace with
+	"group" union.
+	(elf_group_name): Update.
+	(elf_group_id): Define.
+	(bfd_elf_set_group_contents): Declare.
+	* elf.c (elf_fake_sections): Qualify use of elf_group_name.
+	(set_group_contents): Rename to bfd_elf_set_group_contents.  Remove
+	ATTRIBUTE_UNUSED from failedptrarg.  If elf_group_id is set, use
+	that sym for the signature.
+	(_bfd_elf_compute_section_file_positions): Don't call
+	set_group_contents for "ld -r" case.
+	(swap_out_syms): Use bfd_zalloc.
+	* elflink.h (elf_link_add_archive_symbols): Likewise.
+	(NAME(bfd_elf,size_dynamic_sections)): Likewise.
+	(elf_bfd_final_link): Call bfd_elf_set_group_contents.
+
+2002-06-07  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_relocate_section): Allow unresolved
+	relocs in opd for non-shared too.
+
+2002-06-06  Jeffrey Law  <law@redhat.com>
+
+	* elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting
+	relocations.
+
+2002-06-06  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* merge.c: Include libiberty.h.
+	* elf-strtab.c: Include libiberty.h.
+
+2002-06-06  Elias Athanasopoulos  <eathan@otenet.gr>
+
+	* peXXigen.c (pe_print_idata): Remove unused variable.
+
+2002-06-06  David Heine <dlheine@tensilica.com>
+
+	* elf.c (assign_file_positions_for_segments): Remove unallocated
+	sections from the section to segment mapping for PT_LOAD segments.
+	Update comment about empty loadable segments.
+
+2002-06-06  Richard Sandiford  <rsandifo@redhat.com>
+
+	* stabs.c (_bfd_link_section_stabs): Check that the symbol offset
+	is within the .stabstr section.
+
+2002-06-06  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-bfd.h (struct elf_size_info <swap_symbol_in>): Function args
+	are "const PTR", not "const PTR *".
+	(bfd_elf32_swap_symbol_in): Likewise.
+	(bfd_elf64_swap_symbol_in): Likewise.
+	* elfcode.h (elf_swap_symbol_in): Change input args to const PTR.
+	(elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
+	* elflink.h (elf_link_is_defined_archive_symbol): Likewise.
+	(elf_link_add_object_symbols): Likewise.
+	(elf_link_record_local_dynamic_symbol): Likewise.
+	(elf_link_input_bfd): Likewise.
+	(elf_gc_mark): Likewise.
+	(elf_reloc_symbol_deleted_p): Likewise.
+	* elf-m10200.c (mn10200_elf_relax_section): Likewise.
+	(mn10200_elf_relax_delete_bytes): Likewise.
+	(mn10200_elf_symbol_address_p): Likewise.
+	(mn10200_elf_get_relocated_section_contents): Likewise.
+	* elf-m10300.c (mn10300_elf_relax_section): Likewise.
+	(mn10300_elf_relax_section): Likewise.
+	(mn10300_elf_relax_delete_bytes): Likewise.
+	(mn10300_elf_symbol_address_p): Likewise.
+	(mn10300_elf_get_relocated_section_contents): Likewise.
+	* elf32-h8300.c (elf32_h8_relax_section): Likewise.
+	(elf32_h8_relax_delete_bytes): Likewise.
+	(elf32_h8_symbol_address_p): Likewise.
+	(elf32_h8_get_relocated_section_contents): Likewise.
+	* elf32-hppa.c (get_local_syms): Likewise.
+	* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
+	* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
+	* elf32-sh.c (sh_elf_relax_section): Likewise.
+	(sh_elf_relax_delete_bytes): Likewise.
+	(sh_elf_get_relocated_section_contents): Likewise.
+	* elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
+	* elf64-alpha.c (elf64_alpha_relax_section): Likewise.
+	* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
+	* elf64-mmix.c (mmix_elf_relax_section): Likewise.
+	* elf64-ppc.c (get_local_syms): Likewise.
+	* elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
+	* elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
+
+2002-06-05  J"orn Rennecke <joern.rennecke@superh.com>
+
+	* config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations.
+
+2002-06-05  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf.c (group_signature): Swap in the whole symbol, and handle
+	extracting section symbol names.
+	(setup_group): Add comment.
+	(set_group_contents): When called from objcopy or ld, arrange for
+	section contents to be written.  Write group member output section
+	indices to allow objcopy to reorganize sections.
+	(_bfd_elf_copy_private_section_data): Copy group info.
+
+	* elf-bfd.h (struct elf_size_info): Add swap_symbol_in field.
+	(bfd_elf32_swap_symbol_in): Update prototype.
+	(bfd_elf64_swap_symbol_in): Likewise.
+	* elfcode.h (elf_swap_symbol_in): Change input args to const PTR *.
+	(elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
+	* elflink.h (elf_link_is_defined_archive_symbol): Likewise.
+	(elf_link_add_object_symbols): Likewise.
+	(elf_link_record_local_dynamic_symbol): Likewise.
+	(elf_link_input_bfd): Likewise.
+	(elf_gc_mark): Likewise.
+	(elf_reloc_symbol_deleted_p): Likewise.
+	* elf-m10200.c (mn10200_elf_relax_section): Likewise.
+	(mn10200_elf_relax_delete_bytes): Likewise.
+	(mn10200_elf_symbol_address_p): Likewise.
+	(mn10200_elf_get_relocated_section_contents): Likewise.
+	* elf-m10300.c (mn10300_elf_relax_section): Likewise.
+	(mn10300_elf_relax_section): Likewise.
+	(mn10300_elf_relax_delete_bytes): Likewise.
+	(mn10300_elf_symbol_address_p): Likewise.
+	(mn10300_elf_get_relocated_section_contents): Likewise.
+	* elf32-h8300.c (elf32_h8_relax_section): Likewise.
+	(elf32_h8_relax_delete_bytes): Likewise.
+	(elf32_h8_symbol_address_p): Likewise.
+	(elf32_h8_get_relocated_section_contents): Likewise.
+	* elf32-hppa.c (get_local_syms): Likewise.
+	* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
+	* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
+	* elf32-sh.c (sh_elf_relax_section): Likewise.
+	(sh_elf_relax_delete_bytes): Likewise.
+	(sh_elf_get_relocated_section_contents): Likewise.
+	* elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
+	* elf64-alpha.c (elf64_alpha_relax_section): Likewise.
+	* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
+	* elf64-mmix.c (mmix_elf_relax_section): Likewise.
+	* elf64-ppc.c (get_local_syms): Likewise.
+	* elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
+	* elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
+	* elfcode.h (NAME(_bfd_elf,size_info)): Update initialiser.
+	* elf64-alpha.c (alpha_elf_size_info): Likewise.
+	* elf64-hppa.c (hppa64_elf_size_info): Likewise.
+	* elf64-mips.c (mips_elf64_size_info): Likewise.
+	* elf64-s390.c (s390_elf64_size_info): Likewise.
+	* elf64-sparc.c (sparc64_elf_size_info): Likewise.
+
+2002-06-05  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+
+	* elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to...
+	elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here.
+	elf64-mips.c (elf_backend_ignore_discarded_relocs): Use
+	_bfd_mips_elf_ignore_discarded_relocs.
+	elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare.
+
+2002-06-05  H.J. Lu <hjl@gnu.org>
+
+	* elfxx-mips.c (mips_elf_calculate_relocation): Call
+	_bfd_elf_rel_local_sym for STT_SECTION relocations against
+	the SEC_MERGE section.
+
+2002-06-05  Alan Modra  <amodra@bigpond.net.au>
+
+	* coff-alpha.c: Update copyright date.
+	* coff-mips.c: Likewise.
+	* xcoff-target.h: Likewise.
+
+	* bfd-in.h: Remove "taken from the source" comment.
+	* libbfd-in.h: Likewise.
+	* libcoff-in.h: Likewise.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+	* libcoff.h: Regenerate.
+
+	* elf.c (bfd_elf_discard_group): Return true.
+	* elf-bfd.h (bfd_elf_discard_group): Declare.
+	* bfd-in.h (bfd_elf_discard_group): Don't declare here.
+	* section.c (bfd_discard_group): Rename to bfd_generic_discard_group.
+	* bfd.c (bfd_discard_group): Define.
+	* targets.c (struct bfd_target): Add _bfd_discard_group.
+	(BFD_JUMP_TABLE_LINK): Here too.
+	* libbfd-in.h (_bfd_nolink_bfd_discard_group): Define.
+	* aout-adobe.c (aout_32_bfd_discard_group): Define.
+	* aout-target.h (MY_bfd_discard_group): Define.
+	* aout-tic30.c (MY_bfd_discard_group): Define.
+	* binary.c (binary_bfd_discard_group): Define.
+	* bout.c (b_out_bfd_discard_group): Define.
+	* coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define.
+	* coffcode.h (coff_bfd_discard_group): Define.
+	* coff-mips.c (_bfd_ecoff_bfd_discard_group): Define.
+	* elfxx-target.h (bfd_elfNN_bfd_discard_group): Define.
+	* i386msdos.c (msdos_bfd_discard_group): Define.
+	* i386os9k.c (os9k_bfd_discard_group): Define.
+	* ieee.c (ieee_bfd_discard_group): Define.
+	* ihex.c (ihex_bfd_discard_group): Define.
+	* mmo.c (mmo_bfd_discard_group): Define.
+	* nlm-target.h (nlm_bfd_discard_group): Define.
+	* oasys.c (oasys_bfd_discard_group): Define.
+	* ppcboot.c (ppcboot_bfd_discard_group): Define.
+	* som.c (som_bfd_discard_group): Define.
+	* srec.c (srec_bfd_discard_group): Define.
+	* tekhex.c (tekhex_bfd_discard_group): Define.
+	* versados.c (versados_bfd_discard_group): Define.
+	* vms.c (vms_bfd_discard_group): Define.
+	* xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define.
+	* coff64-rs6000.c (rs6000coff64_vec): Update initialiser.
+	(aix5coff64_vec): Likewise.
+	* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
+
+2002-06-04  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* Makefile.am (BFD32_BACKENDS): Add elf32-sh64-com.lo.
+	(BFD32_BACKENDS_CFILES): Add elf32-sh64-com.c.
+	(elf32-sh64-com.lo): New dependency list.
+	* Makefile.in: Regenerate.
+	* configure.in (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec)
+	(bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec): Add
+	elf32-sh64-com.lo.
+	* configure: Regenerate.
+	* elf32-sh64.c (sh64_address_in_cranges)
+	(sh64_get_contents_type, sh64_address_is_shmedia): Move to...
+	(crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb):
+	(crange_bsearch_cmpl): Prepend _bfd_sh64_ to name and move to...
+	* elf32-sh64-com.c: ...here.  New file.
+
+2002-06-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-openrisc.c (openrisc_elf_gc_mark_hook): Remove
+	ATTRIBUTE_UNUSED on used params.
+	* elf32-vax.c (elf_vax_gc_mark_hook): Remove unnecessary checks
+	before calling bfd_section_from_elf_index on local syms.
+	* elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
+
+2002-06-04  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo.
+	(BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c.
+	(BFD64_BACKENDS): Add elf64-sh64-nbsd.lo.
+	(BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c.
+	(elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules.
+	* Makefile.in: Regenerate.
+	* config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
+	(sh64-*-netbsd*): New targets.
+	* configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec,
+	bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec.
+	* configure: Regenerate.
+	* elf32-sh64-nbsd.c: New file.
+	* elf64-sh64-nbsd.c: New file.
+	* targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec,
+	bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and
+	bfd_elf64_sh64lnbsd_vec.
+
+2002-06-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups.
+	(bfd_section_from_shdr): Likewise.  Set section name of group
+	sections from signature.
+	(group_signature): Split out from setup_group.  Ensure symbol table
+	is available.
+	(bfd_elf_discard_group): New function.
+	(_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on
+	.gnu.linkonce* sections if they are members of a group.
+	(set_group_contents): Set GRP_COMDAT flag.
+	* section.c (bfd_discard_group): New function.
+	* bfd-in.h (bfd_elf_discard_group): Declare.
+	* bfd-in2.h: Regenerate.
+	* elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field.
+	(elf_linkonce_p): Define.
+
+2002-06-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf.c (bfd_section_from_shdr): Make "name" const.
+	* elf-bfd.h (elf_backend_section_from_shdr): Likewise.
+	* elf32-i370.c (i370_elf_section_from_shdr): Likewise.
+	* elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
+	* elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
+	* elf32-v850.c (v850_elf_section_from_shdr): Likewise.
+	* elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
+	* elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
+	* elf64-ppc.c (ppc64_elf_section_from_shdr): Likewise.
+	* elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
+	* elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
+	* elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
+
+2002-06-03  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+
+	* elfxx-mips.c (ABI_64_P): Use backend's data to determine the
+	ABI.
+
+2002-06-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+	* elf32-arc.c: Fix formatting.
+	* elf32-arm.h: Likewise.
+	* elf32-cris.c: Likewise.
+	* elf32-dlx.c: Likewise.
+	* elf32-hppa.c: Likewise.
+	* elf32-i386.c: Likewise.
+	* elf32-i386qnx.c: Likewise.
+	* elf32-or32.c: Likewise.
+	* elf32-s390.c: Likewise.
+	* elf32-sh64.c: Likewise.
+	* elf32-vax.c: Likewise.
+	* elf32-xstormy16.c: Likewise.
+	* elf64-alpha.c: Likewise.
+	* elf64-mmix.c: Likewise.
+	* elf64-ppc.c: Likewise.
+	* elf64-s390.c: Likewise.
+	* elf64-sh64.c: Likewise.
+	* elf64-x86-64.c: Likewise.
+
+2002-06-02  Richard Henderson  <rth@redhat.com>
+
+	* elf64-alpha.c (elf64_alpha_relocate_section): Don't dereference
+	null when there are no got entries for a symbol.
+	(elf64_alpha_relax_find_tls_segment): Rearrange to avoid
+	uninitialized variable warning.
+
+2002-06-01  Richard Henderson  <rth@redhat.com>
+
+	* elf64-alpha.c (elf64_alpha_relax_with_lituse): Don't test for
+	undefined symbols here.
+	(elf64_alpha_relax_section): Do it here.  Also test for not
+	defined in the current module.
+	(elf64_alpha_relocate_section_r): Split out of ...
+	(elf64_alpha_relocate_section): ... here.  Don't dereference
+	NULL when looking up local got entries.
+
+2002-06-01  Richard Henderson  <rth@redhat.com>
+
+	* elf64-alpha.c (elf64_alpha_relax_with_lituse): Reject undefined
+	symbols from JSR relaxation.
+	(elf64_alpha_size_plt_section_1): New.
+	(elf64_alpha_calc_dynrel_sizes): Split out .rela.got bits ...
+	(elf64_alpha_size_rela_got_1): ... here.
+	(elf64_alpha_size_dynamic_sections): Split out .rela.got bits ...
+	(elf64_alpha_size_rela_got_section): ... here.
+	(elf64_alpha_size_plt_section): New.
+	(elf64_alpha_relax_section): Call them.
+	(elf64_alpha_size_got_sections): Remove output_bfd arg.
+	(elf64_alpha_finish_dynamic_symbol): Check gotent use_count.
+
+2002-06-01  Richard Henderson  <rth@redhat.com>
+
+	* elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New.
+	(elf64_alpha_relocate_section): Use them.  Reject LE TLS relocs
+	in shared libraries.  Fix DTPRELHI and TPRELHI value.
+	(INSN_ADDQ, INSN_RDUNIQ): New.
+	(struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent.
+	(elf64_alpha_relax_with_lituse): Return boolean.  Remove irelend
+	argument.  Reject dynamic symbols.  Use LITUSE symbolic constants.
+	(elf64_alpha_relax_got_load): Rename from relax_without_lituse.
+	Handle GOTDTPREL and GOTTPREL relocations.
+	(elf64_alpha_relax_gprelhilo): New.
+	(elf64_alpha_relax_tls_get_addr): New.
+	(elf64_alpha_relax_find_tls_segment): New.
+	(elf64_alpha_relax_section): Handle TLS relocations.
+	(ALPHA_ELF_LINK_HASH_TLS_IE): New.
+	(elf64_alpha_check_relocs): Set it.
+
+2002-06-01  Richard Henderson  <rth@redhat.com>
+
+	* elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp.
+
+	* elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic
+	check; don't suppress dynamic relocs for non-allocated sections.
+
+	* elf64-alpha.c: Remove dead code.
+
+2002-05-31  Alan Modra  <amodra@bigpond.net.au>
+
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+	* elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate
+	space for bss .plt.
+
+2002-05-31  Graeme Peterson  <gp@qnx.com>
+
+	* Makefile.am (BFD32_BACKENDS): Add elf32-i386qnx.lo.
+	(BFD32_BACKENDS_CFILES): Add elf32-i386qnx.c.
+	Run "make dep-am".
+	* Makefile.in: Regenerate.
+	* config.bfd: Add i[3456]86-*-nto-qnx* support.
+	* configure.in: Add bfd_elf32_i386qnx_vec support.
+	* configure: Regenerate.
+	* elf-bfd.h (struct elf_backend_data): Add set_nonloadable_filepos,
+	is_contained_by_filepos, and copy_private_bfd_data_p.
+	* elf.c (assign_file_positions_for_segments): Call backend
+	set_nonloadable_filepos.  Fix non-K&R call to _bfd_error_handler.
+	(IS_CONTAINED_BY_FILEPOS): Define.
+	(INCLUDE_SECTION_IN_SEGMENT): Also test IS_CONTAINED_BY_FILEPOS.
+	(copy_private_bfd_data): Use IS_CONTAINED_BY_FILEPOS.  Typo fix.
+	Fix non-K&R call to _bfd_error_handler.
+	(_bfd_elf_copy_private_section_data): Use backend
+	copy_private_bfd_data_p.
+	* elf32-i386.c: Don't include elfxx-target.h when
+	ELF32_I386_C_INCLUDED is defined.
+	* elf32-i386qnx.c: New QNX elf backend file.
+	* elfxx-target.h: Add elf_backend_set_nonloadable_filepos,
+	elf_backend_is_contained_by_filepos, and
+	elf_backend_do_copy_private_bfd_data.
+	* targets.c: Add bfd_target bfd_elf32_i386qnx_vec.
+
+2002-05-31  Alan Modra  <amodra@bigpond.net.au>
+
+	* elfarm-oabi.c (bfd_elf32_arm_add_glue_sections_to_bfd): Define.
+	Move other similar defines to start of file.
+
+2002-05-30  Tom Rix  <trix@redhat.com>
+
+	* coff-rs6000.c (xcoff_rtype2howto): Handle 16 bit R_RBA.
+	* coff64-rs6000.c (xcoff64_rtype2howto): Same.
+
+2002-05-30  Richard Henderson  <rth@redhat.com>
+
+	* elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
+	ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
+	(ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
+	(ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
+	(struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
+	(struct alpha_elf_obj_tdata): Rename total_got_entries and
+	n_local_got_entries to total_got_size and local_got_size.
+	(elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
+	(alpha_got_entry_size): New.
+	(elf64_alpha_relax_with_lituse): Use it.
+	(elf64_alpha_relax_without_lituse): Likewise.
+	(MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
+	(get_got_entry): New.
+	(elf64_alpha_check_relocs): Handle TLS relocs.  Reorganize.
+	(elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
+	(elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
+	(elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
+	(elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
+	(elf64_alpha_calc_got_offsets): Likewise.
+	(alpha_dynamic_entries_for_reloc): New.
+	(elf64_alpha_calc_dynrel_sizes): Use it.
+	(elf64_alpha_size_dynamic_sections): Likewise.
+	(elf64_alpha_relocate_section): Handle TLS relocations.
+	* reloc.c: Add Alpha TLS relocations.
+	* bfd-in2.h, libbfd.h: Rebuild.
+
+2002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
+
+	* peXXigen.c (pe_print_idata): Remove double printed
+	import table lines; add Bound-To comment.
+
+2002-05-29  Matt Thomas  <matt@3am-software.com>
+
+	* Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo.
+	(BFD32_BACKENDS_CFILES): Add elf32-vax.c.
+	(elf32-vax.lo): New rule.
+	* Makefile.in: Regenerate.
+	* configure.in (bfd_elf32_vax_vec)
+	(vaxnetbsd_vec): New vectors.
+	* configure: Regenerate.
+	* config.bfd (vax-*-netbsdelf*)
+	(vax-*-netbsdaout*)
+	(vax-*-netbsd*): New targets.
+	* elf32-vax.c: New file.
+	* reloc.c: Add VAX relocations.
+	* bfd-in2.h: Regenerate.
+	* targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec.
+
+2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec
+	and bfd_elf32_bigarm_vec to targ_selvecs.
+
+2002-05-29  Ralf Habacker  <ralf.habacker@freenet.de>
+
+	* peXXigen.c (pe_print_idata): Fix seg faults on printing import tables
+	with auto-imported symbols.
+
+2002-05-29  Adam Nemet  <anemet@lnxw.com>
+
+	* elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Don't add glue
+	sections only record bfd.
+	(bfd_elf32_arm_add_glue_sections_to_bfd): New function.
+	* bfd-in.h (bfd_elf32_arm_add_glue_sections_to_bfd): Declare it.
+	* bfd-in2.h: Regenerate.
+
+2002-05-28  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* syms.c (_bfd_stab_section_find_nearest_line): Move
+	declaration and initialisation of saw_line and saw_func out of
+	for loop.
+
+2002-05-29  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_get_symbol_info): New function.
+	(bfd_elf64_get_symbol_info): Define.
+	* elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef.
+
+2002-05-29  Andrey Volkov  <avolkov@transas.com>
+
+	* cpu-h8300.c: Make default h8300 machine first in machine list.
+
+2002-05-28  Kuang Hwa Lin <kuang@sbcglobal.net>
+
+	* config.bfd: Added DLX configuraton.
+	* Makefile.am: Added DLX configuraton.
+	* configure.in: Added DLX configuraton.
+	* archures.c: Add DLX architecture.
+	* reloc.c: Add DLX relocs.
+	* targets.c: Added DLX target vector.
+	* configure: Regenerate.
+	* Makefile.in: Regenreate.
+	* bfd-in2.h: Regenreate.
+	* elf32-dlx.c: New file: Support DLX target.
+	* cpu-dlx.c: New file: Support DLX target.
+
+2002-05-25  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.
+
+	* 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.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
+	added 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>
+
+	* 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
+	processing.
+	(_bfd_mips_elf_hi16_reloc): Don't subtract address here for
+	pc-relative relocations.  (Reverts change made on 2001-10-31.)
+	(_bfd_mips_elf_lo16_reloc): Subtract address of LO16 part here
+	for pc-relative relocations.
+	(mips_elf_calculate_relocation): Add a comment about a kludge
+	in the R_MIPS_GNU_REL_HI16 handling.
+	(_bfd_mips_elf_relocate_section): Implement that kludge;
+	adjust pc-relative HI16 relocation for difference in HI16 and
+	LO16 addresses, since it can't easily be done in
+	mips_elf_calculate_relocation.
+
+2002-01-29  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32
+	relocations with PC32 relocations for undefined or weak symbols.
+	* elf32-s390 (elf_i386_adjust_dynamic_symbol): Likewise.
+	* elf64-s390x (elf_i386_adjust_dynamic_symbol): Likewise.
+
+2002-01-28  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* elfcore.h (elf_core_file_p): Improve comment for last change.
+
+2002-01-27  Daniel Jacobowitz  <drow@mvista.com>
+
+	* configure: Regenerated.
+
+2002-01-27  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* elfcore.h (elf_core_file_p): Set the machine architecture
+	before processing the program headers.
+
+2002-01-26  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* configure.in <64-bit configuration>: If using gcc, check and
+	emit error for egcs-1.1.2.
+	* configure: Regenerate.
+
+2002-01-26  Egor Duda  <deo@logos-m.ru>
+
+	* elf.c (elfcore_grok_win32pstatus): Copy only as much information
+	as possible to avoid stack corruption.
+
+2002-01-26  Richard Henderson  <rth@redhat.com>
+
+	* elf64-alpha.c (elf64_alpha_check_relocs): Don't set reltext
+	for non-allocated sections.
+
+2002-01-25  Mark Kettenis  <kettenis@gnu.org>
+
+	* elf.c (elfcore_write_prstatus): Make sure we pass the address of
+	prstat.pr_reg even if it is a struct.
+
+2002-01-25  Steve Ellcey <sje@cup.hp.com>
+
+	* elfxx-ia64.c: Reset AIX vector function overrides for HP-UX.
+
+2002-01-25  Philipp Thomas  <pthomas@suse.de>
+
+	* coffgen.c (coff_print_symbol): Don't mark info message
+	for translation.
+
+2002-01-25  Nick Clifton <nickc@redhat.com>
+
+	* po/fr.po: Updated translation.
+	* po/es.po: Updated translation.
+
+2002-01-25  Philipp Thomas  <pthomas@suse.de>
+
+	* coff-alpha.c (alpha_relocate_section): Unify warning message
+	for GP relative relocations without GP defined.
+	* coff-mips.c (mips_relocate_section): Likewise.
+
+2002-01-25  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid
+	unsigned overflow when new_offset < old_offset.
+
+2002-01-24  Philipp Thomas  <pthomas@suse.de>
+
+	* bfd.c (_bfd_abort): Fix typo.
+
+2002-01-23  Richard Henderson  <rth@redhat.com>
+
+	* elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't suppress
+	plt entries for undefweak symbols.
+
+2002-01-23  Steve Ellcey <sje@cup.hp.com>
+
+	* targets.c (bfd_elf32_ia64_hpux_big_vec): Add to DEFAULT_VECTOR.
+	(bfd_elf64_ia64_hpux_big_vec): Ditto.
+	(bfd_elf32_h8300_vec): Ditto.
+
+2002-01-23  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c: Remove stale part of ABI comment.
+	(NO_OPD_RELOCS): Define.
+	(ppc64_elf_check_relocs): Use it.
+	(ppc64_elf_relocate_section): Here too.
+	(build_one_stub): Don't point function syms at the stub.  Instead,
+	hijack plt.offset.
+	(ppc64_elf_relocate_section): Check whether REL24 relocs should
+	really go to the stub.  Make all dynamic relocs in opd against
+	locals.
+	(ppc64_elf_finish_dynamic_symbol): Allow for non-standard use of
+	plt.offset.
+
+2002-01-22  Richard Henderson  <rth@redhat.com>
+
+	* elf64-alpha.c (INSN_UNOP): Encode with RB as $sp.
+
+2002-01-22  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Correct sign of
+	TOC_BASE_OFF adjustment.
+
+	* Makefile.am: Run "make dep-am".
+	* Makefile.in: Regenerate.
+	* po/SRC-POTFILES.in: Regenerate.
+
+2002-01-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+	* configure.host (hppa*64*-*-hpux*, hppa*64*-*-linux*): Add new
+	host defines.
+
+2002-01-21  Hans-Peter Nilsson  <hp@axis.com>
+
+	* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GOTREL>:
+	Check for and emit error if sgot is NULL at this point.
+
+2002-01-21  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* config.bfd (ia64*-*-netbsd*): New target.
+
+2002-01-21  Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
+
+	* som.c (som_write_space_strings): Comment typo fix.
+
+2002-01-21  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and
+	is_func_descriptor fields.
+	(link_hash_newfunc): Init them.
+	(ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a
+	dot are candidates for plt entries.  When processing .opd relocs,
+	set function descriptor strings to point inside function code
+	string, and set new ppc_link_hash_entry fields.
+	(ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs.
+	(ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with
+	function descriptors.  It's now done in..
+	(func_desc_adjust): New.
+	(ppc64_elf_func_desc_adjust): New.
+	(define elf_backend_always_size_sections): Define.
+	(ppc64_elf_hide_symbol): New.
+	(define elf_backend_hide_symbol): Define.
+	(allocate_dynrelocs): Remove code looking up function descriptors
+	as that has been done earlier.
+	(ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash
+	table.
+	(ppc64_elf_finish_dynamic_symbol): Likewise.  Remove code looking
+	up function descriptor.
+	(build_one_stub): Look up the function code sym.  Check for
+	invalid plt offsets.
+	(ppc64_elf_relocate_section): Tweak calls to undefined weak syms.
+	Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs.
+
+	* elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add
+	boolean param.
+	(_bfd_elf_link_hash_hide_symbol): Likewise.
+	* elflink.h (elf_link_add_object_symbols): Adjust call to
+	elf_backend_hide_symbol.
+	(elf_fix_symbol_flags): Likewise.
+	(elf_link_assign_sym_version): Likewise. Use bfd_malloc rather
+	than bfd_alloc.
+	* elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param.
+	Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref.
+	* elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
+	(clobber_millicode_symbols): Adjust to suit new hide_symbol.
+	* elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param
+	and adjust to suit.
+	* elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call
+	_bfd_elf_link_hash_hide_symbol rather than duplicating code.
+	* elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
+
+2002-01-18  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Test for a
+	dynamic function descriptor symbol, not the associated function
+	symbol.
+
+2002-01-17  Eric Christopher  <echristo@redhat.com>
+
+	* elf32-mips.c (mips_elf_calculate_relocation): Fix typo.
+
+2002-01-17  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* po/bfd.pot: Regenerate.
+	* po/fr.po: Regenerate.
+
+2002-01-17  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf-bfd.h (elf_backend_data <elf_backend_section_from_bfd_section>):
+	Remove "Elf_Internal_Shdr *" param.
+	(_bfd_mips_elf_section_from_bfd_section): Ditto.
+	* elf32-mips.c (_bfd_mips_elf_section_from_bfd_section): Ditto.
+	* elf32-m32r.c (_bfd_m32r_elf_section_from_bfd_section): Ditto.
+	* elf32-v850.c (v850_elf_section_from_bfd_section): Ditto.
+	* elf64-mmix.c (mmix_elf_section_from_bfd_section): Ditto.
+	* elfxx-ia64.c (elfNN_hpux_backend_section_from_bfd_section): Ditto.
+	* elf.c (_bfd_elf_section_from_bfd_section): Allow backend
+	function to override special sections.  Remove hdr arg from
+	backend call, and don't loop.
+
+2002-01-16  Eric Christopher  <echristo@redhat.com>
+
+	* elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp
+	on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of
+	relocations requiring gp0 and gp.
+
+2002-01-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle
+	EF_ARM_VFP_FLOAT.
+	(elf32_arm_print_private_bfd_data): Likewise.
+
+2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* po/tr.po: Import new version.
+
+2002-01-16  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs.
+	(ppc64_elf_reloc_type_lookup): Use proper CTOR reloc.
+	(ORI_R0_R0_0): Correct.
+
+2002-01-16  Alan Modra  <amodra@bigpond.net.au>
+
+	* elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE
+	when plt_not_loaded.
+	* elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to
+	clear .plt SEC_CODE here.  Create .stub and correct .glink flags.
+	(PLT_INITIAL_ENTRY_SIZE): Set to 24.
+	(ppc64_elf_glink_code): Delete.
+	(PPC64_ELF_GLINK_SIZE): Delete.
+	(ADDIS_R12_R2, STD_R2_40R1, LD_R11_0R12, LD_R2_0R12, MTCTR_R11,
+	BCTR, ADDIS_R12_R12_1, LD_R2_40R1, NOP, LI_R0_0, B_DOT, LIS_R0_0,
+	ORI_R0_R0_0): Define.
+	(PLT_CALL_STUB_SIZE, GLINK_CALL_STUB_SIZE): Define.
+	(struct ppc_link_hash_table): Add sstub and plt_overflow.
+	(ppc64_elf_link_hash_table_create): Init them.
+	(ppc64_elf_check_relocs <R_PPC64_REL24>): Refcount .plt entry.
+	Don't copy to shared lib.
+	(ppc64_elf_check_relocs): Call bfd_set_error on errors.
+	(ppc64_elf_gc_sweep_hook <R_PPC64_REL24>): Sweep plt refcount.
+	(allocate_dynrelocs <plt>): Don't change function sym here.  Make
+	room for .stub and .glink code.
+	(ppc64_elf_size_dynamic_sections): Handle .stub.  Make entry for
+	DT_PPC64_GLINK.
+	(ppc64_elf_final_link): Rename to ppc64_elf_set_toc.  Don't call
+	bfd_elf64_bfd_final_link.
+	(bfd_elf64_bfd_final_link): Don't define.
+	(ppc64_elf_size_stubs): New.
+	(build_plt_stub): New.
+	(build_one_stub): New.
+	(ppc64_elf_build_stubs): New.
+	(ppc64_elf_relocate_section <toc relocs>): Remove assert.
+	(ppc64_elf_relocate_section): Don't copy R_PPC64_REL24 relocs.
+	(ppc64_elf_finish_dynamic_symbol): Don't build stubs here.  Set
+	DT_PPC64_GLINK entry.  Tweak DT_PLTGOT, DT_JMPREL, DT_PLTRELSZ in
+	case output sections not separate.  Adjust DT_RELASZ to not
+	include plt relocs.  Set reserved got entry.  Set got and plt
+	entry size.
+	(elf_backend_got_header_size): Set to 8.
+	* elf64-ppc.h: New file.
+
+2002-01-16  Alan Modra  <amodra@bigpond.net.au>
+
+	* elf32-arm.h (elf32_arm_size_dynamic_sections): When removing
+	sections, use bfd_section_list_remove.
+	* elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
+	* elflink.h (elf_link_add_object_symbols): When removing all
+	sections, use bfd_section_list_clear.
+
+2002-01-15  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* po/sv.po: New file: Swedish translation.
+	* configure.in (ALL_LINGUAS): Add sv.
+	* configure: Regenerate.
+
+2002-01-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* elflink.h (elf_link_input_bfd): Back out 2002-01-07 change.
+	* elf.c (merge_sections_remove_hook): New function.
+	(_bfd_elf_merge_sections): Pass it as 3rd argument to
+	_bfd_merge_sections.
+	* libbfd-in.h (_bfd_merge_sections): Add 3rd argument.
+	* libbfd.h: Rebuilt.
+	* merge.c (_bfd_merge_sections): Add remove_hook argument.
+	Call remove_hook if a SEC_EXCLUDE section is encountered.
+
+2002-01-15  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* elf32-xstormy16.c (xstormy16_reloc_map): Add new field 'table'.
+	(xstormy16_reloc_map): Initialise new field with correct howto
+	table.
+	(xstormy16_reloc_type_lookup): Use 'table' field to locate correct
+	howto entry.
+
+2002-01-10  Michael Snyder  <msnyder@redhat.com>
+
+	* elf.c (elfcore_write_prstatus): Use long instead of pid_t;
+	(elfcore_write_pstatus): Use long instead of pid_t;
+	* elf-bfd.h: Change prototypes to use long instead of pid_t;
+
+2002-01-09  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* elf.c: Update copyright years.
+	(elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO
+	and NT_NETBSDCORE_FIRSTMACH.  Improve a comment.
+
+2002-01-08  Michael Snyder  <msnyder@redhat.com>
+
+	Add capability to write corefile note sections, for gdb.
+	* elf.c (elfcore_write_note): New function.
+	(elfcore_write_prpsinfo): New function.
+	(elfcore_write_prstatus): New function.
+	(elfcore_write_pstatus): New function.
+	(elfcore_write_prfpreg): New function.
+	(elfcore_write_prxfpreg): New function.
+	* elf-bfd.h: Add prototypes for above functions.
+
+2002-01-08  Alexandre Oliva  <aoliva@redhat.com>
+
+	* elf.c (elf_fake_sections): Propagate errors from
+	elf_backend_fake_section.
+
+2002-01-07  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* Makefile.am (BFD32_BACKENDS): Add elf32-sh-nbsd.lo.
+	(BFD32_BACKENDS_CFILES): Add elf32-sh-nbsd.c.
+	(elf32-sh-nbsd.lo): New rule.
+	* Makefile.in: Regenerate.
+	* config.bfd (sh*le-*-netbsdelf*): New target.
+	(sh*-*-netbsdelf*): New target.
+	* configure.in: Include netbsd-core.lo for native sh*-*-netbsd*.
+	(bfd_elf32_shnbsd_vec): New vector.
+	(bfd_elf32_shlnbsd_vec): New vector.
+	* configure: Regenerate.
+	* elf32-sh-nbsd.c: New file.
+	* targets.c: Update copyright years.
+	(_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and
+	bfd_elf32_shnbsd_vec.
+
+2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
+
+	* coff-rs6000.c (READ20): Use bfd_scan_vma.
+
+2002-01-07  Geoffrey Keating  <geoffk@redhat.com>
+
+	* elflink.h (elf_link_input_bfd): Don't ask for the merged offset
+	of a symbol in a section that will be deleted.
+
+2002-01-07  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* po/es.po: New file: Spanish translation.
+	* configure.in (ALL_LINGUAS): Add es.
+	* configure: Regenerate.
+
+2002-01-06  Steve Ellcey  <sje@cup.hp.com>
+
+	* elfxx-ia64.c (is_unwind_section_name): Add target vector as
+	argument so we can handle HP-UX specially.
+	(elfNN_ia64_hpux_vec): New for use in is_unwind_section_name.
+	(elfNN_hpux_backend_section_from_bfd_section): New for support
+	of SHN_IA_64_ANSI_COMMON.
+	(elfNN_ia64_relax_section): Add support for SHN_IA_64_ANSI_COMMON.
+	(is_unwind_section_name): Add special HP-UX support.
+	(elfNN_ia64_section_from_shdr): Add support for more sections.
+	(elfNN_ia64_fake_sections): Modify is_unwind_section_name call and
+	add support for more sections.
+	(elfNN_ia64_additional_program_headers): Modify
+	is_unwind_section_name call.
+	(elfNN_ia64_modify_segment_map): Remove assumption that there is
+	only one unwind section in segment.
+
+2002-01-06  Alan Modra  <amodra@bigpond.net.au>
+
+	* syms.c (_bfd_generic_make_empty_symbol): New function.
+	* libbfd-in.h (_bfd_nosymbols_make_empty_symbol): Define as
+	_bfd_generic_make_empty_symbol.
+	* libbfd.h: Regenerate.
+	* bfd-in2.h: Regenerate.
+	* hppabsd-core.c (hppabsd_core_make_empty_symbol): Delete function.
+	(hppabsd_core_get_symtab_upper_bound): Don't define.
+	(hppabsd_core_get_symtab): Likewise.
+	(hppabsd_core_print_symbol): Likewise.
+	(hppabsd_core_get_symbol_info): Likewise.
+	(hppabsd_core_bfd_is_local_label_name): Likewise.
+	(hppabsd_core_get_lineno): Likewise.
+	(hppabsd_core_find_nearest_line): Likewise.
+	(hppabsd_core_bfd_make_debug_symbol): Likewise.
+	(hppabsd_core_read_minisymbols): Likewise.
+	(hppabsd_core_minisymbol_to_symbol): Likewise.
+	(hppabsd_core_vec): Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).
+	Formatting fixes.
+	* hpux-core.c: Similarly.
+	* irix-core.c: Similarly.
+	* osf-core.c: Similarly.
+	* sco5-core.c: Similarly.
+	* binary.c (binary_make_empty_symbol): Remove function, define as
+	_bfd_generic_make_empty_symbol.
+	* ihex.c (ihex_make_empty_symbol): Likewise.
+	* mmo.c (mmo_make_empty_symbol): Likewise.
+	* ppcboot.c (ppcboot_make_empty_symbol): Likewise.
+	* srec.c (srec_make_empty_symbol): Likewise.
+	* versados.c (versados_make_empty_symbol): Likewise.
+	* vms.c (_bfd_vms_make_empty_symbol): Remove.
+	(vms_make_empty_symbol): Define as _bfd_generic_make_empty_symbol.
+	* vms-gsd.c (_bfd_vms_slurp_gsd): Call bfd_make_empty_symbol
+	rather than _bfd_vms_make_empty_symbol.
+	* vms-misc.c (new_symbol): Likewise.
+
+2002-01-05  Alan Modra  <amodra@bigpond.net.au>
+
+	* section.c (bfd_section_init): Remove unnecessary initialisations.
+	(bfd_section_list_clear): New function.
+	(bfd_section_list_remove, bfd_section_list_insert): New macros.
+	(_bfd_strip_section_from_output): Use them.
+	* coffcode.h (coff_set_alignment_hook): Likewise.
+	* elf32-mips.c (_bfd_mips_elf_final_link): Likewise.
+	* elf64-mips.c (mips_elf64_final_link): Likewise.
+	* elf64-mmix.c (mmix_elf_final_link): Likewise.
+	* sunos.c (sunos_add_dynamic_symbols): Likewise.
+	* xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
+	* bfd-in2.h: Regenerate.
+
+	* netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway
+	rather than doing our own section handling.  Clean up after errors
+	with bfd_release and bfd_section_list_clear.  Handle unexpected
+	flags.
+	* aoutf1.h (sunos4_core_file_p): Likewise.
+	* aix386-core.c (aix386_core_file_p): Likewise.
+	* cisco-core.c (cisco_core_file_validate): Likewise.
+	* ptrace-core.c (ptrace_unix_core_file_p): Likewise.
+	* trad-core.c (trad_unix_core_file_p): Likewise.
+
+	* hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors
+	with bfd_release and bfd_section_list_clear.
+	* hpux-core.c (hpux_core_core_file_p): Likewise.
+	* irix-core.c (irix_core_core_file_p): Likewise.
+	* lynx-core.c (lynx_core_file_p): Likewise.
+	* osf-core.c (osf_core_core_file_p): Likewise.
+	* rs6000-core.c (rs6000coff_core_p): Likewise.
+	* sco5-core.c (sco5_core_file_p): Likewise.
+
+	* elf32-mips.c (_bfd_mips_elf_lo16_reloc): Simplify, and perform
+	sign extension adjustments without conditionals.
+
+2002-01-04  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if
+	CIE at .eh_frame start is removed due to no FDEs referencing it.
+
+2002-01-04  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* config.bfd (x86_64-*-netbsd*): New target.
+	* configure.in (x86_64-*-netbsd*): Set COREFILE
+	to netbsd-core.lo.
+	* configure: Regenerated.
+
+2002-01-03  Tom Rix  <trix@redhat.com>
+
+	* xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering
+	for recent bfd_make_section_anyway change.
+
+2002-01-03  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* elf32-arm.h (elf32_arm_final_link_relocate): Handle
+	R_ARM_THM_PC11 reloc.
+
+2002-01-02  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* configure.in (LINGUAS): Add ja.
+	* configure: Regenerate.
+	* po/ja.po: Import from translation project's web site.
+
+2002-01-02  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error
+	messages to ease translation into other languages.
+
+For older changes see ChangeLog-0001
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/bfd/doc/ChangeLog-9103 b/bfd/doc/ChangeLog-9103
new file mode 100644
index 0000000..3636ed8
--- /dev/null
+++ b/bfd/doc/ChangeLog-9103
@@ -0,0 +1,594 @@
+2003-10-15  Andrew Cagney  <cagney@redhat.com>
+
+	* bfdint.texi (BFD target vector symbols): Rename _get_symtab to
+	_canonicalize_symtab.
+
+2003-10-08  David Taylor <dtaylor@emc.com>
+
+	* bfd.texinfo: Remove spurious backslash.
+
+2003-07-04  Josh Baratz  <baratz@intersystems.com>
+
+	* Makefile.am (MKDOC rule): Add $(CFLAGS) in case it contains
+	CC_FOR_BUILD specific switches.
+	* Makefile.in: Regenerate.
+
+2003-06-29  Alan Modra  <amodra@bigpond.net.au>
+
+	* chew.c (paramstuff): Don't emit PARAMS.
+
+2003-02-12  Bob Wilson  <bob.wilson@acm.org>
+
+	* bfd.texinfo: Fix quotes for texinfo.  Make section title
+	capitalization more consistent.  Use @example instead of @lisp.
+	Replace FDL appendix with include of fdl.texi.
+	* fdl.texi: New file.
+
+2002-11-18  Klee Dienes  <kdienes@apple.com>
+
+	* Makefile.am (DOCFILES): Add bfdwin.texi, bfdio.texi.
+	(PROTOS): Add bfdio.p, bfdwin.p.
+	(SRCDOC): Add bfdio.c, bfdwin.c.
+	(SRCPROT): Add bfdio.c, bfdwin.c.
+	(SRCIPROT): Add bfdio.c, bfdwin.c.
+	(LIBBFD_H_DEP): Add bfdio.c, bfdwin.c.
+	(BFD_H_DEP): Add bfdio.c, bfdwin.c.
+	Add rules for bfdio.texi, bfdwin.text.
+	* bfd.texinfo: Include bfdio.texi.
+
+2002-10-14  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.in: Regenerate.
+
+2002-10-11  Daniel Jacobowitz  <drow@mvista.com>
+
+	* Makefile.in: Regenerated.
+
+2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+	* chew.c (paramstuff, outputdots, perform, bang and usage): Remove
+	void from function definitions.
+
+2002-08-13  Alan Modra  <amodra@bigpond.net.au>
+
+	* header.sed: Strip tabs.
+
+2002-06-08  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am: Fix quote style in last change.
+	* Makefile.in: Regenerate.
+
+2002-06-07  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am (libbfd.h): Don't use "echo -n".
+	(libcoff.h, bfd.h): Likewise.
+	* Makefile.in: Regenerate.
+
+2002-06-06  Lars Brinkhoff  <lars@nocrew.org>
+
+	* bfdint.texi: Change registry@sco.com to registry@caldera.com.
+
+2002-06-05  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am (libbfd.h): Add "Extracted from.." comment.
+	(libcoff.h, bfd.h): Likewise.
+	* Makefile.in: Regenerate.
+
+2002-05-25  Alan Modra  <amodra@bigpond.net.au>
+
+	* chew.c: Use #include "" instead of <> for local header files.
+
+2002-04-20  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.in: Regenerate.
+
+2002-02-11  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.in: Regenerate.
+
+2002-02-01  Alan Modra  <amodra@bigpond.net.au>
+
+	* chew.c (WORD): Eliminate.
+
+2002-01-31  Ivan Guzvinec  <ivang@opencores.org>
+
+	* Makefile.in: Regenerate.
+
+2002-01-31  Alan Modra  <amodra@bigpond.net.au>
+
+	* chew.c (courierize): Don't modify @command params.
+
+2002-01-30  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* proto.str (ENUMDOC): Place two spaces between the end of
+	the text and the closing comment marker.
+
+2001-10-30  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* bfdint.texi (BFD target vector miscellaneous): Add
+	bfd_target_mmo_flavour.
+	* bfd.texinfo (BFD back ends): Add entry for mmo.
+	* Makefile.am (DOCFILES): Add mmo.texi.
+	(SRCDOC): Add mmo.c.
+	(s-mmo, mmo.texi): New rules.
+
+2001-10-29  Kazu Hirata  <kazu@hxi.com>
+
+	* bfdsumm.texi: Fix a typo.
+
+2001-10-26  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* bfd.texinfo: Change footer to refer to FSF.  Change subtitle
+	to refer to original creation date.
+
+2002-01-26  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* Makefile.am (install): Depend on install-info.
+	* Makefile.in: Regenerate.
+
+2001-10-03  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am (BFD_H_DEP): Add ../version.h.
+	* Makefile.in: Regenerate.
+
+2001-10-02  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.in: Regenerate.
+
+2001-10-01  Alan Modra  <amodra@bigpond.net.au>
+
+	* header.sed: New file, adds header to generated files.
+	* Makefile.am: Rewrite rules generating libbfd.h, libcoff.h and
+	bfd.h, using above.  Add missing elf.c dependecy for libbfd.h.
+	* Makefile.in: Regenerate.
+
+2001-09-21  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.in: Regenerate.
+
+2001-09-18  Alan Modra  <amodra@bigpond.net.au>
+
+	* bfdint.texi: Replace reference to bfd_read with bfd_bread.
+	Likewise for bfd_write.
+
+2001-07-24  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.in: Regenerate.
+
+2001-06-21  Hans-Peter Nilsson  <hp@axis.com>
+
+	* bfdint.texi (BFD relocation functions) <different formats>:
+	Mention that the GNU linker is aware of input-output format
+	restrictions when generating relocatable output.  Make new
+	paragraph for final-link case.
+	(BFD target vector swap): Fix typo.
+
+2001-01-25  Kazu Hirata  <kazu@hxi.com>
+
+	* chew.c: Do not output trailing whitespaces in type and
+	functionname.  Update copyright.
+
+2001-01-24  Kazu Hirata  <kazu@hxi.com>
+
+	* chew.c: Do not output a trailing whitespace.
+
+2000-11-06  Nick Clifton  <nickc@redhat.com>
+
+	* bfd.texinfo: Add GNU Free Documentation License.
+
+2000-07-09  Alan Modra  <alan@linuxcare.com.au>
+
+	* Makefile.in: Regenerate.
+
+2000-07-08  Alan Modra  <alan@linuxcare.com.au>
+
+	* chew.c (outputdots): Don't add a space before `/*'.
+	(courierize): Likewise.
+
+Wed May 24 12:03:25 2000  Hans-Peter Nilsson  <hp@axis.com>
+
+	* bfdint.texi (BFD ELF processor required): Add paragraph about
+	target necessities for readelf.
+
+2000-04-30  Ben Elliston  <bje@redhat.com>
+
+	* bfdint.texi (BFD generated files): Fix another typo.
+
+2000-04-17  Ben Elliston  <bje@redhat.com>
+
+	* bfdint.texi (BFD_JUMP_TABLE macros): Fix typo.
+
+2000-04-07  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* Makefile.in: Rebuild with current autoconf/automake.
+
+1999-02-04  Ian Lance Taylor  <ian@cygnus.com>
+
+	* Makefile.in: Rebuild with current autoconf/automake.
+
+1998-07-23  Nick Clifton  <nickc@cygnus.com>
+
+	* bfdint.texi (BFD ELF processor required): Add paragraph
+	describing the necessity to create "include/elf/CPU.h".
+
+1998-05-07  Ian Lance Taylor  <ian@cygnus.com>
+
+	* Makefile.am (chew.o): Add -I options for intl srcdir and
+	objdir.
+	* Makefile.in: Rebuild.
+
+1998-04-27  Ian Lance Taylor  <ian@cygnus.com>
+
+	* bfdint.texi: New file.
+	* Makefile.am (noinst_TEXINFOS): New variable.
+	* Makefile.in: Rebuild.
+
+1998-04-13  Ian Lance Taylor  <ian@cygnus.com>
+
+	* Makefile.in: Rebuild.
+
+1998-04-06  Ian Lance Taylor  <ian@cygnus.com>
+
+	* Makefile.am (STAGESTUFF): Remove variable.
+	(CLEANFILES): Don't remove $(STAGESTUFF).
+	(DISTCLEANFILES, MAINTAINERCLEANFILES): New variables.
+	* Makefile.in: Rebuild.
+
+1998-03-27  Ian Lance Taylor  <ian@cygnus.com>
+
+	* chew.c (skip_white_and_starts): Remove unused declaration.
+	(skip_white_and_stars): Add casts to avoid warnings.
+	(skip_trailing_newlines, paramstuff, courierize): Likewise.
+	(bulletize, do_fancy_stuff, iscommand): Likewise.
+	(kill_bogus_lines, nextword, main): Likewise.
+	(manglecomments): Comment out.
+	(outputdots, kill_bogus_lines): Remove unused local variables.
+	(perform, compile): Likewise.
+	(courierize): Fully parenthesize expression.
+	(copy_past_newline): Declare return value.
+	(print): Change printf format string.
+	(main): Call usage for an unrecognized option.
+
+1998-02-13  Ian Lance Taylor  <ian@cygnus.com>
+
+	* Makefile.am (AUTOMAKE_OPTIONS): Define.
+	* Makefile.in: Rebuild.
+
+1998-01-26  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* doc.str (bodytext): Don't output @* at the end.
+	* chew.c (kill_bogus_lines): Make sure that a period at the
+	beginning is recognized.
+	(indent): Don't put indentation at the end.
+	(copy_past_newline): Expand tabs.
+	* Makefile.am (s-reloc, s-syms): Depend on doc.str.
+	* Makefile.in: Rebuild.
+
+1997-10-01  Ian Lance Taylor  <ian@cygnus.com>
+
+	* Makefile.am (libbfd.h): Don't use cpu-h8300.c, cpu-i960.c, or
+	elfcode.h as input files; they don't contribute anything.
+	* Makefile.in: Rebuild.
+
+1997-08-15  Doug Evans  <dje@canuck.cygnus.com>
+
+	* Makefile.am (libbfd.h, libcoff.h): Invoke $(MKDOC) as ./$(MKDOC).
+	* Makefile.in: Rebuild.
+
+1997-08-01  Ian Lance Taylor  <ian@cygnus.com>
+
+	* Makefile.am (CC_FOR_BUILD): Don't set explicitly.
+	* Makefile.in: Rebuild.
+
+1997-07-31  Ian Lance Taylor  <ian@cygnus.com>
+
+	* Makefile.am: New file, based on old Makefile.in.
+	* Makefile.in: Now built with automake.
+
+1997-07-22  Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
+
+	* Makefile.in: Change stamp-* files to s-* files.  Use bfdt.texi
+	rather than bfd.texi.
+	(DOCFILES): Change bfd.texi to bfdt.texi.
+	* bfd.texinfo: Include bfdt.texi, not bfd.texi.
+
+1997-06-16  Ian Lance Taylor  <ian@cygnus.com>
+
+	* Makefile.in (CC, CFLAGS): Substitute from configure script.
+	From Jeff Makey <jeff@cts.com>.
+
+1997-04-15  Ian Lance Taylor  <ian@cygnus.com>
+
+	* Makefile.in (install-info): Use mkinstalldirs to build
+	$(infodir).
+
+1997-04-08  Ian Lance Taylor  <ian@cygnus.com>
+
+	* Makefile.in (install-info): Permit info files to be in srcdir.
+	(stamp-*): Add a stamp-X target for each X.texi target.
+	(*.texi): Just depend upon stamp-X.
+	(clean): Remove stamp-*.
+	(distclean): Depend upon mostlyclean.  Remove stamp-*.  Don't
+	remove $(DOCFILES).
+
+1997-04-07  Ian Lance Taylor  <ian@cygnus.com>
+
+	* Makefile.in (distclean): Don't remove *.info files.
+
+1997-02-13  Klaus Kaempf  (kkaempf@progis.de)
+
+	* makefile.vms: New file.
+
+1996-06-18  Ian Lance Taylor  <ian@cygnus.com>
+
+	* chew.c (kill_bogus_lines): Reset sl when not at the start of a
+	line.  From Uwe Ohse <uwe@tirka.gun.de>.
+
+1996-01-30  Ian Lance Taylor  <ian@cygnus.com>
+
+	From Ronald F. Guilmette <rfg@monkeys.com>:
+	* Makefile.in (libbfd.h): Depend upon proto.str.
+	(libcoff.h, bfd.h): Likewise.
+
+1995-11-03  Fred Fish  <fnf@cygnus.com>
+
+	* Makefile.in (SRCDOC, SRCPROT, core.texi, bfd.h):  Use corefile.c,
+	renamed from core.c.
+
+1995-11-01  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
+
+	* chew.c: Include <ctype.h>.
+
+1995-10-06  Ken Raeburn  <raeburn@cygnus.com>
+
+	Mon Sep 25 22:49:32 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* Makefile.in (Makefile): Only remake this Makefile.
+
+1995-10-04  Ken Raeburn  <raeburn@cygnus.com>
+
+	* chew.c: Include <stdio.h>.
+
+1995-09-12  Ian Lance Taylor  <ian@cygnus.com>
+
+	* Makefile.in (maintainer-clean): New target.
+
+1995-08-31  Ian Lance Taylor  <ian@cygnus.com>
+
+	* Makefile.in (bfd.h): Add additional #endif at end of bfd.h if
+	__cplusplus is defined.
+
+1994-11-29  Doug Evans  <dje@canuck.cygnus.com>
+
+	* chew.c (write_buffer): New argument `f', all callers changed.
+	(stdout, stderr, print, drop, idrop): New forth words.
+	* proto.str (COMMENT): New command.
+	* doc.str (COMMENT): Likewise.
+
+1994-09-12  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+	* Makefile.in (DOCFILES): Remove ctor.texi.
+	(IPROTOS): Remove ctor.ip.
+	(SRCIPROT): Remove $(srcdir)/../ctor.c.
+	(ctor.texi): Remove target.
+	(libbfd.h): Remove dependency on $(srcdir)/../ctor.c.  Remove
+	$(MKDOC) run on $(srcdir)/../ctor.c.
+	* bfd.texinfo (Constructors): Remove section.
+
+1994-09-02  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+	* chew.c: Include assert.h.  Added prototypes for most functions.
+	Changed most uses of int to long.  Do bounds checking on the
+	stacks.  Added comment at the beginning documenting most of the
+	intrinsics.  Lots of whitespace changes.  Re-ordered some
+	functions.
+	(die, check_range, icheck_range): New functions.
+	(strip_trailing_newlines, print_stack_level): New functions.
+	(translatecomments): Don't insert tab before "/*".
+	(iscommand): Minimum command length is now 4.
+	(nextword): Handle some \-sequences.
+	(push_addr): Deleted.
+	(main): Add new intrinsics strip_trailing_newlines and
+	print_stack_level.  Complain at end if stack contains more than
+	one element, or less.
+	(remchar): Make sure the string is not empty before chopping off a
+	character.
+
+	* doc.str, proto.str: Handle new commands SENUM, ENUM, ENUMX,
+	ENUMEQ, ENUMEQX, ENUMDOC.
+
+1994-01-12  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* bfd.texinfo: Added Linker Functions node.
+	* Makefile.in (DOCFILES): Added linker.texi.
+	(SRCDOC): Added linker.c.
+	(linker.texi): New target.
+
+1994-01-04  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* chew.c: Don't rely on a correct declaration of exit.
+	(chew_exit): New function which just calls exit.
+	(main): Use it.
+
+1994-01-03  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* bfd.texinfo: Added Hash Tables node.
+	* Makefile.in (DOCFILES): Added hash.texi.
+	(SRCDOC): Added hash.c.
+	(hash.texi): New target.
+
+1993-12-30  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+	* Makefile.in: Delete all references to seclet.c, since it's just
+	been deleted.  Don't mention hash.c, linker.c, or genlink.h yet,
+	since they don't contain documentation yet (hint, hint!).
+
+1993-11-05  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+	* bfd.texinfo: Small cleanups.
+
+1993-11-19  Ken Raeburn  (raeburn@cambridge.cygnus.com)
+
+	* Makefile.in (archures.texi): Depends on $(MKDOC).
+
+1993-08-10  Ken Raeburn  (raeburn@cambridge.cygnus.com)
+
+	* bfd.texinfo (BFD back end): Don't include elfcode.texi, since
+	it's empty now and that triggers a makeinfo bug.
+
+1993-08-09  Ken Raeburn  (raeburn@cambridge.cygnus.com)
+
+	* bfd.texinfo (BFD back end): New section on ELF, includes
+	elf.texi and elfcode.texi.
+	* Makefile.in (DOCFILES): Include elf.texi, elfcode.texi.
+	(SRCDOC): Include elfcode.h, elf.c.
+	(elf.texi, elfcode.texi): New intermediate targets.
+
+1993-06-24  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+	* Makefile.in (.c.o, chew.o): Put CFLAGS last.
+	* bfdsumm.texi: New file, broken out of bfd.texinfo, to share
+	with ld.texinfo.
+
+1993-06-14  david d `zoo' zuhn  (zoo at rtl.cygnus.com)
+
+	* Makefile.in (install-info): remove parentdir cruft,
+
+1993-06-09  Jim Kingdon  (kingdon@cygnus.com)
+
+	* Makefile.in (mostlyclean): Remove chew.o.
+
+1993-05-25  Ken Raeburn  (raeburn@cambridge.cygnus.com)
+
+	* Makefile.in (libbfd.h): Use elfcode.h, not elf32.c.
+
+1993-05-24  Ken Raeburn  (raeburn@cygnus.com)
+
+	* chew.c (compile): Add a couple of missing casts.
+
+1993-05-12  Ian Lance Taylor  (ian@cygnus.com)
+
+	* Makefile.in (CC_FOR_BUILD): New variable, define to be $(CC).
+	(chew.o, $(MKDOC)): Build using CC_FOR_BUILD rather than CC, since
+	it must run on the build machine.
+
+1993-04-07  John Gilmore  (gnu@cygnus.com)
+
+	* Makefile.in (chew):  Don't compile from .c to executable in a
+	single step; it puts a temporary .o filename into the executable,
+	which makes multi-stage comparisons fail.  Compile chew.c to
+	chew.o, and link that, which makes identical executables every time.
+
+1993-03-24  david d `zoo' zuhn  (zoo at poseidon.cygnus.com)
+
+	* Makefile.in: fix typo (bfd.texinfo not bfd.texino)
+
+1993-03-19  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
+
+	* bfd.texinfo: Since BFD version number has been bumped, do same
+	to "version number" on title page, and elsewhere.  Should be
+	fixed to extract real version number.
+
+1993-03-16  Per Bothner  (bothner@rtl.cygnus.com)
+
+	* Makefile.in:  Add *clean rules.
+
+1993-01-11  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* Makefile.in (libbfd.h): Removed duplicate init.c and libbfd.c.
+	Added seclet.c.
+	(bfd.h): Added dependency on bfd.c and seclet.c.  Added seclet.c
+	to build.
+
+1992-12-17  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
+
+	* Makefile.in: added dvi target, define and use $(TEXI2DVI)
+
+1992-12-03  Ken Raeburn  (raeburn@cambridge.cygnus.com)
+
+	* Makefile.in (TEXIDIR): New variable.
+	(bfd.dvi): Look for bfd.texinfo in $(srcdir).  Generate index.
+
+	* bfd.texinfo: Minor doc fixes.
+
+1992-11-05  John Gilmore  (gnu@cygnus.com)
+
+	Cleanup:  Replace all uses of EXFUN in the BFD sources, with PARAMS.
+
+	* chew.c (exfunstuff):  Eliminate.
+	(paramstuff):  Replace exfunstuff with function to generate PARAMS.
+	* proto.str:  Use paramstuff rather than exfunstuff.
+
+1992-08-17  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* chew.c: various patches provided by Howard Chu.
+
+1992-06-19  John Gilmore  (gnu at cygnus.com)
+
+	* Makefile.in (libbfd.h):  Add elf.c as a source of prototypes.
+
+1992-05-11  John Gilmore  (gnu at cygnus.com)
+
+	* chew.c:  exit() should be declared by config files, not by
+	portable source code.  Its type could be int or void function.
+
+1992-05-04  K. Richard Pixley  (rich@rtl.cygnus.com)
+
+	* Makefile.in: another CFLAGS correction.
+
+1992-04-28  K. Richard Pixley  (rich@rtl.cygnus.com)
+
+	* Makefile.in: Do the CFLAGS thing.
+
+1992-04-11  Fred Fish  (fnf@cygnus.com)
+
+	* Makefile.in (MINUS_G):  Add macro and default to -g.
+
+1992-03-06  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* chew.c: now has -w switch turn on warnings
+
+1992-02-26  K. Richard Pixley  (rich@cygnus.com)
+
+	* Makefile.in, configure.in: removed traces of namesubdir,
+	  -subdirs, $(subdir), $(unsubdir), some rcs triggers.  Forced
+	  copyrights to '92, changed some from Cygnus to FSF.
+
+1991-12-10  K. Richard Pixley  (rich at rtl.cygnus.com)
+
+	* Makefile.in: build chew into the current directory.  Complete
+	  the MKDOC macro transition.
+
+1991-12-10  Steve Chamberlain  (sac at rtl.cygnus.com)
+
+	* chew.c: don't core dump when can't open file
+	* Makefile.in: get proto.str from the right place when built in
+	odd directories
+
+1991-12-10  K. Richard Pixley  (rich at rtl.cygnus.com)
+
+	* Makefile.in: infodir belongs in datadir.
+
+1991-12-07  Steve Chamberlain  (sac at rtl.cygnus.com)
+
+	* chew.c: Much modified
+	* proto.str, doc.str: New files for extracting to product
+	prototypes and documents respectively.
+
+
+1991-12-06  K. Richard Pixley  (rich at rtl.cygnus.com)
+
+	* Makefile.in: added standards.text support, host/site/target
+	  inclusion hooks, install using INSTALL_DATA rather than cp,
+	  don't echo on install.
+
+1991-12-05  K. Richard Pixley  (rich at rtl.cygnus.com)
+
+	* Makefile.in: idestdir and ddestdir go away.  Added copyrights
+	  and shift gpl to v2.  Added ChangeLog if it didn't exist. docdir
+	  and mandir now keyed off datadir by default.
+
+
+Local Variables:
+version-control: never
+End:
diff --git a/gdb/ChangeLog-2003 b/gdb/ChangeLog-2003
new file mode 100644
index 0000000..b396264
--- /dev/null
+++ b/gdb/ChangeLog-2003
@@ -0,0 +1,15447 @@
+2003-12-30  Eli Zaretskii  <eliz@elta.co.il>
+
+	* configure.in: Check for st_blocks member in struct stat and
+	define HAVE_STRUCT_STAT_ST_BLOCKS accordingly.
+
+	* acconfig.h (HAVE_STRUCT_STAT_ST_BLOCKS): New undef.
+
+	* configure, config.in: Regenerated.
+
+	* remote-fileio.c (remote_fileio_to_fio_stat)
+	(remote_fileio_func_fstat) [HAVE_STRUCT_STAT_ST_BLOCKS]: Support
+	systems that don't have `st_blocks' member in `struct stat'.
+
+2003-12-29  Eli Zaretskii  <eliz@elta.co.il>
+
+	* go32-nat.c (go32_sldt, go32_sgdt, go32_sidt, go32_pte): Fix
+	mismatches between format string and arguments (avoids compiler
+	warnings).
+
+	* configure.in: Set ac_cv_search_tgetent to "none required" for
+	"*djgpp*" targets as well (DJGPP doesn't have termcap and doesn't
+	need one).
+
+	* config/djgpp/config.sed: Tweak to adapt to the changes in
+	configury.
+
+	* config/djgpp/djconfig.sh: Fix the test of unpacked
+	distribution, since there's no gdb.cxx directory anymore.
+
+2003-12-28  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-sol2-tdep.c (i386_sol2_mcontext_addr): New function.
+	(i386_sol2_init_abi): Initialize TDEP->sigcontext_addr,
+	TDEP->sc_reg_offset and TDEP->sc_num_regs.
+
+	* i386-tdep.h (i386_regnum): Add I386_CS_REGNUM and
+	I386_SS_REGNUM.
+
+2003-12-27  Mark Kettenis  <kettenis@gnu.org>
+
+	* dwarf2-frame.c (dwarf2_reg_rule): Add REG_RA and REG_CFA.
+	(dwarf2_frame_cache): Initialize PC_REGNUM with REG_RA and
+	SP_REGNUM with REG_CFA.  Don't overwrite the initialized register
+	rule for registers left unspecified by the CFI.  Remove the
+	special handling of PC_REGNUM.  Add code to eleminate any REG_RA
+	rules.
+	(dwarf2_frame_prev_register): Remove the special handling of
+	SP_REGNUM.  Add support for the REG_CFA rule.
+
+2003-12-26  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386obsd-tdep.c: Include "regset.h", "gdb_assert.h" and
+	"gdb_string.h".
+	(i386obsd_r_reg_offset): New variable.
+	(i386obsd_aout_supply_regset)
+	(i386obsd_aout_regset_from_core_section): New functions.
+	(i386obsd_supply_reg, fetch_core_registers): Remove functions.
+	(i286obsd_core_fns): Remove variable.
+	(i386obsd_init_abi): Initialize TDEP->gregset_reg_offset,
+	TDEP->gregset_num_regs and TDEP->sizeof_gregset.  Set
+	regset_from_core_section.  Use ARRAY_SIZE to initialize
+	TDEP->sc_num_regs.
+	(_initialize_i386obsd_tdep): Don't call add_core_fns.
+
+	* i386bsd-tdep.c (i386bsd_core_osabi_sniffer): New function.
+	(_initialize_i386bsd_tdep): Register i386bsd_core_osabi_sniffer.
+
+	* i386-linux-nat.c: Add comment.
+
+2003-12-26  Christopher Faylor  <cgf@redhat.com>
+
+	* win32-nat.c: Add some comments about below change.
+
+2003-12-25  Christopher Faylor  <cgf@redhat.com>
+
+	Fix for PR threads/1048
+	* win32-nat.c (thread_info_struct): Add reload_context flag.
+	(thread_rec): Don't reload thread context here.  Just set a flag.
+	(do_child_fetch_inferior_registers): Reload thread context here if
+	appropriate.  Avoid doing anything if current_thread is NULL thanks to
+	strange Windows behavior.
+	(child_fetch_inferior_registers): Avoid doing anything if
+	current_thread is NULL.
+	(do_child_store_inferior_registers): Ditto.
+	(child_store_inferior_registers): Ditto.
+	(child_kill_inferior): Ditto.
+	(fake_create_process): Pretend to create a process for pathological
+	windows attach situation.
+	(get_child_debug_event): Call fake_create_process when the first event
+	noticed is thread creation rather than process creation.
+	(child_attach): Always set attach_flag when attaching.
+	(child_create_inferior): Set attach_flag to zero since we're not
+	attaching.
+
+2003-12-25  Christopher Faylor  <cgf@redhat.com>
+
+	* win32-nat.c (get_child_debug_event): Keep main thread id around even
+	after thread exits since Windows insists on continuing to report events
+	against it.
+
+2003-12-22  Mark Kettenis  <kettenis@gnu.org>
+
+	* dwarf2-frame.c (dwarf2_frame_cache): Don't skip the return
+	address column.
+
+2003-12-21  Jim Blandy  <jimb@redhat.com>
+
+	* breakpoint.c (bpstat_do_actions): To ensure that
+	clear_proceed_status doesn't free the command tree we're
+	evaluating out from under us, zero the bpstat's pointer to it, and
+	take care of freeing it ourselves.
+	* cli/cli-script.c (make_cleanup_free_command_lines): Make this
+	function externally visible.
+	* cli/cli-script.h (make_cleanup_free_command_lines): New
+	declaration.
+
+2003-12-20  Mark Kettenis  <kettenis@gnu.org>
+
+	* x86-64-tdep.c (x86_64_dwarf_regmap): Map the Return Address to
+	RIP.
+
+2003-12-18  Michael Chastain  <mec.gnu@mindspring.com>
+
+	* hppa-tdep.c (hppa_gdbarch_init): Set long double floating
+	point type to floatformat_ia64_quad_big.
+
+2003-12-18  Kevin Buettner  <kevinb@redhat.com>
+
+	* frv-tdep.c (skip_prologue_using_sal): New function.  Taken verbatim
+	from mips-tdep.c.
+	(frv_analyze_prologue): Rework to account for intermixed prologue /
+	body instructions.
+
+2003-12-18  Michael Chastain  <mec.gnu@mindspring.com>
+
+	* hppa-tdep.c (hppa_gdbarch_init): Set sizeof(long_double) to 128.
+	Document type sizes for hppa*-*-hpux* compilers available to me.
+
+2003-12-18  Michael Chastain  <mec.gnu@mindspring.com>
+
+	* hppam3-nat.c: Delete obsolete file.
+	* hppab-nat.c: Delete obsolete file.
+	* Makefile.in: Remove references.
+
+2003-12-17  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* symtab.c (decode_line_spec): Change call to decode_line_1.
+
+2003-12-17  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* linespec.h (decode_line_1): Add new not_found_ptr parameter.
+	* linespec.c (decode_line_1): Add new parameter.  Pass on
+	new parameter to decode_variable and symtab_from_filename
+	functions.
+	(decode_variable): Add new not_found_ptr parameter.  Throw exception
+	rather than failing if the not_found_ptr is non-null and the
+	function is not found.
+	(symtab_from_filename): Add new not_found_ptr parametr.   Throw 
+	exception rather than failing if the not_found_ptr is non-null and 
+	the source file is not found.
+	* breakpoint.c: Change all callers of decode_line_1 to add default
+	extra parameter for decode_line_1 calls.
+	* tracepoint.c: Ditto.
+	* cli/cli-cmds.c: Ditto.
+
+2003-12-16  J. Brobecker  <brobecker@gnat.com>
+
+	* irix5-nat.c: Include mips-tdep.h.
+
+2003-12-16  Mark Kettenis  <kettenis@gnu.org>
+
+	* solib.h (SOLIB_CREATE_CATCH_LOAD_HOOK)
+	(SOLIB_CREATE_CATCH_UNLOAD_HOOK, SOLIB_LOADED_LIBRARY_PATHNAME)
+	(SOLIB_UNLOADED_LIBRARY_PATHNAME, SOLIB_HAVE_LOAD_EVENT)
+	(SOLIB_HAVE_UNLOAD_EVENT): Remove defines.
+
+	* blockframe.c (inside_main_func): Don't treat a zero PC specially.
+	Needed to fix PR backtrace/1476.
+
+2003-12-16  David Carlton  <carlton@kealia.com>
+
+	* cp-support.c (class_name_from_physname): Add DMGL_PARAMS.
+	(method_name_from_physname): Ditto.
+
+2003-12-15  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-sol2-tdep.c (i386_sol2_gregset_reg_offset): New variable.
+	(i386_sol2_init_abi): Initialize TDEP->gregset_reg_offset,
+	TDEP->gregset_num_regs, TDEP->sizeof_gregset and
+	TDEP->sizeof_fpregset.
+	* config/i386/i386sol2.mh (XM_FILE): Set to xm-i386.h.
+	(XM_CLIBS): Remove.
+	(NATDEPFILES): Remove core-regset.o and corelow.o.
+	* config/i386/i386sol2.mt (TDEPFILES): Add corelow.o.
+
+2003-12-14  Mark Kettenis  <kettenis@gnu.org>
+
+	* proc-api.c (procfs_note): Add format string to fprintf call.
+
+	* i386-tdep.c (i386_analyze_frame_setup): Add missing encodings
+	for `subl' and `xorl' instructions.
+
+2003-12-13  Jim Blandy  <jimb@redhat.com>
+
+	* dwarf2read.c (dwarf2_add_member_fn, read_structure_scope):
+	Replace uses of DEPRECATED_STREQ and DEPRECATED_STREQN with calls
+	to strcmp and strncmp.
+
+	* osabi.c (gdbarch_init_osabi): Reformat error message with better
+	line breaks.
+
+2003-12-13  Mark Kettenis  <kettenis@gnu.org>
+
+	* blockframe.c (inside_main_func): Reformat.  Introduce new local
+	variables to prevent long lines.  Update comments to reflect
+	reality.
+
+2003-12-12  Kevin Buettner  <kevinb@redhat.com>
+
+	From David Mosberger  <davidm@hpl.hp.com>:
+	* libunwind-frame.c (unw_find_dyn_list_p): Replace most arguments
+	with a single unw_dyn_info_t pointer.
+	(libunwind_find_dyn_list): Likewise.
+	* libunwind-frame.h: Likewise.
+	* ia64-tdep.c (ia64_find_unwind_table): Switch to using
+	UNW_INFO_FORMAT_REMOTE_TABLE so we can avoid having to read in the
+	entire unwind-table at once.  Support for this table format has
+	been added to libunwind v0.95.
+	(ia64_find_proc_info_x): Adjust for remote-unwind-table changes.
+	(ia64_get_dyn_info_list): Adjust for interface change for
+	libunwind_find_dyn_list().
+
+2003-12-12  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* breakpoint.c (breakpoint_enabled): New function to test whether
+	breakpoint is active and enabled.
+	(insert_bp_location, insert_breakpoints): Call new function to test
+	for enabled breakpoint.
+	(remove_breakpoint, breakpoint_here_p, breakpoint_thread_match)
+	(bpstat_should_step, bpstat_have_active_hw_watchpoints)
+	(disable_breakpoints_in_shlibs, hw_watchpoint_used_count)
+	(disable_watchpoints_before_interactive_call_start)
+	(breakpoint_re_set_one): Ditto.
+	(bpstat_stop_status): Use new function and simplify test.
+
+2003-12-11  Mark Kettenis  <kettenis@gnu.org>
+
+	* observer.c (observer_test_first_observer)
+	(observer_test_second_observer, observer_test_third_observer):
+	Don't define as `static'.
+	(observer_test_first_notification_function)
+	(observer_test_second_notification_function)
+	(observer_test_third_notification_function): Likewise.
+
+2003-12-10  Mark Kettenis  <kettenis@gnu.org>
+
+	* solib.h (SOLIB_UNLOADED_LIBRARY_PATHNAME): Define as "" instead
+	of (0).
+
+2003-12-11  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
+
+	* MAINTAINERS (write after approval): Add myself.
+
+2003-12-11  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
+
+        * config/h8300/tm-h8300.h (h8300hmode): Remove.
+        (h8300hmode): Likewise.
+        (h8300smode): Likewise.
+        (h8300sxmode): Likewise.
+        (h8300_normal_mode): Likewise.
+        (GDB_TARGET_IS_H8300): Likewise.
+        (NUM_REALREGS): Use TARGET_ARCHITECTURE->mach instead of global.
+        * h8300-tdep.c (is_h8300hmode): New function.
+        (is_h8300smode): New function.
+        (is_h8300sxmode): New function.
+        (is_h8300_normal_mode): New function.
+        (BINWORD): Use new functions.
+        (h8300_examine_prologue): Likewise.
+        (h8300_print_register): Likewise.
+        (h8300_print_registers_info): Likewise.
+        (h8300_register_type): Likewise.
+        (h8300_gdbarch_init): Remove use of globals like h8300hmode.
+        * remote-e7000.c (e7000_open): Remove use of GDB_TARGET_IS_H8300.
+        (e7000_fetch_registers): Use TARGET_ARCHITECTURE->mach instead.
+        (e7000_wait): Use TARGET_ARCHITECTURE->mach instead of global.
+
+2003-12-10  J. Brobecker  <brobecker@gnat.com>
+
+	* frame.c (select_frame): Get the current frame PC using
+	get_frame_address_in_block() instead of get_frame_pc().
+	* stack.c (get_frame_language): Likewise.
+
+2003-12-08  Kevin Buettner  <kevinb@redhat.com>
+
+	* remote.c (remote_open_1, remote_cisco_open): Avoid closing
+	remote_desc more than once.
+
+2003-12-07  Andrew Cagney  <cagney@redhat.com>
+
+	* defs.h (DEPRECATED_STREQN, DEPRECATED_STREQ): Simplify by
+	directly calling strcmp equivalents.  Add disclaimer.
+
+2003-12-06  Andrew Cagney  <cagney@redhat.com>
+
+	* remote.c (remote_fetch_registers): For short packets, explicitly
+	supply a zero value.  Use regcache_raw_supply.  Fix suggested by
+	Jonathan Larmour.
+
+2003-12-05  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* ia64-tdep.c (ia64_gdbarch_init): Set up the gdbarch long double
+	format to be the i387 extended float format which is used for
+	long doubles stored in memory. 
+
+2003-12-05  Mark Kettenis  <kettenis@gnu.org>
+
+	From Ulrich Weigand  <weigand@informatik.uni-erlangen.de>:
+	* dwarf2-frame.c (dwarf2_frame_cache): Use the untranslated RA
+	column instead of translating it.
+
+2003-12-04  Michael Chastain  <mec.gnu@mindspring.com>
+
+	Partial fix for PR c++/1465.
+	Fix for PR c++/1377.
+	* cp-support.h (cp_lookup_rtti_type): New function.
+	* cp-support.c (cp_lookup_rtti_type): New function.
+	* gnu-v2-abi.c: Update copyright years.
+	(gnuv2_rtti_type): Call cp_lookup_rtti_type.
+	* gnu-v3-abi.c: Update copyright years.
+	(gnuv3_rtti_type): Call cp_lookup_rtti_type.
+
+2003-12-04  J. Brobecker  <brobecker@gnat.com>
+
+	* stabsread.c (read_type): Save a reference to types that are defined
+	as cross references to other types.
+
+2003-12-02  Roland McGrath  <roland@redhat.com>
+
+	* thread-db.c (enable_thread_event): Change return type to
+	td_err_e.  Return TD_OK or error code.
+	(enable_thread_event_reporting): Update callers.
+
+2003-12-03  Ian Lance Taylor  <ian@wasabisystems.com>
+
+	* NEWS: Mention new C++ demangler code.
+
+2003-12-03  Andrew Cagney  <cagney@redhat.com>
+
+	* ppc-linux-nat.c (store_register, fetch_register): Convert
+	between ptrace and regcache's wordsize.
+	(ppc_register_u_addr): Use the ptrace wordsize.
+
+2003-12-02  Kevin Buettner  <kevinb@redhat.com>
+
+	* frv-tdep.c (frv_gdbarch_init): Add case for fr550.
+
+2003-12-02  Daniel Jacobowitz  <drow@mvista.com>
+
+	* dwarf2read.c (dwarf_info_offset, dwarf_abbrev_offset)
+	(dwarf_line_offset, dwarf_pubnames_offset, dwarf_aranges_offset)
+	(dwarf_loc_offset, dwarf_macinfo_offset, dwarf_str_offset)
+	(dwarf_ranges_offset, dwarf_frame_offset, dwarf_eh_frame_offset):
+	Delete.
+	(dwarf2_read_section): Remove offset and size arguments.  Use
+	bfd_get_section_size_before_reloc and sectp->filepos.
+	(dwarf2_has_info): Clear section variables instead of offsets.
+	(dwarf2_locate_sections): Don't initialize the deleted variables.
+	(dwarf2_build_psymtabs): Update calls to dwarf2_read_section.
+	(dwarf2_build_psymtabs_easy): Likewise.
+	* dwarf2-frame.c (dwarf_frame_offset, dwarf_frame_size)
+	(dwarf_eh_frame_offset, dwarf_eh_frame_size): Remove extern
+	declarations.
+	(dwarf2_read_section): Update prototype.
+	(dwarf2_build_frame_info): Update calls to dwarf2_read_section.
+	Use bfd_get_section_size_before_reloc instead of global size
+	variables.
+
+2003-12-01  Michael Chastain  <mec.gnu@mindspring.com>
+
+	* dwarfread.c: Update documentation on the state of dwarf-1.
+
+2003-12-01  Andrew Cagney  <cagney@redhat.com>
+
+	Obsolete old MIPS SVr3 and SVr4 systems.
+	* NEWS: Mention obsoleted systems.
+	* configure.tgt: Mark mips*-*-sysv4* as obsolete.
+	* configure.host: Mark mips-dec-*, mips-little-*, mips-sony-*,
+	mips-*-sysv4*, mips-*-sysv*, mips-*-riscos* and mips-*-mach3* as
+	obsolete.
+	* config/mips/decstation.mh: Mark as obsolete.
+	* config/mips/littlemips.mh: Mark as obsolete.
+	* config/mips/nm-mips.h: Mark as obsolete.
+	* config/mips/xm-mips.h: Mark as obsolete.
+	* config/mips/news-mips.mh: Mark as obsolete.
+	* config/mips/nm-news-mips.h: Mark as obsolete.
+	* config/mips/riscos.mh: Mark as obsolete.
+	* config/mips/nm-riscos.h: Mark as obsolete.
+	* config/mips/xm-riscos.h: Mark as obsolete.
+	* config/mips/mipsv4.mt: Mark as obsolete.
+	* config/mips/tm-mipsv4.h: Mark as obsolete.
+	* config/mips/xm-mipsv4.h: Mark as obsolete.
+
+	Obsolete old m68k systems.
+	* configure.host: Mark m68*-sun-*, m68*-sun-sunos4*,
+	m68*-sun-sunos3*, m68*-motorola-*, m68*-*-sysv4*, m68*-*-lynxos*,
+	m68*-bull*-sysv*, m68*-att-*, m680[01]0-sun-sunos4*, and
+	m680[01]0-sun-sunos3* as obsolete.
+	* configure.tgt: Mark m68*-*-lynxos*, m68*-*-sunos3*,
+	m68*-*-sunos4*, m68*-*-sysv4*, m68000-*-sunos3*, m68000-*-sunos4*,
+	m68*-bull-sysv*, m68*-att-*, and m68*-motorola-*, as obsolete.
+	* config/m68k/sun3os4.mh: Mark file obsolete.
+	* config/m68k/xm-sun3os4.h: Mark file obsolete.
+	* config/m68k/sun3os3.mh: Mark file obsolete.
+	* config/m68k/nm-sun3.h: Mark file obsolete.
+	* config/m68k/xm-sun3.h: Mark file obsolete.
+	* config/m68k/sun2os4.mh: Mark file obsolete.
+	* config/m68k/sun2os3.mh: Mark file obsolete.
+	* config/m68k/nm-sun2.h: Mark file obsolete.
+	* config/m68k/xm-sun2.h: Mark file obsolete.
+	* config/m68k/m68kv4.mh: Mark file obsolete.
+	* config/m68k/nm-sysv4.h: Mark file obsolete.
+	* config/m68k/xm-m68kv4.h: Mark file obsolete.
+	* config/m68k/m68klynx.mh: Mark file obsolete.
+	* config/m68k/nm-m68klynx.h: Mark file obsolete.
+	* config/m68k/dpx2.mh: Mark file obsolete.
+	* config/m68k/xm-dpx2.h: Mark file obsolete.
+	* config/m68k/nm-dpx2.h: Mark file obsolete.
+	* config/m68k/delta68.mh: Mark file obsolete.
+	* config/m68k/xm-delta68.h: Mark file obsolete.
+	* config/m68k/nm-delta68.h: Mark file obsolete.
+	* config/m68k/3b1.mh: Mark file obsolete.
+	* config/m68k/xm-3b1.h: Mark file obsolete.
+	* config/m68k/sun3os4.mt: Mark file obsolete.
+	* config/m68k/tm-sun3os4.h: Mark file obsolete.
+	* config/m68k/sun3os3.mt: Mark file obsolete.
+	* config/m68k/tm-sun3.h: Mark file obsolete.
+	* config/m68k/sun2os4.mt: Mark file obsolete.
+	* config/m68k/tm-sun2os4.h: Mark file obsolete.
+	* config/m68k/sun2os3.mt: Mark file obsolete.
+	* config/m68k/tm-sun2.h: Mark file obsolete.
+	* config/m68k/m68kv4.mt: Mark file obsolete.
+	* config/m68k/tm-m68kv4.h: Mark file obsolete.
+	* config/m68k/m68klynx.mt: Mark file obsolete.
+	* config/m68k/tm-m68klynx.h: Mark file obsolete.
+	* config/m68k/dpx2.mt: Mark file obsolete.
+	* config/m68k/tm-dpx2.h: Mark file obsolete.
+	* config/m68k/delta68.mt: Mark file obsolete.
+	* config/m68k/tm-delta68.h: Mark file obsolete.
+	* config/m68k/3b1.mt: Mark file obsolete.
+	* config/m68k/tm-3b1.h: Mark file obsolete.
+
+2003-11-29  Mark Kettenis  <kettenis@gnu.org>
+
+	* x86-64-tdep.c (MAX_CLASSES): Remove macro.
+	(x86_64_reg_class): Remove enum.
+	(merge_classes, classify_argument, examine_argument): Remove
+	functions.
+	(INT_REGS, SSE_REGS): Remove macros.
+	(x86_64_push_arguments): Remove function.
+	(amd64_push_arguments): New function.
+	(x86_64_push_dummy_call): Call amd64_push_arguments instead of
+	x86_64_push_arguments.
+
+2003-11-28  Mark Kettenis  <kettenis@gnu.org>
+
+	* x86-64-tdep.c (x86_64_frame_cache): Don't bail out if %rbp is
+	zero.  Reorganize code a bit.
+
+2003-11-27  Mark Kettenis  <kettenis@gnu.org>
+
+	* dwarf2-frame.c: Fix another comment.
+
+	* x86-64-tdep.c (RET_INT_REGS, RET_SSE_REGS): Remove defines.
+	(x86_64_use_struct_convention, x86_64_extract_return_value,
+	x86_64_store_return_value): Remove.
+	(amd64_reg_class): New enum.
+	(amd64_merge_classes, amd64_classify_aggregate, amd64_classify,
+	amd64_return_value): New functions.
+	(x86_64_init_abi): Don't set extract_return_value,
+	store_return_value and use_struct_convention.  Set return_value to
+	amd64_return_value.
+	* i387-tdep.h (i387_return_value): New prototype.
+	* i387-tdep.c (i387_return_value): New function.
+
+	* dwarf2-frame.c: Fix some comments and whitespace problems.
+
+	* i386nbsd-tdep.c: Don't include "gdbtypes.h".  Include
+	"gdb_assert.h" and "gdb_string.h".
+	(i386nbsd_r_reg_offset): Rename from regmap.
+	(SIZEOF_STRUCT_REG): Remove.
+	(i386nbsd_supply_reg, fetch_core_registers,
+	fetch_elfcore_registers, i386nbsd_core_fns, i386nbsd_elfcore_fns):
+	Remove.
+	(i386nbsd_aout_supply_regset,
+	i386nbsd_aout_regset_from_core_section): New functions.
+	(i386nbsd_sc_reg_offset): Don't explicitly specify size of array.
+	(i386nbsd_init_abi): Initialize TDEP->gregset_reg_offset,
+	TDEP->gregset_num_regs amd sizeof_gregset.  Use ARRAY_SIZE to
+	initialize TDEP->sc_num_regs.
+	(i386nbsdaout_init_abi): New function.
+	(i386nbsdelf_init_abi): Remove initialization of
+	TDEP->num_xmm_regs.  Don't set num_regs here.
+	(_initialize_i386nbsd_tdep): Don't call add_core_fns.  Use
+	i386nbsd_aout_init to register NetBSD a.out OS/ABI.
+
+	* osabi.c (generic_elf_osabi_sniff_abi_tag_sections): Use
+	.note.netbsdcore.procinfo section to recognize NetBSD core files.
+
+2003-11-26  Michael Chastain  <mec.gnu@mindspring.com>
+
+	* cp-abi.c: Update copyright years.
+
+2003-11-25  Andrew Cagney  <cagney@redhat.com>
+
+	* thread-db.c (enable_thread_event): New function.  Ensure that BP
+	is a code address.
+	(enable_thread_event_reporting): Use enable_thread_event.
+
+2003-11-25  Michael Snyder  <msnyder@redhat.com>
+
+	* mips-tdep.c (mips_o64_extract_return_value): Correct for
+	NUM_REGS (see changes 2003-06-21).
+	(mips_eabi_extract_return_value): Ditto.
+
+2003-11-25  Andrew Cagney  <cagney@redhat.com>
+
+	* infrun.c: Don't include "exec.h".
+	(handle_inferior_event): Pass current_target, instead of exec_ops,
+	to SOLIB_ADD.  Add comments.
+	* Makefile.in (infrun.o): Update dependencies.
+
+2003-11-24  Daniel Jacobowitz  <drow@mvista.com>
+
+	* NEWS: Mention improved location expression support.
+
+2003-11-23  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.in (infrun.o): Update dependencies.
+	* infrun.c: Include "exec.h".
+	(handle_inferior_event): Pass exec_ops to SOLIB_ADD.
+
+2003-11-23  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (frame_unwind_signed_register): Delete function.
+	* frame.h (frame_unwind_register_signed): Delete declaration.
+	* mips-tdep.c (mips_frame_saved_pc): Use frame_unwind_register_signed.
+
+	* arch-utils.h (generic_cannot_extract_struct_value_address):
+	Delete declaration.
+
+	* defs.h (DEPRECATED_STREQN): Rename STREQN.
+	(DEPRECATED_STREQ): Rename STREQ.
+	* ada-exp.y, ada-lang.c, ada-lex.l, coffread.c: Update.
+	* config/mips/tm-irix5.h, config/mips/tm-irix6.h: Update.
+	* config/mips/tm-mipsv4.h, config/sparc/tm-sun4sol2.h: Update.
+	* dbxread.c, dwarf2read.c, dwarfread.c, environ.c: Update.
+	* eval.c, exec.c, f-lang.c, hppa-tdep.c, hpread.c: Update.
+	* jv-exp.y, language.c, m2-exp.y, mcore-rom.c: Update.
+	* mdebugread.c, mipsread.c, objc-exp.y, objfiles.c: Update.
+	* p-exp.y, p-typeprint.c, p-valprint.c, rs6000-nat.c: Update.
+	* source.c, sparc-tdep.c, stack.c, target.c: Update.
+
+	* symfile.c (symbol_file_command): Replace STREQ with strcmp.
+	* elfread.c (elf_symtab_read): Delete STREQ from comment.
+
+2003-11-22  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (deprecated_frame_xmalloc): Delete function.
+	(deprecated_set_frame_extra_info_hack): Delete function.
+	(deprecated_set_frame_saved_regs_hack): Delete function.
+	* frame.h (deprecated_frame_xmalloc): Delete declaration.
+	(deprecated_set_frame_extra_info_hack): Delete declaration.
+	(deprecated_set_frame_saved_regs_hack): Delete declaration.
+	* mcore-tdep.c (analyze_dummy_frame): Instead of
+	deprecated_frame_xmalloc, deprecated_set_frame_saved_regs_hack,
+	and deprecated_set_frame_extra_info_hack use
+	deprecated_frame_xmalloc_with_cleanup.
+	* mn10300-tdep.c (analyze_dummy_frame): Ditto.
+	* mips-tdep.c (mips_init_extra_frame_info): Delete call to
+	deprecated_set_frame_saved_regs_hack.
+
+	* mips-tdep.c (mips_frame_chain): Delete call to
+	deprecated_inside_entry_file.
+
+	* frame.h (deprecated_set_frame_next_hack): Delete declaration.
+	(deprecated_set_frame_prev_hack): Delete declaration.
+	* frame.c (deprecated_set_frame_next_hack): Delete function.
+	(deprecated_set_frame_prev_hack): Delete function.
+	* mcore-tdep.c (analyze_dummy_frame): Delete calls to
+	"deprecated_set_frame_next_hack" and
+	"deprecated_set_frame_prev_hack".
+	* mn10300-tdep.c (analyze_dummy_frame): Ditto.
+
+	* mips-tdep.c (mips_register_convertible): Delete function.
+	(mips_register_convert_to_virtual): Delete function.
+	(mips_register_convert_to_raw): Delete function.
+	(mips_gdbarch_init): Do not set "deprecated_register_convertible",
+	"deprecated_register_convert_to_virtual", or
+	"deprecated_register_convert_to_raw".
+	(mips_pseudo_register_write, mips_pseudo_register_read): Handle
+	32/64 cooked to raw register conversions.
+
+	* frame.c (deprecated_get_frame_context): Delete function.
+	(deprecated_set_frame_context): Delete function.
+	(struct frame_info): Delete member "context".
+	* frame.h (deprecated_get_frame_context): Delete declaration.
+	(deprecated_set_frame_context): Delete declaration.
+
+	* procfs.c (procfs_wait): Delete FAULTED_USE_SIGINFO comment.
+	* config/sparc/tm-sun4sol2.h (FAULTED_USE_SIGINFO): Delete macro.
+	* config/i386/tm-i386sol2.h (FAULTED_USE_SIGINFO): Delete macro.
+	* config/alpha/nm-osf2.h (FAULTED_USE_SIGINFO): Delete macro.
+
+	* mips-tdep.c (SIGFRAME_REG_SIZE): Delete macro.
+	(mips_find_saved_regs): Replace SIGFRAME_REG_SIZE with
+	mips_regsize.
+	(mips_dump_tdep): Do not print SIGFRAME_REG_SIZE.
+	* config/mips/tm-irix6.h (SIGFRAME_REG_SIZE): Delete macro.
+	* config/mips/tm-irix5.h: Update copyright.
+	(SIGFRAME_REG_SIZE): Delete macro.
+
+	* hppa-tdep.c (hppa_value_returned_from_stack): Delete function.
+	* config/pa/tm-hppa.h (hppa_value_returned_from_stack): Delete
+	declaration.
+	(DEPRECATED_VALUE_RETURNED_FROM_STACK): Delete macro.
+	* infcall.c (call_function_by_hand): Delete #ifdef
+	DEPRECATED_VALUE_RETURNED_FROM_STACK code.
+	* infcmd.c (print_return_value): Ditto.
+
+	* mips-tdep.c (skip_prologue_using_sal): New function.
+	(mips32_skip_prologue, mips16_skip_prologue): Use
+	skip_prologue_using_sal to get an upper bound on the search.
+
+	* config/powerpc/tm-linux.h (PROLOGUE_FIRSTLINE_OVERLAP): Delete
+	#if 0'ed macro.
+	* infrun.c (step_into_function): Delete #ifdef
+	PROLOGUE_FIRSTLINE_OVERLAP code.
+	* symtab.c (find_function_start_sal): Ditto.
+
+	* remote-rdp.c: Update copyright.
+	(rdp_init): #if 0 references to "target_byte_order".
+
+	* mips-tdep.c (mips_o32_store_return_value): Delete function.
+	(mips_o32_return_value): Replace mips_o32_xfer_return_value.
+	(mips_o32_extract_return_value): Delete function.
+	(mips_n32n64_return_value): Replace mips_n32n64_xfer_return_value.
+	(mips_n32n64_extract_return_value): Delete function.
+	(mips_n32n64_store_return_value): Delete function.
+	(mips_gdbarch_init): For o32 and n32n64, set "return_value"
+	instead of "store_return_value", "extract_return_value", and
+	"use_struct_convention".
+	(mips_n32n64_use_struct_convention): Delete function.
+
+2003-11-21  Kevin Buettner  <kevinb@redhat.com>
+
+	* frv-tdep.c (frv_frame_this_id): Eliminate call to
+	inside_entry_func().
+
+2003-11-20  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-tdep.c (i386_extract_return_value,
+	i386_store_return_value): Add gdbarch argument.  Use it instead of
+	determining it from REGCACHE.  Remove recursive call for
+	structures with a single member.
+	(i386_use_struct_convention): Remove.
+	(i386_reg_struct_return_p): New function.
+	(i386_return_value): New function.
+	(i386_gdbarch_init): Set return_value, don't set
+	extract_return_value, store_return_value and
+	use_struct_convention.
+	* x86-64-tdep.c (x86_64_init_abi): Set return_value to NULL.
+
+2003-11-20  Jim Blandy  <jimb@redhat.com>
+
+	* osabi.c (_initialize_gdb_osabi): Don't return before registering
+	the 'set osabi' and 'show osabi' commands.
+
+2003-11-19  Mark Kettenis  <kettenis@gnu.org>
+
+	* frame.c (get_prev_frame): Use result from
+	get_frame_address_in_block instead of get_frame_pc as argument to
+	inside_main_func.  Fixes PR backtrace/1435.
+
+2003-11-19  Andrew Cagney  <cagney@redhat.com>
+
+	* stack.c (return_command): Handle "void", "legacy" and "unknown
+	location" return values separatly.
+	* values.c (using_struct_return): Return 0 for a "void" return
+	type.  Mention "register_value_being_returned".
+	(register_value_being_returned): Mention "using_struct_return".
+
+2003-11-19  Daniel Jacobowitz  <drow@mvista.com>
+
+	* dwarf2read.c (offreg, basereg, isderef, frame_base_reg)
+	(frame_base_offset): Delete.
+	(read_func_scope): Delete call to decode_locdesc.
+	(decode_locdesc): Update comments.  Don't set the removed variables.
+	Complain for DW_OP_reg* not at the end.  Remove DW_OP_breg* and
+	DW_OP_fbreg support.
+
+2003-11-18  Daniel Jacobowitz  <drow@mvista.com>
+
+	* dwarf2read.c (optimized_out, islocal): Remove.
+	(decode_locdesc): Update comments.  Don't set optimized_out
+	or islocal.
+
+2003-11-17  Jeff Johnston  <jjohnstn@redhat.com>
+            David Mosberger  <davidm@hpl.hp.com>
+
+	* ia64-tdep.c: Include elf.h.
+	[HAVE_LIBUNWIND_IA64_H]: Include libunwind-frame.h and
+	libunwind-ia64.h.
+	(ia64_rse_slot_num, ia64_rse_skip_regs): New for libunwind support.
+	(ia64_gdb2uw_regnum, ia64_uw2gdb_regnum): Ditto.
+	(ia64_is_fpreg, ia64_access_reg): Ditto.
+	(ia64_access_fpreg, ia64_access_mem): Ditto.
+	(get_kernel_table): Ditto.
+	(ia64_find_unwind_table): Ditto.
+	(ia64_find_proc_info_x, ia64_put_unwind_info): Ditto.
+	(ia64_get_dyn_info_list, ia64_libunwind_frame_this_id): Ditto.
+	(ia64_libunwind_frame_prev_register): Ditto.
+	(ia64_libunwind_frame_sniffer): Ditto.
+	(ia64_gdbarch_init)[HAVE_LIBUNWIND_IA64_H]: Add libunwind frame
+	sniffer.  Register libunwind functions needed by generic
+	libunwind frame code using libunwind_frame_set_descr().
+
+2003-11-16  Daniel Jacobowitz  <drow@mvista.com>
+
+	* breakpoint.c (re_enable_breakpoints_in_shlibs): Only re-enable a
+	bp_shlib_disabled breakpoint if there is a shared library mapped
+	at its expected address.
+
+2003-11-16  Andrew Cagney  <cagney@redhat.com>
+
+	* configure.tgt: Delete mips*tx39*-elf*.
+	* config/mips/tm-tx39.h: Delete file.
+	* config/mips/tx39.mt: Delete file.
+	* config/mips/tx39.mt: Delete file.
+
+	* mips-tdep.h (deprecated_mips_set_processor_regs_hack): Declare.
+	* remote-mips.c (common_open): Instead of
+	"mips_read_register_type" and "mips_set_processor_type_command"
+	call "deprecated_mips_set_processor_regs_hack".
+	* config/mips/tm-mips.h (mips_read_processor_type): Delete
+	declaration.
+	(mips_set_processor_type_command): Delete declaration.
+	* mips-tdep.c (mips_gdbarch_init): Update comment.
+	(mips_dump_tdep): Do not print MIPS_REGISTER_NAMES.
+	(mips_set_processor_type): Delete function.
+	(NUM_MIPS_PROCESSOR_REGS): Define.
+	(mips_show_processor_type_command): Delete function.
+	(mips_set_processor_type_command): Delete function.
+	(tmp_mips_processor_type): Delete.
+	(mips_processor_type): Delete.
+	(mips_processor_type_table): Delete.
+	(mips_r3051_reg_names): Delete.
+	(mips_r3081_reg_names): Delete.
+	(mips_lsi33k_reg_names): Delete.
+	(mips_processor_reg_names): Delete.
+	(mips_read_processor_type): Delete function.
+	(deprecated_mips_set_processor_regs_hack): New function.
+	(struct gdbarch_tdep): Add member "mips_processor_reg_names".
+	(mips_register_name): Get the processor names from the tdep.
+	(mips_tx39_reg_names): New array.
+	(mips_generic_reg_names): Wire to a standard set of names.
+	(mips_gdbarch_init): Set "mips_processor_reg_names".
+	* config/mips/tm-irix5.h (MIPS_REGISTER_NAMES): Delete macro.
+	* config/mips/tm-mips.h (MIPS_REGISTER_NAMES): Delete macro.
+	* config/mips/tm-tx39.h (MIPS_REGISTER_NAMES): Delete macro.
+
+2003-11-16  Andrew Cagney  <cagney@redhat.com>
+
+	* mips-tdep.c (struct gdbarch_tdep): Add field "regnum".
+	(mips_fpa0_regnum, mips_regnum): New function.
+	(mips_gdbarch_init): Fill in the "regnum" fields.
+	* mips-tdep.h (struct mips_regnum): Define.
+	(mips_regnum): Declare.
+	* config/mips/tm-mips.h (BADVADDR_REGNUM): Delete macro.
+	(LO_REGNUM, HI_REGNUM, BADVADDR_REGNUM): Ditto.
+	(CAUSE_REGNUM, PC_REGNUM, FP0_REGNUM): Ditto.
+	(FCRCS_REGNUM, FCRIR_REGNUM, FPA0_REGNUM): Ditto.
+	* config/mips/tm-irix6.h (FP0_REGNUM): Delete macro.
+	(PC_REGNUM, CAUSE_REGNUM, BADVADDR_REGNUM): Ditto.
+	(HI_REGNUM, LO_REGNUM, FCRCS_REGNUM, FCRIR_REGNUM): Ditto.
+	* config/mips/tm-irix5.h (FP0_REGNUM): Delete macro.
+	(PC_REGNUM, CAUSE_REGNUM, BADVADDR_REGNUM): Ditto.
+	(HI_REGNUM, LO_REGNUM, FCRCS_REGNUM, FCRIR_REGNUM): Ditto.
+	* remote-mips.c: Include "mips-tdep.h".  Update.
+	* mipsnbsd-tdep.c: Update.
+	* mipsv4-nat.c: Update.
+	* mips-tdep.c: Update.
+	* mips-nat.c: Update.
+	* mips-linux-tdep.c: Update.
+	* mips-linux-nat.c: Update.
+	* irix5-nat.c: Update.
+	* dve3900-rom.c: Include "mips-tdep.h".  Update.
+	(ignore_packet): Supress GCC warning.
+	* config/mips/nm-riscos.h: Update.
+
+2003-11-16  Andrew Cagney  <cagney@redhat.com>
+
+	* mips-tdep.c: Replace DEPRECATED_REGISTER_RAW_SIZE with
+	register_size.
+	(mips_register_raw_size): Delete function.
+	(mips_register_type): Handle "mips64_transfers_32bit_regs_p".
+	(mips_gdbarch_init): Do not set "deprecated_register_raw_size".
+	Check and set "mips64_transfers_32bit_regs_p".
+	(struct gdbarch_tdep): Add "mips64_transfers_32bit_regs_p".
+	(mips_register_convertible): Check the architecture's
+	"mips64_transfers_32bit_regs_p".
+	(set_mips64_transfers_32bit_regs): New function.
+	(_initialize_mips_tdep): Use "add_setshow_cmd" when adding the
+	"set remote-mips64-transfers-32bit-regs" command.  Specify
+	set_mips64_transfers_32bit_regs as the set function.
+	* Makefile.in (dve3900-rom.o, remote-mips.o): Update dependencies.
+
+2003-11-16  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-tdep.h (i386_supply_gregset): Provide prototype.
+	* i386-tdep.c (i386_supply_gregset): Make public.
+
+2003-11-16  Andrew Cagney  <cagney@redhat.com>
+
+	* mips-tdep.c (mips_register_byte): Delete function.
+	(mips_gdbarch_init): Do not set "deprecated_register_byte".
+	* config/mips/tm-mips.h (MIPS_REGISTER_BYTE): Delete macro.
+	* config/mips/tm-irix6.h (MIPS_REGISTER_BYTE): Delete macro.
+	* config/mips/tm-irix5.h (MIPS_REGISTER_BYTE): Delete macro.
+
+2003-11-16  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-tdep.c (i386_extract_return_value): Don't use bfd_byte.
+
+2003-11-16  Andrew Cagney  <cagney@redhat.com>
+
+	* config/mips/linux64.mt: Delete file.
+	* config/mips/tm-linux64.h: Delete file.
+	* config/mips/tm-mips64.h: Delete file.
+	* config/mips/embed64.mt: Delete file.
+	* config/djgpp/fnchange.lst: Update.
+	* configure.tgt: Delete explicit patterns for mipsisa64*-*-linux*,
+	mips64*-*-linux*, mips64*-*-*, and mipsisa64*-*-*.
+	* config/mips/tm-irix6.h: Update copyright.  Include
+	"mips/tm-mips.h" instead of "mips/tm-mips64.h".
+	* mips-tdep.c (mips_dump_tdep): Do not print "OP_LDFPR" or
+	"OP_LDGPR".
+
+2003-11-15  Andrew Cagney  <cagney@redhat.com>
+
+	* mips-tdep.c (mips_register_type): Simplify.  Eliminate reference
+	to MIPS_REGISTER_TYPE.  Make integer registers signed.  Make IRIX
+	n32 registers 64 bit.
+	(mips_register_raw_size, mips_register_byte): For pseudo
+	registers, use the register's pseudo size and not the
+	corresponding raw register's size.
+	* config/mips/tm-mips64.h (MIPS_REGISTER_TYPE): Delete macro.
+	* config/mips/tm-mips.h (MIPS_REGISTER_TYPE): Delete macro.
+	* config/mips/tm-irix6.h: Don't #undef MIPS_REGISTER_TYPE.
+	* config/mips/tm-irix5.h (MIPS_REGISTER_TYPE): Delete macro.
+
+2003-11-15  Andrew Cagney  <cagney@redhat.com>
+
+	* mips-tdep.c (struct gdbarch_tdep): Delete member
+	gdb_target_is_mips64.
+	(GDB_TARGET_IS_MIPS64): Delete macro.
+	(mips_gdbarch_init): Do not set tdep's gdb_target_is_mips64.
+	(mips_dump_tdep): Do not print GDB_TARGET_IS_MIPS64.
+	(mips_addr_bits_remove): Simplify.
+
+	* mips-tdep.c: Replace DEPRECATED_REGISTER_VIRTUAL_SIZE with
+	register_size.
+
+	Replace MIPS_REGSIZE with mips_regsize.
+	* mips-tdep.c (mips_regsize): New function.
+	* mips-tdep.h (mips_regsize): Declare.
+	* mipsnbsd-tdep.h (SIZEOF_STRUCT_FPREG): Update.
+	(SIZEOF_STRUCT_REG): Update.
+	* mipsnbsd-tdep.c (mipsnbsd_supply_reg): Update.
+	(mipsnbsd_fill_reg): Update.
+	(mipsnbsd_supply_fpreg): Update.
+	(mipsnbsd_fill_fpreg): Update.
+	(NBSD_MIPS_JB_ELEMENT_SIZE): Update.
+	* mips-tdep.c (mips_register_raw_size): Update.
+	(mips_register_type): Update.
+	(SIGFRAME_BASE): Update.
+	(SIGFRAME_PC_OFF): Update.
+	(SIGFRAME_REGSAVE_OFF): Update.
+	(SIGFRAME_FPREGSAVE_OFF): Update.
+	(SIGFRAME_REG_SIZE): Update.
+	(mips32_heuristic_proc_desc): Update.
+	(print_gp_register_row): Update.
+	(mips_dump_tdep): Do not print MIPS_REGSIZE.
+	* irix5-nat.c (supply_gregset): Update.
+	(fetch_core_registers): Update.
+	* config/mips/tm-mips64.h (MIPS_REGSIZE): Delete macro.
+	* config/mips/tm-irix6.h (MIPS_REGISTER_BYTE): Update.
+	* config/mips/tm-mips.h (MIPS_REGSIZE): Delete macro.
+	(MIPS_REGISTER_BYTE): Update.
+	* config/mips/tm-irix5.h (MIPS_REGISTER_BYTE): Update.
+
+2003-11-15  Andrew Cagney  <cagney@redhat.com>
+
+	* config/sparc/tm-sparc.h (DEPRECATE_USE_REGISTER_NOT_ARG): Rename
+	USE_REGISTER_NOT_ARG.
+	* stabsread.c (define_symbol): Update.
+
+2003-11-15  Andrew Cagney  <cagney@redhat.com>
+
+	* bcache.h (deprecated_bcache): Declare.
+	(bcache): Make returned buffer constant.
+	* bcache.c (deprecated_bcache): New function.
+	(bcache_data): New function.
+	(bcache): Call bcache data.
+	* symfile.c (add_psymbol_to_list): Use deprecated_bcache.
+	(add_psymbol_with_dem_name_to_list): Ditto.
+
+2003-11-15  Mark Kettenis  <kettenis@gnu.org>
+
+	* glibc-tdep.h (struct gdbarch): Declare opaque.
+	(glibc_skip_solib_resolver): Adjust prototype.
+	* glibc-tdep.c (glibc_skip_solib_resolver): Adjust.
+	* arm-linux-tdep.c (arm_linux_skip_solib_resolver): Remove.
+	(arm_linux_init_abi): Set skip_solib_resolver.
+	* i386-linux-tdep.c (i386_linux_skip_solib_resolver): Remove.
+	(i386_linux_init_abi): Set skip_solib_resolver.
+	* config/arm/tm-linux.h (SKIP_SOLIB_RESOLVER): Remove.
+	(arm_linux_skip_solib_resolver): Remove prototype.
+	* config/i386/tm-linux.h (SKIP_SOLIB_RESOLVER): Remove.
+	(i386_linux_skip_solib_resolver): Remove prototype.
+
+2003-11-14  Mark Kettenis  <kettenis@gnu.org>
+
+	* gdbarch.sh (skip_solib_resolver): Change into a multi-arch
+	function.
+	* gdbarch.c, gdbarch.h: Regenerate.
+	* infrun.c (handle_inferior_event): Call
+	gdbarch_skip_solib_resolver instead of SKIP_SOLIB_RESOLVER.
+	* arch-utils.c (generic_in_solib_call_trampoline): Adjust function
+	definition.
+	* arch-utils.h (generic_in_solib_call_trampoline): Adjust function
+	prototype.
+
+2003-11-14  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* libunwind-frame.c: New file.
+	* libunwind-frame.h: New file.
+	* acconfig.h (HAVE_LIBUNWIND): #undef reference added.
+	* configure.in: Add --with-libunwind option support.  Define
+	HAVE_LIBUNWIND if libunwind support selected / defaulted.
+	Also check for libunwind.h and libunwind-ia64.h headers.
+	* configure: Regenerated.
+	* Makefile.in: Add support for libunwind-frame.o.
+	* config.in: Regenerated.
+
+2003-11-14  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* config/ia64/nm-linux.h (NATIVE_XFER_UNWIND_TABLE): New macro to
+	set up the ia64 linux native target method for getting the kernel
+	unwind table.
+	* ia64-linux-nat.c (ia64_linux_xfer_unwind_table): New function.
+	* inftarg.c (child_xfer_partial): Enable section of code to
+	handle TARGET_OBJECT_UNWIND_TABLE.
+ 	* target.h (target_object): Add new TARGET_OBJECT_UNWIND_TABLE macro.
+
+2003-11-14  Ian Lance Taylor  <ian@wasabisystems.com>
+
+	* config/arm/nbsd.mt (TM_FILE): Define.
+	* config/arm/tm-nbsd.h: New file.
+
+2003-11-14  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.in (ppc-sysv-tdep.o): Update dependencies.
+	* ppc-sysv-tdep.c: Include "objfiles.h".
+	(ppc64_sysv_abi_push_dummy_call): Provide the
+	the FN's objfile when looking for the descriptor.
+
+	* ppc-linux-tdep.c (ppc_linux_init_abi): Set PPC64's
+	"name_of_malloc" to ".malloc".
+
+2003-11-13  Mark Kettenis  <kettenis@gnu.org>
+
+	* config/i386/x86-64linux.mt (TDEPFILES): Add glibc-tdep.o.
+
+2003-11-13  David Carlton  <carlton@kealia.com>
+
+	* cp-namespace.c (lookup_namespace_scope): Fix typo in comment.
+
+2003-11-13  Andrew Cagney  <cagney@redhat.com>
+
+	* arch-utils.h (selected_architecture_name): Declare.
+	(selected_byte_order): Declare.
+	* arch-utils.c (selected_byte_order): New function.
+	(selected_architecture_name): New function.
+	(target_architecture_auto): Make static.
+	(set_architecture_string): Make static.
+	(target_byte_order): Make static.
+	(target_byte_order_auto): Make static.
+	* gdbarch.sh (TARGET_BYTE_ORDER, TARGET_ARCHITECTURE): Delete
+	non-multi-arch definition.
+	(TARGET_ARCHITECTURE_AUTO, TARGET_BYTE_ORDER_AUTO): Delete.
+	(target_byte_order, target_architecture): Delete declaration.
+	(target_byte_order_auto, target_architecture_auto): Ditto.
+	* gdbarch.h: Re-generate.
+	* remote-sim.c (gdbsim_open): Use "selected_architecture_name" and
+	"selected_byte_order".
+
+2003-11-13  Andrew Cagney  <cagney@redhat.com>
+
+	* ppc-linux-tdep.c (ppc_linux_return_value): Fix parameter order.
+
+2003-11-13  Jim Blandy  <jimb@redhat.com>
+
+	* cp-namespace.c: Doc fix.
+
+2003-11-12  Michael Snyder  <msnyder@redhat.com>
+
+	* sh64_tdep.c: Regularize some names.
+	(sh_sh64_register_name): Rename to sh64_register_name.
+	(sh_sh64_breakpoint_from_pc): Rename to sh64_breakpoint_from_pc.
+	(sh_sh64_register_byte): Rename to sh64_register_byte.
+	(sh_sh64_build_float_register_type):
+	Rename to sh64_build_float_register_type.
+	(sh_sh64_register_convert_to_virtual):
+	Rename to sh64_register_convert_to_virtual.
+	(sh_sh64_register_convert_to_raw):
+	Rename to sh64_register_convert_to_raw.
+
+	* sh64-tdep.c (translate_insn_rn, is_media_pseudo,
+	sh64_media_reg_base_num, sh64_compact_reg_base_num,
+	sh64_nofp_frame_init_saved_regs, sh64_push_arguments,
+	sh64_extract_return_value, sh64_show_media_regs,
+	sh64_show_compact_regs, sh_sh64_register_byte, sh64_register_type,
+	sh_sh64_register_convert_to_virtual, sh_sh64_register_convert_to_raw,
+	sh64_pseudo_register_read, sh64_pseudo_register_write,
+	sh64_do_pseudo_register, sh_compact_print_registers_info):
+	Delete unused variable 'tdep'.
+
+	* sh64-tdep.c: Coding standard and spelling comment fixes.
+	(sh64_extract_return_value): Replace deprecated_store_floating
+	with store_typed_floating.
+	(sh_sh64_register_convert_to_raw): Replace
+	deprecated_store_floating with store_typed_floating.
+	(sh_sh64_register_virtual_type): Convert to sh64_register_type.
+	(sh64_frame_chain, sh64_get_saved_pr, sh64_get_saved_register,
+	sh64_nofp_frame_init_saved_regs, sh64_push_arguments,
+	sh64_extract_struct_value_address, sh64_pop_frame,
+	sh64_extract_return_value, sh64_store_return_value,
+	sh_sh64_register_convert_to_virtual, sh64_pseudo_register_read,
+	sh_sh64_register_convert_to_raw, sh_pseudo_register_write):
+	Replace DEPRECATED_REGISTER_RAW_SIZE with register_size.
+	Replace DEPRECATED_REGISTER_VIRTUAL_TYPE with register_type.
+	(sh64_gdbarch_init): Don't set deprecated_register_bytes,
+	deprecated_register_virtual_type, deprecated_register_raw_size,
+	deprecated_max_register_raw_size, or
+	deprecated_max_register_virtual_size.  Instead, just set
+	gdbarch_register_type.
+	(sh_sh64_register_raw_size): Delete.
+	(sh_sh64_register_virtual_size): Delete.
+
+2003-11-12  Daniel Jacobowitz <drow@mvista.com>
+
+	* dwarf2read.c (struct dwarf2_cu): New type.
+
+	(dwarf2_build_psymtabs_hard, psymtab_to_symtab_1): Create a
+	dwarf2_cu structure to pass down.
+
+	(scan_partial_symbols, add_partial_symbol, add_partial_namespace)
+	(add_partial_enumeration, locate_pdi_sibling, process_die)
+	(read_file_scope, read_func_scope)
+	(read_lexical_block_scope, dwarf2_get_pc_bounds)
+	(dwarf2_add_field, dwarf2_attach_fields_to_type)
+	(dwarf2_add_member_fn, dwarf2_attach_fn_fields_to_type)
+	(read_structure_scope, read_enumeration, read_array_type)
+	(read_common_block, read_namespace, read_tag_pointer_type)
+	(read_tag_ptr_to_member_type, read_tag_reference_type)
+	(read_tag_const_type, read_tag_volatile_type, read_tag_string_type)
+	(read_subroutine_type, read_typedef, read_base_type, read_comp_unit)
+	(read_die_and_children, read_die_and_siblings, dwarf2_read_section)
+	(dwarf2_read_abbrevs, dwarf2_lookup_abbrev, read_partial_die)
+	(read_full_die. read_attribute_value, read_attribute)
+	(read_address, dwarf_decode_line_header, dwarf_decode_lines)
+	(var_decode_location, new_symbol, dwarf2_const_value, die_type)
+	(die_containing_type, type_at_offset, tag_type_to_type)
+	(read_type_die, dwarf_base_type, decode_locdesc, dwarf_decode_macros)
+	(dwarf2_symbol_mark_computed): Accept and use a dwarf2_cu object.
+
+2003-11-12  Daniel Jacobowitz  <drow@mvista.com>
+
+	PR breakpoints/1450
+	* breakpoint.c (insert_bp_location): Fix a logic error by returning
+	0 after a catchpoint fails.
+
+2003-11-11  Michael Chastain  <mec.gnu@mindspring.com>
+
+	* mips-tdep.c (msymbol_size): Delete.
+
+2003-11-07  Michael Chastain  <mec@shout.net>
+
+	* symtab.h (struct minimal_symbol): Add size.
+	* dbxread.c: Use it.
+	* elfread.c: (record_minimal_symbol_and_info): Do not use info.
+	Rename to record_minimal_symbol.
+	(elf_symtab_read): Set MSYMBOL_SIZE explicitly.
+	* minsyms.c (prim_record_minimal_symbol_and_info): Initialize MSYMBOL_SIZE.
+	(install_minimal_symbols): Ditto.
+	* objfiles.c (terminate_minimal_symbol_table): Ditto.
+	* arm-tdep.c: Delete unused MSYMBOL_SIZE.
+	* m68hc11-tdep.c: Ditto.
+	* mips-tdep.c: Ditto.
+	* sh64-tdep.c: Ditto.
+
+2003-11-10  Michael Chastain  <mec.gnu@mindspring.com>
+
+	* MAINTAINERS: Change my e-mail address.
+
+2003-11-10  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (return_value): Replace "inval" and "outval" with
+	"readbuf" and "writebuf".
+	* ppcnbsd-tdep.c (ppcnbsd_return_value): Ditto.
+	* d10v-tdep.c (d10v_return_value): Ditto.
+	* ppc-tdep.h (ppc_sysv_abi_return_value): Ditto.
+	(ppc_sysv_abi_broken_return_value): Ditto.
+	(ppc64_sysv_abi_return_value): Ditto.
+	* ppc-sysv-tdep.c (do_ppc_sysv_return_value): Ditto.
+	(ppc_sysv_abi_return_value): Ditto.
+	(ppc_sysv_abi_broken_return_value): Ditto.
+	(ppc64_sysv_abi_return_value): Ditto.
+	* values.c (register_value_being_returned): Update call.
+	* stack.c (return_command): Update call.
+	* gdbarch.h, gdbarch.c: Re-generate.
+
+	* target.h (struct target_ops): Order xfer buffer parameters "read
+	write" not "write read".
+	* bfd-target.c (target_bfd_xfer_partial): Update.
+	* remote.c (remote_xfer_partial): Update.
+	* inftarg.c (child_xfer_partial): Update.
+	* target.c (default_xfer_partial): Update.
+	(target_read_partial, target_write_partial): Update.
+	(debug_to_xfer_partial): Update.
+
+	* arch-utils.h, arch-utils.c: Fix typo in comment.
+
+	* arch-utils.c (deprecated_select_gdbarch_hack): Delete function.
+	(gdbarch_from_bfd): Call gdbarch_find_by_info.
+	(set_gdbarch_from_file): Call
+	"deprecated_current_gdbarch_select_hack".
+
+2003-11-09  Andrew Cagney  <cagney@redhat.com>
+
+	* arch-utils.c (gdbarch_update_p): New function.
+	* gdbarch.sh (gdbarch_update_p): Delete function.
+ 	(find_arch_by_info, gdbarch_find_by_info): New functions.
+	(deprecated_current_gdbarch_select_hack): New function.
+	* gdbarch.c: Re-generate.
+
+	* gdbarch.sh (clear_gdbarch_swap): Delete function.
+	(swapout_gdbarch_swap): Delete function.
+	(swapin_gdbarch_swap): Delete function.
+	(init_gdbarch_swap): Delete function.
+	(initialize_non_multiarch): Delete function.
+	(current_gdbarch_swap_in_hack): New function.
+	(current_gdbarch_swap_out_hack): New function.
+	(current_gdbarch_swap_init_hack): New function.
+	* gdbarch.c: Re-generate.
+
+	* gdbarch.sh (verify_gdbarch, gdbarch_dump): Rename "gdbarch"
+	parameter to "current_gdbarch".  Add comment explaining why.
+	(TARGET_FLOAT_FORMAT: Pass "current_gdbarch" to default_double_format.
+	(TARGET_DOUBLE_FORMAT,TARGET_LONG_DOUBLE_FORMAT): Ditto.
+	* gdbarch.c: Re-generate.
+
+	* config/s390/s390.mh (XM_FILE, XM_CLIBS): Delete macros.
+	* config/s390/nm-linux.h (KERNEL_U_ADDR): Define.
+	* config/s390/xm-linux.h: Delete file.
+	* config/m88k/xm-delta88v4.h: Delete stray.
+
+	* Makefile.in (arch-utils.o): Update dependencies.
+	* arch-utils.c: Include "osabi.h".
+	(gdbarch_info_fill): New function.
+	* arch-utils.h (gdbarch_info_fill): Declare.
+	* gdbarch.sh (gdbarch_update_p): Call "gdbarch_info_fill".
+	* gdbarch.c: Re-generate.
+
+2003-11-09  Mark Kettenis  <kettenis@gnu.org>
+            David S. Miller  <davem@redhat.com>
+
+	* glibc-tdep.c, glibc-tdep.h: New files.
+	* config/arm/linux.mt (TDEPFILES): Add glibc-tdep.o
+	* config/i386/linux.mt (TDEPFILES): Likewise.
+	* i386-linux-tdep.c (glibc-tdep.h): Include.
+	(find_minsym_and_objfile, skip_hurd_resolver): Delete.
+	(i386_linux_skip_solib_resolver): Call glibc_skip_solib_resolver.
+	* arm-linux-tdep.c (glibc-tdep.h): Include.
+	(find_minsym_and_objfile, skip_hurd_resolver): Delete.
+	(arm_linux_skip_solib_resolver): Call glibc_skip_solib_resolver.
+	* Makefile.in (ALLDEPFILES): Add glibc-tdep.c
+	(glibc_tdep_h): Define.
+	(glibc-tdep.o): Add dependencies.
+	(arm-linux-tdep.o): Update dependencies.
+	(i386-linux-tdep.o): Likewise.
+
+2003-11-09  Andrew Cagney  <cagney@redhat.com>
+
+	* config/mips/irix6.mh (NAT_FILE): Set to "nm-irix5.h".
+	* config/mips/nm-irix6.h: Delete file.
+	* config/mips/nm-linux.h: Update copyright.
+	(MIPS_GNULINUX_TARGET): Delete macro.
+	* config/mips/irix6.mh (XM_FILE): Set to "xm-irix5.h".
+	* config/mips/xm-irix6.h: Delete file.
+	* config/mips/linux.mh (XM_FILE): Delete definition.
+	* config/mips/xm-linux.h: Delete file.
+
+2003-11-09  Andrew Cagney  <cagney@redhat.com>
+
+	* d10v-tdep.c (d10v_return_value): New function.
+	(d10v_use_struct_convention): Delete function.
+	(d10v_store_return_value): Delete function.
+	(d10v_extract_struct_value_address): Delete function.
+	(d10v_gdbarch_init): Set "return_value" instead of
+	"extract_return_value", "store_return_value",
+	"extract_struct_value_address", and "use_struct_convention".
+	(RET1_REGNUM): Delete const.
+
+2003-11-09  Mark Kettenis  <kettenis@gnu.org>
+
+	From David S. Miller  <davem@redhat.com>:
+	* gdbarch.sh (SKIP_SOLIB_RESOLVER): New method.
+	* gdbarch.c, gdbarch.h: Regenerated.
+	* arch-utils.c (generic_skip_solib_resolver): New function.
+	* arch-utils.h (generic_skip_solib_resolver): New prototype.
+	* infrun.c (SKIP_SOLIB_RESOLVER): Don't define.
+
+2003-11-07  Andrew Cagney  <cagney@redhat.com>
+
+	* top.c (print_gdb_version): Replace STREQ with strcmp.
+	* valops.c (value_struct_elt_for_reference): Ditto.
+	(value_struct_elt_for_reference): Ditto.
+	* symtab.c (gdb_mangle_name): Ditto.
+	(find_line_symtab): Ditto.
+	* symmisc.c (maintenance_print_symbols): Ditto.
+	* symfile.c (symbol_file_command): Ditto.
+	* stabsread.c (define_symbol, read_type): Ditto.
+	(cleanup_undefined_types, scan_file_globals): Ditto.
+	* solib.c (solib_map_sections): Ditto.
+	* solib-svr4.c (bfd_lookup_symbol): Ditto.
+	* rs6000-tdep.c (skip_prologue): Ditto.
+	* p-valprint.c (pascal_value_print): Ditto.
+	(pascal_object_is_vtbl_ptr_type): Ditto.
+	* objfiles.c (in_plt_section): Ditto.
+	* minsyms.c (lookup_minimal_symbol): Ditto.
+	(compact_minimal_symbols): Ditto.
+	(find_solib_trampoline_target): Ditto.
+	* mdebugread.c (parse_type): Ditto.
+	* language.c (set_language_command): Ditto.
+	(set_type_command, set_range_command): Ditto.
+	* f-lang.c (add_common_block): Ditto.
+	(add_common_block): Ditto.
+	(find_first_common_named): Ditto.
+	(patch_all_commons_by_name): Ditto.
+	* elfread.c (elf_locate_sections): Ditto.
+	(elf_locate_sections): Ditto.
+	(elfstab_offset_sections): Ditto.
+	* dwarf2read.c (dwarf2_locate_sections): Ditto.
+	* dbxread.c (add_old_header_file): Ditto.
+	(find_corresponding_bincl_psymtab): Ditto.
+	(read_dbx_symtab, process_one_symbol): Ditto.
+	* coffread.c (patch_opaque_types): Ditto.
+	* cli/cli-decode.c (delete_cmd): Ditto.
+	* cli/cli-cmds.c (pwd_command, list_command): Ditto.
+	* c-typeprint.c (c_type_print_base): Ditto.
+	* breakpoint.c (bpstat_stop_status): Ditto.
+	(clear_command, breakpoint_re_set_one): Ditto.
+
+2003-11-07  Andrew Cagney  <cagney@redhat.com>
+
+	* bcache.h: Update copyright.  Add comments on bcache VS hashtab.
+	* bcache.c (struct bstring): Make "length" an unsigned short, add
+	"half_hash".
+	(struct bcache): Add "half_hash_error_count".
+	(bcache): Compute and save the "half_hash".  Compare the
+	"half_hash" before comparing the length.  Update
+	half_hash_error_count.
+
+2003-11-07  Andrew Cagney  <cagney@redhat.com>
+
+	* inftarg.c (child_xfer_partial): New function
+	(init_child_ops): Set "to_xfer_partial".
+
+2003-11-07  Andrew Cagney  <cagney@redhat.com>
+
+	* ppc-linux-tdep.c (ppc_linux_init_abi): When 32-bit GNU/Linux,
+	set "return_value" instead of "use_struct_convention".
+	(ppc_linux_use_struct_convention): Delete function.
+	(ppc_linux_return_value): New function.
+	* ppc-sysv-tdep.c (ppc_sysv_abi_return_value): New function.
+	(ppc_sysv_abi_broken_return_value): New function.
+	(do_ppc_sysv_return_value): Add "gdbarch" parameter.
+	(ppc64_sysv_abi_push_dummy_call): Add "gdbarch" parameter, drop
+	static.
+	(ppc_sysv_abi_extract_return_value): Delete function.
+	(ppc_sysv_abi_broken_extract_return_value): Delete function.
+	(ppc_sysv_abi_store_return_value): Delete function.
+	(ppc_sysv_abi_broken_store_return_value): Delete function.
+	(ppc_sysv_abi_use_struct_convention): Delete function.
+	(ppc64_sysv_abi_use_struct_convention): Delete function.
+	(ppc64_sysv_abi_extract_return_value): Delete function.
+	(ppc64_sysv_abi_store_return_value): Delete function.
+	* ppcnbsd-tdep.c (ppcnbsd_return_value): New function.
+	(ppcnbsd_init_abi): Set "return_value", instead of
+	"use_struct_convention", "extract_return_value", and
+	"store_return_value".
+	(ppcnbsd_use_struct_convention): Delete function.
+	* ppc-tdep.h (ppc64_sysv_abi_return_value): Declare.
+	(ppc_sysv_abi_return_value): Declare.
+	(ppc_sysv_abi_broken_return_value): Declare.
+	(ppc_sysv_abi_use_struct_convention): Delete.
+	(ppc_sysv_abi_store_return_value): Delete.
+	(ppc_sysv_abi_extract_return_value): Delete.
+	(ppc_sysv_abi_broken_store_return_value): Delete.
+	(ppc_sysv_abi_broken_extract_return_value): Delete.
+	(ppc64_sysv_abi_use_struct_convention): Delete.
+	(ppc64_sysv_abi_extract_return_value): Delete.
+	(ppc64_sysv_abi_store_return_value): Delete.
+	* rs6000-tdep.c (rs6000_gdbarch_init): For 32-bit and 64-bit SYSV,
+	set "return_value" instead of "extract_return_value",
+	"store_return_value", and "use_struct_convention".
+
+2003-11-07  Mark Kettenis  <kettenis@gnu.org>
+
+	* dwarf2-frame.c (dwarf2_build_frame_info): Wrap comment.
+
+	* fbsd-proc.c (read_mapping): Use sscanf and fgets instead of
+	fscanf.
+
+2003-11-07  Mark Kettenis  <kettenis@gnu.org>
+
+	* fbsd-proc.c: Fix formatting.
+
+2003-11-06  Kevin Buettner  <kevinb@redhat.com>
+
+	* frv-tdep.c (first_pseudo_regnum, iacc0_regnum, frv_num_pseudo_regs):
+	Define.
+	(new_variant): Set name for iacc0_regnum.
+	(frv_register_name): Accommodate pseudo-registers.
+	(frv_register_type): Add case for iacc0_regnum.
+	(frv_pseudo_register_read, frv_pseudo_register_write): New functions.
+	(frv_gdbarch_init): Set number of pseudo registers.  Establish
+	pseudo-register read/write methods.
+
+2003-11-06  Andrew Cagney  <cagney@redhat.com>
+
+	* valops.c (destructor_name_p): Replace STREQN with strncmp.
+	* top.c (command_line_input): Ditto.
+	* objc-exp.y (yylex): Ditto.
+	* minsyms.c (prim_record_minimal_symbol_and_info): Ditto.
+	* jv-exp.y (yylex): Ditto.
+	* f-exp.y (yylex): Ditto.
+	* event-top.c (command_line_handler): Ditto.
+	* environ.c (get_in_environ): Ditto.
+	(set_in_environ): Ditto.
+	* dwarfread.c (handle_producer): Ditto.
+	* dbxread.c (process_one_symbol): Ditto.
+	* c-typeprint.c (c_type_print_base): Ditto.
+	* c-exp.y (yylex): Ditto.
+
+2003-11-06  Andrew Cagney  <cagney@redhat.com>
+	    Jeff Johnston  <jjohnstn@redhat.com>
+
+	* target.c (add_target): Only set "to_xfer_partial" when NULL.
+	(init_dummy_target): Set "to_xfer_partial".
+
+2003-11-06  Andrew Cagney  <cagney@redhat.com>
+
+	* stack.c (return_command): Warn when STRUCT_CONVENTION, and not
+	REGISTER_CONVENTION.
+
+2003-11-06  Daniel Jacobowitz  <drow@mvista.com>
+
+	* breakpoint.c (insert_bp_location, allocate_bp_location): Make
+	static.
+
+2003-11-06  Daniel Jacobowitz  <drow@mvista.com>
+
+	* breakpoint.c (remove_breakpoint): Take an bp_location
+	instead of a breakpoint argument.  Check the bp_location's type.
+	Fix a reversed condition for hardware breakpoints.
+
+	(insert_bp_location): Update call to remove_breakpoint.
+	(remove_breakpoints): Likewise.  Use ALL_BP_LOCATIONS.
+	(remove_hw_watchpoints): Likewise.
+	(reattach_breakpoints): Likewise.
+	(detach_breakpoints): Likewise.
+	(delete_breakpoint): Likewise.
+
+2003-11-06  Daniel Jacobowitz  <drow@mvista.com>
+
+	* breakpoint.c (mark_breakpoints_out): Use ALL_BP_LOCATIONS.
+	(beakpoint_init_inferior): Likewise.
+	(breakpoint_here_p): Likewise.  Only check addresses for software
+	or hardware breakpoints.
+	(breakpoint_inserted_here_p): Likewise.
+	(breakpoint_thread_match): Likewise.  Correct comment.
+	(bpstat_have_active_hw_watchpoints): Likewise.
+	(check_duplicates): Likewise.
+
+2003-11-06  Daniel Jacobowitz  <drow@mvista.com>
+
+	* breakpoints.c (insert_bp_location): New function, broken out
+	from insert_breakpoints.  Work on an bp_location instead of a
+	breakpoint.
+	(insert_breakpoints): Use it.
+
+2003-11-06  Daniel Jacobowitz  <drow@mvista.com>
+
+	* breakpoint.h (struct bp_location): Add section.
+	(struct breakpoint): Remove section.
+	* breakpoint.c (insert_breakpoints, remove_breakpoint)
+	(breakpoint_here_p, breakpoint_inserted_here_p)
+	(breakpoint_thread_match, bpstat_stop_status, print_one_breakpoint)
+	(describe_other_breakpoints, check_duplicates, set_raw_breakpoint)
+	(clear_command, delete_breakpoint, breakpoint_re_set_one): Access
+	section through loc.
+
+2003-11-06  Daniel Jacobowitz  <drow@mvista.com>
+
+	* breakpoint.c (read_memory_nobpt): Use ALL_BP_LOCATIONS
+	instead of ALL_BREAKPOINTS.  Check for software breakpoints only.
+
+2003-11-06  Daniel Jacobowitz  <drow@mvista.com>
+
+	* breakpoint.c (allocate_bp_location): Take bpt and bp_type
+	arguments.  Initialize owner and type for the new breakpoint
+	location item.
+	(set_raw_breakpoint): Update call to allocate_bp_location.
+
+2003-11-06  Daniel Jacobowitz  <drow@mvista.com>
+
+	* breakpoint.h (struct bp_location): Add a chain pointer.
+	* breakpoint.c (ALL_BP_LOCATIONS, ALL_BP_LOCATIONS_SAFE): New
+	macros.
+	(bp_location_chain): New variable.
+	(allocate_bp_location): New function.
+	(set_raw_breakpoint): Use it.
+	(delete_breakpoint): Remove ->loc from the bp_location_chain.
+
+2003-11-06  Daniel Jacobowitz  <drow@mvista.com>
+
+	* breakpoint.h (enum bp_loc_type, struct bp_location): New.
+	(struct breakpoint): Remove address, shadow_contents, inserted,
+	requested_address, and duplicate.  Add a struct bp_location.
+	* breakpoint.c (condition_command, read_memory_nobpt)
+	(insert_breakpoints, remove_breakpoints, remove_hw_watchpoints)
+	(reattach_breakpoints, update_breakpoints_after_exec)
+	(detach_breakpoints, remove_breakpoint, mark_breakpoints_out)
+	(breakpoint_init_inferior, breakpoint_here_p)
+	(breakpoint_inserted_here_p, deprecated_frame_in_dummy)
+	(breakpoint_thread_match, bpstat_stop_status)
+	(bpstat_have_active_hw_watchpoints, print_one_breakpoint)
+	(describe_other_breakpoints, check_duplicates)
+	(make_breakpoint_permanent, create_thread_event_breakpoint)
+	(disable_breakpoints_in_shlibs, re_enable_berakpoints_in_shlibs)
+	(set_longjmp_resume_breakpoint, mention, create_breakpoints)
+	(watch_command_1, print_one_exception_catchpoint)
+	(clear_command, breakpoint_re_set_one): Adjust member accesses to
+	use the breakpoint's ->loc.
+	(set_raw_breakpoint): Likewise.  Initialize ->loc.
+	(delete_breakpoint): Likewise.  Free ->loc.
+
+2003-11-05  Andrew Cagney  <cagney@redhat.com>
+
+	* config/sparc/tm-sparc.h (FRAME_STRUCT_ARGS_ADDRESS): Delete
+	macro.
+	* config/m68k/tm-sun3.h (SIG_PC_FP_OFFSET): Delete macro.
+	* config/i386/tm-cygwin.h
+	(LINKER_SYMBOLS_HAVE_WIN32_STDCALL_ARG_SIZES): Delete macro.
+	* config/powerpc/tm-linux.h
+	(AT_SUBROUTINE_CALL_INSTRUCTION_TARGET): Delete macro.
+	(at_subroutine_call_instruction_target): Delete declaration.
+	* config/sparc/tm-sp64linux.h (GDB_PTRACE_REGS64): Delete macro.
+	* config/m68k/tm-sun3.h (SIG_SP_FP_OFFSET): Delete macro.
+	* config/ns32k/tm-ns32k.h (NUM_GENERAL_REGS): Delete macro.
+
+	* xcoffread.c (find_linenos): Replace "sec_ptr" and "bfd" with
+	"struct bfd_section" and "struct bfd".
+	* target.h (struct section_table): Ditto.
+	* rs6000-nat.c (xcoff_relocate_core): Ditto.
+	* solib-svr4.c (elf_locate_base): Ditto.
+	* pa64solib.c (dld_cache_t): Ditto.
+	* objfiles.h (struct obj_section): Ditto.
+	* objfiles.c (add_to_objfile_sections): Ditto.
+	* exec.c (bfdsec_to_vmap): Ditto.
+	(add_to_section_table): Ditto.
+	(build_section_table): Ditto.
+	* corelow.c (get_core_register_section): Ditto.
+	* coffread.c (find_linenos): Ditto.
+	* elfread.c (elf_interpreter): Delete #if0'd function.
+
+	* mips-tdep.c (mips_dump_tdep): Delete code prinint VX_NUM_REGS.
+	* config/sparc/tm-vxsparc.h (VX_NUM_REGS): Delete macro.
+	* config/mips/tm-vxmips.h (VX_NUM_REGS): Delete macro.
+	* config/m68k/tm-vx68.h (VX_NUM_REGS): Delete macro.
+
+	* arch-utils.h (generic_cannot_extract_struct_value_address):
+	Delete declaration.
+	* wince.c (_initialize_wince): Fix multi-line string.
+	* ia64-tdep.c (floatformat_valid): Convert to ISO C.
+
+2003-11-05  Elena Zannoni  <ezannoni@redhat.com>
+
+	* top.c (execute_command): Fix broken logic for command execution
+	while inferior is running in async mode.
+
+2003-11-06  Mark Kettenis  <kettenis@gnu.org>
+
+	* dwarf2-frame.c (execute_cfa_program): Mark register as
+	REG_SAVED_REG for DW_CFA_register opcode.
+
+2003-11-05  Mark Kettenis  <kettenis@gnu.org>
+
+	* amd64fbsd-tdep.c (amd64fbsd_sc_reg_offset): Adjust offset of
+	%rsp, %rip and %eflags to match ABI-change.
+
+2003-11-05  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* ia64-tdep.c (struct gdbarch_tdep): Remove os_ident field.
+	(ia64_gdbarch_init): Don't bother calculating the os.
+	Instead use the gdbarch_info struct and look at the osabi field.
+	Also use gdbarch_list_lookup_by_info() to look for a
+	candidate gdbarch.
+
+2003-11-05  Kevin Buettner  <kevinb@redhat.com>
+
+	* frv-tdep.c (frv_register_byte): Delete.
+	(frv_extract_return_value, frv_store_return_value)
+	(frv_extract_struct_value_address): Don't call frv_register_byte().
+	Convert to non-deprecated form.
+	(frv_gdbarch_init): Don't call set_gdbarch_deprecated_register_byte().
+	Convert calls to set_gdbarch_deprecated_extract_return_value(),
+	set_gdbarch_deprecated_store_return_value(), and
+	set_gdbarch_deprecated_extract_struct_value_address() into
+	non-deprecated forms.
+
+2003-11-05  Andrew Cagney  <cagney@redhat.com>
+
+	* mips-tdep.c (mips_dump_tdep): Do not print
+	PRINT_EXTRA_FRAME_INFO.
+	* config/sparc/tm-sparc.h (DEPRECATED_PRINT_EXTRA_FRAME_INFO):
+	Rename PRINT_EXTRA_FRAME_INFO.
+	* mips-tdep.c (mips_print_extra_frame_info): Delete function.
+	* config/mips/tm-mips.h (PRINT_EXTRA_FRAME_INFO): Delete macro.
+	(mips_print_extra_frame_info): Delete declaration.
+	* stack.c (frame_info): Use DEPRECATED_PRINT_EXTRA_FRAME_INFO.
+
+2003-11-05 Elena Zannoni  <ezannoni@redhat.com>
+
+	* coffread.c (coff_symtab_read): Remove passing of info parameter
+	to prim_record_minimal_symbol_and_info.
+
+2003-11-05  Elena Zannoni  <ezannoni@redhat.com>
+
+	* coffread.c (process_coff_symbol): Delete CXUX_TARGET macro use.
+	(decode_base_type): Delete ifdeffed out code.
+
+2003-11-04  Andrew Cagney  <cagney@redhat.com>
+
+	* symtab.c (find_active_alias): Delete function.
+	(lookup_block_symbol): Delete alias code.
+	* stabsread.c (resolve_live_range): Delete function.
+	(add_live_range): Delete function.
+	(resolve_symbol_reference): Delete function.
+	(define_symbol): Delete live range and alias code.
+	(scan_file_globals): Delete alias code.
+	* symtab.h (SYMBOL_RANGES): Delete macro.
+	(struct range_list): Delete structure.
+	(struct symbol): Delete field "ranges".
+	(SYMBOL_ALIASES): Delete macro.
+	(struct alias_list): Delete structure.
+	(struct symbol): Delete field "aliases".
+
+2003-11-04  Michael Snyder  <msnyder@redhat.com>
+
+	* MAINTAINERS: Remove myself as owner of breakpoints and
+	of sparc/solaris.
+
+2003-11-03  Corinna Vinschen  <vinschen@redhat.com>
+
+	* sh-tdep.c (sh_sh4_nofpu_register_name): New function.
+	(sh_sh4al_dsp_register_name): Ditto.
+	(sh4_nofpu_show_regs): Ditto.
+	(sh_gdbarch_init): Add cases for bfd_mach_sh4al_dsp, bfd_mach_sh4a,
+	bfd_mach_sh4_nofpu and bfd_mach_sh4a_nofpu.
+
+2003-11-03  Andrew Cagney  <cagney@redhat.com>
+
+	* bcache.c: Include "gdb_assert.h".
+	(struct bcache): Add fields "expand_count" and
+	"expand_hash_count".
+	(expand_hash_table): Update the expand counts.
+	(print_bcache_statistics): Use XCALLOC, not alloca.  Print stats
+	on object sizes and hashes.
+	* Makefile.in (bcache.o): Update dependencies.
+
+2003-11-03  Andrew Cagney  <cagney@redhat.com>
+
+	* exec.c (xfer_memory): Eliminate xfer_fn.
+
+2003-10-31  Kevin Buettner  <kevinb@redhat.com>
+
+	* frv-tdep.c (gdb_assert.h, sim-regno.h, gdb/sim-frv.h)
+	(opcodes/frv-desc.h): Include.
+	(iacc0h_regnum, iacc0l_regnum): Define.
+	(last_spr_regnum, frv_num_regs): Update.
+	(new_variant): Don't supply default names for holes in the SPRs.
+	Supply names for iacc0h_regnum and iacc0l_regnum.
+	(frv_register_type): Use symbolic constants first_fpr_regnum and
+	last_fpr_regnum instead of hardcoded constants 64 and 127.  Use
+	builtin_type_int instead of builtin_type_int32.
+	(frv_register_sim_regno): New function.
+	(frv_gdbarch_init): Call set_gdbarch_register_sim_regno().
+	* Makefile.in (gdb_sim_frv_h): Define.
+	(frv-tdep.o): Update dependencies.
+
+2003-10-31  Andrew Cagney  <cagney@redhat.com>
+
+	* avr-tdep.c (avr_frame_this_id): Do not call
+	deprecated_inside_entry_file.
+	* m68hc11-tdep.c (m68hc11_frame_this_id): Ditto.
+	* m32r-tdep.c (m32r_frame_this_id): Ditto.
+	* d10v-tdep.c (d10v_frame_this_id): Ditto.
+	* arm-tdep.c (arm_prologue_this_id): Ditto.
+	* alpha-tdep.c (alpha_heuristic_frame_this_id): Ditto.
+
+2003-10-31  Jim Blandy  <jimb@redhat.com>
+
+	* elfread.c (elf_symtab_read): Allocate correct number of tail
+	elements to sectinfo structure.  (Fix from Woody LaRue.)
+
+2003-10-31  Andrew Cagney  <cagney@redhat.com>
+
+	* stack.c (return_command): Use get_frame_type, instead of
+	CALL_DUMMY_HAS_COMPLETED.
+	* inferior.h (CALL_DUMMY_HAS_COMPLETED): Delete definition.
+	* config/pa/tm-hppa.h (CALL_DUMMY_HAS_COMPLETED): Delete macro.
+
+2003-10-31  Mark Kettenis  <kettenis@gnu.org>
+
+	* x86-64-linux-tdep.c (x86_64_linux_sc_reg_offset): Don't
+	explicitly specify size of array.
+	(x86_64_linux_init_abi): Use ARRAY_SIZE to initialize
+	TDEP->sc_num_regs.
+
+2003-10-31  Andrew Cagney  <cagney@redhat.com>
+
+	* s390-tdep.c (s390_cannot_extract_struct_value_address): New
+	function.
+	(s390_gdbarch_init): Set extract_struct_value_address.
+	* arch-utils.c (generic_cannot_extract_struct_value_address):
+	Delete function.
+	* arch-utils.h (generic_cannot_extract_struct_value_address):
+	Delete definition.
+
+2003-10-31  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-linux-nat.c (fetch_core_registers): Remove.
+	(linux_elf_core_fns): Remove.
+	(_initialize_i386_linux_nat): Remove.
+
+2003-10-31  Andrew Cagney  <cagney@redhat.com>
+
+	* solib-svr4.c: Update copyright.  Include "bfd-target.h" and
+	"exec.h".
+	(exec_entry_point): New function.
+	(enable_break): Create a "tmp_bfd_target", use that and
+	entry_point_address when computing the relocation offset.
+	(svr4_relocate_main_executable): Ditto with exec_bfd and exec_ops.
+	* Makefile.in (solib-svr4.o): Update dependencies.
+
+2003-10-31  Andrew Cagney  <cagney@redhat.com>
+
+	* defs.h (XZALLOC): Define.
+	* target.h (struct target_ops): Add "to_data";
+	* bfd-target.h, bfd-target.c: New files.
+	* Makefile.in (SFILES): Add "bfd-target.c".
+	(COMMON_OBS): Add "bfd-target.o".
+	(bfd-target.o): Specify dependencies.
+	(bfd_target_h): Define.
+	* defs.h (XZALLOC): Define.
+
+2003-10-31  Andrew Cagney  <cagney@redhat.com>
+
+	* rs6000-tdep.c (rs6000_gdbarch_init): For 64-bit ABI, set
+	adjust_breakpoint_address.
+	* Makefile.in (ppc-sysv-tdep.o): Add $(target_h).
+	* ppc-tdep.h (ppc64_sysv_abi_adjust_breakpoint_address): Declare.
+	* ppc-sysv-tdep.c: Include "target.h".  Update copyright.
+	(ppc64_sysv_abi_adjust_breakpoint_address): New function.
+
+2003-10-31  Andrew Cagney  <cagney@redhat.com>
+
+	* target.h (struct target_ops): Replace "to_read_partial" and
+	"to_write_partial" with "to_xfer_partial".  Update comments.
+	* target.c (debug_to_write_partial): Delete function.
+	(debug_to_xfer_partial): Replace debug_to_read_partial.
+	(add_target, update_current_target, setup_target_debug): Set
+	"to_xfer_partial" instead of "to_read_partial" and
+	"to_write_partial".
+	(default_xfer_partial): Replace "default_write_partial".
+	(default_read_partial): Delete.
+	(target_read_partial, target_write_partial): Call
+	"to_xfer_partial".
+	* remote.c (init_remote_ops): Set "to_xfer_partial".
+	(init_remote_async_ops): Ditto.
+	(remote_xfer_partial): Replace "remote_read_partial".
+
+2003-10-31  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-tdep.c (i386_supply_fpregset): Support floating-point
+	registers in `fxsave' format.
+	(i386_regset_from_core_section): Deal with ".reg-xfp" sections.
+
+2003-10-30  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-linux-tdep.c (i386_linux_gregset_reg_offset): New variable.
+	(i386_linux_init_abi): Initialize TDEP->gregset_reg_offset,
+	TDEP->gregset_num_regs and tdep->sizeof_gregset.
+
+	* i386-linux-tdep.c (i386_linux_sc_reg_offset): Don't explicitly
+	specify size of array.
+	(i386_linux_init_abi): Remove initialization of
+	TDEP->num_xmm_regs.  Use I386_LINUX_NUM_REGS for number of
+	registers.  Use ARRAY_SIZE to initialize TDEP->sc_num_regs.
+
+	* config/i386/fbsd64.mt (TDEPFILES): Add corelow.o.
+	* config/i386/fbsd64.mh (NATDEPFILES): Remove corelow.o and
+	core-regset.o.
+
+	* fbsd-proc.c (fbsd_make_corefile_notes): Put a "FreeBSD" label in
+	the ELF header.
+
+2003-10-29  Mark Kettenis  <kettenis@gnu.org>
+
+	* config/i386/fbsd.mt (TDEPFILES): Add corelow.o.
+	* config/i386/fbsd.mh (NATDEPFILES): Remove corelow.o and
+	core-regset.o.
+
+	* fbsd-proc.c (fbsd_make_corefile_notes): Remove unecessary casts.
+
+	* corelow.c: Include "arch-utils.h", "regset.h" and
+	"gdb_assert.h".
+	(core_gdbarch): New variable.
+	(sniff_core_bfd): Don't sniff if we have support for register sets
+	in CORE_GDBARCH.
+	(core_close): Reset CORE_GDBARCH.
+	(core_open): Initialize CORE_GDBARCH.
+	(get_core_register_section): Use register sets if they are
+	supported by CORE_GDBARCH.
+	(get_core_registers): Don't print error message if we have support
+	for register sets in CORE_GDBARCH.
+
+2003-10-29  Andrew Cagney  <cagney@redhat.com>
+
+	* ppc-linux-tdep.c (_initialize_ppc_linux_tdep): Instead of the
+	default PPC machine, register 32-bit and 64-bit PPC, and rs6k.
+
+2003-10-29  Mark Kettenis  <kettenis@gnu.org>
+
+	* objfiles.h (clear_objfile_data): New prototype.
+	* objfiles.c (clear_objfile_data): New function.
+	* symfile.c (reread_symbols): Clear per-objfile data.
+
+2003-10-28  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* symfile.c (symbol_file_add_with_addrs_or_offsets): Switch to use
+	printf_unfiltered instead of printf_filtered for output messages.
+	(add_symbol_file_command): Ditto.
+	(reread_symbols): Ditto.
+	(overlay_auto_command): Ditto.
+	(overlay_manual_command): Ditto.
+	(overlay_off_command): Ditto.
+
+2003-10-27  Mark Kettenis  <kettenis@gnu.org>
+
+	* arch-utils.c (deprecated_select_gdbarch_hack): New function.
+	(gdbarch_from_bfd): New function.
+	(set_gdbarch_from_file): Re-implement using gdbarch_from_bfd and
+	deprecated_select_gdbarch_hack.
+	* arch-utils.h (gdbarch_from_bfd): New prototype.
+
+2003-10-27  Andrew Cagney  <cagney@redhat.com>
+
+	* osabi.c (gdbarch_init_osabi): Use info.bfd_arch_info instead of
+	arch_info.  Use warning instead of fprintf_filtered.  Do not use
+	deprecated bfd_printable_arch_mach.
+
+2003-10-26  Kevin Buettner  <kevinb@redhat.com>
+
+	* frv-tdep.c (frv_register_raw_size, frv_register_virtual_size):
+	Delete.
+	(frv_register_type): Rename from frv_register_virtual_type.  Add
+	``struct gdbarch *'' parameter.
+	(frv_gdbarch_init): Delete calls to the following functions:
+	set_gdbarch_deprecated_size(),
+	set_gdbarch_deprecated_register_bytes(),
+	set_gdbarch_deprecated_register_raw_size(),
+	set_gdbarch_deprecated_max_register_raw_size(),
+	set_gdbarch_deprecated_register_virtual_size(),
+	set_gdbarch_deprecated_max_register_virtual_size(),
+	set_gdbarch_deprecated_register_virtual_size(),
+	set_gdbarch_deprecated_register_virtual_type().
+	Add call to function set_gdbarch_register_type().
+
+2003-10-26  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-tdep.h (FCS_REGNUM, FCOFF_REGNUM, FDS_REGNUM,
+	FDOFF_REGNUM): Remove defines.
+	* win32-nat.c (do_child_fetch_inferior_registers): Include
+	"i387-tdep.h".
+	(do_child_fetch_inferior_registers): Use I387_FISEG_REGNUM and
+	I387_FOP_REGNUM instead of FCS_REGNUM and FOP_REGNUM.  Define and
+	undefine I387_ST0_REGNUM.
+
+	* i386-tdep.h (FPU_REG_RAW_SIZE): Remove define.
+	* x86-64-tdep.c (x86_64_store_return_value): Use
+	I386_MAX_REGISTER_SIZE instead of FPU_REG_RAW_SIZE.
+
+	Change register numbers to enumartion values.
+	* i386-tdep.h (enum i386_regnum): New.
+	(I386_EAX_REGNUM, I386_EDX_REGNUM, I386_ESP_REGNUM,
+	I386_EBP_REGNUM, I386_IP_REGNUM, I386_EFLAGS_REGNUM,
+	I386_ST0_REGNUM): Remove defines.
+	* i386-tdep.c (I386_EBX_REGNUM, I386_ECX_REGNUM, I386_ESI_REGNUM,
+	I386_EDI_REGNUM): Remove defines.
+
+2003-10-24  Andrew Cagney  <cagney@redhat.com>
+
+	* target.c: Include "gdbcore.h".
+	(get_target_memory, get_target_memory_unsigned): New functions.
+	* target.h (get_target_memory, get_target_memory_unsigned): Declare.
+	* ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr):
+	Use get_target_memory_unsigned.
+	* Makefile.in (target.o): Update dependencies.
+
+2003-10-24  Andrew Cagney  <cagney@redhat.com>
+
+	* osabi.c (gdbarch_init_osabi): Fix typos, and "fortunatly"[sic].
+	* PROBLEMS, arch-utils.c, cli-out.c, command.h: Ditto.
+	* complaints.c, cris-tdep.c, disasm.c, dwarf2-frame.c: Ditto.
+	* frame.c, frame.h, infcall.c, infcmd.c, infrun.c: Ditto.
+	* kod.c, mips-tdep.c, regcache.c, regcache.h, remote.c: Ditto.
+
+	* osabi.c (gdbarch_init_osabi): Add comment on 32-bit vs 64-bit.
+	(can_run_code_for): Use the OO term "singleton".
+
+2003-10-23  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.in (stack.o): Add $(regcache_h).
+	* stack.c: Include "regcache.h"
+	(return_command): Rewrite.  Use get_frame_id and
+	get_selected_frame.  Eliminate "deprecated_selected_frame".  Warn
+	about unhandled return-values.
+	* value.h (set_return_value): Delete declaration.
+	* values.c (set_return_value): Delete function.
+
+2003-10-23  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* ia64-tdep.c: (ia64_frame_cache): Add new prev_cfm field.
+	(pseudo_regs): Add comment regarding register stack registers.
+	(ia64_alloc_frame_cache):  Initialize new prev_cfm field to 0.
+	(floatformat_valid): New static routine.
+	(floatformat_ia64_ext): Add name field and set up is_valid routine
+	to floatformat_valid().
+	(examine_prologue):  For the previous cfm, use
+	frame_unwind_register()
+	if the cfm is not stored in a register-stack register.  Save the
+	previous cfm value in the prev_cfm field.  Add debug output.
+	(ia64_frame_this_id): Use frame_id_build_special() to also register
+	the bsp.  Add debug output.
+	(ia64_sigtramp_frame_this_id): Ditto.
+	(ia64_frame_prev_register):  Look at cache saved_regs for a few more
+	registers and also add some checks for framelessness before accepting
+	current register values for fields such as return address.  For cfm,
+	use the cached prev_cfm field if available.  Add comment to explain
+	PSR logic.  Add debug output.
+	(ia64_sigtramp_frame_init_saved_regs): Save the bsp and sp addresses
+	as part of initialization.
+	(ia64_sigtramp_frame_cache): Hard-code stack size as it can't be
+	calculated.  Cache the bsp and cfm values.
+	(ia64_sigtramp_frame_prev_register): Add logic to this routine out
+	instead of using ia64_frame_prev_register() which doesn't expect most
+	registers to be saved.  The saved values for bsp and sp
+	can be taken from the cache.  Add debug output.
+	(ia64_push_dummy_call): Use frame_id_build_special() to also register
+	the bsp.
+
+2003-10-23  Jim Blandy  <jimb@redhat.com>
+
+	* osabi.c (gdbarch_init_osabi): A handler is okay if it's for an
+	architecture the current arch can run code for --- but not if it's
+	a superset.
+	(can_run_code_for): New function.
+
+2003-10-22  James E Wilson  <wilson@specifixinc.com>
+
+	* MAINTAINERS: Move myself from paper trail section back to write
+	after approval section.
+
+2003-10-22  Andrew Cagney  <cagney@redhat.com>
+
+	* exec.h: New file.
+	* win32-nat.c: Include "exec.h".
+	* solib.c: Include "exec.h".
+	* target.h (build_section_table): Delete declaration.
+	* somsolib.c: Include "exec.h".
+	(exec_ops): Delete extern declaration.
+	* rs6000-nat.c: Update copyright.  Include "exec.h".
+	(exec_ops): Delete extern declaration.
+	* pa64solib.c: Update copyright.  Include "exec.h".
+	(exec_ops): Delete extern declaration.
+	* exec.c: Update copyright.  Include "exec.h".
+	* corelow.c: Update dependencies.  Include "exec.h".
+	* Makefile.in (exec_h): Define.
+	(exec.o, somsolib.o): Update dependencies.
+	(pa64solib.o, corelow.o): Update dependencies.
+
+2003-10-22  Andrew Cagney  <cagney@redhat.com>
+
+	* target.c: Include "gdb_assert.h" (target_read): Call
+	"target_read_partial", not "target_write_partial".
+	(default_read_partial, default_write_partial): New function.
+	(target_read_partial, target_write_partial): Simplify, assume that
+	there is always a read/write method.
+	(update_current_target, add_target): Always set "to_read_partial"
+	and "to_write_partial".
+	(target_write, target_read): Fail on a zero byte transfer.
+	* Makefile.in (target.o): Update dependencies.
+	* target.h: Update copyright date.
+	(target_object): Fix typo.
+
+2003-10-22  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (convert_from_func_ptr_addr): Convert to a pure
+	multi-arch method, add "targ" parameter.
+	(struct target_ops): Declare.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* Makefile.in (c-valprint.o): Update dependencies.
+	* arch-utils.h: Update copyright.
+	(convert_from_func_ptr_addr_identity): Declare.
+	* arch-utils.c (convert_from_func_ptr_addr_identity): New function.
+	* ia64-tdep.c (ia64_convert_from_func_ptr_addr): Update.
+	* rs6000-tdep.c (rs6000_convert_from_func_ptr_addr): Upate.
+	* ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): Update.
+	* infcall.c (find_function_addr, call_function_by_hand): Update.
+	* c-valprint.c: Include "target.h".
+	(print_function_pointer_address): Update.
+
+2003-10-22  Andrew Cagney  <cagney@redhat.com>
+
+	* target.c (target_close): New function.
+	(debug_to_close): Use "target_close".
+	(push_target): Use "target_close".
+	(unpush_target): Use "target_close".
+	(pop_target): Use "target_close".
+	* target.h (struct target_ops): Add "to_xclose".
+	(target_open): Delete macro.  Move comment to "to_open".
+	(target_close): Replace macro with function that takes a target.
+	* top.c (quit_target): Pass "current_target" to "target_close".
+
+2003-10-21  Elena Zannoni  <ezannoni@redhat.com>
+
+	* minsyms.c (lookup_minimal_symbol_text): Remove unused parameter.
+	Remove SOFUN_ADDRESS_MAYBE_MISSING ifdeffed code.
+	* symtab.h (lookup_minimal_symbol_text): Update.
+ 	* breakpoint.c (create_overlay_event_breakpoint,
+ 	create_longjmp_breakpoint): Update callers.
+	* ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Update caller.
+	* symtab.c (find_pc_sect_line): Ditto.
+
+2003-10-21  Andrew Cagney  <cagney@redhat.com>
+
+	* target.c (errno): Delete extern declaration.
+
+2003-10-20  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* ia64-tdep.c: Change all occurrences of
+	DEPRECATED_REGISTER_RAW_SIZE to use register_size() instead.
+	(ia64_frame_prev_register): Minor whitespace change.
+
+2003-10-20  Michael Chastain  <mec@shout.net>
+
+	* config/djgpp/fnchange.lst: Add lines for:
+	sim/testsuite/sim/frv/interrupts/Ipipe-fr400.cgs,
+	sim/testsuite/sim/frv/interrupts/Ipipe-fr500.cgs,
+	sim/testsuite/sim/frv/interrupts/badalign-fr550.cgs,
+	sim/testsuite/sim/frv/interrupts/compound-fr550.cgs,
+	sim/testsuite/sim/frv/interrupts/data_store_error-fr550.cgs,
+	sim/testsuite/sim/frv/interrupts/fp_exception-fr550.cgs,
+	sim/testsuite/sim/frv/interrupts/insn_access_error-fr550.cgs.
+
+2003-10-20  Andrew Cagney  <cagney@redhat.com>
+
+	* values.c (register_value_being_returned): Update comments.  Use
+	"gdbarch_return_value" when available.
+	(using_struct_return): Ditto.
+	(set_return_value): Ditto.  Use "gdbarch_return_value" when
+	available..  Print a warning, and not an error, when an unhandled
+	return type is encountered.
+	* infcmd.c: Include "gdb_assert.h".
+	(print_return_value): When gdbarch_return_value_p, and using
+	struct return, assume that the value is not available.
+	* defs.h (return_value_convention): Define.
+	* gdbarch.sh (gdbarch_return_value): New predicate method.
+	* gdbarch.h, gdbarch.c: Re-generate
+	* ppc-sysv-tdep.c (return_value_convention): Delete definition.
+
+2003-10-20  Andrew Cagney  <cagney@redhat.com>
+
+	* symtab.c: Replace "struct sec" with "struct bfd_section".
+	* objfiles.c, linespec.c, blockframe.c, block.c: Ditto.
+
+2003-10-19  Michael Chastain  <mec@shout.net>
+
+	* config/djgpp/fnchange.lst: Add lines for:
+	gdb/amd64nbsd-nat.c, gdb/amd64nbsd-tdep.c,
+	gdb/i386fbsd-nat.c, gdb/i386fbsd-tdep.c,
+	gdb/sparc64fbsd-nat.c, gdb/sparc64bsd-tdep.c.
+
+2003-10-19  Mark Kettenis  <kettenis@gnu.org>
+
+	* amd64fbsd-nat.c (fetch_inferior_registers,
+	store_inferior_registers): Remove functions.
+	* config/i386/fbsd64.mh (NATDEPFILES): Add amd64bsd-nat.o.
+
+2003-10-18  Mark Kettenis  <kettenis@gnu.org>
+
+	Add NetBSD/amd64 native configuration:
+	* x86-64-tdep.h (amd64nbsd_r_reg_offset): Add extern declarations.
+	* amd64nbsd-tdep.c: New file.
+	* amd64nbsd-nat.c: New file.
+	* amd64bsd-nat.c: New file.
+	* config/i386/nbsd64.mh: New file.
+	* config/i386/nbsd64.mt: New file.
+	* configure.host: Add x86_64-*-netbsd*.
+	* configure.tgt: Add x86_64-*-netbsd*.
+	* Makefile.in (amd64bsd-nat.o, amd64nbsd-nat.o, amd64nbsd-tdep.o):
+	New targets.
+	* NEWS (New native configurations): Mention NetBSD/amd64.
+
+2003-10-17  Michael Chastain  <mec@shout.net>
+
+	* config/djgpp/fnchange.lst: Remove dead lines for:
+	bfd/elf32-i386qnx.c, bfd/elf32-ppcqnx.c, bfd/elf32-shqnx.c,
+	bfd/elf32-sh-lin.c, bfd/elf32-sh-nbsd.c, bfd/elf32-sh64-nbsd.c,
+	bfd/elf64-alpha-fbsd.c, bfd/elf64-sh64-nbsd.c,
+	gdb/alphanbsd-nat.c, gdb/config/i386/tm-i386mk.h,
+	gdb/config/i386/tm-i386v42mp.h, gdb/config/i386/xm-i386mach.h,
+	gdb/config/i386/xm-i386mk.h, gdb/config/i386/xm-i386v32.h,
+	gdb/config/m68k/apollo68v.mh, gdb/config/m68k/nm-apollo68v.h,
+	gdb/config/m68k/xm-apollo68v.h, gdb/config/m88k/tm-delta88v4.h,
+	gdb/config/mips/tm-bigmips64.h, gdb/config/mips/tm-embed64.h,
+	gdb/config/mips/tm-embedl.h, gdb/config/mips/tm-embedl64.h,
+	gdb/config/mips/tm-vr4300el.h, gdb/config/mips/tm-vr4xxxel.h,
+	gdb/config/mips/tm-vr5000el.h, gdb/config/sparc/tm-sparclet.h,
+	gdb/config/sparc/tm-sparclite.h,
+	gdb/gdbtk/generic/ChangeLog-2001,
+	gdb/gdbtk/library/ChangeLog-2001, gdb/remote-adapt.c,
+	gdb/remote-eb.c, gdb/remote-mm.c, gdb/remote-nrom.c,
+	gdb/remote-udi.c, gdb/remote-vx29k.c, gdb/remote-vx960.c,
+	gdb/sparclet-rom.c, gdb/sparclet-stub.c,
+	gdb/testsuite/gdb.mi/mi0-var-block.exp,
+	gdb/testsuite/gdb.mi/mi0-var-child.exp,
+	gdb/testsuite/gdb.mi/mi0-var-cmd.exp,
+	gdb/testsuite/gdb.mi/mi0-var-display.exp,
+	itcl/iwidgets3.0.0/demos/extfileselectionbox,
+	itcl/iwidgets3.0.0/demos/extfileselectiondialog,
+	itcl/iwidgets3.0.0/demos/fileselectionbox,
+	itcl/iwidgets3.0.0/demos/fileselectiondialog,
+	itcl/iwidgets3.0.0/demos/html/buttonbox.n.html,
+	itcl/iwidgets3.0.0/demos/html/canvasprintbox.n.html,
+	itcl/iwidgets3.0.0/demos/html/canvasprintdialog.n.html,
+	itcl/iwidgets3.0.0/demos/html/combobox.n.html,
+	itcl/iwidgets3.0.0/demos/html/dialog.n.html,
+	itcl/iwidgets3.0.0/demos/html/dialogshell.n.html,
+	itcl/iwidgets3.0.0/demos/html/entryfield.n.html,
+	itcl/iwidgets3.0.0/demos/html/feedback.n.html,
+	itcl/iwidgets3.0.0/demos/html/fileselectionbox.n.html,
+	itcl/iwidgets3.0.0/demos/html/fileselectiondialog.n.html,
+	itcl/iwidgets3.0.0/demos/html/hyperhelp.n.html,
+	itcl/iwidgets3.0.0/demos/html/iwidgets2.2.0UserCmds.html,
+	itcl/iwidgets3.0.0/demos/html/labeledwidget.n.html,
+	itcl/iwidgets3.0.0/demos/html/menubar.n.html,
+	itcl/iwidgets3.0.0/demos/html/messagedialog.n.html,
+	itcl/iwidgets3.0.0/demos/html/notebook.n.html,
+	itcl/iwidgets3.0.0/demos/html/optionmenu.n.html,
+	itcl/iwidgets3.0.0/demos/html/panedwindow.n.html,
+	itcl/iwidgets3.0.0/demos/html/promptdialog.n.html,
+	itcl/iwidgets3.0.0/demos/html/pushbutton.n.html,
+	itcl/iwidgets3.0.0/demos/html/radiobox.n.html,
+	itcl/iwidgets3.0.0/demos/html/scrolledcanvas.n.html,
+	itcl/iwidgets3.0.0/demos/html/scrolledframe.n.html,
+	itcl/iwidgets3.0.0/demos/html/scrolledhtml.n.html,
+	itcl/iwidgets3.0.0/demos/html/scrolledlistbox.n.html,
+	itcl/iwidgets3.0.0/demos/html/scrolledtext.n.html,
+	itcl/iwidgets3.0.0/demos/html/selectionbox.n.html,
+	itcl/iwidgets3.0.0/demos/html/selectiondialog.n.html,
+	itcl/iwidgets3.0.0/demos/html/shell.n.html,
+	itcl/iwidgets3.0.0/demos/html/spindate.n.html,
+	itcl/iwidgets3.0.0/demos/html/spinint.n.html,
+	itcl/iwidgets3.0.0/demos/html/spinner.n.html,
+	itcl/iwidgets3.0.0/demos/html/spintime.n.html,
+	itcl/iwidgets3.0.0/demos/html/tabnotebook.n.html,
+	itcl/iwidgets3.0.0/demos/html/tabset.n.html,
+	itcl/iwidgets3.0.0/demos/html/toolbar.n.html,
+	itcl/iwidgets3.0.0/demos/scrolledcanvas,
+	itcl/iwidgets3.0.0/demos/scrolledframe,
+	itcl/iwidgets3.0.0/demos/scrolledhtml,
+	itcl/iwidgets3.0.0/demos/scrolledlistbox,
+	itcl/iwidgets3.0.0/demos/scrolledtext,
+	itcl/iwidgets3.0.0/demos/selectionbox,
+	itcl/iwidgets3.0.0/demos/selectiondialog,
+	itcl/iwidgets3.0.0/doc/canvasprintbox.n,
+	itcl/iwidgets3.0.0/doc/canvasprintdialog.n,
+	itcl/iwidgets3.0.0/doc/extfileselectionbox.n,
+	itcl/iwidgets3.0.0/doc/extfileselectiondialog.n,
+	itcl/iwidgets3.0.0/doc/fileselectionbox.n,
+	itcl/iwidgets3.0.0/doc/fileselectiondialog.n,
+	itcl/iwidgets3.0.0/doc/scopedobject.n.backup,
+	itcl/iwidgets3.0.0/doc/scrolledcanvas.n,
+	itcl/iwidgets3.0.0/doc/scrolledframe.n,
+	itcl/iwidgets3.0.0/doc/scrolledhtml.n,
+	itcl/iwidgets3.0.0/doc/scrolledlistbox.n,
+	itcl/iwidgets3.0.0/doc/scrolledtext.n,
+	itcl/iwidgets3.0.0/doc/selectionbox.n,
+	itcl/iwidgets3.0.0/doc/selectiondialog.n,
+	itcl/iwidgets3.0.0/generic/canvasprintbox.itk,
+	itcl/iwidgets3.0.0/generic/canvasprintdialog.itk,
+	itcl/iwidgets3.0.0/generic/extfileselectionbox.itk,
+	itcl/iwidgets3.0.0/generic/extfileselectiondialog.itk,
+	itcl/iwidgets3.0.0/generic/fileselectionbox.itk,
+	itcl/iwidgets3.0.0/generic/fileselectiondialog.itk,
+	itcl/iwidgets3.0.0/generic/scrolledcanvas.itk,
+	itcl/iwidgets3.0.0/generic/scrolledframe.itk,
+	itcl/iwidgets3.0.0/generic/scrolledhtml.itk,
+	itcl/iwidgets3.0.0/generic/scrolledlistbox.itk,
+	itcl/iwidgets3.0.0/generic/scrolledtext.itk,
+	itcl/iwidgets3.0.0/generic/scrolledwidget.itk,
+	itcl/iwidgets3.0.0/generic/selectionbox.itk,
+	itcl/iwidgets3.0.0/generic/selectiondialog.itk,
+	itcl/iwidgets3.0.0/tests/canvasprintbox.test,
+	itcl/iwidgets3.0.0/tests/canvasprintdialog.test,
+	itcl/iwidgets3.0.0/tests/extfileselectionbox.test,
+	itcl/iwidgets3.0.0/tests/extfileselectiondialog.test,
+	itcl/iwidgets3.0.0/tests/fileselectionbox.test,
+	itcl/iwidgets3.0.0/tests/fileselectiondialog.test,
+	itcl/iwidgets3.0.0/tests/scrolledcanvas.test,
+	itcl/iwidgets3.0.0/tests/scrolledframe.test,
+	itcl/iwidgets3.0.0/tests/scrolledhtml.test,
+	itcl/iwidgets3.0.0/tests/scrolledlistbox.test,
+	itcl/iwidgets3.0.0/tests/scrolledtext.test,
+	itcl/iwidgets3.0.0/tests/selectionbox.test,
+	itcl/iwidgets3.0.0/tests/selectiondialog.test,
+	itcl/iwidgets3.0.0/unix/iwidgets.tcl.in,
+	itcl/iwidgets3.0.0/unix/pkgIndex.tcl.in,
+	tix/docs/Release-4.1.0.html, tix/docs/Release-4.1.0.txt,
+	tix/docs/Release-4.1a2.html, tix/docs/Release-4.1a2.txt,
+	tix/docs/Release-4.1a3.html, tix/docs/Release-4.1a3.txt,
+	tix/docs/Release-4.1b1.html, tix/docs/Release-4.1b1.txt,
+	tix/docs/Release-4.1b2.html, tix/docs/Release-4.1b2.txt,
+	tix/tixConfig.sh.in, tix/unix/tk4.2/pkgIndex.tcl.in,
+	tix/unix/tk8.0/pkgIndex.tcl.in, tix/unix/tk8.0/pkgIndex.tcl.in,
+	tix/unix/tk8.1/pkgIndex.tcl.in, tix/win/tkConsole41.c,
+	tix/win/tkConsole42.c, tix/win/tkConsole80a1.c,
+	tix/win/tkConsole80b1.c, tix/win/tkConsole81.c, tk/doc/tk4.0.ps,
+	tk/mac/tkMacProjects.sit.hqx.
+
+2003-10-17  Andrew Cagney  <cagney@redhat.com>
+
+	* target.c (target_section_by_addr): New function.
+	(do_xfer_memory): Use "target_section_by_addr".
+	* target.h (target_section_by_addr): Declare.
+
+	* target.h (struct target_ops): Add "to_read_partial" and
+	"to_write_partial", delete "to_query".
+	(target_read_partial, target_write_partial): Declare.
+	(target_read, target_write): Declare.
+	(target_query): Delete macro.
+	* target.c (target_read_partial): New function.
+	(target_write_partial, target_read, target_write): New function.
+	(update_current_target): Delete inheritance of "to_query".  Add
+	comments about "to_read_partial" and "to_write_partial".
+	(debug_to_partial_read, debug_to_partial_write): New functions.
+	(debug_to_query): Delete function.
+	(setup_target_debug): Set "to_read_partial" and "to_write_partial"
+	instead of "to_query".
+	* remote.c (remote_read_partial): Replace "remote_query".
+	(init_remote_ops): Set "to_read_partial" instead of "to_query".
+	(init_remote_async_ops): Ditto.
+	* kod.c (gdb_kod_query): Make "bufsize" a LONGEST.  Use
+	"target_read_partial" instead of "target_query".
+	* avr-tdep.c (avr_io_reg_read_command): Make "bufsize" a LONGEST.
+	Use "target_read_partial" instead of "target_query".
+
+2003-10-17  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* frame.h (struct frame_id): Add new field: special_addr.
+	(frame_id_build_special): New prototype.
+	* frame.c (frame_id_build_special): New function.
+	(frame_id_build): Change to call frame_id_build_special().
+	(frame_id_eq): Change to also test special_addr field.
+	(frame_id_inner): Update comment.
+
+2003-10-17  Andrew Cagney  <cagney@redhat.com>
+
+	* target.c (update_current_target): Perform the target cleanup.
+	Put the target stack beneath the squashed "current_target".
+	(add_target): Delete disabled call to "cleanup_target".
+	(cleanup_target): Delete function.
+	(push_target, unpush_target): Do not call "cleanup_target".
+
+2003-10-17  Andrew Cagney  <cagney@redhat.com>
+
+	* target.c (target_stack): Change to a static target_ops.
+	(update_current_target): Walk the "struct target_ops" stack.
+	(pop_target, do_xfer_memory, target_info): Ditto.
+	(find_target_beneath): Ditto.
+	(push_target): Rewrite to use the "struct target_ops" stack.
+	(unpush_target): Ditto.
+	* target.h (struct target_stack_item): Delete definition.
+	(target_stack): Delete declaration.
+	(struct target_ops): Add field "beneath".
+
+2003-10-17  Shrinivas Atre  <shrinivasa@KPITCummins.com>
+
+	* gdb/config/h8300/tm-h8300.h (h8300_normal_mode): Add external
+	declaration.
+	* gdb/h8300-tdep.c (BINWORD): Update BINWORD for h8300_normal_mode
+        (h8300_examine_prologue): Use h8300_normal_mode flag
+        (h8300_gdbarch_init): Set architecture info for normal mode
+
+2003-10-16  Daniel Jacobowitz  <drow@mvista.com>
+
+	* remote.c (remote_protocol_vcont): New variable.
+	(set_remote_protocol_vcont_packet_cmd): New function.
+	(show_remote_protocol_vcont_packet_cmd): New function.
+	(init_all_packet_configs): Handle remote_protocol_vcont.
+	(remote_vcont_probe): New function.
+	(remote_vcont_resume): New function.
+	(remote_resume): Use it.
+	(remote_async_resume): Call remote_resume.
+	(_initialize_remote): Add verbose-resume packet commands.
+
+2003-10-16  Andrew Cagney  <cagney@redhat.com>
+
+	* infrun.c (handle_inferior_event): Add comment about
+	"frame_id_inner" being too weak.
+
+2003-10-16  Elena Zannoni  <ezannoni@redhat.com>
+
+	* minsyms.c (lookup_minimal_symbol_solib_trampoline): Remove
+	second parameter, which is always null. Remove
+	SOFUN_ADDRESS_MAYBE_MISSING ifdeffed code.
+	* symtab.h (lookup_minimal_symbol_solib_trampoline): Update
+	accordingly.
+	* somsolib.c (som_solib_create_inferior_hook,
+	som_solib_desire_dynamic_linker_symbols): Update callers.
+	* hppa-tdep.c (hppa_fix_call_dummy): Ditto.
+
+2003-10-16  Kei Sakamoto  <sakamoto.kei@renesas.com>
+
+	* remote-m32r-sdi.c : New file, interface to m32r on-chip
+	debug interface, SDI (Scalable Debug Interface).
+	* NEWS: Mention m32r SDI protocol was supported.
+	* Makefile.in (remote-m32r-sdi.o): Add build rule.
+	* config/m32r/m32r.mt (TDEPFILES) : Add remote-m32r-sdi.o.
+
+2003-10-15  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* ia64-linux-tdep.c: Include gdbcore.h.
+	(IA64_LINUX_SIGCONTEXT_OFFSET): Magic constant removed.
+	(ia64_linux_sigcontext_register_addr): Find the address of the
+	sigcontext area stored in the sigframe instead of using
+	a magic offset constant.
+
+2003-10-15  Andrew Cagney  <cagney@redhat.com>
+
+	* remote.c (remote_search): Delete function.
+	* target.h (target_search): Delete disabled macro.
+	(struct target_ops): Delete disabled field "to_search".
+
+2003-10-14  Kevin Buettner  <kevinb@redhat.com>
+
+	* frv-tdep.c (frv_frame_this_id): Call inside_entry_func()
+	instead of deprecated_inside_entry_file().
+
+2003-10-14  Corinna Vinschen  <vinschen@redhat.com>
+
+	* sh-tdep.c: Fix copy/paste hangover in comment.
+	(sh_push_dummy_call_fpu): Accomodate double passing in little endian
+	mode.
+	(sh3e_sh4_extract_return_value): Ditto.
+
+2003-10-13  Richard Henderson  <rth@redhat.com>
+
+	* f-typeprint.c (f_type_print_base): Handle TYPE_CODE_REF.
+	* f-valprint.c (f_val_print): Likewise.  Tweak TYPE_CODE_PTR to
+	match c_val_print a bit closer.
+
+2003-10-13  Kevin Buettner  <kevinb@redhat.com>
+
+	* frv-tdep.c (max_instrs_per_bundle, frv_instr_size): New constants.
+	(frv_gdbarch_adjust_breakpoint_address): New function.
+	(frv_gdbarch_init): Initialize ``gdbarch_adjust_breakpoint_address''
+	method.
+
+2003-10-13  Kevin Buettner  <kevinb@redhat.com>
+
+	* breakpoint.h (struct breakpoint): Add new member
+	``requested_address''.
+	* breakpoint.c (breakpoint_adjustment_warning)
+	(adjust_breakpoint_address): New static functions.
+	(print_it_typical): Issue warning if breakpoint's address is different
+	from its requested address.
+	(set_raw_breakpoint, set_longjmp_resume_breakpoint, watch_command_1)
+	(breakpoint_re_set_one):  Set breakpoint's
+	``requested_address'' field.  Set ``address'' field to the
+	result of calling adjust_breakpoint_address() on the requested
+	address.
+
+2003-10-13  Kevin Buettner  <kevinb@redhat.com>
+
+ 	* gdbarch.sh (ADJUST_BREAKPOINT_ADDRESS): New method.
+ 	* gdbarch.h, gdbarch.c: Regenerate.
+
+2003-10-11  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386bsd-tdep.c (i386bsd_init_abi): Use ARRAY_SIZE to initialize
+	TDEP->sc_num_regs.
+
+	* i386fbsd-tdep.c: New file.
+	(i386fbsd_sigtramp_start, i386fbsd_sigtramp_end,
+	i386fbsd_sc_reg_offset, i386fbsdaout_init_abi, i386fbsd_init_abi,
+	i386fbsd4_sc_reg_offset, i386fbsd4_init_abi): Move here from
+	i386bsd-tdep.c.
+	(_initialize_i386fbsd_tdep): New function.
+	(i386fbsd_r_reg_offset, i386fbsd4_r_reg_offset): New varibles.
+	(i386fbsdaout_init_abi): Initialize TDEP->gregset_reg_offset,
+	TDEP->gregset_num_regs, TDEP->sizeof_gregset and
+	TDEP->sizeof_fpregset.  Use ARRAY_SIZE to initialize
+	TDEP->sc_num_regs.
+	(i386fbsd4_init_abi): Initialize TDEP->gregset_reg_offset,
+	TDEP->gregset_num_regs and TDEP->sizeof_gregset.  Use ARRAY_SIZE
+	to initialize TDEP->sc_num_regs.
+	* i386bsd-tdep.c (i386fbsd_sigtramp_start, i386fbsd_sigtramp_end,
+	i386fbsd_sc_reg_offset, i386fbsdaout_init_abi, i386fbsd_init_abi,
+	i386fbsd4_sc_reg_offset, i386fbsd4_init_abi): Remove.
+	(_initialize_i386bsd_tdep): Don't register FreeBSD a.out and
+	FreeBSD ELF OS/ABI's here.
+	* Makefile.in (ALLDEPFILES): Add i386fbsd-tdep.c.
+	(i386fbsd-tdep.o): New target.
+	* config/i386/fbsd.mt (TDEPFILES): Add i386fbsd-tdep.o.
+	* config/i386/fbsd64.mt (TDEPFILES):  Add i386fbsd-tdep.o.
+
+	* amd64fbsd-tdep.c (amd64fbsd_r_reg_offset): New variable.
+	(amd64fbsd_init_abi): Set TDEP->gregset_reg_offset,
+	TDEP->gregset_num_regs and TDEP->sizeof_gregset.  Use ARRAY_SIZE
+	in initialization of TDEP->sc_num_regs.
+
+	* x86-64-tdep.c (x86_64_regset_from_core_section): New function.
+	(x86_64_init_abi): Initialize regset_from_core_section if
+	appropriate.
+
+	* i386-tdep.c (i386_regset_from_core_section): New function.
+	(i386_gdbarch_init): Initialize regset_from_core_section if
+	appropriate.
+	* i386-tdep.h (i386_regset_from_core_section): New declaration.
+
+	* i386-tdep.h (struct regset): Declare opaque.
+
+	* gdbarch.sh (regset_from_core_section): New method.
+	(struct regset): Declare opaque.
+	* gdbarch.c, gdbarch.h: Regenerated.
+
+2003-10-11  Alan Modra  <amodra@bigpond.net.au>
+
+	* hppa-tdep.c (hppa_in_solib_call_trampoline): Don't refer directly to
+	_cooked_size and vma;  Use bfd_section_size and bfd_get_section_vma.
+	Correct test for pc within section.
+
+2003-10-11  Mark Kettenis  <kettenis@gnu.org>
+
+	* gdbarch.sh: Remove trailing whitepsace from comments.
+
+2003-10-08  Roland McGrath  <roland@redhat.com>
+
+	* gcore.c (make_mem_sec): Function removed, folded into ...
+	(gcore_create_callback): ... here.  To omit a section, clear its
+	SEC_LOAD bit rather than zeroing its size.
+	Omit read-only sections only if they correspond to a known disk file.
+	(gcore_copy_callback): Ignore sections without SEC_LOAD flag set.
+
+2003-10-10  Michael Snyder  <msnyder@redhat.com>
+
+	* d10v-tdep.c: Fix typo in comment.
+
+2003-10-10  Andrew Cagney  <cagney@redhat.com>
+
+	* rs6000-tdep.c (e500_store_return_value): Delete function.
+	(e500_extract_return_value): Delete function.
+	(rs6000_gdbarch_init): When SYSV, set "extract_return_value" and
+	"restore_return_value" to "ppc_sysv_abi_extract_return_value" and
+	"ppc_sysv_abi_restore_return_value" where applicable.
+	* ppc-tdep.h: (ppc_sysv_abi_store_return_value): Declare.
+	(ppc_sysv_abi_extract_return_value): Declare.
+	(ppc_sysv_abi_broken_store_return_value): Declare.
+	(ppc_sysv_abi_broken_extract_return_value): Declare.
+	(ppc_sysv_abi_broken_use_struct_convention:) Delete declaration.
+	* ppc-sysv-tdep.c (return_value_convention): Move definition to
+	start of file.
+	(do_ppc_sysv_return_value): New function.
+	(ppc_sysv_abi_extract_return_value): New function.
+	(ppc_sysv_abi_store_return_value): New function.
+	(ppc_sysv_abi_broken_extract_return_value): New function.
+	(ppc_sysv_abi_broken_store_return_value): New function.
+	(ppc_sysv_abi_use_struct_convention): Call
+	do_ppc_sysv_return_value.
+
+2003-10-10  J. Brobecker  <brobecker@gnat.com>
+
+	* blockframe.c (inside_main_func): No longer use symbol_lookup()
+	to lookup the main function symbol.
+
+2003-10-10  Corinna Vinschen  <vinschen@redhat.com>
+
+	* sh-tdep.c (sh_treat_as_flt_p): New function to recognize float
+	types correctly.
+	(sh_push_dummy_call_fpu): Fix argument passing rules.
+	(sh3e_sh4_extract_return_value): Call sh_treat_as_flt_p to recognize
+	float types.
+	(sh3e_sh4_store_return_value): Ditto.
+
+2003-10-10  Elena Zannoni  <ezannoni@redhat.com>
+
+	* sh-tdep.c (sh_use_struct_convention): Clarify one case in
+	comment.
+
+2003-10-10  Corinna Vinschen  <vinschen@redhat.com>
+
+	* sh-tdep.c (sh_use_struct_convention): Clean up to have a
+	more readable code.  Accomodate passing of bitfields.
+
+2003-10-10  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.in (ppc-sysv-tdep.o): Add $(gdb_assert_h).
+	* rs6000-tdep.c (rs6000_gdbarch_init): When 64 bit SysV ABI, set
+	push_dummy_call to ppc64_sysv_abi_push_dummy_call.
+	* ppc-sysv-tdep.c: Include "gdb_assert.h".
+	(ppc64_sysv_abi_push_dummy_call): New function.
+	(ppc64_sysv_abi_broken_push_dummy_call): New function.
+	* ppc-tdep.h (ppc64_sysv_abi_push_dummy_call): Declare.
+	(ppc64_sysv_abi_broken_push_dummy_call): Declare.
+
+2003-10-10  Kei Sakamoto  <sakamoto.kei@renesas.com>
+
+	* NEWS: Replace "Hitachi" and "Mitsubishi" with "Renesas".
+	* README: Ditto.
+	* d10v-tdep.c: Ditto.
+	* h8300-tdep.c: Ditto.
+	* remote-e7000.c: Ditto.
+	* remote-hms.c: Ditto.
+	* ser-e7kpc.c: Ditto.
+	* sh-stub.c: Ditto.
+	* sh-tdep.c: Ditto.
+	* sh-tdep.h: Ditto.
+	* sh3-rom.c: Ditto.
+	* sh64-tdep.c: Ditto.
+	* top.c: Ditto.
+	* wince.c: Ditto.
+	* config/d10v/d10v.mt: Ditto.
+	* config/sh/embed.mt: Ditto.
+	* config/sh/linux.mt: Ditto.
+	* config/sh/tm-linux.h: Ditto.
+	* config/sh/tm-sh.h: Ditto.
+	* config/sh/wince.mt: Ditto.
+
+2003-10-09  Andrew Cagney  <cagney@redhat.com>
+
+	* ppc-tdep.h (struct type): Declare opaque.
+	* x86-64-tdep.h (struct regcache): Declare opaque.
+	* sh-tdep.c (sh_do_fp_register): Delete "register" attribute, fix
+	coding style.
+
+2003-10-09  Andrew Cagney  <cagney@redhat.com>
+
+	Changes from 2003-09-09 Jimi Xenidis <jimix@watson.ibm.com>:
+	* config/rs6000/tm-rs6000.h (SOFTWARE_SINGLE_STEP): Delete macro.
+	(SOFTWARE_SINGLE_STEP_P): Ditto.
+	* config/powerpc/tm-ppc-eabi.h (SOFTWARE_SINGLE_STEP_P): Ditto.
+	* config/powerpc/tm-linux.h (SOFTWARE_SINGLE_STEP): Ditto.
+	(SOFTWARE_SINGLE_STEP_P): Ditto.
+	* rs6000-tdep.c (rs6000_gdbarch_init): When AIX, set
+	software_single_step to rs6000_software_single_step.
+
+2003-10-09  Andrew Cagney  <cagney@redhat.com>
+
+	* MAINTAINERS: Mark m32r-elf as buildable with -Werror.
+
+2003-10-09  Michael Snyder  <msnyder@redhat.com>
+
+	* frame.h: Fix typo in comment.
+	* dummy-frame.c: Fix typo in comment.
+	* d10v-tdep.c: Random whitespace/comment tweaks.
+
+2003-10-09  Elena Zannoni  <ezannoni@redhat.com>
+
+	* sh-tdep.c (sh_gdbarch_init): Delete setting of push_dummy_code.
+	(sh_push_dummy_code): Delete function, it's only used for dummy calls
+	on stack.
+
+	Based on input by Stephen Clarke (stephen.clarke@superh.com):
+	* sh-tdep.c (sh_use_struct_convention): Add comment explaining ABI
+	in detail.
+
+2003-10-09  Daniel Jacobowitz  <drow@mvista.com>
+
+	* remote-mips.c (mips_initialize): Remove unneeded call to
+	get_selected_frame.  Suggested by Atsushi Nemoto <anemo@mba.ocn.ne.jp>.
+
+2003-10-09  Daniel Jacobowitz  <drow@mvista.com>
+
+	* dwarf2expr.c (execute_stack_op): Don't treat the frame base as
+	a memory pointer.
+
+2003-10-08  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* lin-lwp.c (stop_and_resume_callback): Set the resumed flag
+	for any lwp we resume.
+	(running_callback): Add lwps that have pending status events
+	against them to be considered running.
+
+2003-10-08  Kei Sakamoto  <sakamoto.kei@renesas.com>
+
+	* m32r-tdep.c : Include "dis-asm.h".
+	* Makefile.in (m32r-tdep.o): Update dependencies.
+
+2003-10-06  J. Brobecker  <brobecker@gnat.com>
+
+	* completer.h (get_gdb_completer_word_break_characters): Delete.
+	* completer.c: include language.h.
+	(gdb_completer_word_break_characters): Delete.
+	(get_gdb_completer_word_break_characters): Delete.
+	(location_completer): Use the word break characters of the current
+	language.
+	(complete_line): Likewise.
+	(line_completion_function): Likewise.
+	(skip_quoted_chars): Likewise.
+	* Makefile.in (completer.o): Add dependency on language.h.
+	* top.c (init_main): Set the readline word break characters
+	to GDB's default word break characters.
+
+2003-10-06  J. Brobecker  <brobecker@gnat.com>
+
+	* language.h (language_defn): new field, la_word_break_characters.
+	* language.c (unknown_language_defn): Set new field to
+	default_word_break_characters.
+	(auto_language_defn): Likewise.
+	(local_language_defn): Likewise.
+	* ada-lang.c (ada_language_defn): Likewise.
+	* c-lang.c (c_language_defn): Likewise.
+	(cplus_language_defn): Likewise.
+	(asm_language_defn): Likewise.
+	(minimal_language_defn): Likewise.
+	* f-lang.c (f_language_defn): Likewise.
+	* jv-lang.c (java_language_defn): Likewise.
+	* m2-lang.c (m2_language_defn): Likewise.
+	* objc-lang.c (objc_language_defn): Likewise.
+	* p-lang.c (pascal_language_defn): Likewise.
+	* scm-lang.c (scm_language_defn): Likewise.
+
+2003-10-06  Andrew Cagney  <cagney@redhat.com>
+
+	* ppc-sysv-tdep.c: Re-indent.
+
+2003-10-06  J. Brobecker  <brobecker@gnat.com>
+
+	* language.h (default_word_break_characters): Add prototype.
+	* language.c (default_word_break_characters): New function.
+
+2003-10-06  Andreas Schwab  <schwab@suse.de>
+
+	* i386-tdep.c (i386_analyze_frame_setup): Also handle xorl/subl
+	with %eax.
+
+2003-10-06  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.in (ALLDEPFILES): Remove "z8k-tdep.c" and
+	"h8500-tdep.c".
+	(z8k-tdep.o): Delete custom build rule.
+
+2003-10-06  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.in: Update all dependencies.
+
+	* MAINTAINERS: Mention that h8500, mn10200, and z8k were deleted.
+	No longer list PA as as obsolete candidate.  List m32r as
+	broken instead of obsolete.
+
+	* config/nm-m3.h, config/h8500/h8500.mt: Delete obsolete files.
+	* config/h8500/tm-h8500.h, config/i386/nm-ptx4.h: Ditto.
+	* config/i386/nm-symmetry.h, config/i386/ptx.mh: Ditto.
+	* config/i386/ptx.mt, config/i386/ptx4.mh: Ditto.
+	* config/i386/ptx4.mt, config/i386/symmetry.mh: Ditto.
+	* config/i386/symmetry.mt, config/i386/tm-ptx.h: Ditto.
+	* config/i386/tm-ptx4.h, config/i386/tm-symmetry.h: Ditto.
+	* config/i386/xm-ptx.h, config/i386/xm-ptx4.h: Ditto.
+	* config/i386/xm-symmetry.h, config/mips/mipsm3.mh: Ditto.
+	* config/mips/mipsm3.mt, config/mips/tm-mipsm3.h: Ditto.
+	* config/mips/xm-mipsm3.h, config/mn10200/mn10200.mt: Ditto.
+	* config/mn10200/tm-mn10200.h, config/pa/hppabsd.mh: Ditto.
+	* config/pa/hppabsd.mt, config/pa/hppaosf.mh: Ditto.
+	* config/pa/hppaosf.mt, config/pa/hppapro.mt: Ditto.
+	* config/pa/nm-hppab.h, config/pa/nm-hppao.h: Ditto.
+	* config/pa/tm-hppab.h, config/pa/tm-hppao.h: Ditto.
+	* config/pa/tm-pro.h, config/pa/xm-hppab.h: Ditto.
+	* config/pa/xm-pa.h, config/sparc/sparclet.mt: Ditto.
+	* config/sparc/sparclite.mt, config/sparc/tm-sparclet.h: Ditto.
+	* config/sparc/tm-sparclite.h, config/z8k/tm-z8k.h: Ditto.
+	* config/z8k/z8k.mt: Ditto.
+
+	* NEWS: Mention that z8k-zilog-none, z8ksim, mn10200-*-*,
+	h8500hms, hppa*-*-bsd*, hppa*-*-osf*, hppa*-*-pro*,
+	mips*-*-mach3*, i[3456]86-sequent-sysv4*, i[3456]86-sequent-sysv*,
+	i[3456]86-sequent-bsd*, sparclet-*-*, sparclite-fujitsu-none, and
+	sparclite were removed.
+	* configure.host, configure.tgt: Remove corresponding tuples.
+
+	* breakpoint.c, breakpoint.h: Remove obsolete code.
+	* buildsym.c, dbxread.c, gdbtypes.c, mdebugread.c: Ditto.
+	* monitor.c, sparc-tdep.c, stabsread.c: Ditto.
+	* stabsread.h, xcoffread.c: Ditto.
+
+	* z8k-tdep.c, symm-tdep.c, symm-nat.c: Delete obsolete file.
+	* sparclet-stub.c, sparclet-rom.c: Delete obsolete file.
+	* sparcl-tdep.c, sparcl-stub.c, h8500-tdep.c: Delete obsolete file.
+	* m3-nat.c, mipsm3-nat.c, mn10200-tdep.c: Delete obsolete file.
+
+2003-10-06  David Lecomber  <dsl@sources.redhat.com>
+
+	* f-valprint.c: Reformatting
+
+2003-10-06  Mark Kettenis  <kettenis@gnu.org>
+
+	* x86-64-tdep.c: Remove duplicate comment.
+
+	* x86-64-tdep.c (x86_64_store_return_value): Don't use
+	DEPRECATED_REGISTER_RAW_SIZE.  Use symbolic names for register
+	names for return values.  This fixes a bug since we looked at %rbx
+	instead of %rdx.
+
+2003-10-05  Mark Kettenis  <kettenis@gnu.org>
+
+	* x86-64-tdep.c: Include "regset.h".
+
+	* i386-tdep.h (struct gdbarch_tdep): Add members gregset,
+	gregset_reg_offset, gregset_num_regs, sizeof_gregset, fpregset,
+	sizeof_fpregset.
+	* i386-tdep.c: Include "regset.h".
+	(i386_supply_gregset): New function.
+	(i386_supply_fpregset): New function.
+	(i386_gdbarch_init): Initialze register set-related members of
+	TDEP.
+	* x86-64-tdep.c (x86_64_supply_fpregset): New function.
+	(x86_64_init_abi): Initialize TDEP->sizeof_fpregset.
+
+2003-10-03  Andrew Cagney  <cagney@redhat.com>
+
+	* rs6000-tdep.c (rs6000_gdbarch_init): When the 64 bit SysV ABI,
+	set extract_return_value, store_return_value and
+	use_struct_convention to ppc64_sysv_abi_extract_return_value,
+	ppc64_sysv_abi_store_return_value and
+	ppc64_sysv_abi_use_struct_convention.
+	* ppc-tdep.h (ppc64_sysv_abi_extract_return_value): Declare.
+	(ppc64_sysv_abi_store_return_value): Declare.
+	(ppc64_sysv_abi_use_struct_convention): Declare.
+	* ppc-sysv-tdep.c (enum return_value_convention): Define.
+	(ppc64_sysv_abi_extract_return_value): New function.
+	(ppc64_sysv_abi_store_return_value): New function.
+	(ppc64_sysv_abi_use_struct_convention): New function.
+	(ppc64_sysv_abi_return_value): New function.
+
+2003-10-03  Andrew Cagney  <cagney@redhat.com>
+
+	* ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): Only
+	convert a descriptor to a function when it's in the ".opd"
+	section.
+
+2003-10-03  Corinna Vinschen  <vinschen@redhat.com>
+
+	* sh-tdep.c (sh_push_dummy_call_fpu): Initialize flt_argreg and
+	reg_size to keep GCC silent.
+
+2003-10-03  Corinna Vinschen  <vinschen@redhat.com>
+
+	* dwarf2-frame.c (struct comp_unit): Add tbase member to store
+	base for DW_EH_PE_textrel encodings.
+	(read_encoded_value): Add a DW_EH_PE_textrel case.
+	(dwarf2_build_frame_info): Set unit.tbase to beginning of text
+	section.
+
+2003-10-03  Mark Kettenis  <kettenis@gnu.org>
+
+	* dwarf2-frame.c (dwarf2_build_frame_info): Fix comment.
+
+2003-10-02  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_REGISTER_RAW_SIZE): Rename
+	REGISTER_RAW_SIZE.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* aix-thread.c, alpha-tdep.h, arm-tdep.c, core-sol2.c: Update.
+	* cris-tdep.c, dve3900-rom.c, findvar.c, frame.c: Update.
+	* hppa-tdep.c, hppab-nat.c, hppah-nat.c, hppam3-nat.c: Update.
+	* hpux-thread.c, i386gnu-nat.c, ia64-aix-nat.c: Update.
+	* ia64-linux-nat.c, ia64-tdep.c, infcmd.c, infptrace.c: Update.
+	* infrun.c, irix5-nat.c, lynx-nat.c, mips-linux-tdep.c: Update.
+	* mips-nat.c, mips-tdep.c, mipsv4-nat.c, mn10300-tdep.c: Update.
+	* monitor.c, ns32k-tdep.c, ppc-linux-nat.c, regcache.c: Update.
+	* remote-e7000.c, remote-mips.c, remote-sim.c: Update.
+	* remote-vxmips.c, remote-vxsparc.c, remote.c: Update.
+	* rom68k-rom.c, rs6000-nat.c, rs6000-tdep.c, s390-tdep.c: Update.
+	* sh64-tdep.c, sparc-nat.c, sparc-tdep.c, stack.c: Update.
+	* target.c, tracepoint.c, v850-tdep.c, v850ice.c, valops.c: Update.
+	* vax-tdep.c, vax-tdep.h, x86-64-tdep.c, xstormy16-tdep.c: Update.
+	* config/m68k/tm-delta68.h, config/m68k/tm-vx68.h: Update.
+	* config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h: Update.
+
+2003-10-02  Jim Blandy  <jimb@redhat.com>
+
+	* dwarf2read.c (struct die_info): Doc fix.
+
+2003-10-02  Corinna Vinschen  <vinschen@redhat.com>
+
+	* sh-tdep.c: Running thru gdb_indent.sh.
+
+2003-10-02  Corinna Vinschen  <vinschen@redhat.com>
+
+	* sh-tdep.c (sh_justify_value_in_reg): New function.
+	(sh_stack_allocsize): Ditto.
+	(flt_argreg_array): New array used for floating point argument
+	passing.
+	(sh_init_flt_argreg): New function.
+	(sh_next_flt_argreg): Ditto.
+	(sh_push_dummy_call_fpu): Simplify. Rename "odd_sized_struct" to
+	"pass_on_stack". Use new helper functions.  Accomodate Renesas ABI.
+	Fix argument passing strategy.
+	(sh_push_dummy_call_nofpu): Ditto.
+
+2003-10-01  Andrew Cagney  <cagney@redhat.com>
+
+	* value.h (register_value_being_returned): Declare.  Replace
+	"value_being_returned".
+	* infcall.c (call_function_by_hand): Use
+	register_value_being_returned.
+	* infcmd.c (print_return_value): Call
+	"register_value_being_returned", handle struct return locally.
+	* values.c (register_value_being_returned): New function.  Replace
+	"value_being_returned".
+
+2003-09-30  Elena Zannoni  <ezannoni@redhat.com>
+
+	* linux-proc.c (linux_do_registers): New function.
+	(linux_make_note_section): Use linux_do_registers in case of
+	single threaded inferior programs.
+
+2003-10-01  Andrew Cagney  <cagney@redhat.com>
+
+	* infcall.c (call_function_by_hand): When STRUCT_RETURN, always
+	use STRUCT_ADDR.  When not using "struct return convention", pass
+	"0" to "value_being_returned".  Add FIXMEs.
+	* infcmd.c (print_return_value): Pass an explicit 0/1 to
+	value_being_returned.  Add comments.
+	* values.c (value_being_returned): Add fixme.
+	* hppa-tdep.c (hppa_extract_struct_value_address): Add FIXME.
+	(hppa_value_returned_from_stack): Add FIXME.
+
+2003-09-30  David Carlton  <carlton@kealia.com>
+
+	* dwarf2read.c (struct die_info): Add 'parent' field; replace
+	'has_children' and 'next' by 'child' and 'sibling'.
+	(read_comp_unit): Rework algorithm, breaking body into
+	read_die_and_children and read_die_and_siblings.
+	(read_die_and_children, read_die_and_siblings): New.
+	(read_full_die): Add 'has_children' argument; set it instead of
+	the die's 'has_children' field.  Minor formatting cleanup.
+	(free_die_list): Use die->child and die->sibling instead of
+	die->next.
+	(dump_die_list): Ditto.
+	(sibling_die): Use die->sibling.
+	(psymtab_to_symtab_1): Use die's 'child' field in place of its
+	'has_children' and 'next' fields.
+	(process_die, read_file_scope, read_func_scope)
+	(read_lexical_block_scope, read_structure_scope)
+	(read_enumeration, read_array_type, read_common_block)
+	(read_namespace, read_subroutine_type, dump_die): Ditto.
+
+2003-09-30  Andrew Cagney  <cagney@redhat.com>
+
+	* rs6000-tdep.c (rs6000_gdbarch_init): Set the PowerOpen red zone
+	to 224, not 220.
+
+2003-09-30  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_REGISTER_VIRTUAL_SIZE): Rename
+	REGISTER_VIRTUAL_SIZE.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* vax-tdep.h, sparc-tdep.c, regcache.h: Update.
+	* regcache.c, mn10300-tdep.c, mips-tdep.c: Update.
+	* infcmd.c, frame.c, findvar.c, cris-tdep.c: Update.
+
+2003-09-29  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_REGISTER_VIRTUAL_TYPE): Rename
+	REGISTER_VIRTUAL_TYPE.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* arch-utils.c,	hppa-tdep.c, regcache.c, regcache.h: Update.
+	* sh64-tdep.c, sparc-tdep.c: Update.
+
+	* remote-vxsparc.c (vx_read_register): Replace bzero with memset.
+	* remote-vxmips.c (vx_read_register): Ditto.
+	* remote-vx68.c (vx_read_register): Ditto.
+	* gnu-nat.c (inf_validate_procs): Ditto.
+
+2003-09-29  J. Brobecker  <brobecker@gnat.com>
+
+	* infcall.c (call_function_by_hand): Fix build failure
+	introduced in the previous change to this file.
+
+2003-09-29  Andrew Cagney  <cagney@redhat.com>
+
+	* NEWS: Mention Objective-C.
+
+2003-09-29  Jerome Guitton  <guitton@act-europe.fr>
+
+	* arm-tdep.c (arm_make_prologue_cache): Use trad_frame_addr_p to
+	test if the register has been saved on the stack.
+	(arm_scan_prologue_cache): When analysing the instruction
+	"str lr, [sp, #-4]", save the address where lr has been stored.
+
+2003-09-28  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (frame_read_unsigned_register): Delete function.
+	* frame.h (frame_read_unsigned_register): Delete declaration.
+	* sparc-tdep.c (sparc_init_extra_frame_info): Use
+	get_frame_register_unsigned.
+	(sparc_frame_saved_pc, sparc_pop_frame): Ditto.
+	* m68hc11-tdep.c (m68hc11_print_register): Ditto.
+	* d10v-tdep.c (d10v_print_registers_info): Ditto.
+
+	* frame.h (frame_read_register): Delete declaration.
+	* frame.c (frame_read_register): Delete function.
+	* arch-utils.c (legacy_register_to_value): Use get_frame_register.
+	* sparc-tdep.c (sparc_fetch_pointer_argument): Ditto.
+	* rs6000-tdep.c (rs6000_fetch_pointer_argument): Ditto.
+	* mips-tdep.c (mips_register_to_value): Ditto.
+	* hppa-tdep.c (hppa_fetch_pointer_argument): Ditto.
+	* d10v-tdep.c (d10v_print_registers_info): Ditto.
+
+	* frame.c (frame_read_signed_register): Delete function.
+	(frame_read_unsigned_register): Update comments.
+	* frame.h (frame_read_signed_register): Delete declaration.
+	* h8300-tdep.c (h8300_print_register): Use
+	get_frame_register_signed.
+	* m68hc11-tdep.c (m68hc11_print_register): Ditto.
+
+	* config/pa/tm-hppa.h (DEPRECATED_VALUE_RETURNED_FROM_STACK):
+	Rename VALUE_RETURNED_FROM_STACK.
+	* infcmd.c (print_return_value): Update.
+	* infcall.c (call_function_by_hand): Update.
+
+2003-09-28  Mark Kettenis  <kettenis@gnu.org>
+
+	* i387-tdep.c (i387_supply_fsave, i387_supply_fxsave): Add
+	regcache argument and reverse the order of the other two
+	arguments.  Remove local regcache variable.  Determine
+	architecture from REGCACHE.  Update comments.
+	* x86-64-tdep.c (x86_64_supply_fxsave): Add regcache argument and
+	reverse the order of the other two arguments.  Remove local
+	regcache variable.  Determine architecture from REGCACHE.  Update
+	comments.
+	* i387-tdep.h (i387_supply_fsave, i387_supply_fxsave): Adjust
+	prototypes.  Update comments.
+	* x86-64-tdep.c (x86_64_supply_fxsave): Adjust prototype.  Adjust
+	comment.
+	* amd64fbsd-nat.c (supply_fpregset, fetch_inferior_registers):
+	Update.
+	* go32-nat.c (fetch_register, go32_fetch_registers): Update.
+	* i386-interix-nat.c (supply_fpregset): Update.
+	* i386-linux-nat.c (supply_fpregset, supply_fpxregset): Update.
+	* i386-nto-tdep.c (i386nto_supply_fpregset): Update.
+	* i386gnu-nat.c (fetch_fpregs, supply_fpregset): Update.
+	* i386bsd-nat.c (supply_fpregset, fetch_inferior_registers): Update.
+	* i386nbsd-tdep.c (fetch_core_registers, fetch_elfcore_registers):
+	Update.
+	* i386obsd-tdep.c (fetch_core_registers): Update.
+	* i386v4-nat.c (supply_fpregset): Update.
+	* x86-64-linux-nat.c (supply_fpregset): Update.
+	* x86-64-linux-tdep.c (fetch_core_registers): Update.
+
+2003-09-27  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-tdep.h: Put opaque declarations in alphabetical
+	order.  Remove spurious whitespace.
+	(struct gdbarch_tdep): add st0_regnum and mm0_regnum members.
+	(i386_sse_regnum_p, i386_mxcsr_regnum_p): Remove prototypes.
+	* i386-tdep.c (MM0_REGNUM): Remove define.
+	(i386_mmx_regnum_p): Add gdbarch argument.
+	(i386_sse_regnum_p, i386_mxcsr_regnum_p): Add gdbarch argument.
+	Rewrite using new macro definitions for FPU/SSE registers.
+	(i386_fp_regnum_p, i386_fpc_regnum_p): Rewrite using new macro
+	definitions from i387-tdep.h.
+	(i386_register_name): Update.
+	(i386_stab_reg_to_regnum, i386_dwarf_reg_to_regnum): Update to use
+	new macro definitions for FPU/SSE registers.
+	(i386_extract_return_value): Determine whether floating-point
+	registers are present by examining REGCACHE's architecture.
+	(i386_store_return_value): Likewise.  Use I386_MAX_REGISTER_SIZE
+	instead of FPU_REG_RAW_SIZE.  Use new macro definitions for
+	FPU/SSE registers.
+	(i386_register_type): Update.
+	(i386_mmx_regnum_to_fp_regnum): Rewrite using new macro
+	definitions for FPU registers.  Use REGCACHE's architecture to
+	determine the appropriate register numbers.
+	(i386_pseudo_register_read, i386_pseudo_register_write,
+	i386_register_reggroup_p): Update.
+	(i386_gdbarch_init): Initialize TDEP->st0_regnum and
+	TDEP->mm0_regnum.
+	* i387-tdep.h (I387_FCTRL_REGNUM, I387_FSTAT_REGNUM,
+	I387_FTAG_REGNUM, I387_FISEG_REGNUM, I387_FIOFF_REGNUM,
+	I387_FOSEG_REGNUM, I387_FOOFF_REGNUM, I387_FOP_REGNUM,
+	I387_XMM0_REGNUM, I387_MXCSR_REGNUM): New defines.
+	(i387_supply_fsave, i387_fill_fsave, i387_supply_fxsave,
+	i387_fill_fxsave): Change type of fsave/fxsave argument from `char
+	*' to `void *'.
+	* i387-tdep.c (i387_print_float_info, fsave_offset, FSAVE_ADDR,
+	i387_supply_fsave, i387_fill_fsave, fxsave_offset, FXSAVE_ADDR,
+	i387_supply_fxsave, i387_fill_fxsave): Update to use new macro
+	definitions for FPU/SSE registers.
+	(FXSAVE_MXCSR_ADDR): New define.
+	* x86-64-tdep.c (x86_64_init_abi): Override TDEP->st0_regnum and
+	TDEP->mm0_regnum.
+	(I387_FISEG_REGNUM, I387_FOSEG_REGNUM): Remove defines.
+	(I387_ST0_REGNUM): Define.
+
+	* regcache.h (get_regcache_arch): New prototype.
+	* regcache.c (get_regcache_arch): New function.
+
+	* x86-64-tdep.c (x86_64_store_return_value): Remove spurious
+	whitespace.
+
+	* i386-tdep.c (i386_num_register_names, i386_num_mmx_regs):
+	Initialize using ARRAY_SIZE.
+
+2003-09-27  Andrew Cagney  <cagney@redhat.com>
+
+	* arch-utils.c (deprecated_init_frame_pc_default): Rename
+	"init_frame_pc_default".
+	* arch-utils.h (deprecated_init_frame_pc_default): Update.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+	* vax-tdep.c (vax_gdbarch_init): Update.
+	* v850-tdep.c (v850_gdbarch_init): Update.
+	* sh64-tdep.c (sh64_gdbarch_init): Update.
+	* s390-tdep.c (s390_gdbarch_init): Update.
+	* ns32k-tdep.c (ns32k_gdbarch_init): Update.
+	* mcore-tdep.c (mcore_gdbarch_init): Update.
+	* h8300-tdep.c (h8300_gdbarch_init): Update.
+	* cris-tdep.c (cris_gdbarch_init): Update.
+	* config/pa/tm-hppa.h (DEPRECATED_INIT_FRAME_PC): Update.
+
+2003-09-26  Mark Kettenis  <kettenis@gnu.org>
+
+	* regset.h: New file.
+	* Makefile.in (regset_h): Add.
+
+2003-09-25  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.h (deprecated_frame_saved_regs): Rename
+	get_frame_saved_regs.
+	* cris-tdep.c, frame.c, h8300-tdep.c, hppa-tdep.c: Update.
+	* mcore-tdep.c, mips-tdep.c, mn10300-tdep.c: Update.
+	* ns32k-tdep.c, ppc-linux-tdep.c, rs6000-tdep.c: Update.
+	* s390-tdep.c, sh64-tdep.c, stack.c: Update.
+	* v850-tdep.c, vax-tdep.c, xstormy16-tdep.c: Update.
+
+2003-09-25  Andrew Cagney  <cagney@redhat.com>
+
+	* NEWS: Mention the new backtrace mechanism, DWARF 2 CFI, hosted
+	file I/O, multi-arch, TLS and NPTL, DWARF 2 Location Expressions,
+	and Java.
+	* PROBLEMS: Mention that mips*-*-*, powerpc*-*-*, sparc*-*-* and
+	arm*-*-* do not use the new frame code.
+
+2003-09-25  David Carlton  <carlton@kealia.com>
+
+	* c-exp.y: Remove 'register' declarations.
+	* f-exp.y, jv-exp.y, m2-exp.y, objc-exp.y, p-exp.y: Ditto.
+
+2003-09-25  David Carlton  <carlton@kealia.com>
+
+	* c-exp.y: Include cp-support.h.  Add qualified_type.
+	(yylex): Delete nested type hack; add comments.
+	* cp-namespace.c (cp_lookup_nested_type): New function.
+	* cp-support.h: Declare cp_lookup_nested_type.
+	* eval.c (evaluate_subexp_standard): Call value_aggregate_elt
+	instead of value_struct_elt_for_reference.
+	* valops.c: Include cp-support.h.
+	(value_aggregate_elt): New function.
+	(value_namespace_elt): Ditto.
+	(value_struct_elt_for_reference): Make static.
+	* value.h: Delete declaration of value_struct_elt_for_reference;
+	add declaration for value_aggregate_elt.
+	* Makefile.in (c-exp.tab.o): Depend on $(cp_support_h).
+	(valops.o): Ditto.
+
+2003-09-25  Daniel Jacobowitz  <drow@mvista.com>
+
+	* stack.c: Include "reggroups.h".
+	(frame_info): Only display registers in all_reggroup.
+	* Makefile.in (stack.o): Update dependencies.
+
+2003-09-25  Jerome Guitton  <guitton@act-europe.fr>
+
+	* arm-tdep.c (arm_skip_prologue): Handle "sub ip, sp #n" and
+	"add ip, sp #n" in the prologue.
+	(arm_scan_prologue): Ditto.
+
+2003-09-25  Jerome Guitton  <guitton@act-europe.fr>
+
+	* MAINTAINERS (write after approval): Add myself.
+
+2003-09-25  Andreas Schwab  <schwab@suse.de>
+
+	* m68k-tdep.c: Include "dwarf2-frame.h".
+	(m68k_gdbarch_init): Add the DWARF CFI frame unwinder.
+	* Makefile.in (m68k-tdep.o): Update dependencies.
+
+2003-09-25  Corinna Vinschen  <vinschen@redhat.com>
+
+	* sh-tdep.c (struct frame_extra_info): Remove.
+	(struct sh_frame_cache): New structure.
+	(GET_SOURCE_REG): New macro extracting source register of an opcode.
+	(GET_TARGET_REG): Ditto but target register.
+	(GET_PUSHED_REG): Remove.
+	(IS_MOV_ARG_TO_REG): New macro.
+	(IS_MOV_ARG_TO_IND_R14): New macro.
+	(IS_MOV_ARG_TO_IND_R14_WITH_DISP): New macro.
+	(IS_MOVW_PCREL_TO_REG): New macro.
+	(IS_MOVL_PCREL_TO_REG): New macro.
+	(IS_SUB_REG_FROM_SP): New macro.
+	(IS_ARG_MOV): Remove.
+	(IS_MOV_TO_R14): Remove.
+	(IS_RESTORE_FP): New macro.
+	(IS_RTS): New macro.
+	(IS_LDS): New macro.
+	(IS_MOV_FP_SP): New macro.
+	(IS_ADD_REG_TO_FP): New macro.
+	(IS_ADD_IMM_FP): New macro.
+	(sh_skip_prologue_hard_way): Remove.
+	(sh_saved_pc_after_call): Remove.
+	(sh_frame_chain): Remove.
+	(sh_find_callers_reg): Remove.
+	(sh_nofp_frame_init_saved_regs): Remove.
+	(sh_fp_frame_init_saved_regs): Remove.
+	(sh_init_extra_frame_info): Remove.
+	(sh_analyze_prologue): New function.
+	(sh_skip_prologue): Remove deprecated code.  Rely on new function
+	sh_analyze_prologue when after_prologue fails.
+	(sh_frame_saved_pc): Remove.
+	(sh_alloc_frame_cache): New function.
+	(sh_frame_cache): Ditto.
+	(sh_frame_prev_register): Ditto.
+	(sh_frame_this_id): Ditto.
+	(sh_frame_unwind): New structure defining the heuristic frame
+	sniffer interface.
+	(sh_frame_sniffer): New function.
+	(sh_unwind_sp): Ditto.
+	(sh_unwind_pc): Ditto.
+	(sh_unwind_dummy_id): Ditto.
+	(sh_frame_base_address): Ditto.
+	(sh_frame_base): New structure defining new frame base code.
+	(sh_in_function_epilogue_p): New function.
+	(sh_gdbarch_init): Restructure and simplify to eliminate deprecated
+	code and to call all new code instead.  Initialize dwarf2 and
+	heuristic frame sniffer.
+
+2003-09-24  Paul N. Hilfinger  <hilfingr@nile.gnat.com>
+
+	* parser-defs.h (struct exp_descriptor): New definition, containing
+	language-specific info for printing, prefixifying, dumping, and
+	evaluating expressions.
+	(exp_descriptor_standard): Declare new variable.
+	(print_subexp): Make global and declare here (from expprint.c).
+	(dump_subexp): Ditto.
+	(dump_subexp_body_standard): Declare.
+	(operator_length_standard): Declare.
+	(op_name_standard): Declare.
+	(print_subexp): Declare.
+	(print_subexp_standard): Declare.
+
+	* language.h (struct language_defn): Add la_exp_desc field to hold
+	pointer to table for language-specific operators.
+	Remove evaluate_exp field, which is now in struct exp_descriptor.
+
+	* parse.c (operator_length): Move most code to new
+	operator_length_standard function.  Use language-specific information.
+	(operator_length_standard): New function taking most code from
+	operator_length.
+	(exp_descriptor_standard): New constant.
+
+	* expression.h (enum exp_opcode): Add definitions of OP_EXTENDED0
+	and OP_EXTENDED_LAST.
+
+	* expprint.c (print_subexp): Use language-specific print_subexp.
+	Make global; remove static declaration.
+	Move most code to print_subexp_standard.
+	(print_subexp_standard): New function, containing code formerly in
+	print_subexp.
+	(op_name): Add expression to argument signature.
+	Use langauge-specific op_name.
+	Move most code to op_name_standard.
+	(op_name_standard): New function, containing code formerly in op_name.
+	(dump_subexp): 	Use new version of op_name function.
+	Use language-specific dump_subexp_body, and move most existing code to
+	dump_subexp_body_standard.
+	(dump_raw_expression): Use new op_name interface.
+	(dump_subexp_body): Move most code to dump_subexp_body_standard.
+	(dump_subexp_body_standard): New function, containing code formerly
+	in dump_subexp_body.
+
+	* language.c (unknown_language): Add default la_exp_desc field and
+	remove evaluate_exp field.
+	(auto_language): Ditto.
+	(local_language): Ditto.
+	* f-lang.c (f_language_defn): Ditto.
+	* c-lang.c (c_language_defn): Ditto.
+	(cplus_language_defn): Ditto.
+	(asm_language_defn): Ditto.
+	(minimal_language_defn): Ditto.
+	* p-lang.c (pascal_language_defn): Ditto.
+	* m2-lang.c (m2_language_defn): Ditto.
+	* objc-lang.c (objc_language_defn): Ditto.
+
+	* jv-lang.c (exp_descriptor_java): New variable, containing
+	Java-specific expression evaluator.
+	(java_language_defn): Add la_exp_desc field and remove evaluate_exp
+	field.
+	* scm-lang.c (exp_descriptor_scm): New variable, containing
+	Scheme-specific expression evaluator.
+	(scm_language_defn): Add la_exp_desc field and remove evaluate_exp
+	field.
+	* objc-lang.c (print_object_command): Take evaluate_exp from the
+	la_exp_desc field.
+
+	* Makefile.in (eval.o): Add dependency on parser-defs.h.
+
+	* eval.c: Include parser-defs.h for the full declaration of
+	la_exp_desc's type.
+	(evaluate_subexp): Get evaluate_exp out of la_exp_desc field.
+
+2003-09-23  Paul N. Hilfinger  <hilfingr@nile.gnat.com>
+
+	* parser-defs.h (operator_length): Declare.
+
+	* parse.c (length_of_subexp): Use operator_length to get operator
+	lengths and arities for operators.
+	Move most code to new operator_length function.
+	(operator_length): New function absorbing most code from
+	length_of_subexp.
+	(prefixify_subexp): Remove large case and use operator_length instead.
+	(parse_exp_1): Use renamings:
+	dump_prefix_expression => dump_raw_expression and
+	dump_postfix_expression => dump_prefix_expression.
+
+	* expression.h (dump_prefix_expression): Rename to ...
+	(dump_raw_expression): New name.
+	(dump_postfix_expression): Rename to ...
+	(dump_prefix_expression): New name.
+
+	* expprint.c (dump_subexp): Make global.  Add comment.
+	Move most existing code to dump_subexp_body.
+	(dump_subexp_body): New function.
+	(dump_prefix_expression): Rename to dump_raw_expression.
+	Remove attempt to print the expression via print_expression: it can't
+	work before the expression is prefixified.
+	(dump_raw_expression): Renamed from dump_prefix_expression.
+	(dump_postfix_expression): Rename to dump_prefix_expression, since
+	that's what it does.
+	Remove 'note' parameter, since this routine must be used on
+	prefixified expression.
+	(dump_prefix_expression): Renamed from dump_postfix_expression.
+
+2003-09-22  Jim Blandy  <jimb@redhat.com>
+
+	* dwarf2read.c (read_array_type): When building the type for an
+	array of unspecified length, make sure to choose the upper bound
+	so that the array's total length comes out to be zero --- that's
+	how we represent such arrays.
+
+2003-09-22  Michael Chastain  <mec@shout.net>
+
+	* MAINTAINERS: Rename gdb.c++ to gdb.cp.
+
+2003-09-22  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* top.c (quit_force): Fix indirect call to quit_target so
+	a struct qt_args pointer is passed.
+
+2003-09-22  Andrew Cagney  <cagney@redhat.com>
+
+	* arch-utils.h (init_frame_pc_noop): Delete declaration.
+	* arch-utils.c (init_frame_pc_noop): Delete function.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Do not set
+	"init_frame_pc".
+	* mips-tdep.c (mips_gdbarch_init): Ditto.
+	* i386-interix-tdep.c (i386_interix_init_abi): Ditto.
+	* config/sparc/tm-sparc.h (init_frame_pc_noop): Delete
+	declaration.
+	(DEPRECATED_INIT_FRAME_PC): Delete macro.
+	* config/rs6000/tm-rs6000.h (init_frame_pc_noop): Delete
+	declaration.
+	(DEPRECATED_INIT_FRAME_PC): Delete macro.
+
+2003-09-22  Anthony Green  <green@redhat.com>
+
+	* monitor.c (monitor_expect): Delete unused conflicting targ_ops
+	declaration.
+
+2003-09-20  Andrew Cagney  <cagney@redhat.com>
+
+	* breakpoint.c: Eliminate ARGSUSED.
+	* buildsym.c, cli/cli-cmds.c, cli/cli-script.c: Ditto.
+	* coffread.c, corelow.c, dwarf2read.c, event-top.c: Ditto.
+	* exec.c, gcore.c, hpux-thread.c, infcmd.c, inflow.c: Ditto.
+	* infrun.c, inftarg.c, maint.c, ocd.c, printcmd.c: Ditto.
+	* procfs.c, regcache.c, remote-rdi.c, remote-sds.c: Ditto.
+	* remote.c, sol-thread.c, source.c, stabsread.c: Ditto.
+	* stack.c, symfile.c, target.c, top.c, typeprint.c: Ditto.
+	* utils.c, v850ice.c, valprint.c, values.c, win32-nat.c: Ditto.
+	* wince.c, remote-vx.c: Ditto.
+
+	* cli/cli-script.c: Remove "register" attributes.
+	* config/pa/tm-hppa.h: Ditto.
+	* cli/cli-decode.c: Ditto.
+	* cli/cli-cmds.c: Ditto.
+
+2003-09-19  Andrew Cagney  <cagney@redhat.com>
+
+	* sparcnbsd-nat.c (getregs_supplies): Rename NPC_REGNUM to
+	DEPRECATED_NPC_REGNUM.
+	* sparc64nbsd-nat.c (getregs_supplies): Ditto.
+
+2003-09-19  Christopher Faylor  <cgf@redhat.com>
+
+	* win32-nat.c (mappings): Remove HAVE_SSE conditional.
+
+2003-09-19  Jim Blandy  <jimb@redhat.com>
+
+	* macrotab.c (macro_include): Use the correct comparison to find
+	the appropriate place for this inclusion in the list.
+
+2003-09-19  Andrew Cagney  <cagney@redhat.com>
+
+	* config/pa/nm-hppah.h (NEED_TEXT_START_END): Delete.
+	(DEPRECATED_HPUX_TEXT_END): Define.
+	(deprecated_hpux_text_end): Declare.
+	(struct target_ops): Declare opaque.
+	* hppah-nat.c (text_end): Make static.
+	(deprecated_hpux_text_end): New function.
+	* exec.c (text_end): Delete global variable.
+	(NEED_TEXT_START_END): Do not define.
+	(exec_file_attach): Replace code computing "text_end" code with
+	call to DEPRECATED_HPUX_TEXT_END.
+
+2003-09-19  Andrew Cagney  <cagney@redhat.com>
+
+	* utils.c (align_up, align_down): New functions.
+	* defs.h (align_up, align_down): Declare.
+	* ppc-sysv-tdep.c (align_up, align_down): Delete functions.
+	* s390-tdep.c: Replace "round_up" and "round_down" with "align_up"
+	and "align_down".
+	(round_up, round_down): Delete functions.
+	* mips-tdep.c: Replace ROUND_UP and ROUND_DOWN with "align_up" and
+	"align_down".
+	(ROUND_DOWN, ROUND_UP): Delete macros.
+	(mips_dump_tdep): Do not print "ROUND_UP" or "ROUND_DOWN".
+	* h8300-tdep.c: Replace "round_up" and "round_down" with
+	"align_up" and "align_down".
+	(round_up, round_down): Delete macros.
+	* frv-tdep.c: Replace ROUND_UP and ROUND_DOWN with "align_up" and
+	"align_down".
+	(ROUND_UP, ROUND_DOWN): Delete macros.
+
+2003-09-18  J. Brobecker  <brobecker@gnat.com>
+
+	* hppa-hpux-tdep.c (_initialize_hppa_hpux_tdep): Remove a
+	hard-coded constant. Use the proper machine name instead.
+
+2003-09-17  Andrew Cagney  <cagney@redhat.com>
+
+	* sparc-tdep.c (legacy_register_name): Delete function.
+	* mips-tdep.c (mips_dump_tdep): Do not print REGISTER_NAME.
+	(mips_gdbarch_init): Refer to MIPS_REGISTER_NAME in comments.
+	* infcmd.c (gdb_register_name): Delete variable.
+	* gdbarch.sh (SDB_REG_TO_REGNUM): Delete reference to
+	REGISTER_NAME and "tm.h".
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* dpx2-nat.c (regmap): Refer to REGISTER_NAME and not
+	REGISTER_NAMES in comments.
+	* remote-st.c (get_reg_name), i386b-nat.c (tregmap): Ditto.
+	* m68klinux-nat.c (regmap): Ditto.
+
+2003-09-17  Jim Blandy  <jimb@redhat.com>
+
+	* Makefile.in (dis_asm_h): Note that this #includes "bfd.h".
+
+2003-09-17  Andrew Cagney  <cagney@redhat.com>
+
+	* ppcnbsd-tdep.c (ppcnbsd_use_struct_convention): New function.
+	(ppcnbsd_init_abi): Set "use_struct_convention" to
+	"ppcnbsd_use_struct_convention".
+
+2003-09-17  Mark Kettenis  <kettenis@gnu.org>
+
+	* gdbarch.sh (DEPRECATED_REG_STRUCT_HAS_ADDR): Add comment.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	(stabs_argument_has_addr): New architecture method.
+	* arch-utils.h (default_stabs_argument_has_addr): New prototype.
+	* arch-utils.c: Include "buildsym.h".
+	(default_stabs_argument_has_addr): New function.
+	* stabsread.c (define_symbol): Use stabs_argument_has_addr
+	instead of DEPRECATED_REG_STRUCT_HAS_ADDR.
+
+2003-09-17  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_NPC_REGNUM): Deprecate NPC_REGNUM.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* core-sol2.c, hppa-tdep.c, lynx-nat.c, procfs.c: Update.
+	* regcache.c, remote-vxsparc.c, sparc-linux-nat.c: Update.
+	* sparc-nat.c, sparc-tdep.c, sparc64-tdep.c: Update.
+	* sparcnbsd-tdep.c: Update.
+
+2003-09-17  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_REGISTER_BYTE): Rename REGISTER_BYTE.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* arm-linux-tdep.c, core-sol2.c, cris-tdep.c: Update.
+	* d10v-tdep.c, frame.c: Update.
+	* hppa-tdep.c, hppab-nat.c, hppah-nat.c, hppam3-nat.c: Update.
+	* hpux-thread.c, i386gnu-nat.c, ia64-aix-nat.c: Update.
+	* ia64-linux-nat.c, irix5-nat.c, lynx-nat.c, m68knbsd-nat.c: Update.
+	* mcore-tdep.c, mips-linux-tdep.c, mips-tdep.c: Update.
+	* mipsv4-nat.c, mn10300-tdep.c, ns32k-tdep.c: Update.
+	* ns32knbsd-nat.c, ppc-bdm.c, regcache.c, remote-sds.c: Update.
+	* remote-vx68.c, remote-vxmips.c, remote-vxsparc.c: Update.
+	* remote.c, rs6000-tdep.c, s390-tdep.c, sh64-tdep.c: Update.
+	* sparc-nat.c, sparc-tdep.c, sun3-nat.c, v850-tdep.c: Update.
+	* v850ice.c, vax-tdep.c, xstormy16-tdep.c: Update.
+	* config/m68k/tm-cisco.h, config/m68k/tm-delta68.h: Update.
+	* config/pa/nm-hppah.h: Update.
+
+2003-09-16  Andrew Cagney  <cagney@redhat.com>
+
+	* ppc-linux-tdep.c (ppc_linux_init_abi): Set the 32 bit
+	"use_struct_convention" to "ppc_linux_use_struct_convention".
+	(ppc_linux_use_struct_convention): New function.
+	* rs6000-tdep.c (rs6000_use_struct_convention): New function.
+	(rs6000_gdbarch_init): For AIX, set "use_struct_convention" to
+	"rs6000_use_struct_convention".
+	* ppc-tdep.h (ppc_sysv_abi_broken_use_struct_convention): Delete
+	declaration.
+	* ppc-sysv-tdep.c (ppc_sysv_abi_broken_use_struct_convention):
+	Delete function.
+
+2003-09-16  Andrew Cagney  <cagney@redhat.com>
+
+	* buildsym.c: Remove more occurances of "register".
+	* coffread.c, dbxread.c, dcache.c, dwarf2read.c: Ditto.
+	* environ.c, eval.c, f-valprint.c, findvar.c: Ditto.
+	* gdbtypes.c, gnu-v2-abi.c, h8300-tdep.c, hppa-tdep.c: Ditto.
+	* infcmd.c, mdebugread.c, minsyms.c, mips-tdep.c: Ditto.
+	* printcmd.c, remote-vx.c, sh-stub.c, sh-tdep.c: Ditto.
+	* sh64-tdep.c, source.c, stabsread.c, stack.c: Ditto.
+	* standalone.c, symfile.c, symmisc.c, symtab.c: Ditto.
+	* utils.c, valops.c, values.c, xcoffread.c: Ditto.
+
+2003-09-16  Corinna Vinschen  <vinschen@redhat.com>
+
+	* sh-tdep.h (struct gdbarch_tdep): Remove.  Change all register
+	numbers to enumeration values.
+	* sh-tdep.c: Accomodate above change.
+	(SH_NUM_REGS): Rename from SH_DEFAULT_NUM_REGS.
+	(NUM_PSEUDO_REGS_SH_MEDIA): Remove (sh5 only).
+	(NUM_PSEUDO_REGS_SH_COMPACT): Remove (sh5 only).
+	(IS_ADD_IMM_SP): Rename from IS_ADD_SP.
+	(IS_FPUSH): Rename from IS_FMOV.
+	(sh_extract_struct_value_address): Remove useless comment.
+	(sh_dsp_register_sim_regno): Use register values from sh-tdep.h
+	instead of own local values.
+	(sh_dump_tdep): Remove.
+	(_initialize_sh_tdep): Accomodate removing sh_dump_tdep.
+	* sh3-rom.c (sh3_supply_register): Accomodate sh-tdep.h changes.
+
+2003-09-15  Andrew Cagney  <cagney@redhat.com>
+
+	* doublest.c (convert_floatformat_to_doublest): No longer need to
+	cast "exp_bias" to an int.  Reverts 2002-12-04 change.
+
+2003-09-15  Daniel Jacobowitz  <drow@mvista.com>
+
+	* values.c (unpack_double): Call floatformat_is_valid.
+
+2003-09-15  Mark Kettenis  <kettenis@gnu.org>
+
+	* amd64fbsd-nat.c (_initialize_amd64fbsd_nat): Change type of
+	ps_strings into a long.
+
+	* amd64fbsd-nat.c (_initialize_amd64fbsd_nat): Rename from
+	_initialize_am64fbsd_nat.
+
+2003-09-15  Kevin Buettner  <kevinb@redhat.com>
+
+	* dwarf2read.c (dwarf2_get_pc_bounds): Complain if offset
+	associated with DW_AT_ranges attribute is out of bounds.
+
+2003-09-15  David Lecomber  <dsl@sources.redhat.com>
+
+	* f-valprint.c: Apply array element printing limits to multi-dimensional arrays
+
+2003-09-14  Michael Chastain  <mec@shout.net>
+
+	* config/m68k/nm-apollo68v.h: Delete.
+	* config/m68k/xm-apollo68v.h: Delete.
+
+2003-09-14  Andrew Cagney  <cagney@redhat.com>
+
+	* rs6000-tdep.c (rs6000_push_dummy_call): Fix typos.
+	* dcache.c: Update copyrights and descriptions.
+	* scm-exp.c, ia64-aix-nat.c, hppam3-nat.c: environ.c: Ditto.
+
+2003-09-14  Andrew Cagney  <cagney@redhat.com>
+
+	* config/djgpp/fnchange.lst: Rename "amd64fbsd-tdep.c" and
+	"amd64fbsd-nat.c" to "a64fb-tdep.c" and "a64fb-nat.c".
+
+2003-09-14  Andrew Cagney  <cagney@redhat.com>
+
+	* alpha-nat.c: Remove some occurances of "register".
+	* alpha-tdep.c, arm-tdep.c, blockframe.c, breakpoint.c: Ditto.
+	* buildsym.c, c-typeprint.c, c-valprint.c, coffread.c: Ditto.
+	* corefile.c, cp-support.c, cp-valprint.c, cris-tdep.c: Ditto.
+	* dbxread.c, dcache.c, dwarf2read.c, elfread.c: Ditto.
+	* environ.c, eval.c, event-top.c, f-typeprint.c: Ditto.
+	* f-valprint.c, findvar.c, frame.c, gdbtypes.c: Ditto.
+	* h8300-tdep.c, hppa-tdep.c, hppab-nat.c, hppah-nat.c: Ditto.
+	* hppam3-nat.c, hpread.c, ia64-aix-nat.c, ia64-linux-nat.c: Ditto.
+	* infcall.c, infcmd.c, inflow.c, infptrace.c, infrun.c: Ditto.
+	* infttrace.c, irix5-nat.c, jv-typeprint.c: Ditto.
+	* jv-valprint.c, m68k-tdep.c, m68klinux-nat.c, main.c: Ditto.
+	* mdebugread.c, minsyms.c, mips-linux-tdep.c: Ditto.
+	* mips-nat.c, mips-tdep.c, mipsread.c, mipsv4-nat.c: Ditto.
+	* ns32k-tdep.c, objfiles.c, p-typeprint.c: Ditto.
+	* p-valprint.c, ppc-linux-nat.c, printcmd.c: Ditto.
+	* remote-mips.c, remote-vx.c, rs6000-nat.c: Ditto.
+	* rs6000-tdep.c, scm-exp.c, sh-tdep.c, sh64-tdep.c: Ditto.
+	* solib.c, somread.c, source.c, sparc-tdep.c: Ditto.
+	* stabsread.c, stack.c, standalone.c, symfile.c: Ditto.
+	* symmisc.c, symtab.c, top.c, tracepoint.c: Ditto.
+	* typeprint.c, utils.c, valarith.c, valops.c: Ditto.
+	* values.c, vax-tdep.c, xcoffread.c: Ditto.
+
+2003-09-13  Andrew Cagney  <cagney@redhat.com>
+
+	* config/pa/tm-hppa64.h (struct frame_info): Declare opaque.
+	* ppc-tdep.h (struct regcache): Declare opaque.
+	* objfiles.h (struct objfile_data): Declare opaque.
+	* cp-support.h (struct objfile): Declare opaque.
+	* linux-nat.h (target_waitstatus): Declare opaque.
+
+2003-09-14  Mark Kettenis  <kettenis@gnu.org>
+
+	* gdbarch.sh (DEPRECATED_REG_STRUCT_HAS_ADDR): Add comment.
+	(stabs_argument_has_addr): New architecture method.
+	* arch-utils.h (default_stabs_argument_has_addr): New prototype.
+	* arch-utils.c: Include "buildsym.h".
+	(default_stabs_argument_has_addr): New function.
+	* stabsread.c (define_symbol): Use stabs_argument_has_addr
+	instead of DEPRECATED_REG_STRUCT_HAS_ADDR.
+
+	* cris-tdep.c (cris_gdbarch_init): Set
+	deprecated_reg_struct_has_addr instead of reg_struct_has_addr.
+	* hppa-tdep.c (hppa_gdbarch_init): Likewise.
+	* mcore-tdep.c (mcore_gdbarch_init): Likewise.
+	* mips-tdep.c (mips_gdbarch_init): Likewise.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
+	* sparc-tdep.c (sparc_gdbarch_init): Likewise.
+
+2003-09-13  Andrew Cagney  <cagney@redhat.com>
+
+	* values.c (using_struct_return): Delete "function" and "funcaddr"
+	parameters.
+	* value.h (using_struct_return): Update declaration.
+	* infcmd.c (finish_command_continuation): Update.
+	(finish_command): Update.
+	* infcall.c (call_function_by_hand): Update.
+	* eval.c (evaluate_subexp_standard): Update.
+
+2003-09-13  Christopher Faylor  <cgf@redhat.com>
+
+	* win32-nat.c: Just rely on CONTEXT_EXTENDED_REGISTER being defined for
+	SSE registers since gdb will not operate correctly without this.
+	Restore include file ordering munged in previous change.
+	* config/i386/tm-cygwin.h: Remove HAVE_SSE_REGS define.
+
+2003-09-13  Mark Kettenis  <kettenis@gnu.org>
+
+	* gdbarch.sh (DEPRECATED_REG_STRUCT_HAS_ADDR): Renamed from
+	REG_STRUCT_HAS_ADDR.
+	* gdbarch.c, gdbarch.h: Updated.
+	* infcall.c (call_function_by_hand): Update.
+	* stabsread.c (define_symbol): Updated.
+
+	* Makefile.in (xm-i386-sv32.h, tm-i386gas.h): Remove.
+
+2003-09-12  Christopher Faylor  <cgf@redhat.com>
+
+	* win32-nat.c: Reorganize so that defines used by target headers are
+	actually defined by the system headers.
+	* config/i386/tm-cygwin.h: Check for CONTEXT_EXTENDED_REGISTERS rather
+	than HAVE_CONTEXT_EXTENDED_REGISTERS, since the latter actually exists.
+
+2003-09-12  Jim Blandy  <jimb@redhat.com>
+
+	* dbxread.c (read_dbx_symtab): Don't report an internal error if
+	the file has no .data, .bss, or .rodata sections.  Instead wait
+	until we see a variable alleged to live in one of those sections.
+
+	* dbxread.c (read_dbx_symtab): If we have no .data section and no
+	.bss section, presume that any variables we find live in the
+	.rodata section.
+
+	* dbxread.c (read_dbx_symtab): Add FIXME about finding section
+	offsets for global and static variables.
+
+	* dbxread.c (read_dbx_symtab): The N_DATA and N_DATA | N_EXT
+	symbol types are, by definition, in the .data section, so it is
+	correct to use SECT_OFF_DATA (objfile) here, not data_sect_index.
+	If there is no .data section, there should be no N_DATA or N_DATA
+	| N_EXT symbols.
+
+2003-09-12  Mark Kettenis  <kettenis@gnu.org>
+
+	* amd64fbsd-tdep.c: Fix sigtramp recognition.
+	(amd64fbsd_sigcontext_addr): Rewrite.
+	(amd64fbsd_sigtramp_start, amd64fbsd_sigtramp_end): Initialize
+	with correct values.
+	(amd64fbsd_sc_reg_offset): Initialize with correct values.
+	(amd64fbsd_init_abi): Fix typo.
+
+2003-09-12  Andrew Cagney  <cagney@redhat.com>
+
+	* ppc-sysv-tdep.c (align_up, align_down): Replace "round2" macro.
+	(ppc_sysv_abi_push_dummy_call): Rewrite, use a two pass loop.
+
+2003-09-12  Andrew Cagney  <cagney@redhat.com>
+
+	* objfiles.h (struct entry_info): Deprecate "entry_file_lowpc" and
+	"entry_file_highpc".  Update comments.
+	* defs.h (deprecated_inside_entry_file): Rename
+	"inside_entry_file".
+	* blockframe.c (deprecated_inside_entry_file): Rename
+	"inside_entry_file".
+	* frame.c (get_prev_frame): Update.  Use if 0 instead of #if 0.
+	* vax-tdep.c (vax_frame_chain): Update.
+	* sh64-tdep.c (sh64_frame_chain): Update.
+	* sh-tdep.c (sh_frame_chain): Update.
+	* rs6000-tdep.c (rs6000_frame_chain): Update.
+	* ns32k-tdep.c (ns32k_frame_chain): Update.
+	* mips-tdep.c (mips_frame_chain): Update.
+	* m68hc11-tdep.c (m68hc11_frame_this_id): Update.
+	* m32r-tdep.c (m32r_frame_this_id): Update.
+	* i386-interix-tdep.c (i386_interix_frame_chain_valid): Update.
+	* frv-tdep.c (frv_frame_this_id): Update.
+	* d10v-tdep.c (d10v_frame_this_id): Update.
+	* cris-tdep.c (cris_frame_chain): Update.
+	* blockframe.c (legacy_frame_chain_valid): Update.
+	* avr-tdep.c (avr_frame_this_id): Update.
+	* arm-tdep.c (arm_prologue_this_id): Update.
+	* alpha-tdep.c (alpha_heuristic_frame_this_id): Update.
+	* objfiles.c (objfile_relocate): Update.
+	* mipsread.c (mipscoff_symfile_read): Update.
+	(mipscoff_symfile_read): Update.
+	* mdebugread.c (parse_partial_symbols): Update.
+	* dwarfread.c (read_file_scope): Update.
+	* dwarf2read.c (read_file_scope): Update.
+	* dbxread.c (read_dbx_symtab): Update.
+	(read_dbx_symtab): Update.
+	* coffread.c (complete_symtab): Update.
+
+2003-09-12  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* top.c (quit_target): New static helper function.
+	(quit_force): Moved code to quit_target().  Call quit_target()
+	via catch_errors() to catch errors during quit.
+
+2003-09-11  David Carlton  <carlton@kealia.com>
+
+	* buildsym.c (finish_block): Use allocate_block to allocate the
+	block.
+	* mdebugread.c (new_block): Add FIXME.
+
+2003-09-11  David Carlton  <carlton@kealia.com>
+
+	* gdbtypes.h: Add TYPE_CODE_NAMESPACE.
+	* gdbtypes.c (init_type): Handle TYPE_CODE_NAMESPACE.
+	(recursive_dump_type): Ditto.
+	* printcmd.c (print_formatted): Ditto.
+	* typeprint.c (print_type_scalar): Ditto.
+	* c-typeprint.c (c_type_print_varspec_prefix): Ditto.
+	(c_type_print_varspec_suffix, c_type_print_base): Ditto.
+	* cp-support.h: Declare cp_check_possible_namespace_symbols,
+	maint_cplus_cmd_list.
+	* cp-support.c: Make maint_cplus_cmd_list extern.
+	* cp-namespace.c: Include objfiles.h, gdbtypes.h, dictionary.h,
+	command.h.
+	(lookup_symbol_file): Look in possible namespace blocks when
+	appropriate.
+	(initialize_namespace_symtab): New.
+	(get_possible_namespace_block, free_namespace_block)
+	(check_possible_namespace_symbols)
+	(check_possible_namespace_symbols_loop)
+	(check_one_possible_namespace_symbol)
+	(lookup_possible_namespace_symbol, maintenance_cplus_namespace)
+	(_initialize_cp_namespace): Ditto.
+	* block.h: Declare allocate_block.
+	* block.c (allocate_block): New.
+	* jv-lang.c (get_java_class_symtab): Allocate blocks via
+	allocate_block.
+	* symfile.h: Update declaration of add_psymbol_to_list.
+	* symfile.c (add_psymbol_to_list): Return the partial symbol in
+	question.
+	* dwarf2read.c (dwarf2_build_psymtabs_hard): Add argument to
+	scan_partial_symbols_call.
+	(scan_partial_symbols): Add NAMESPACE argument; update calls to
+	helper functions.
+	(add_partial_symbol): If necessary, scan mangled names for names
+	of namespaces.
+	(add_partial_namespace): Add NAMESPACE argument; generate partial
+	symbols associated  to namespaces.
+	(add_partial_enumeration): Add NAMESPACE argument.
+	(new_symbol): Allow namespace syms.
+	(read_namespace): Generate namespace syms.
+	* objfiles.h: Add opaque declaration of struct symtab.
+	(struct objfile): Add cp_namespace_symtab member.
+	* objfiles.c (allocate_objfile): Set
+	objfile->cp_namespace_symtab.
+	* Makefile.in (cp-namespace.o): Depend on objfiles_h, gdbtypes_h,
+	dictionary_h, command_h.
+
+2003-09-11  Andrew Cagney  <cagney@redhat.com>
+
+	* rs6000-tdep.c (rs6000_push_dummy_call): Use
+	regcache_raw_write_signed to set SP_REGNUM, move the operation to
+	near the function's end.
+	(rs6000_gdbarch_init): Do not set "deprecated_dummy_write_sp".
+	* ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Use
+	regcache_raw_write_signed to set SP_REGNUM.
+
+2003-09-11  Elena Zannoni  <ezannoni@redhat.com>
+
+	* symfile.c (symbol_file_add_with_addrs_or_offsets): Make sure
+	orig_addrs is set up properly.
+
+2003-09-11  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_STACK_ALIGN): Rename STACK_ALIGN.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* infcall.c (call_function_by_hand): Update.
+	* hppa-tdep.c (hppa_push_arguments): Update.
+	* ada-lang.c (place_on_stack): Update.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+	* sparc-tdep.c (sparc_gdbarch_init): Update.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+	* hppa-tdep.c (hppa_gdbarch_init): Update.
+	* h8300-tdep.c (h8300_gdbarch_init): Delete comment refering to
+	stack_align.
+
+2003-09-11  Daniel Jacobowitz  <drow@mvista.com>
+
+	* dwarf2loc.c (dwarf2_loc_desc_needs_frame): Variables in a
+	register do need a frame.
+
+2003-09-11  Andrew Cagney  <cagney@redhat.com>
+
+	Since the IRIX 4 configuration was forcing K&R mode it hasn't been
+	buildable since GDB 5.0.
+	* NEWS: Mention that IRIX 3 and IRIX 4 support were removed.
+	* configure.host: Delete "mips-sgi-irix3*" and "mips-sgi-irix4*".
+	* configure.tgt: Delete "mips*-sgi-*" a.k.a. irix3.
+	* irix4-nat.c: Delete file.
+	* config/mips/irix4.mh: Delete file.
+	* config/mips/irix3.mh: Delete file.
+	* config/mips/irix3.mt: Delete file.
+	* config/mips/tm-irix3.h: Delete file.
+	* config/mips/nm-irix3.h: Delete file.
+	* config/mips/xm-irix3.h: Delete file.
+	* config/mips/nm-irix4.h: Delete file.
+	* config/mips/xm-irix4.h: Delete file.
+	* config/mips/tm-irix5.h: Inline contents of "tm-irix3.h".
+
+2003-09-10  J. Brobecker  <brobecker@gnat.com>
+
+	* hppa-tdep.c: Include "dis-asm.h". Fixes a build failure.
+	* Makefile.in (hppa-tdep.o): Update dependencies.
+
+2003-09-10  James E Wilson  <wilson@specifixinc.com>
+
+	* MAINTAINERS: Change my e-mail address.  Move to paper trail
+	section.
+
+2003-09-10  Kevin Buettner  <kevinb@redhat.com>
+
+	* MAINTAINERS (frv): New ISA entry.
+
+2003-09-10  Kevin Buettner  <kevinb@redhat.com>
+
+	* frv-tdep.c (dis-asm.h): Include.
+	* Makefile.in (frv-tdep.o): Update dependencies.
+
+2003-09-09  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* ia64-tdep.c (ia64_sigtramp_frame_init_saved_regs):
+	Fix typo for high range of floating registers.
+
+2003-09-09  David Carlton  <carlton@kealia.com>
+
+	* dwarf2read.c (dwarf2_build_psymtabs_hard): Move lowpc and
+	highpc initialization here out of scan_partial_symbols.
+	(scan_partial_symbols): Restructure into a recursive version,
+	calling add_partial_namespace and add_partial_enumeration when
+	appropriate.
+	(add_partial_namespace): New.
+	(add_partial_enumeration, locate_pdi_sibling): Ditto.
+
+2003-09-09  Andrew Cagney  <cagney@redhat.com>
+
+	* rs6000-tdep.c (ppc_push_return_address): Delete function.
+	(rs6000_push_dummy_call): Set LR to BP_ADDR.
+	(rs6000_gdbarch_init): Do not set deprecated_push_return_address.
+	* ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Ditto.
+
+	* rs6000-tdep.c (rs6000_fix_call_dummy): Delete function.
+	(rs6000_push_dummy_call): Set the "TOC" register.
+
+	* rs6000-tdep.c (rs6000_gdbarch_init): Do not set the deprecated
+	methods "max_register_raw_size", "max_register_virtual_size" or
+	"register_virtual_size".
+
+2003-09-09  Ian Lance Taylor  <ian@wasabisystems.com>
+
+	* MAINTAINERS: Update my e-mail address.
+
+2003-09-09  Andrew Cagney  <cagney@redhat.com>
+
+	* rs6000-tdep.c (rs6000_store_struct_return): Delete function.
+	(rs6000_push_dummy_call): Store the struct return address.
+	* ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Ditto.
+
+2003-09-09  Andrew Cagney  <cagney@redhat.com>
+
+	* ppc-tdep.h (ppc_sysv_abi_push_dummy_call): Replace
+	"ppc_sysv_abi_push_arguments".
+	* ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Replace
+	"ppc_sysv_abi_push_arguments".
+	* rs6000-tdep.c (rs6000_gdbarch_init): Set "push_dummy_call"
+	instead of "push_arguments".
+	(rs6000_push_dummy_call): Replace "rs6000_push_arguments".
+
+2003-09-09  Andrew Cagney  <cagney@redhat.com>
+
+	* sh64-tdep.c (sh64_push_return_address): Use ENTRY_POINT_ADDRESS
+	instead of CALL_DUMMY_ADDRESS.
+
+2003-09-09  Paul N. Hilfinger  <hilfingr@gnat.com>
+
+	* p-lang.c: Eliminate "register".
+	* c-lang.c: Ditto.
+	* expprint.c: Ditto.
+	* f-lang.c: Ditto.
+	* jv-lang.c: Ditto.
+	* language.c: Ditto.
+	* m2-lang.c: Ditto.
+	* parse.c: Ditto.
+	* scm-lang.c: Ditto.
+	* objc-lang.c: Ditto.
+
+2003-09-09  Nick Clifton  <nickc@redhat.com>
+
+	* v850-tdep.c (v850_processor_type_table): Add bfd_mach_v850e1.
+
+2003-09-04  Andrew Cagney  <cagney@redhat.com>
+
+	* avr-tdep.c: Include "dis-asm.h".
+	* cris-tdep.c: Include "dis-asm.h".
+	(cris_delayed_get_disassembler): Use "struct disassemble_info"
+	instead of corresponding typedef.
+	* h8300-tdep.c: Include "dis-asm.h".
+	* ia64-tdep.c: Include "dis-asm.h".
+	* i386-tdep.c: Include "dis-asm.h".
+	(i386_print_insn): Use "struct disassemble_info" instead of
+	corresponding typedef.
+	* m68k-tdep.c: Include "dis-asm.h".
+	* mcore-tdep.c: Include "dis-asm.h".
+	* mips-tdep.c: Include "dis-asm.h".
+	(gdb_print_insn_mips): Make static, use "struct disassemble_info"
+	instead of corresponding typedef.
+	* ns32k-tdep.c: Include "dis-asm.h".
+	* s390-tdep.c: Include "dis-asm.h".
+	* sparc-tdep.c: Include "dis-asm.h".
+	* vax-tdep.c: Include "dis-asm.h".
+	* v850-tdep.c: Include "dis-asm.h".
+	* mn10300-tdep.c: Include "dis-asm.h".
+	* rs6000-tdep.c: Include "dis-asm.h".
+	* xstormy16-tdep.c: Include "dis-asm.h".
+	(_initialize_xstormy16_tdep): Delete "extern" declaration of
+	print_insn_xstormy16.
+	* Makefile.in (v850-tdep.o): Update dependencies.
+	(vax-tdep.o, sparc-tdep.o, s390-tdep.o): Ditto.
+	(ns32k-tdep.o, mips-tdep.o, mcore-tdep.o): Ditto.
+	(m68k-tdep.o, ia64-tdep.o, i386-tdep.o): Ditto.
+	(h8300-tdep.o, cris-tdep.o, avr-tdep.o): Ditto.
+	(mn10300-tdep.o, xstormy16-tdep.o, disasm.o): Ditto.
+	(gdbarch_h): Remove $(dis_asm_h).
+	* disasm.c: Include "dis-asm.h".
+	(dis_asm_read_memory): Use "struct disassemble_info" instead of
+	corresponding typedef.
+	(dis_asm_memory_error, dump_insns, do_assembly_only): Ditto.
+	(gdb_disassemble_info, gdb_disassembly, gdb_print_insn): Ditto.
+	* gdbarch.sh: Do not include "dis-asm.h".
+	(struct disassemble_info): Declare opaque.
+	(TARGET_PRINT_INSN): Update declaration.
+	* gdbarch.h, gdbarch.c: Re-generate.
+
+2003-09-08  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_CALL_DUMMY_ADDRESS): Rename
+	CALL_DUMMY_ADDRESS, change to a predicate.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* blockframe.c (deprecated_pc_in_call_dummy_at_entry_point):
+	Use either DEPRECATED_CALL_DUMMY_ADDRESS or entry_point_address.
+	* infcall.c (call_function_by_hand): Ditto.
+	* sparc-tdep.c (sparc_push_return_address): Ditto.
+	(sparc_gdbarch_init): Set deprecated_call_dummy_address.
+	* xstormy16-tdep.c (xstormy16_push_return_address): Replace
+	CALL_DUMMY_ADDRESS with entry_point_address.
+	* v850-tdep.c (v850_push_return_address): Ditto.
+	* s390-tdep.c (s390_push_return_address): Ditto.
+	* rs6000-tdep.c (ppc_push_return_address): Ditto.
+	* mn10300-tdep.c (mn10300_push_return_address): Ditto.
+	* mcore-tdep.c (mcore_push_return_address): Ditto.
+	* cris-tdep.c (cris_push_return_address): Ditto.
+	* arm-tdep.c (arm_push_return_address): Ditto.
+
+2003-09-08  Andrew Cagney  <cagney@redhat.com>
+
+	* dwarf2-frame.c (enum dwarf2_reg_rule): New, replace anonymous
+	enum.  Add REG_UNSPECIFIED, rename REG_UNSAVED to REG_UNDEFINED
+	and REG_UNMODIFIED to REG_SAME_VALUE.
+	(execute_cfa_program): Update.
+	(dwarf2_frame_cache): Update.  Initialize table to
+	REG_UNSPECIFIED, complain if CFI fails to specify a register's
+	location.
+	(dwarf2_frame_prev_register): Update.  Handle REG_UNSPECIFIED.
+
+2003-09-08  Andrew Cagney  <cagney@redhat.com>
+
+	* gnu-nat.c: Remove "inline" function attribute.
+	* alpha-tdep.c, ppc-linux-tdep.c, macroexp.c: Ditto.
+
+2003-09-08  Kevin Buettner  <kevinb@redhat.com>
+
+	* config/frv/frv.mt (SIM_OBS, SIM): Enable simulator for FR-V
+	target.
+
+2003-09-08  Kevin Buettner  <kevinb@redhat.com>
+
+	* frv-tdep.c (frame-unwind.h, frame-base.h): Include.
+	(frame_extra_info): Rename this struct to frv_unwind_cache.
+	Delete fields ``fp_to_callers_sp_offset'' and ``lr_saved_on_stack''.
+	Add fields ``prev_sp'' and ``base''.
+	(frv_frame_chain, frv_frame_saved_pc, frv_frame_init_saved_regs)
+	(frv_saved_pc_after_call, frv_init_extra_frame_info)
+	(frv_push_return_address, frv_pop_frame, frv_pop_frame_regular):
+	Delete.
+	(frv_analyze_prologue): Add ``struct frv_unwind_cache *'' argument.
+	Revise all callers.  Fill in the unwind cache argument and make
+	other adjustments to account for new frame mechanisms.
+	(frv_frame_unwind_cache, frv_frame_align, frv_unwind_pc)
+	(frv_frame_this_id, frv_frame_prev_register, frv_frame_sniffer)
+	(frv_frame_base_address, frv_unwind_dummy_id): New functions.
+	(frv_frame_unwind, frv_frame_base): New structs.
+	(frv_push_arguments): Change name to frv_push_dummy_call().  Add
+	additional arguments expected by this method and adjust function
+	body accordingly.
+	(frv_gdbarch_init): Remove calls to the following functions:
+	set_gdbarch_deprecated_init_frame_pc(),
+	set_gdbarch_deprecated_saved_pc_after_call(),
+	set_gdbarch_deprecated_frame_chain(),
+	set_gdbarch_deprecated_frame_saved_pc(),
+	set_gdbarch_deprecated_frame_init_saved_regs(),
+	set_gdbarch_deprecated_push_arguments(),
+	set_gdbarch_deprecated_push_return_address(),
+	set_gdbarch_deprecated_pop_frame(),
+	set_gdbarch_deprecated_call_dummy_words(),
+	set_gdbarch_deprecated_sizeof_call_dummy_words(),
+	set_gdbarch_deprecated_init_extra_frame_info(),
+	set_gdbarch_deprecated_dummy_write_sp(), and
+	set_gdbarch_deprecated_pc_in_call_dummy().
+	Add calls to the following functions:
+	set_gdbarch_unwind_pc(), set_gdbarch_unwind_sp(),
+	set_gdbarch_frame_align(), frame_unwind_append_sniffer(), and
+	frame_base_set_default().
+	* Makefile.in (frv-tdep.o): Update dependencies.
+
+2003-09-09  Mark Kettenis  <kettenis@gnu.org>
+
+	* dwarf2-frame.c (read_encoded_value): Add support for
+	DW_EH_PE_aligned encoding.
+
+2003-09-08  Daniel Jacobowitz  <drow@mvista.com>
+
+	* infrun.c (normal_stop): Don't print a message if the inferior
+	has exited.
+
+2003-09-08  Jim Blandy  <jimb@redhat.com>
+
+	* Makefile.in (dbxread.o): Note new dependency on $(gdb_assert_h).
+	* dbxread.c: #include "gdb_assert.h".
+	(read_dbx_symtab): If the objfile has no .data section, use the
+	section index for the .bss section instead.
+
+2003-09-08  Daniel Jacobowitz  <drow@mvista.com>
+
+	* frame.c (deprecated_safe_get_selected_frame): New function.
+	* frame.h (deprecated_safe_get_selected_frame): Add prototype.
+	* findvar.c (read_var_value): Call it.
+
+2003-09-08  Corinna Vinschen  <vinschen@redhat.com>
+
+	* Makefile.in (ALLDEPFILES): Add sh64-tdep.c.
+	(sh64-tdep.o): Add dependencies.
+	* configure.tgt: Add FIXME to sh-*-linux*.
+	* sh-tdep.c: Move sh64 support to sh64-tdep.c.
+	(sh_gdbarch_init): Always set correct sh_show_regs function
+	pointer.  Call sh64_gdbarch_init() if machine type is sh5.
+	* sh-tdep.h: Move sh64 support to sh64-tdep.c.
+	* sh64-tdep.c: New file, containing all sh64 related code from
+	sh-tdep.c.
+	* config/sh/embed.mt (TDEPFILES): Add sh64-tdep.o.
+	* config/sh/linux.mt (TDEPFILES): Ditto.
+	* config/sh/nbsd.mt (TDEPFILES): Ditto.
+	* config/sh/tm-sh.h: Drop REGISTER_TYPE definition.
+	* config/sh/wince.mt (TDEPFILES): Ditto.
+
+2003-09-07  Daniel Jacobowitz  <drow@mvista.com>
+
+	* lin-lwp.c (detach_callback): Don't call stop_wait_callback.
+	(stop_wait_callback): Handle !lp->signalled also.
+	(lin_lwp_has_pending, flush_callback): New functions.
+	(lin_lwp_wait): Call flush_callback.
+	* linux-proc.c (linux_proc_add_line_to_sigset): New function.
+	(linux_proc_pending_signals): New function.
+	* linux-nat.h (linux_proc_pending_signals): Add prototype.
+
+2003-09-07  Daniel Jacobowitz  <drow@mvista.com>
+
+	From Nick Kelsey <nickk@ubicom.com>:
+	* infrun.c (handle_inferior_event): Check IN_SOLIB_RETURN_TRAMPOLINE
+	when the stop PC is at the beginning of a function also.
+
+2003-09-06  Daniel Jacobowitz  <drow@mvista.com>
+
+	* arm-linux-tdep.c (arm_linux_arm_be_breakpoint): New.
+	(arm_linux_init_abi): Use arm_linux_arm_be_breakpoint.
+
+2003-09-06  Mark Kettenis  <kettenis@gnu.org>
+
+	* sol-thread.c: Include "gdb_string.h".
+
+2003-09-03  Mark Kettenis  <m.kettenis@osp.nl>
+
+	* gcore.c: Reorder include files in alphabetical order.  Include
+	"gdb_assert.h".  Various coding style fixes.
+	(derive_stack_segment, derive_heap_segment): Replace check for
+	non-null BOTTOM and TOP with gdb_assert.
+	(derive_heap_segment): Replace check for successful creation of
+	ZERO with gdb_assert.
+	(make_mem_sec): Use bfd_section_lma to set OSEC->lma.
+
+2003-09-04  Andrew Cagney  <cagney@redhat.com>
+
+	* thread-db.c (verbose_dlsym): New function.
+	(thread_db_load): Use verbose_dlsym
+	(thread_db_new_objfile): Print that libthread_db was loaded, and
+	that thread debugging was enabled.
+
+2003-09-04  Andrew Cagney  <cagney@redhat.com>
+
+	* configure.tgt: Add "mips64*-*-*" target.  Delete
+	mips64*el-*-ecoff*, mips64*el-*-elf*, mips*el-*-ecoff*,
+	mips*el-*-elf*, mips*-*-lnews*, mips*-*-sysv*, mips*-*-riscos*,
+	mips*-*-ecoff*, mips*-*-elf*, mips*-little-*, mips*-big-*,
+	mips*-dec-*, mips64*-big-*, mips64*vr*-*-elf*, mips64*-*-ecoff*,
+	mips*-sony-*, and mips64*-*-elf* targets.
+	* config/mips/embedl.mt: Delete file.
+	* config/mips/embedl64.mt: Delete file.
+	* config/mips/mips.mt: Delete file.
+	* config/mips/mips64.mt: Delete file.
+	* config/mips/tm-embed.h: Delete file.
+	* config/mips/embed.mt (TM_FILE): Set to "tm-mips.h".
+	* config/mips/embed64.mt: Delete out-of-date comment.
+
+2003-09-04  Andrew Cagney  <cagney@redhat.com>
+
+	* hppa-tdep.c (hppa_gdbarch_init): Set
+	"have_nonsteppable_watchpoint".
+	* config/pa/nm-hppah.h (HAVE_NONSTEPPABLE_WATCHPOINT): Delete.
+	* mips-tdep.c (mips_dump_tdep): Do not print
+	HAVE_NONSTEPPABLE_WATCHPOINT.
+	(mips_gdbarch_init): Set "have_nonsteppable_watchpoint".
+	* config/mips/tm-embed.h (HAVE_NONSTEPPABLE_WATCHPOINT): Delete.
+	* config/mips/nm-irix5.h (HAVE_NONSTEPPABLE_WATCHPOINT): Delete.
+	* config/mips/nm-irix4.h (HAVE_NONSTEPPABLE_WATCHPOINT): Delete.
+
+2003-09-04  Corinna Vinschen  <vinschen@redhat.com>
+
+	* breakpoint.c (watchpoint_check): Remove accidentally checked in
+	unused code.  Add comment.
+
+2003-09-04  Corinna Vinschen  <vinschen@redhat.com>
+
+	* breakpoint.c (watchpoint_check): Check for pc being in an
+	epilogue if watchpoint frame couldn't be found.
+
+2003-09-04  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.in: Re-generate all dependencies.
+
+2003-09-03  Andrew Cagney  <cagney@redhat.com>
+
+	* arch-utils.h (legacy_print_insn): Delete declaration.
+	* arch-utils.c (legacy_print_insn): Delete function.
+	* disasm.c (deprecated_tm_print_insn_info): Delete.
+	(_initialize_disasm): Delete function, contained code initializing
+	deprecated_tm_print_insn_info.
+	* gdbarch.sh (deprecated_tm_print_insn): Delete.
+	(deprecated_tm_print_insn_info): Delete.
+	(TARGET_PRINT_INSN): Do not provide a default.
+	* gdbarch.h, gdbarch.c: Re-generate.
+
+2003-09-03  Andrew Cagney  <cagney@redhat.com>
+
+	* disasm.c (fprintf_disasm): New function.
+	(gdb_disassemble_info): Call "init_disassemble_info", instead of
+	INIT_DISASSEMBLE_INFO_NO_ARCH.  Do not initialize "insn_sets",
+	reverts 2003-08-14 change.
+	(_initialize_disasm): Call "init_disassemble_info", instead of
+	INIT_DISASSEMBLE_INFO_NO_ARCH.
+
+2003-09-03  Michael Snyder  <msnyder@redhat.com>
+
+	* config/djgpp/fnchange.lst: Fix up sim/frv/profile-fr*.[ch].
+
+2003-09-03  Andrew Cagney  <cagney@redhat.com>
+
+	* config/rs6000/tm-rs6000.h (IBM6000_TARGET): Delete definition.
+	* config/rs6000/nm-rs6000.h (DEPRECATED_IBM6000_TARGET): Define.
+	* symfile.c (syms_from_objfile): Update.
+	(reread_symbols): `Update
+	* exec.c (exec_file_attach): Update.
+	(exec_file_attach): Update.
+	* config/powerpc/tm-nbsd.h: Delete #undef IBM6000_TARGET, revert
+	2003-08-29 change.
+	* config/powerpc/tm-linux.h: Delete #undef IBM6000_TARGET.
+
+2003-09-03  Daniel Jacobowitz  <drow@mvista.com>
+
+	* arm-tdep.c: Include frame-unwind.h, frame-base.h, and
+	trad-frame.h.
+	(arm_get_cache): Delete macro.
+	(struct arm_prologue_cache): Update comments.  Make saved_regs into
+	a trad_frame_saved_reg pointer.  Remove unwound_pc; rename unwound_sp
+	to prev_sp.
+	(thumb_scan_prologue): Update for cache changes.  Don't call
+	DEPRECATED_PC_IN_CALL_DUMMY.
+	(arm_scan_prologue): Update for cache changes.  Take NEXT_FRAME
+	argument and use it in desperation search for our prologue.  Do not
+	search past the specified PC.
+	(arm_make_prologue_cache): Simplify.
+
+	(arm_prologue_this_id, arm_prologue_prev_register)
+	(arm_prologue_unwind, arm_prologue_unwind_sniffer)
+	(arm_normal_frame_base, arm_normal_base, arm_make_sigtramp_cache)
+	(arm_sigtramp_this_id, arm_sigtramp_prev_register)
+	(arm_sigtramp_unwind, arm_sigtramp_unwind_sniffer)
+	(arm_unwind_dummy_id, arm_unwind_pc, arm_unwind_sp): New.
+
+	(arm_frame_chain_valid, arm_find_callers_reg)
+	(arm_frame_saved_pc, arm_read_fp, arm_frame_init_saved_regs)
+	(arm_pop_frame): Delete obsolete methods.
+	(arm_minimal_frame_chain, arm_minimal_frame_info): Delete.
+
+	(arm_gdbarch_init): Update for new frame methods.  Register prologue
+	and sigtramp unwinders.  Set the default frame base method.
+
+	* Makefile.in (arm-tdep.o): Update dependencies.
+	* varobj.c (find_frame_addr_in_frame_chain): Call
+	get_frame_base_address.
+	* std-regs.c (value_of_builtin_frame_fp_reg): Likewise.
+
+2003-09-03  Daniel Jacobowitz  <drow@mvista.com>
+
+	* arm-tdep.c (arm_minimal_frame_chain): Renamed from
+	arm_frame_chain.  Take NEXT_FRAME and CACHE arguments.
+	Use the cache instead of DEPRECATED_FRAME_SAVED_PC.
+	(arm_minimal_frame_info): Renamed from arm_init_extra_frame_info.
+	Take NEXT_FRAME and CACHE arguments.  Call
+	FRAMELESS_FUNCTION_INVOCATION instead of checking FROMLEAF argument.
+	Set unwound_pc in CACHE instead of modifying the frame argument.
+	Don't bother checking the frame type when looking for sigtramp
+	frames.
+	(arm_make_prologue_cache, arm_frame_chain)
+	(arm_init_extra_frame_info): New functions.
+
+2003-09-03  Daniel Jacobowitz  <drow@mvista.com>
+
+	* arm-tdep.c (arm_get_cache): Define.
+	(struct arm_prologue_cache): Renamed from frame_extra_info.  Add
+	unwound_sp, unwound_pc, and saved_regs.
+	(thumb_scan_prologue): Take a cache instead of the frame.
+	(arm_scan_prologue): Likewise.
+	(arm_frame_chain): Create a temporary cache for arm_scan_prologue
+	instead of a temporary frame.
+	(arm_init_extra_frame_info): Allocate and use a cache.
+	(arm_frame_saved_pc, arm_pop_frame): Use the cache.
+
+2003-09-03  Andrew Cagney  <cagney@redhat.com>
+
+	* config/arm/wince.mt (TM_CLIBS): Replace WIN32LIBS.
+	* config/mips/wince.mt (TM_CLIBS): Ditto.
+	* config/sh/wince.mt (TM_CLIBS): Ditto.
+	* config/pa/hppa64.mt (TM_CLIBS): Delete.
+	* config/sparc/sp64.mt (CC): Delete.
+
+2003-09-03  Andrew Cagney  <cagney@redhat.com>
+
+	* defs.h: Do not include "arch-utils.h".
+	(GDB_MULTI_ARCH): If not defined, set to GDB_MULTI_ARCH_PARTIAL or
+	GDB_MULTI_ARCH_PURE.
+	* configure.in (GDB_MULTI_ARCH): Do not define.
+	* configure, config.in: Regenerate.
+	* configure.tgt: Do not set variable "gdb_multi_arch".
+	* config/s390/s390x.mt (GDB_MULTI_ARCH): Delete.
+	* config/s390/s390.mt (GDB_MULTI_ARCH): Delete.
+	* config/i386/x86-64linux.mt (GDB_MULTI_ARCH): Delete.
+	* config/v850/v850.mt (TM_FILE): Delete disabled definition.
+	* config/m68hc11/m68hc11.mt (TM_FILE): Delete definition.
+	* config/vax/tm-vax.h (GDB_MULTI_ARCH): Delete definition.
+	* config/sparc/tm-sparc.h (GDB_MULTI_ARCH): Delete definition.
+	* config/sparc/tm-sun4sol2.h (GDB_MULTI_ARCH): Delete definition.
+	* config/sparc/tm-nbsd.h (GDB_MULTI_ARCH): Delete definition.
+	* config/sparc/tm-linux.h (GDB_MULTI_ARCH): Delete definition.
+	* config/sparc/tm-sp64.h (GDB_MULTI_ARCH): Delete definition.
+	* config/pa/tm-hppa64.h (GDB_MULTI_ARCH): Delete definition.
+	* config/ns32k/tm-ns32k.h (GDB_MULTI_ARCH): Delete definition.
+	* config/m68k/tm-m68k.h (GDB_MULTI_ARCH): Delete definition.
+	* config/i386/tm-i386.h (GDB_MULTI_ARCH): Delete definition.
+	* config/h8300/tm-h8300.h (GDB_MULTI_ARCH): Delete definition.
+	* config/frv/tm-frv.h (GDB_MULTI_ARCH): Delete definition.
+	* config/alpha/tm-alpha.h (GDB_MULTI_ARCH): Delete definition.
+
+2003-08-30  Michael Chastain  <mec@shout.net>
+
+	* Makefile.in: Remove tm-hp300bsd.h, tm-hp300hpux.h.
+	* config/m68k/nm-hp300hpux.h: Delete.
+	* config/m68k/tm-hp300hpux.h: Delete.
+	* config/m68k/xm-hp300hpux.h: Delete.
+	* config/m68k/xm-hp300bsd.h: Delete.
+	* config/djgpp/fnchange.lst: Remove nm-hp300hpux.h,
+	tm-hp300hpux.h, xm-hp300hpux.h.
+	* somsolib.c: Remove comment about hp300 shared libraries.
+
+2003-08-31  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-linux-nat.c (ps_get_thread_area): Don't define as extern.
+	Only define PTRACE_GET_THREAD_AREA is not already defined.
+	Various style fixes in code and comments and some additional
+	spelling fixes in comments.  Move after functions dealing with
+	debug registers.
+	* x86-64-linux-nat.c (ps_get_thread_area): Don't define as extern.
+	Fix coding-style.
+
+	* alphafbsd-tdep.c (alphafbsd_sigcontext_addr): Use
+	frame_unwind_register_unsigned instead of
+	frame_unwind_unsigned_register.
+
+2003-08-30  Mark Kettenis  <kettenis@gnu.org>
+
+	* configure.in: Search for gethostbyname in libnsl.
+	* configure: Regenerated.
+
+2003-08-29  Mark Kettenis  <kettenis@gnu.org>
+
+	* configure.in: Remove redundant AC_MSG_RESULT in check for
+	uintptr_t in stdint.h.
+	* configure: Regenerated.
+
+	* amd64-nat.h (struct regcache): Add opaque declaration.
+
+	* i386-linux-tdep.h (I386_LINUX_NUM_REGS): New define.
+	* x86-64-linux-nat.c: Include "i386-linux-tdep.h" and "amd64.h".
+	Change "register array" to "register cache" in comments.
+	(x86_64_linux_gregset64_reg_offset): New variable.
+	(GETREGS_SUPPLIES): Remove macro.
+	(supply_gregset): Call amd64_supply_native_gregset instead of
+	x86_64_linux_supply_gregset.
+	(fill_gregset): Rename `regno' to `regnum'.  Call
+	amd64_collect_native_gregset instead of x86_64_linux_fill_gregset.
+	(store_regs): Rename `regno' to `regnum'.
+	(store_fpregs): Rename `regno' to `regnum'.
+	(fetch_inferior_registers): Rename `regno' to `regnum'.  Use
+	amd64_native_gregset_supplies_p instead of GREGSET_SUPPLIES.
+	Reorganize function a bit.
+	(store_inferior_registers): Rename `regno' to `regnum'.  Use
+	amd64_native_gregset_supplies_p instead of GREGSET_SUPPLIES.
+	Reorganize function a bit.
+	(_initialize_x86_64_linux_nat): New function.
+	* config/i386/x86-64linux.mh.
+
+2003-08-29  Andrew Cagney  <cagney@redhat.com>
+
+	* config/mips/tm-embed.h (STOPPED_BY_WATCHPOINT): Delete macro.
+	(TARGET_CAN_USE_HARDWARE_WATCHPOINT): Delete macro.
+	(target_remove_watchpoint): Delete macro.
+	(target_insert_watchpoint): Delete macro.
+	(remote_mips_can_use_hardware_watchpoint): Delete declaration.
+	(remote_mips_stopped_by_watchpoint): Delete declaration.
+	(remote_mips_remove_watchpoint): Delete declaration.
+	(remote_mips_set_watchpoint): Delete declaration.
+	(TARGET_HAS_HARDWARE_WATCHPOINTS): Delete macro.
+	* remote-mips.c (_initialize_remote_mips): Set
+	"to_insert_watchpoint", "to_stopped_by_watchpoint",
+	"to_can_use_hardware_watchpoint", and "to_remove_watchpoint".
+	(mips_insert_watchpoint): Rename remote_mips_set_watchpoint.
+	(mips_remove_watchpoint): Rename remote_mips_remove_watchpoint.
+	(mips_stopped_by_watchpoint): Rename
+	remote_mips_stopped_by_watchpoint.
+	(mips_can_hardware_watchpoint): Rename
+	remote_mips_can_use_hardware_watchpoint, update function
+	signature.
+
+2003-08-29  Mark Kettenis  <kettenis@gnu.org>
+
+	* x86-64-linux-tdep.c (user_to_gdb_regmap): Remove USER_CS and
+	USER_DS.  We haven't given them a register number yet.
+
+	* amd64-nat.h: New file.
+	* amd64-nat.c: New file.
+	* amd64fbsd-nat.c: Include "amd64-nat.h".
+	(REG_ADDR, GETREGS_SUPPLIES): Remove macros.
+	(amd64fbsd32_r_reg_offset): New variable.
+	(supply_gregset): Simply call amd64_supply_native_gregset.
+	(fill_gregset): Rename `regno' to `regnum'.  Simply call
+	amd64_collect_native_gregset.
+	(fill_fpregset): Rename `regno' to `regnum'.
+	(fetch_inferior_registers): Rename `regno' to `regnum'.  Replace
+	usage of GETREGS_SUPPLIES with amd64_native_gregset_supplies_p.
+	Use `struct reg' and `struct fpreg' instead of `gregset_t' and
+	`fpregset_t'.  Call amd64_supply_native_gregset instead of
+	supply_gregset.  Call x86_64_supply_fxsave instead of
+	supply_fpregset.
+	(store_inferior_registers): Rename `regno' to `regnum'.  Replace
+	usage of GETREGS_SUPPLIES with amd64_native_gregset_supplies_p.
+	Use `struct reg' and `struct fpreg' instead of `gregset_t' and
+	`fpregset_t'.  Call amd64_collect_native_gregset instead of
+	fill_gregset.  Call x86_64_collect_fxsave instead of
+	fill_fpregset.
+	(_initialize_am64fbsd_nat): Initialize
+	amd64_native_gregset32_reg_offset and
+	amd64_native_gregset64_reg_offset.
+	* config/i386/fbsd64.mh (NATDEPFILES): Add amd64-nat.o.
+
+	* regcache.c (regcache_raw_supply): Don't assert that BUF isn't a
+	null pointer.  Fix typo in comment.
+
+	* regcache.c (supply_register): Reimplement to call
+	regcache_raw_supply.
+	(regcache_collect): Reimplement by calling regcache_raw_collect.
+
+2003-08-28  Mark Kettenis  <kettenis@gnu.org>
+
+	* regcache.c (register_buffer): Consitify first argument.
+	(regcache_raw_supply, regcache_raw_collect): New
+	functions.
+
+2003-08-28  Daniel Jacobowitz  <drow@mvista.com>
+
+	* config/powerpc/tm-nbsd.h: Undefine IBM6000_TARGET.  Suggested
+	by Nathan J. Williams.
+
+2003-08-28  Daniel Jacobowitz  <drow@mvista.com>
+
+	* lin-lwp.c (wait_lwp): New function, copied from
+	stop_wait_callback.  Clean up.
+	(stop_wait_callback): Use wait_lwp.
+
+2003-08-28  Andrew Cagney  <cagney@redhat.com>
+
+	* mips-tdep.c (gdb_print_insn_mips): Set the disassembler's
+	flavour and disassembler options.
+	(_initialize_mips_tdep): Do not set deprecated_tm_print_insn.
+	(mips_gdbarch_init): Set "print_insn".  Delete initialization of
+	deprecated_tm_print_insn_info.
+
+2003-08-27  Andrew Cagney  <cagney@redhat.com>
+
+	* s390-tdep.c (s390_readinstruction): Delete "info" parameter.
+	Use target_read_memory.
+	(s390_get_frame_info): Update.  Do not reference
+	deprecated_tm_print_insn_info.
+	(s390_check_function_end, s390_is_sigreturn): Ditto.
+
+2003-08-27  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.in (cris-tdep.o): Update dependencies.
+	* cris-tdep.c: Include "gdb_assert.h".
+	(cris_gdbarch_init): Set print_insn.
+	(_initialize_cris_tdep): Do not set deprecated_tm_print_insn.
+	(cris_delayed_get_disassembler): Simplify, directly call the
+	disassembler returned by cris_get_disassembler.
+	* hppa-tdep.c (hppa_gdbarch_init): Set print_insn.
+	(_initialize_hppa_tdep): Do not set deprecated_tm_print_insn.
+	* ns32k-tdep.c (ns32k_gdbarch_init): Set print_insn.
+	(_initialize_ns32k_tdep): Do not set deprecated_tm_print_insn.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Set print_insn.
+	(_initialize_mn10300_tdep): Do not set deprecated_tm_print_insn.
+	* mcore-tdep.c (mcore_gdbarch_init): Set print_insn.
+	(_initialize_mcore_tdep): Do not set deprecated_tm_print_insn.
+	* frv-tdep.c (frv_gdbarch_init): Set print_insn.
+	(_initialize_frv_tdep): Do not set deprecated_tm_print_insn.
+	* sparc-tdep.c (sparc_gdbarch_init): Set print_insn.
+	(gdb_print_insn_sparc): Delete function.
+	(_initialize_sparc_tdep): Do not set deprecated_tm_print_insn or
+	deprecated_tm_print_insn_info.
+	* v850-tdep.c (v850_gdbarch_init): Set print_insn.
+	(_initialize_v850_tdep): Do not set deprecated_tm_print_insn.
+	(v850_gdbarch_init): Do not set deprecated_tm_print_insn_info.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Set print_insn.
+	(_initialize_xstormy16_tdep): Do not set deprecated_tm_print_insn.
+	* s390-tdep.c (gdb_print_insn_s390): Delete function.
+	(_initialize_s390_tdep): Do not set deprecated_tm_print_insn.
+	(s390_gdbarch_init): Set print_insn.
+
+2003-08-27  Andrew Cagney  <cagney@redhat.com>
+
+	* ppc-linux-tdep.c (ppc64_call_dummy_address): Delete function.
+	(ppc_linux_init_abi): For PPC64, do not set call_dummy_address.
+	* infcall.c (call_function_by_hand): Convert the entry point
+	address into a code address.
+
+2003-08-27  Andrew Cagney  <cagney@redhat.com>
+
+	* dsrec.c: Include "gdb_string.h".
+	* Makefile.in (dsrec.o): Update dependencies.
+
+2003-08-27  Michael Chastain  <mec@shout.net>
+
+	* config/djgpp/fnchange.lst: Add gdb/testsuite/gdb.mi/mi2-var-*.
+
+2003-08-27  Andrew Cagney  <cagney@redhat.com>
+
+	* alpha-osf1-tdep.c (alpha_call_dummy_address): Delete function.
+	(alpha_osf1_init_abi): Do not set call_dummy_address.
+
+2003-08-27  David Carlton  <carlton@kealia.com>
+
+	From Randolph Chung  <tausq@debian.org>:
+	* linux-proc.c (linux_info_proc_cmd): rework the code so that it
+	compiles with -Wformat-nonliteral -Werror.
+
+2003-08-26  Jim Blandy  <jimb@redhat.com>
+
+	* solib-svr4.c (bfd_lookup_symbol): New SECT_FLAGS argument.
+	(enable_break): Pass SEC_CODE as the SECT_FLAGS argument to
+	bfd_lookup_symbol, since we only want symbols in code sections.
+	(look_for_base): Pass zero as the SECT_FLAGS argument to
+	bfd_lookup_symbol, since we're not concerned about which section
+	the symbol is in.
+
+2003-08-26  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* ia64-tdep.c (examine_prologue): Only stop at predicated insns if
+	we are frameless or the return address register is already known.
+
+2003-08-26  Andrew Cagney  <cagney@redhat.com>
+
+	* i386-linux-nat.c (ps_get_thread_area): Make "desc" four "int"s
+	in size.  Add comments.
+
+2003-08-26  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* ia64-tdep.c (ia64_convert_from_func_addr): New function.
+	(ia64_gdbarch_init): Call set_gdbarch_convert_from_func_addr().
+
+2003-08-26  Jason Merrill  <jason@redhat.com>
+
+	* dwarf2read.c (dwarf_attr_name): Move DW_AT_MIPS_linkage_name
+	case out of #ifdef MIPS block.
+
+2003-08-25  Daniel Jacobowitz  <drow@mvista.com>
+
+	PR java/1322
+	* dwarf2-frame.c (dwarf2_frame_find_fde): Check whether any FDEs are
+	available before calling SECT_OFF_TEXT.
+	* PROBLEMS: Remove description of java/1322.
+
+2003-08-25  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* ia64-tdep.c (pseudo_regs): New enum that lists gr32-gr127, p0-p63,
+	bof, and nat0-nat127 as pseudo-registers.
+	(ia64_frame_cache): New struct used to cache frame info.
+	(ia64_register_reggroup_p): New routine used to override default
+	register grouping so registers without names are still saved and
+	restored.
+	(ia64_dwarf_reg_to_regnum): New routine to map gr32-gr127 to their
+	pseudo values.
+	(ia64_pseudo_register_read): New routine to read pseudo-registers.
+	(ia64_pseudo_register_write): New routine to write pseudo-registers.
+	(ia64_alloc_frame_cache): New routine to create a new
+	ia64_frame_cache.
+	(examine_prologue): Change prototype to add next_frame pointer.
+	Assume frameless until otherwise proven.  Verify that the cfm for
+	current frame matches the cfm that should occur for the prologues
+	alloc insn and if equal, mark as not frameless.  At end of routine,
+	if not frameless, calculate registers for the previous frame and store
+	in the cache, if a cache is provided.
+	(ia64_skip_prologue):  Use new prototype when calling examine_prologue
+	and pass 0 for next_frame.
+	(ia64_store_return_value): Change to use convert_typed_floating()
+	instead of calling ia64_convert_to_raw().
+	(ia64_extract_return_value): Change to use convert_typed_floating()
+	instead of calling ia64_convert_to_virtual().
+	(ia64_frame_cache): New routine to support new frame model.
+	(ia64_frame_this_id, ia64_frame_prev_register): Ditto.
+	(ia64_frame_sniffer): Ditto.
+	(ia64_sigtramp_frame_init_saved_regs): Ditto.
+	(ia64_sigtramp_frame_cache, ia64_sigtramp_frame_this_id): Ditto.
+	(ia64_sigtramp_frame_prev_register): Ditto.
+	(ia64_sigtramp_frame_sniffer): Ditto.
+	(ia64_frame_base_address): Ditto.
+	(ia64_extract_struct_value_address): Change to issue error message.
+	(ia64_frame_align): New routine to align sp.
+	(ia64_push_dummy_call): New routine based on ia64_push_arguments().
+	(ia64_push_arguments): Removed.  Logic moved to
+	ia64_push_dummy_call().
+	(ia64_push_return_address): Ditto.
+	(ia64_unwind_dummy_id): New function.
+	(ia64_unwind_pc): Ditto.
+	(ia64_convert_register_p): Ditto.
+	(ia64_register_to_value): Ditto.
+	(ia64_value_to_register): Ditto.
+	(ia64_pop_frame, ia64_pop_frame_regular): Removed.
+	(ia64_register_byte, ia64_register_raw_size): Ditto.
+	(ia64_register_virtual_size, ia64_register_virtual_byte): Ditto.
+	(ia64_saved_pc_after_call): Ditto.
+	(ia64_frame_chain, ia64_frame_saved_pc): Ditto.
+	(ia64_frame_init_saved_regs, ia64_get_saved_register): Ditto.
+	(ia64_register_convertible, ia64_register_convert_to_virtual): Ditto.
+	(ia64_register_convert_to_raw): Ditto.
+	(ia64_store_struct_return, ia64_call_dummy_words): Ditto.
+	(ia64_init_extra_frame_info): Ditto.
+	(ia64_frame_args_address, ia64_frame_locals_address): Ditto.
+	(ia64_gdbarch_init): Remove registering of deprecated functions that
+	are no longer used.  Add registration of new gdbarch functions.
+	Remove registering deprecated_write_sp.  Replace
+	set_gdbarch_register_virtual_type() with set_gdbarch_register_type().
+	Delete set_gdbarch_deprecated_register_convertible(),
+	set_gdbarch_deprecated_register_convert_to_virtual(), and
+	set_gdbarch_deprecated_register_convert_to_raw() calls.  Remove
+	set_gdbarch_deprecated_register_size(),
+	set_gdbarch_deprecated_register_bytes(),
+	set_gdbarch_pcregnum(),
+	set_gdbarch_deprecated_register_byte(),
+	set_gdbarch_deprecated_register_raw_size(),
+	set_gdbarch_deprecated_max_register_raw_size(),
+	set_gdbarch_deprecated_register_virtual_size(),
+	and set_gdbarch_deprecated_max_register_virtual_size() calls.
+	Replace set_gdbarch_deprecated_extract_return_value() with
+	set_gdbarch_extract_return_value().  Remove calls to:
+	set_gdbarch_deprecated_saved_pc_after_call();
+	set_gdbarch_deprecated_frame_chain(),
+	set_gdbarch_deprecated_frame_saved_pc(),
+	set_gdbarch_deprecated_frame_init_saved_regs(),
+	set_gdbarch_deprecated_get_saved_register(),
+	set_gdbarch_deprecated_call_dummy_words(),
+	set_gdbarch_deprecated_sizeof_call_dummy_words(),
+	set_gdbarch_deprecated_init_extra_frame_info(),
+	set_gdbarch_deprecated_frame_args_address(),
+	set_gdbarch_deprecated_frame_locals_address(),
+	and set_gdbarch_deprecated_dummy_write_sp().
+	Add set_gdbarch_convert_register_p(),
+	set_gdbarch_register_to_value(),
+	set_gdbarch_value_to_register(),
+	set_gdbarch_push_dummy_call(),
+	set_gdbarch_frame_align(),
+	set_gdbarch_unwind_dummy_id(),
+	set_gdbarch_unwind_pc(),
+	frame_unwind_append_sniffer(),
+	frame_unwind_append_sniffer(),
+	and frame_base_set_default().
+
+2003-08-25  Chris Demetriou  <cgd@broadcom.com>
+
+	* configure.tgt: Document need for special "mipsisa64" handling.
+	(mipsisa64*-*-linux64): Handle as target linux64.
+	(mipsisa64*-*-*): Handle as target embed64.
+
+2003-08-18  Michael Chastain  <mec@shout.net>
+
+	* PROBLEMS: Document pr gdb/1322, the Java anonymous
+	objfile bug.
+
+2003-08-24  Mark Kettenis  <kettenis@gnu.org>
+
+	* i387-tdep.h: Update copyright date.
+	(I387_SIZEOF_FSAVE, I387_SIZEOF_FXSAVE): New defines.
+
+	* linux-proc.c (linux_proc_xfer_memory): Remove comment about
+	CFLAGS games to reflect reality.
+
+2003-08-24  Andrew Cagney  <cagney@redhat.com>
+
+	* arm-tdep.c (_initialize_arm_tdep): Simplify by assuming
+	GDB_MULTI_ARCH is always non-zero.
+	* osabi.c (_initialize_gdb_osabi): Ditto.
+	(gdbarch_init_osabi): Ditto.
+	* sparc-tdep.c: Ditto for #if code.
+
+2003-08-23  Mark Kettenis  <kettenis@gnu.org>
+
+	* x86-64-tdep.c (x86_64_supply_fxsave): Add `regnum' argument.
+	Update comments.
+	* x86-64-tdep.h (x86_64_supply_fxsave): Adjust prototype.  Update
+	comments.
+	* x86-64-linux-tdep.c (fetch_core_registers): Adjust call to
+	x86_64_supply_fxsave.
+	* x86-64-linux-nat.c (supply_fpregset): Adjust call to
+	x86_64_supply_fxsave.
+	* amd64fbsd-nat.c (supply_fpregset): Adjust call to
+	x86_64_supply_fxsave.
+
+2003-08-23  Andreas Jaeger  <aj@suse.de>
+
+        * x86-64-tdep.c (x86_64_supply_fxsave): Adjust call to
+        i387_supply_fxsave.
+
+2003-08-23  Mark Kettenis  <kettenis@gnu.org>
+
+	* go32-nat.c (fetch_register): Call i387_supply_fsave instead of
+	i387_supply_register.
+	(go32_fetch_registers): Adjust call to i387_supply_fsave.
+	* i386nbsd-tdep.c (fetch_core_registers): Adjust call to
+	i387_supply_fsave.
+	(fetch_elfcore_registers): Adjust call to i387_supply_fsave and
+	i387_supply_fxsave.
+	* i386obsd-tdep.c (fetch_core_registers): Adjust call to
+	i387_supply_fsave.
+	* i386bsd-nat.c (supply_fpregset): Adjust call to
+	i387_supply_fsave.
+	(fetch_inferior_registers): Remove extraneous whitespace.  Adjust
+	call to i387_supply_fxsave.  Call i387_supply_fsave instead of
+	supply_fpregset.
+	(store_inferior_registers): Remove extraneous whitespace.  Call
+	i387_fill_fsave instead of fill_fpregset.
+	* i386gnu-nat.c (fetch_fpregs): Adjust call to i387_supply_fsave.
+	(supply_fpregset): Likewise.
+	* i386v4-nat.c (supply_fpregset): Adjust call to
+	i387_supply_fsave.
+	* i386-interix-nat.c (supply_fpregset): Adjust call to
+	i387_supply_fsave.
+	* i386-linux-nat.c (supply_fpregset): Adjust call to
+	i387_supply_fsave.
+	(supply_fpxregset): Adjust call to i387_adjust_fxsave.
+	* i386-nto-tdep.c (i386nto_supply_fpregset): Adjust calls to
+	i387supply_fsave and i387_supply_fxsave.
+	* i387-tdep.c (i387_supply_fsave): Add `regnum' argument.
+	Incorporate code from `i387_supply_register.
+	(i387_supply_register): Remove.
+	(i387_supply_fxsave): Add `regnum' argument.
+	Update comments.
+	* i387-tdep.h (i387_supply_fsave, i387_supply_fsxave): Adjust
+	prototype.
+	(i387_supply_register): remove prototype.
+	Update comments.
+
+2003-08-22  Michael Chastain  <mec@shout.net>
+
+	* config/djgpp/fnchange.lst: Remove gdb/testsuite/gdb.c++/*.
+	Add lines for files in gdb/testsuite/gdb.cp/* that are
+	still not 8.3 unique.
+
+2003-08-22  Daniel Jacobowitz  <drow@mvista.com>
+
+	* gnu-v3-abi.c (gnuv3_baseclass_offset): Check whether
+	TYPE_VPTR_FIELDNO is valid.
+
+2003-08-19  Mark Kettenis  <kettenis@gnu.org>
+
+	* utils.c (set_width_command): Remove prototypes.
+	(set_screen_size): New prototype.
+	(init_page_info): Simplify by fetching the screen size from
+	Readline.  Call set_screen_size.
+	(set_screen_size): New function.
+	(set_width): Add missing whitespace in comment.
+	(set_width_command): Call set_screen_size.
+	(set_height_command): New function.
+	(initialize_utils): Fix formatting.  Make "set height" command
+	call set_height_command.  Remove redundant code that turns off
+	pagination if output isn't a terminal.  Remove redundant call to
+	set_width_command.
+
+2003-08-22  Mark Kettenis  <kettenis@gnu.org>
+
+	* sparc64-tdep.h (sparc64_regnum): Fix comment.
+	(sparc64_supply_rwindow, sparc64_fill_rwindow): Remove prototypes.
+	(sparc_supply_rwindow, sparc_fill_rwindow): New prototypes.
+	* sparc64-tdep.c (sparc64_pseudo_register_read): Add missing
+	`case' keyword.
+	(sparc64_register_info): Give the reister with number
+	SPARC64_STATE_REGNUM a name.
+	(sparc64_pseudo_register_write): Add support for %cwp, %pstate,
+	%asi and %ccr.
+	(sparc64_push_dummy_call): Take BIAS into account when checking
+	stcak alignment.
+	(sparc_software_single_step): Remove assertions that check whether
+	NPC and NNPC were zero.
+	(sparc_supply_rwindow): Make public.  Merge functionality with
+	sparc64_supply_rwindow.
+	(sparc_fill_rwindow): Make public.  Merge functionality with
+	sparc64_fill_rwindow.
+	(sparc64_supply_rwindow, sparc64_fill_rwindow): Remove.
+	* sparc64fbsd-nat.c (_initialize_sparc64fbsd_nat): Set
+	SPARCBSD_FPREG_SUPPLIES_P to sparc64fbsd_fpreg_supplies_p.
+	* sparc64fbsd-tdep.c (sparc64fbsd_supply_reg): Call
+	sparc_supply_rwindow instead of sparc64_supply_rwindow.
+
+	* reggroups.c: Add whitespace after declarations of local
+	variables in functions.
+
+2003-08-21  Michael Chastain  <mec@shout.net>
+
+	* gdbtypes.h: Change array bound type from an int to enum.
+
+2003-08-21  Andrew Cagney  <cagney@redhat.com>
+
+	* config/sparc/tm-sp64.h: Delete #if !GDB_MULTI_ARCH and #if 0 code.
+	* config/sparc/tm-sparc.h: Ditto.
+	* config/arm/tm-arm.h (GDB_MULTI_ARCH): Define GDB_MULTI_ARCH
+	unconditionally.
+	* config/pa/tm-hppa.h (GDB_MULTI_ARCH): Ditto.
+
+2003-07-13  Mark Kettenis  <kettenis@gnu.org>
+
+	* objfiles.h (struct objfile): Add memebers `data' and `num_data'.
+	(register_objfile_data, set_objfile_data, objfile_data): New
+	prototypes.
+	* objfiles.c (objfile_alloc_data, objfile_free_data): New
+	prototypes.
+	(allocate_objfile): Call objfile_alloc_data.
+	(free_objfile): Call objfile_free_data.
+	(struct objfile_data): New.
+	(struct objfile_data_registration): New.
+	(struct objfile_data_registry): New.
+	(objfile_data_registry): New variable.
+	(register_objfile_data): New function.
+	(objfile_alloc_data, objfile_free_data): New functions.
+	(set_objfile_data, objfile_data): New functions.
+	* dwarf2-frame.c (dwarf2_frame_data): New variable.
+	(dwarf2_frame_find_fde, add_fde): Use new per-objfile data mechanism.
+	(_initialize_dwarf2_frame): New function and prototype.
+
+2003-08-21  Andrew Cagney  <cagney@redhat.com>
+
+	* sh3-rom.c (sh3_open, sh3e_open): Use gdbarch_update_p to select
+	a specific architecture.
+	* arch-utils.h (set_architecture_from_arch_mach): Delete
+	declaration.
+	(target_architecture_hook): Delete declaration.
+	* arch-utils.c: Delete non GDB_MULTI_ARCH includes.
+	(default_float_format): Assume GDB_MULTI_ARCH.
+	(default_double_format): Assume GDB_MULTI_ARCH.
+	(set_endian_from_file): Delete function.
+	(arch_ok): Delete function.
+	(set_arch): Delete function.
+	(set_architecture_from_arch_mach): Delete function.
+	(set_architecture_from_file): Delete function.
+	(set_architecture): Assume GDB_MULTI_ARCH.
+	(set_gdbarch_from_file): Assume GDB_MULTI_ARCH.
+
+2003-08-21  Mark Kettenis  <kettenis@gnu.org>
+
+	Rewrite FreeBSD/sparc64 native configuration.
+	* sparcbsd-nat.c, sparcbsd-nat.h: New files.
+	* sparc64fbsd-nat.c: New file.
+	* sparc64fbsd-tdep.c: New file.
+	* sparc64-tdep.c sparc64-tdep.h: New files.
+	* Makefile.in (sparcbsd-nat.o, sparc64fbsd-nat.o, sparc64-tdep.o,
+	sparc64fbsd-tdep.o): New dependencies.
+	(SFILES): Add sparcbsd-nat.c, sparc64fbsd-nat.c, sparc64-tdep.c
+	and sparc64fbsd-tdep.c.
+	(sparc64_tdep_h, sparcbsd_nat_h): New variables.
+	* config/sparc/fbsd.mh: Remove copyright notice.
+	(NATDEPFILES): Remove sparc-nat.o, add sparc64fbsd-nat.o and
+	sparcbsd-nat.o.
+	* config/sparc/fbsd.mt: Remove copyright notice.
+	(TDEPFILES): Remove sparc-tdep.o, solib.o solib-svr4.o,
+	solib-legacy.o.  Add sparc64-tdep.o and sparc64fbsd-tdep.o.
+	* config/sparc/nm-fbsd.h: Don't include "elf/common.h".
+	(SVR4_SHARED_LIBS, PTRACE_GETREGS, PTRACE_SETREGS,
+	PTRACE_GETFPREGS, PTRACE_SETFPREGS, GDB_GREGSET_T, GDB_FPREGSET_T,
+	regs, r_g1, r_ps, r_pc, r_npc, r_y, FPU_FSR_TYPE, fp_status, fpu,
+	fpu_regs, fp_fr, fpu_fsr, Fpu_fsr): Remove defines.
+	* config/sparc/tm-fbsd.h: Don't include "solib.h" and
+	"sparc/tm-sp64.h".
+	(SVR4_SHARED_LIBS, START_INFERIOR_TRAPS_EXPECTED): Remove defines.
+	(GDB_MULTI_ARCH): Define to GDB_MULTI_ARCH_TM.
+
+2003-08-21  Michael Chastain  <mec@shout.net>
+
+	* symtab.h: Add doco on the space critical structures and
+	some measurements of space usage.
+
+2003-08-21  Michael Snyder  <msnyder@redhat.com>
+
+	* tracepoint.c (trace_dump_command): Trace break address
+	is subject to DECR_PC_AFTER_BREAK.
+	(set_traceframe_context): Make "trace_line" an int.
+	Fixes suggested by Mark Newman  <mark.newman@lmco.com>
+
+2003-08-20  Michael Snyder  <msnyder@redhat.com>
+
+	* sh-tdep.h (struct gdbarch_tdep): New member FLOAT_ARGLAST_REG.
+	* sh-tdep.c (sh_gdbarch_init): For sh2e, sh3e, and sh4, set
+	FLOAT_ARG0_REGNUM and FLOAT_ARGLAST_REGNUM, to be used for
+	argument passing.
+	(sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu): New
+	functions, replace sh_push_dummy_call.
+	(sh_gdbarch_init): Set push_dummy_call to one of new methods.
+
+2003-08-20  Michael Chastain  <mec@shout.net>
+
+	* gdbtypes.h (struct main_type): Rearrange to save space.
+
+2003-08-20  Michael Snyder  <msnyder@redhat.com>
+
+	* trad-frame.c: Comment typo fix.
+
+2003-08-20  Michael Snyder  <msnyder@redhat.com>
+            Kevin Buettner  <kevinb@redhat.com>
+
+	* frv-tdep.c (gdb_string.h, frame.h, trad-frame.h): Include.
+	(frv_frame_init_saved_regs): Add declaration.
+	(frame_extra_info): Add new field ``saved_regs''.
+	(frv_frame_chain, frv_frame_saved_pc, frv_analyze_prologue)
+	(frv_skip_prologue, frv_init_extra_frame_info, frv_pop_frame_regular):
+	Update frame related code.
+	(frv_extract_struct_value_address): Adjust formatting.
+	* Makefile.in (frv-tdep.o): Update dependencies.
+	* config/frv/tm-frv.h (target_insert_watchpoint)
+	(target_remove_watchpoint, target_insert_hw_breakpoint)
+	(target_remove_hw_breakpoint): Delete these macros.
+	(remote_insert_watchpoint, remote_remove_watchpoint)
+	(remote_insert_hw_watchpoint, remote_remove_hw_watchpoint): Remove
+	these declarations.
+
+2003-08-20  Michael Chastain  <mec@shout.net>
+
+	* defs.h (ENUM_BITFIELD): New macro.
+	* symtab.h (ENUM_BITFIELD): Use it.
+	(BYTE_BITFIELD): Remove old macro, which was already disabled.
+
+2003-08-19  Shrinivas Atre <shrinivasa@kpitcummins.com>
+
+	* MAINTAINERS (write after approval): Add myself.
+
+2003-08-18  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (FRAME_RED_ZONE_SIZE): New architecture method.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* infcall.c (call_function_by_hand): Adjust the SP by
+	frame_red_zone_size before allocating any stack space.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Set "frame_red_zone_size".
+	* x86-64-tdep.c (x86_64_frame_align): New function.
+	(x86_64_init_abi): Set "frame_red_zone_size" and "frame_align".
+
+	* x86-64-tdep.c (x86_64_push_arguments): Revert 2003-08-07 change.
+	Remove code adjusting SP so that it skips over the Red Zone.
+
+2003-08-18  Mark Kettenis  <kettenis@gnu.org>
+
+	* NEWS (New native configurations): Mention FreeBSD/amd64.
+
+2003-08-18  Andrew Cagney  <cagney@redhat.com>
+
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Do not set
+	"dwarf2_build_frame_info".  Append "m68k_frame_sniffer" instead of
+	"m68k_frame_p".
+	(m68hc11_frame_sniffer): Replace "m68hc11_frame_p".
+
+2003-08-18  Mark Kettenis  <kettenis@gnu.org>
+
+	* x86-64-tdep.c (x86_64_dwarf_regmap): Remove trailing whitespace.
+
+2003-08-18  Michal Ludvig  <mludvig@suse.cz>
+
+	* config/i386/nm-x86-64linux.h (LINUX_CHILD_POST_STARTUP_INFERIOR):
+	Define.
+	* i386-linux-nat.c: Include "linux-nat.h".
+	(child_post_startup_inferior): New function.
+
+2003-08-18  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-tdep.c (i386_analyze_register_saves): Handle register saves
+	at the start of a frameless function.  This probably fixes PR
+	backtrace/1338.
+
+2003-08-17  Michael Chastain  <mec@shout.net>
+
+	* symfile.c (find_sym_fns): Remove special case for apollo target.
+
+2003-08-17  Daniel Jacobowitz  <drow@mvista.com>
+
+	* linux-nat.c (PTRACE_O_TRACEVFORKDONE, PTRACE_O_TRACEEXIT): Define.
+	(PTRACE_EVENT_VFORKDONE, PTRACE_EVENT_EXIT): Define.
+	(linux_parent_pid, linux_supports_tracevforkdone_flag): New variable.
+	(linux_test_for_tracefork): Set linux_supports_tracevforkdone_flag.
+	(linux_supports_tracevforkdone): New function.
+	(linux_enable_event_reporting): Enable TRACEVFORK, TRACEEXEC, and
+	TRACEVFORKDONE.
+	(child_follow_fork): Handle vfork.
+	(linux_handle_extended_wait): Likewise.  Also handle exec.
+	(child_insert_vfork_catchpoint, child_insert_exec_catchpoint): Enable.
+	* NEWS: Mention fork tracing.
+
+2003-08-17  Daniel Jacobowitz  <drow@mvista.com>
+
+	* lin-lwp.c (child_wait): Call linux_record_stopped_pid.
+
+2003-08-17  Daniel Jacobowitz  <drow@mvista.com>
+
+	* Makefile.in (i386-linux-nat.o): Update dependencies.
+	* config/i386/nm-linux.h (LINUX_CHILD_POST_STARTUP_INFERIOR): Define.
+	* config/nm-linux.h (CHILD_POST_STARTUP_INFERIOR, CHILD_POST_ATTACH)
+	(CHILD_FOLLOW_FORK, KILL_INFERIOR): Define.
+	* i386-linux-nat.c: Include "linux-nat.h".
+	(child_post_startup_inferior): New function.
+	* i386-nat.c (child_post_startup_inferior): Wrap in #ifdef.
+	* infptrace.c (kill_inferior): Wrap in #ifdef.
+	* lin-lwp.c (lin_lwp_attach_lwp): Call child_post_attach after
+	attaching to each LWP.
+	(child_wait, lin_lwp_wait): Call linux_handle_extended_wait.
+	(init_lin_lwp_ops): Fill in some more operations.
+	* linux-nat.h (linux_enable_event_reporting)
+	(linux_handle_extended_wait, linux_child_post_startup_inferior): New
+	prototypes.
+	* linux-nat.c (linux_enable_event_reporting): New function.
+	(child_post_attach, linux_child_post_startup_inferior)
+	(child_post_startup_inferior, child_follow_fork)
+	(linux_handle_extended_wait, kill_inferior): New functions.
+
+2003-08-16  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh: Delete all #if not GDB_MULTI_ARCH code.
+	* gdbarch.h, gdbarch.c: Re-generate.
+
+2003-08-16  Mark Kettenis  <kettenis@gnu.org>
+
+	* config/alpha/nm-fbsd.h (SVR4_SHARED_LIBS): Remove define.
+
+2003-08-16  Andrew Cagney  <cagney@redhat.com>
+
+	* NEWS: Mention that "set prompt-escape-char" was deleted.
+	* top.c (get_prompt_1): Delete function.
+	(gdb_prompt_escape):
+	(init_main): Do not clear "gdb_prompt_escape".  Delete "set
+	prompt-escape-char" command.
+	(MAX_PROMPT_SIZE): Delete macro.
+	(get_prompt): Simplify, do not call get_prompt_1.
+
+2003-08-16  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.in (printcmd.o, valprint.o): Do not try to build with
+	-Werror.  -Wformat-nonliteral problems.
+
+2003-08-15  J. Brobecker  <brobecker@gnat.com>
+
+	Further multiarching work mostly for hppa64-*-hpux11:
+	* hppa-tdep.h: New file.
+	* hppa-tdep.c: #include hppa-tdep.c.
+	(hppa32_num_regs): Renamed from hppa_num_regs.
+	(hppa64_num_regs): New constant.
+	(hppa64_call_dummy_breakpoint_offset): New constant.
+	(hppa32_call_dummy_length): New constant.
+	(hppa64_call_dummy_length): New constant.
+	(hppa32_stack_align): Make name 32bit explicit.
+	(hppa32_register_virtual_type): Likewise.
+	(hppa32_extract_return_value): Likewise.
+	(hppa32_use_struct_convention): Likewise.
+	(hppa32_store_return_value): Likewise.
+	(hppa64_register_virtual_type): New function.
+	(hppa64_extract_return_value): New function.
+	(hppa64_use_struct_convention): New function.
+	(hppa64_store_return_value): New function.
+	(hppa_frame_locals_address): Remove declaration, function does
+	not exist anymore.
+	(hppa_register_byte): Add support for PA64 ABI.
+	(hppa_gdbarch_init): Add support for PA64 ABI.
+	* hppa-hpux-tdep.c (hppa32_hpux_frame_saved_pc_in_sigtramp):
+	Make name 32bit explicit.
+	(hppa32_hpux_frame_base_before_sigtramp): Likewise.
+	(hppa32_hpux_frame_find_saved_regs_in_sigtramp): Likewise.
+	(hppa64_hpux_frame_saved_pc_in_sigtramp): New function.
+	(hppa64_hpux_frame_base_before_sigtramp): New function.
+	(hppa64_hpux_frame_find_saved_regs_in_sigtramp): New function.
+	* config/pa/tm-hppa64.h: Remove macros that are no longer
+	necessary now that the gdbarch vector is properly setup.
+	Transform some macros into function calls. Some minor cleanup.
+	* config/pa/tm-hppah.h: Update function calls in macros
+	following the function renaming in hppa-hpux-tdep.c.
+	* Makefile.in (hppa_tdep_h): New variable.
+	(hppa-tdep.o): Add dependency over hppa_tdep_h.
+
+2003-08-14  Michael Snyder  <msnyder@redhat.com>
+
+	* disasm.c (gdb_disassemble_info): Set info->insn_sets to zero.
+
+2003-08-13  J. Brobecker  <brobecker@gnat.com>
+
+	* hppa-hpux-tdep.c (_initialize_hppa_hpux_tdep): Use the correct
+	bfd arch_info when registering the GDB_OSABI_HPUX_ELF initialization
+	routine.
+
+2003-08-13  Michael Snyder  <msnyder@redhat.com>
+
+	* frv-tdep.c (frv_push_arguments): Use deprecated ftype.
+	(frv_saved_pc_after_call): Use deprecated ftype.
+	(stupid_useless_init_extra_frame_info): Remove orphan prototype.
+	(frv_remote_translate_xfer_address): Remove.
+	(frv_gdbarch_init): Use generic_remote_translate_xfer_address.
+
+2003-08-13  J. Brobecker  <brobecker@gnat.com>
+
+	* hppa-tdep.c (hppa_gdbarch_init): Perform the ABI-specific gdbarch
+	initialization after the common gdbarch initialization, not before.
+
+2003-08-13  J. Brobecker  <brobecker@gnat.com>
+
+	* config/pa/tm-hppa64.h (HPUX_1100): Remove, not used.
+	(ADDR_BITS_REMOVE): Remove, redundant.
+
+2003-08-13  J. Brobecker  <brobecker@gnat.com>
+
+	* hppa-tdep.c (hppa_gdbarch_init): Set the addr_bits_remove
+	gdbarch method to clear the 2 low bits of text addresses.
+
+2003-08-12  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.in (dsrec.o): Update dependencies.
+	* dsrec.c: Include "gdb_assert.h".
+	(make_srec): Use snprintf instead of sprintf, use a literal format
+	string.
+
+2003-08-12  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (deprecated_frame_xmalloc): Use XMALLOC, instead of
+	FRAME_OBSTACK_ZALLOC.
+
+2003-08-12  Kevin Buettner  <kevinb@redhat.com>
+
+	* i386-tdep.c (i386_gdbarch_init): Enable default support for
+	SSE registers.
+
+2003-08-10  Mark Kettenis  <kettenis@gnu.org>
+
+	* x86-64-tdep.h (amd64fbsd_sigtramp_start, amd64fbsd_sigtramp_end,
+	amd64fbsd_sc_reg_offset): Add extern declarations.
+	* amd64fbsd-nat.c (_initialize_am64fbsd_nat): Remove extern
+	declarations.
+
+2003-08-11  Ben Elliston  <bje@wasabisystems.com>
+
+	* MAINTAINERS (write after approval): Update my mail address.
+
+2003-08-10  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.in (monitor.o): Do not build monitor.c with -Werror.
+
+2003-08-10  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-tdep.h (i386fbsd_sigtramp_start, i386fbsd_sigtramp_end,
+	i386obsd_sigtramp_start, i386obsd_sigtramp_end,
+	i386fbsd4_sc_reg_offset, i386fbsd_sc_reg_offset,
+	i386nbsd_sc_reg_offset, i386obsd_sc_reg_offset,
+	i386bsd_sc_reg_offset): Add extern declarations.
+	* i386obsd-nat.c: Include "i386-tdep.h"
+	(_initialize_i386obsd_nat): Remove extern declarations.
+	* i386fbsd-nat.c (_initialize_i386fbsd_nat): Remove extern
+	declarations.
+	* i386bsd-nat.c (_initialize_i386bsd_nat): Remove extern
+	declarations.
+
+	* i386-tdep.c (i386_register_to_value): Use get_frame_register
+	instead of frame_read_register.
+	(i386_fetch_pointer_argument): Use get_frame_register_unsigned
+	instead of frame_read_register.  Use I386_ESP_REGNUM instead of
+	SP_REGNUM.
+	(i386_frame_prev_register): Use frame_unwind_register_unsigned
+	instead of frame_unwind_unsigned_register.  Use
+	I386_EFLAGS_REGISTER instead of PS_REGNUM.
+	(i386_get_longjmp_target): Use regcache_read_unsigned_register
+	instead of read_register.  Use builtin_type_void_data_ptr instead
+	of builtin_type_void_func_ptr when extracting the address of the
+	jmp_buf.
+	(i386_extract_return_value, i386_store_return_value,
+	i386_pseudo_register_read, i386_pseudo_register_write): Use
+	register_size instead REGISTER_RAW_SIZE.
+
+2003-08-10  Andrew Cagney  <cagney@redhat.com>
+
+	* infcall.c (call_function_by_hand): Use xstrprintf instead of
+	sprintf.  Make "name" constant.
+
+2003-08-10  Mark Kettenis  <kettenis@gnu.org>
+
+	* i387-tdep.c (i387_register_to_value): Use get_frame_register
+	instead of frame_read_register.
+	(i387_print_float_info): Use get_frame_register and
+	get_frame_register_unsigned instead of frame_register_read.
+
+	* i386fbsd-nat.c: Include "i386-tdep.h".
+	(child_resume): Make `eflags' an ULONGEST.  Use
+	regcache_cooked_read_unsigned and regcache_cooked_write_unsigned
+	instead of register_read and register_write.
+
+	* i386bsd-nat.c (fetch_inferior_registers,
+	store_inferior_registers): Don't use && at the end of a line.
+	(_initialize_i386bsd_nat): Fix typo.
+
+	* frame.c (_initialize_frame): Add missing backslash.
+
+	From Peter Schauer (Peter.Schauer@regent.e-technik.tu-muenchen.de):
+	* sol-thread.c (sol_thread_store_registers): Use regcache_collect
+	and supply_register instead of manipulating the register buffer
+	directly.
+
+	From Peter Schauer (Peter.Schauer@regent.e-technik.tu-muenchen.de):
+	* config/i386/nm-i386sol2.h
+	(TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Define to one.
+
+	Based on a patch from Michael Elizabeth Chastain (mec@shout.net):
+	* i386-tdep.c (i386_analyze_frame_setup): Recognize more
+	instructions that GCC likes to mingle into the prologue.  Fixes
+	gdb/1253 and gdb/1255.
+
+2003-08-09  Andrew Cagney  <cagney@redhat.com>
+
+	Fix GDB PR cli/926.
+	* cli/cli-decode.c (add_setshow_uinteger_cmd): New function.
+	* command.h (add_setshow_uinteger_cmd): Declare.
+	* frame.c (set_backtrace_cmd): New function.
+	(show_backtrace_cmd): New function.
+	* frame.c (_initialize_frame): Replace "set/show
+	backtrace-below-main" with "set/show backtrace past-main".  Add
+	command "set/show backtrace limit".
+	(backtrace_past_main): Rename "backtrace_below_main".
+	(backtrace_limit): New variable.
+	(get_prev_frame): Update.  Check the backtrace_limit.
+
+2003-08-09  Andrew Cagney  <cagney@redhat.com>
+
+	* defs.h (xstrprintf): Declare.
+	* utils.c (xstrprintf): New function.
+	* breakpoint.c (insert_breakpoints): Replace sprintf and
+	non-literal format strings, with xstrprintf and cleanups.
+	(delete_breakpoint,breakpoint_re_set): Ditto.
+	(commands_command, insert_breakpoints): Ditto.
+	(bpstat_stop_status, break_at_finish_at_depth_command_1): Ditto.
+	(break_at_finish_command_1): Ditto.
+
+2003-08-09  Andrew Cagney  <cagney@redhat.com>
+
+	* MAINTAINERS (language support): List Adam Fedor as Objective C
+	maintainer.
+
+2003-08-08  J. Brobecker  <brobecker@gnat.com>
+
+	* NEWS (Multi-arched targets): Document that all hppa-hpux targets
+	are now multiarched.
+
+2003-08-08  J. Brobecker  <brobecker@gnat.com>
+
+	* config/pa/tm-hppa64.h: Remove lots of macros that are no
+	longer necessary now that hppa64 is partially multiarch'ed.
+
+2003-08-08  Andrew Cagney  <cagney@redhat.com>
+
+	* interps.c (interp_set): Check for a NULL "old_interp".
+
+2003-08-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* Makefile.in (FLAGS_TO_PASS): Add DESTDIR.
+	(install-only): Support DESTDIR.
+	(uninstall): Likewise.
+	(install-gdbtk): Likewise.
+
+2003-08-08  Elena Zannoni  <ezannoni@redhat.com>
+
+	* symtab.c (lookup_symbol_aux): Make sure that is_a_field_of_this
+	contains something meaningful at all times.
+
+Fri Aug  8 00:28:46 UTC 2003  Brendan Conoboy  <blc@redhat.com>
+
+	* configure.host: Set gdb_host_cpu=arm when host_cpu=xscale.
+
+Fri Aug  8 00:28:38 UTC 2003  Brendan Conoboy  <blc@redhat.com>
+
+	* MAINTAINERS (write after approval): Added self.
+
+2003-08-07  Andrew Cagney  <cagney@redhat.com>
+
+	* inferior.h (AT_SYMBOL): Define.
+	* blockframe.c (inside_entry_file): Check for AT_SYMBOL.
+	* infcall.c (call_function_by_hand): Add code to handle AT_SYMBOL.
+	* mips-tdep.c (mips_call_dummy_address): Delete function.
+	(mips_gdbarch_init): Set call_dummy_location to AT_SYMBOL, do not
+	set call_dummy_address.
+
+2003-08-07  Andrew Cagney  <cagney@redhat.com>
+
+	* language.c (op_error): Delete function.
+	(binop_type_check): Delete function.
+	* language.h (type_op_error, range_op_error): Delete macros.
+	(op_error): Delete declaration.
+
+2003-08-07  Andrew Cagney  <cagney@redhat.com>
+
+	* interps.h (INTERP_MI2, INTERP_MI3): Define.
+
+2003-08-07  Michal Ludvig  <mludvig@suse.cz>
+
+	* x86-64-tdep.c (x86_64_dwarf_regmap): Correct register numbers.
+	(x86_64_push_arguments): Skip the red zone.
+
+2003-08-05  Andrew Cagney  <cagney@redhat.com>
+
+	* reggroups.c (reggroup_next): Check for the final entry.
+
+2003-08-04  Andrew Cagney  <cagney@redhat.com>
+
+	* monitor.h (monitor_dump_reg_block): Remove ATTR_FORMAT.
+	* cli/cli-script.c (define_command): Call query directly, instead
+	of passing it a buffer.
+	* ocd.c (ocd_error): Pass error a constant format string.
+	* remote-mips.c (mips_error): Use fputs_filtered.
+
+	* solib-svr4.c (_initialize_svr4_solib): Update
+	register_gdbarch_data call.
+	* mips-linux-tdep.c (_initialize_mips_linux_tdep): Ditto.
+
+	* gdbarch.sh (gdbarch_data_free_ftype): Delete declaration.
+	(register_gdbarch_data): Delete "free" parameter.  Update
+	comments.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* reggroups.c (_initialize_reggroup): Update.
+	* gnu-v3-abi.c (init_gnuv3_ops): Update.
+	* frame-base.c (_initialize_frame_base): Update.
+	* frame-unwind.c (_initialize_frame_unwind): Update.
+	* user-regs.c (_initialize_user_regs): Update.
+	* remote.c (_initialize_remote): Update.
+	* regcache.c (_initialize_regcache): Update.
+
+	* regcache.c (xfree_regcache_descr): Delete function.
+	(_initialize_regcache): Update call to register_gdbarch_data.
+	(init_regcache_descr, init_legacy_regcache_descr): Use
+	GDBARCH_OBSTACK_XALLOC and GDBARCH_OBSTACK_CALLOC.
+
+	* remote.c (free_remote_state): Delete function.
+	(_initialize_remote): Update register_gdbarch_data.
+	(init_remote_state): Use GDBARCH_OBSTACK_XALLOC and
+	GDBARCH_OBSTACK_CALLOC instead of xmalloc / xcalloc.
+
+2003-08-04  Andrew Cagney  <cagney@redhat.com>
+
+	* reggroups.c (struct reggroup_el): Define.
+	(struct reggroups): Delete field "nr_group".  Replace array
+	"group" with a "first" to "last" linked list.
+	(reggroups_init): Update.  Allocate using gdbarch's obstack.
+	(reggroups_free): Delete function.
+	(add_group): Update.  Add "el" parameter.
+	(reggroup_add): Pass gdbarch obstack allocated space to add_group.
+	(default_groups): Update.
+	(reggroup_next): Replace reggroups.
+	(reggroups_dump): Update.
+	(_initialize_reggroup): Pass XMALLOC allocated space to add_group.
+	* regcache.c (regcache_dump): Use reggroup_next instead of reggroups.
+	* infcmd.c (registers_info): Use reggroup_next instead of reggroups.
+
+2003-08-04  Daniel Jacobowitz  <drow@mvista.com>
+
+	* Makefile.in (tui-interp.o): Update dependencies.
+
+2003-08-04  David Carlton  <carlton@kealia.com>
+
+	* charset.c (cached_iconv_convert): Add __FILE__ and __LINE__ args
+	to internal_error call.
+	* source.c (forward_search_command): Add "%s" format argument.
+	(reverse_search_command): Ditto.
+	* top.c (quit_confirm): Ditto.
+	* cli/cli-setshow.c (do_setshow_command): Ditto.
+	* cp-valprint.c (cp_print_class_method): Replace
+	{f,}printf_{un,}filtered by {f,}puts_{un,}filtered.
+	(cp_print_class_member): Ditto.
+	* event-top.c (command_line_handler): Ditto.
+	* linux-proc.c (linux_info_proc_cmd): Ditto.
+	* p-typeprint.c (pascal_type_print_base): Ditto.
+	* p-valprint.c (pascal_object_print_class_method): Ditto.
+	(pascal_object_print_class_member): Ditto.
+	* printcmd.c (print_scalar_formatted,printf_command): Ditto.
+	* remote.c (remote_cisco_section_offsets): Ditto.
+	* top.c (command_line_input): Ditto.
+	* utils.c (vwarning,error_stream,quit): Ditto.
+	* valprint.c (print_floating,print_binary_chars)
+	(print_octal_chars,print_decimal_chars,print_hex_chars): Ditto.
+
+2003-08-04  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (frame_func_unwind): Use frame_unwind_address_in_block.
+
+2003-08-02  Andrew Cagney  <cagney@redhat.com>
+
+	* config/djgpp/fnchange.lst: Fix up testsuite/gdb.c++/annota3.cc,
+	gdb/testsuite/gdb.c++/annota3.exp, amd64fbsd-tdep.c and
+	amd64fbsd-nat.c.
+
+2003-08-02  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.in: Update all dependencies and definitions.
+
+2003-08-02  Adam Fedor  <fedor@gnu.org>
+
+	* linespec.c (is_objc_method_format): New function
+	(decode_line_1, locate_first_half): Use it.
+	Fixes PR objc/1298
+
+2003-08-01  Andrew Cagney  <cagney@redhat.com>
+
+	* NEWS: Mention that m32r is multi-arch.
+	From 2003-07-28 Kei Sakamoto <sakamoto.kei@renesas.com>:
+	* configure.tgt: Recognize m32r-*-*.
+	* config/m32r/tm-m32r.h: Delete file.
+	* config/m32r/m32r.mt: New file.
+	* m32r-rom.c (m32r_upload_command): Use hostent only when
+        gethostname succeeds, in order to avoid a compilation
+        warning.
+	* m32r-tdep.c (m32r_store_return_value): Add a cast to remove a
+	compiler warning.
+
+2003-08-01  Michael Snyder  <msnyder@redhat.com>
+
+	* sh-tdep.c (sh_frame_align): New gdbarch method.
+	(sh_gdbarch_init): Set up frame_align method.
+
+2003-07-31  Michael Snyder  <msnyder@redhat.com>
+
+	* value.h, values.c, infcall.c, infcmd.c: Revert 07-30 change,
+	which is already covered by the new frames infrastructure.
+
+2003-07-31  Andrew Cagney  <cagney@redhat.com>
+
+	* user-regs.c (struct user_reg): Add "next" link.
+	(struct user_regs): Replace "user" with "first" and "last" links.
+	(append_user_reg): Add pre-allocated "reg" parameter.
+	(builtin_user_regs): Provide initial value for "last".
+	(user_reg_add_builtin): XMALLOC memory for append_user_reg.
+	(user_regs_init): Allocate memory from the gdbarch obstack.
+	(user_reg_add): GDBARCH_OBSTACK_ZALLOC memory for append_user_reg.
+	(user_reg_map_name_to_regnum): Rewrite to search the user_reg
+	linked list.
+	(usernum_to_user_reg): New function.
+	(user_reg_map_regnum_to_name): Use usernum_to_user_reg.
+	(value_of_user_reg): Use usernum_to_user_reg.
+	(user_regs_free): Delete function.
+	(_initialize_user_regs): Update register_gdbarch_data call.
+
+2003-07-31  Daniel Jacobowitz  <drow@mvista.com>
+
+	* dwarf2read.c (new_symbol): Use var_decode_location for parameters.
+
+2003-07-30  Michael Snyder  <msnyder@redhat.com>
+
+	* value.h (value_being_returned): Add a struct_addr argument.
+	* infcall.c (call_function_by_hand): Pass struct_addr to
+	value_being_returned.
+	* infcmd.c (print_return_value): Pass zero as struct_addr.
+	* values.c (value_being_returned): If struct_addr is passed,
+	use it instead of trying to recover it from the inferior.
+
+2003-07-30  Kevin Buettner  <kevinb@redhat.com>
+
+	* mn10300-tdep.c (analyze_dummy_frame): Pass ``pc'' so that
+	the prologue analyzer won't need to attempt to extract the pc
+	value from the woefully incomplete dummy frame.
+	(mn10300_analyze_prologue): Avoid calls to get_frame_pc() when
+	possible.  Disable code which modifies the frame.
+
+2003-07-28  Andrew Cagney  <cagney@redhat.com>
+
+	* annotate.c (annotate_breakpoints_headers): Restrict annotation
+	to level 2.
+	(annotate_breakpoints_table, annotate_record): Ditto.
+	(annotate_breakpoints_table_end, annotate_field_begin): Ditto.
+	(annotate_field_name_end, annotate_field_value): Ditto.
+	(annotate_field_end, annotate_frame_source_begin): Ditto.
+	(annotate_frame_source_file, annotate_frame_source_file_end): Ditto.
+	(annotate_frame_source_line, annotate_frame_source_end): Ditto.
+	(annotate_frame_begin, annotate_frame_function_name): Ditto.
+	(annotate_frame_address_end, annotate_frame_address): Ditto.
+	(annotate_frame_args, annotate_frame_end): Ditto.
+	(annotate_frame_where, annotate_arg_begin): Ditto.
+	(annotate_arg_name_end, annotate_arg_value): Ditto.
+	(annotate_arg_end, annotate_signal_handler_caller): Ditto.
+	(annotate_function_call, annotate_signal_name): Ditto.
+	(annotate_signal_string, annotate_signal_name_end): Ditto.
+	(annotate_signal_string_end, annotate_value_history_begin): Ditto.
+	(annotate_value_begin, annotate_value_history_value): Ditto.
+	(annotate_value_history_end, annotate_value_end): Ditto.
+	(annotate_display_begin, annotate_display_number_end): Ditto.
+	(annotate_display_format, annotate_display_expression): Ditto.
+	(annotate_display_expression_end, annotate_display_value): Ditto.
+	(annotate_display_end, annotate_array_section_begin): Ditto.
+	(annotate_elt_rep, annotate_elt_rep_end): Ditto.
+	(annotate_elt, annotate_array_section_end): Ditto.
+
+2003-07-28  Andrew Cagney  <cagney@redhat.com>
+
+	* regcache.c (struct regcache_descr): Update comments on
+	nr_raw_registers.
+	(init_legacy_regcache_descr): Don't set nr_raw_registers or
+	sizeof_raw_register_valid_p.
+	(init_regcache_descr): Set nr_raw_registers and
+	sizeof_raw_register_valid_p before calling
+	init_legacy_regcache_descr.
+
+2003-07-28  Andrew Cagney  <cagney@redhat.com>
+
+	* mips-tdep.c (print_gp_register_row): Print the GPR's register
+	MOD NUM_REGS.
+
+2003-07-28  Daniel Jacobowitz  <drow@mvista.com>
+
+	* thread.c (info_threads_command): Use get_selected_frame ().
+	Check that there is at least one non-sentinel frame.
+
+2003-07-27  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* m68hc11-tdep.c (struct frame_extra_info): Remove.
+	(m68hc11_pop_frame): Remove.
+	(m68hc11_frame_saved_pc): Remove.
+	(m68hc11_frame_chain): Remove.
+	(m68hc11_frame_init_saved_regs): Remove.
+	(m68hc11_init_extra_frame_info): Remove.
+	(m68hc11_store_struct_return): Remove.
+	(m68hc11_saved_pc_after_call): Remove.
+
+2003-07-27  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* m68hc11-tdep.c (struct m68hc11_unwind_cache): New struct to hold
+	frame unwind information.
+	(m68hc11_scan_prologue): New function from m68hc11_guess_from_prologue
+	and adapted for frame unwinding.
+	(m68hc11_skip_prologue): Update to scan prologue in temporary object.
+	(m68hc11_unwind_pc): New function.
+	(m68hc11_frame_unwind_cache): New function to analyze frames.
+	(m68hc11_frame_this_id): New function to create new frame struct.
+	(m68hc11_frame_prev_register): New function to unwind a register from
+	the frame.
+	(m68hc11_frame_unwind): Default 68hc11/68hc12 unwinder.
+	(m68hc11_frame_p): New function for the above.
+	(m68hc11_frame_base_address): New function to return fp of frame.
+	(m68hc11_frame_args_address): Update for frame.
+	(m68hc11_frame_base): Default 68hc11/68hc12 frame.
+	(m68hc11_unwind_sp): New function.
+	(m68hc11_unwind_dummy_id): New function.
+	(m68hc11_gdbarch_init): Install the above frames; remove deprecated
+	calls.
+
+2003-07-27  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* m68hc11-tdep.c (m68hc11_analyze_instruction): Don't advance the pc.
+	(m68hc11_guess_from_prologue): Advance the pc and frame size only
+	when we are beyond the current pc.
+
+2003-07-27  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* m68hc11-tdep.c (m68hc11_push_dummy_call): New function adapted
+	from m68hc11_push_arguments.
+	(m68hc11_push_arguments): Remove.
+	(m68hc11_push_return_address): Remove.
+	(m68hc11_gdbarch_init): Install the above; remove above deprecated
+	handlers; remove deprecated_extra_stack_alignment_needed.
+
+2003-07-27  Andrew Cagney  <cagney@redhat.com>
+
+	* config/pa/tm-hppa.h (init_frame_pc_default): Declare.
+	* infcall.c (legacy_push_dummy_code) [GDB_TARGET_IS_HPPA]: Update
+	REAL_PC and not the pointer.
+	* hppa-hpux-tdep.c: Include frame.h
+
+2003-07-27  Andrew Cagney  <cagney@redhat.com>
+
+	* config/pa/tm-hppa64.h (GDB_MULTI_ARCH): Set to
+	GDB_MULTI_ACH_PARTIAL.
+
+2003-07-27  Andrew Cagney  <cagney@redhat.com>
+
+	Patch from 2003-07-22 Kei Sakamoto <sakamoto.kei@renesas.com>:
+	* m32r-tdep.c (m32r_memory_insert_breakpoint): Fix code style -
+	operator at start and not end of line.
+	(decode_prologue): Ditto.
+	(m32r_frame_unwind_cache, m32r_unwind_sp, m32r_unwind_pc): Use
+	frame_unwind_register_unsigned instead of
+	frame_unwind_unsigned_register.
+	(m32r_read_pc): Use regcache_cooked_read_unsigned instead of
+	read_register.
+	(m32r_push_dummy_call): Use register_size instead of
+	REGISTER_RAW_SIZE.
+	(m32r_frame_sniffer): Replace m32r_frame_p.
+	(m32r_gdbarch_init): Call frame_unwind_append_sniffer.
+	* m32r-rom.c (report_transfer_performance): Delete extern
+	declaration.
+	(m32r_load, m32r_upload_command): Use print_transfer_performance
+	instead of report_transfer_performance.
+	(_initialize_m32r_rom): Use add_setshow_cmd instead of add_set_cmd
+	/ add_show_from_set.
+
+2003-07-26  Andrew Cagney  <cagney@redhat.com>
+
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Set non-deprecated
+	store_return_value and extract_struct_value_address.
+
+2003-07-26  Daniel Jacobowitz  <drow@mvista.com>
+
+	PR c++/1267
+	* minsyms.c (lookup_minimal_symbol_by_pc_section): If SECTION is
+	NULL, default to the section containing PC.
+
+2003-07-24  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* NEWS: Mention "regs" deprecated for m68hc11 too.
+
+	* m68hc11-tdep.c (_initialize_m68hc11_tdep): Deprecate "regs" command.
+	(m68hc11_print_register): New function to print out one register.
+	(m68hc11_print_registers_info): New function to print registers.
+	(show_regs): Deprecate and use the above.
+	(m68hc11_gdbarch_init): Install the print_registers_info.
+
+2003-07-24  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* ia64-linux-nat.c (ia64_linux_stopped_by_watchpoint): Verify
+	that we have a SIGTRAP before returning non-zero.
+
+2003-07-23  Michal Ludvig  <mludvig@suse.cz>
+	    Elena Zannoni  <ezannoni@redhat.com>
+
+ 	* linespec.c (decode_line_2): Avoid crash if
+ 	find_function_start_sal() returns empty record.
+
+2003-07-23  Andreas Schwab  <schwab@suse.de>
+
+	* ia64-tdep.c (ia64_print_insn): New function.
+	(ia64_gdbarch_init): Set print_insn to it.
+	(_initialize_ia64_tdep): Don't set deprecated_tm_print_insn and
+	deprecated_tm_print_insn_info.
+
+2003-07-22  Michael Snyder  <msnyder@redhat.com>
+
+	* h8300-tdep.c (h8300_extract_return_value): Teach it how to
+	handle 8-bit returns (long long).
+	(h8300h_extract_return_value): Ditto.
+	(h8300_gdbarch_init): Long long is 8 bytes, char is unsigned.
+
+2003-07-22  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.c Include "gdb_obstack.h".
+	(struct gdbarch): Add an "obstack".
+	(alloc_gdbarch_data): Allocate the gdbarch data using
+	GDBARCH_OBSTACK_CALLOC.
+	(free_gdbarch_data): Delete function.
+	(gdbarch_obstack_zalloc): New function.
+	(gdbarch_free): Free the obstack, do not call free_gdbarch_data.
+	Assert that the architecture is not initialized.
+	(gdbarch_alloc): Allocate an obstack, allocate the architecture
+	vector from the obstack.
+	(alloc_gdbarch_data, init_gdbarch_swap): Allocate memory using the
+	architecture obstack.
+	(GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Define.
+	(set_gdbarch_data): Assert that the data is not initialized.
+	(struct gdbarch_data): Delete member "free".
+	(register_gdbarch_data): Do not initialize "free".
+	* gdbarch.h, gdbarch.c: Re-generate.
+
+2003-07-22  Andrew Cagney  <cagney@redhat.com>
+
+	* configure.in (build_warnings): Add -Wformat-nonliteral.
+	* configure: Re-generate.
+
+2003-07-22  Elena Zannoni  <ezannoni@redhat.com>
+
+	* dwarf2loc.c (locexpr_describe_location): Fix typos.
+
+2003-07-22  Elena Zannoni  <ezannoni@redhat.com>
+
+	* findvar.c (read_var_value): Remove case for thread local storage
+	variables.  It is now entirely handled by the dwarf2 location
+	expression code.
+	* printcmd.c (address_info): Ditto.
+	* symtab.h (address_class): Remove LOC_THREAD_LOCAL_STATIC
+	enumeration value.
+	(struct symbol): Remove objfile field, which was used by
+	LOC_THREAD_LOCAL_STATIC only.
+	* dwarf2read.c (decode_locdesc): Remove is_thread_local variable.
+	* dwarf2loc.h (struct dwarf2_loclist_baton): Add comment about
+	usage of objfile pointer.
+	* dwarf2loc.c (locexpr_describe_location): Add case to handle
+	thread local variables.
+	Add include of objfiles.h.
+	* dwarf2expr.c (execute_stack_op): Add comments about thread local
+	storage variables.
+	* Makefile.in (dwarf2loc.o): Update dependencies.
+
+2003-07-22  Andrew Cagney  <cagney@redhat.com>
+
+	* config/pa/tm-hppa64.h (FRAME_SAVED_PC_IN_SIGTRAMP): Use
+	get_frame_base.
+	(FRAME_BASE_BEFORE_SIGTRAMP): Ditto.
+	(FRAME_FIND_SAVED_REGS_IN_SIGTRAMP): Ditto.
+	(struct value): Add opaque declaration.
+	(DEPRECATED_FRAME_ARGS_ADDRESS): Delete.
+
+2003-07-21  Andrew Cagney  <cagney@redhat.com>
+
+	From 2003-07-04 Kei Sakamoto <sakamoto.kei@renesas.com>:
+	* m32r-tdep.c, m32r-stub.c, m32r-tdep.c: Rewrite.
+
+2003-07-20  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* m68hc11-tdep.c (m68hc11_pseudo_register_read): Use
+	regcache_cooked_read_unsigned instead of read_register.
+	(m68hc11_saved_pc_after_call): Likewise.
+	(m68hc11_pseudo_register_write): Use regcache_cooked_write_unsigned
+	instead of write_register.
+	(m68hc11_register_type): New function.
+	(m68hc11_register_virtual_type): Remove.
+	(m68hc11_store_return_value): Convert to use the regcache.
+	(m68hc11_extract_struct_value_address): Likewise.
+	(m68hc11_gdbarch_init): Remove deprecated ops for register to use
+	m68hc11_register_type; undeprecate store_return_value and
+	extract_struct_value_address.
+
+2003-07-20  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* m68hc11-tdep.c (m68hc11_extract_return_value): Use regcache_raw_read
+	and translate to use regcache.
+	(m68hc11_gdbarch_init): Undeprecate extract_return_value.
+
+2003-07-18  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DWARF2_BUILD_FRAME_INFO): Delete method.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* i386-tdep.c (i386_gdbarch_init): Do not set
+	DWARF2_BUILD_FRAME_INFO.
+	* elfread.c (elf_symfile_read): Call dwarf2_build_frame_info
+	unconditionally.
+	* alpha-tdep.c (alpha_dwarf2_init_abi): Do not set
+	DWARF2_BUILD_FRAME_INFO.
+
+2003-07-18  Andrew Cagney  <cagney@redhat.com>
+
+	From 2003-07-04 Kei Sakamoto <sakamoto.kei@renesas.com>:
+        * disasm.c (gdb_disassemble_info): Initilize di.arch.
+
+2003-07-18  Andrew Cagney  <cagney@redhat.com>
+
+	* dwarf2-frame.c (dwarf2_frame_sniffer): Use
+	frame_unwind_address_in_block, instead of frame_pc_unwind.
+	(dwarf2_frame_cache): Ditto.
+
+2003-07-18  Andrew Cagney  <cagney@redhat.com>
+
+	* user-regs.h (struct gdbarch): Declare opaque.
+	* ui-out.h (struct ui_file): Declare opaque.
+	* dwarf2-frame.h (struct frame_info): Declare opaque.
+
+2003-07-18  Kris Warkentin  <kewarken@qnx.com>
+
+	* nto-procfs.c: Clean ARI hits.  Change #include <..> to
+	#include "...".
+	(procfs_meminfo): Change strerror to safe_strerror.
+	(procfs_can_run): Remove K&R badness.
+
+2003-07-17  Michael Snyder  <msnyder@redhat.com>
+
+	* remote-sim.c: Comment typo fix.
+
+2003-07-17  Andrew Cagney  <cagney@redhat.com>
+
+	* defs.h (GDB_MULTI_ARCH): Delete conditional define.  Handled by
+	configure.
+	* sparc-tdep.c (sparc_intreg_size): Make non-static.
+	* config/sparc/tm-sparc.h (GDB_MULTI_ARCH): Define to
+	GDB_MULTI_ARCH_PARTIAL.
+
+2003-07-17  Elena Zannoni  <ezannoni@redhat.com>
+
+	* Makefile.in (x86-64-linux-nat.o): Update dependencies.
+	* x86-64-linux-nat.c (ps_get_thread_area): New function.  Add
+	include of asm/prctl.h, asm/ptrace.h, and gdb_proc_service.h.
+
+2003-07-16  Theodore A. Roth  <troth@openavr.org>
+
+	* avr-tdep.c (avr_skip_prologue): Return PC unchanged if no prologue
+	found.
+	(avr_frame_unwind_cache): Don't unwind FP for main.
+	Update a comment.
+	Save the computed prev_sp.
+	(avr_saved_regs_unwinder): Remove function.
+	(avr_frame_prev_register): Use PC unwind logic from
+	avr_saved_regs_unwinder(), otherwise use trad_frame_prev_register().
+
+2003-07-16  Andrew Cagney  <cagney@redhat.com>
+
+	* frame-base.h (frame_base_p_ftype): Delete definition.
+	(frame_base_append_predicate): Delete declaration.
+	* frame-unwind.h (frame_unwind_p_ftype): Delete definition.
+	(frame_unwind_append_predicate): Delete declaration.
+	* frame-unwind.c (struct frame_unwind_table): Delete field "p".
+	(append_predicate): Delete parameter "p".
+	(frame_unwind_append_predicate): Delete function.
+	(frame_unwind_append_sniffer): Update call to append_predicate.
+	(frame_unwind_free): Delete function.
+	(_initialize_frame_unwind): Pass NULL as "free" to
+	register_gdbarch_data.
+	(frame_unwind_init): Append the dummy_frame_sniffer.
+	(frame_unwind_find_by_frame): Simplify.
+	* frame-base.c (struct frame_base_table): Delete field "p".
+	(append_predicate): Delete parameter "p".
+	(frame_base_append_predicate): Delete function.
+	(frame_base_append_sniffer): Update call to append_predicate.
+	(frame_base_free): Delete function.
+	(frame_base_find_by_frame): Simplify.
+	(_initialize_frame_base): Pass NULL as "free" to
+	register_gdbarch_data.
+	* x86-64-tdep.c (x86_64_frame_sniffer): Replace "x86_64_frame_p".
+	(x86_64_sigtramp_frame_sniffer): Replace
+	"x86_64_sigtramp_frame_p".
+	(x86_64_init_abi): Set the frame unwind sniffers.
+	* m68k-tdep.c (m68k_frame_sniffer): Replace "m68k_frame_p".
+	(m68k_sigtramp_frame_sniffer): Replace "m68k_sigtramp_frame_p"
+	(m68k_gdbarch_init): Set the frame unwind sniffers.
+	* i386-tdep.c (i386_sigtramp_frame_sniffer): Replace
+	"i386_sigtramp_frame_p".
+	(i386_frame_sniffer): Replace "i386_frame_p".
+	(i386_gdbarch_init): Set the frame unwind sniffers.
+	* avr-tdep.c (avr_frame_sniffer): Replace "avr_frame_sniffer".
+	(avr_gdbarch_init): Set the frame unwind sniffers.
+	* alpha-tdep.c (alpha_sigtramp_frame_sniffer): Replace
+	"alpha_sigtramp_frame_p"
+	(alpha_heuristic_frame_sniffer): Replace
+	"alpha_heuristic_frame_p".
+	(alpha_gdbarch_init): Set the frame unwind sniffers.
+	(alpha_dwarf2_init_abi): Ditto.
+	* alpha-mdebug-tdep.c (alpha_mdebug_frame_sniffer): Replace
+	"alpha_debug_frame_p".
+	(alpha_mdebug_frame_base_sniffer): Replace
+	"alpha_mdebug_frame_base_p".
+	(alpha_mdebug_init_abi): Set the frame unwind sniffers.
+	* d10v-tdep.c (d10v_frame_sniffer): Replace "d10v_frame_p".
+	(d10v_gdbarch_init): Set the frame unwind sniffer.
+	* dwarf2-frame.c (dwarf2_frame_sniffer): Replace "dwarf2_frame_p".
+	(dwarf2_frame_base_sniffer): Replace "dwarf2_frame_base_p".
+	* dwarf2-frame.h (dwarf2_frame_sniffer): Replace "dwarf2_frame_p".
+	(dwarf2_frame_base_sniffer): Replace "dwarf2_frame_base_p".
+	* dummy-frame.c (dummy_frame_sniffer): Replace "dummy_frame_p".
+	* dummy-frame.h (dummy_frame_sniffer): Replace "dummy_frame_p".
+
+2003-07-16  Michael Snyder  <msnyder@redhat.com>
+
+	* sh-tdep.c (sh_gdbarch_init): Fetch_registers for the sh3-dsp
+	should go thru sh_dsp_register_sim_regno, else the dsp regs
+	will not get the right values.
+
+2003-07-16  Corinna Vinschen  <vinschen@redhat.com>
+
+	* sh-tdep.c (sh_sh4_register_convert_to_virtual): Substitute call to
+	deprecated_store_floating by call to store_typed_floating.
+	(sh_sh4_register_convert_to_raw): Substitute call to
+	deprecated_extract_floating by call to extract_typed_floating.
+
+2003-07-16  Corinna Vinschen  <vinschen@redhat.com>
+
+	* sh-tdep.c (sh_gdbarch_init): Set double to 4 byte on sh2e and sh3e.
+
+2003-07-16  Corinna Vinschen  <vinschen@redhat.com>
+
+	* sh-tdep.c: Substitute calls to REGISTER_RAW_SIZE by calls to
+	register_size and calls to REGISTER_VIRTUAL_TYPE by calls to
+	gdbarch_register_type in 32 bit code throughout.  Avoid current_gdbarch
+	as possible.
+	(do_pseudo_register): Remove.
+	(sh_push_dummy_code): New function.
+	(sh64_store_struct_return): Rename from sh_store_struct_return.
+	Only called for sh64 now.
+	(sh_extract_struct_value_address): Regcache'ify.
+	(sh_push_dummy_call): Rename from sh_push_arguments.  Regcache'ify
+	and accomodate new tasks.
+	(sh64_push_return_address): Rename from sh_push_return_address.
+	Only called for sh64 now.
+	(sh_default_extract_return_value): Rename from sh_extract_return_value.
+	Regcache'ify.
+	(sh3e_sh4_extract_return_value): Regcache'ify.
+	(sh_default_store_return_value): Ditto.
+	(sh3e_sh4_store_return_value): Ditto.
+	(sh_default_register_byte): Remove.
+	(sh_sh4_register_byte): Remove.
+	(sh_default_register_raw_size): Remove.
+	(sh_sh4_register_raw_size): Remove.
+	(sh_register_virtual_size): Remove.
+	(sh_sh3e_register_virtual_type): Remove.
+	(sh_sh3e_register_type): New function.
+	(sh_sh4_register_virtual_type): Remove.
+	(sh_sh4_register_type): New function.
+	(sh_default_register_virtual_type): Remove.
+	(sh_default_register_type): New function.
+	(do_fv_register_info): Add parameters to accomodate call from
+	sh_print_registers_info.
+	(do_dr_register_info): Ditto.
+	(sh_print_pseudo_register): Rename from sh_do_pseudo_register.
+	Add parameters to accomodate call from sh_print_registers_info.
+	(sh_do_fp_register): Ditto.
+	(sh64_do_pseudo_register): Call do_dr_register_info,
+	do_fv_register_info and sh_do_fp_register with default parameters.
+	(sh_do_register): Add parameters to accomodate call from
+	sh_print_registers_info.
+	(sh_print_register): Ditto.
+	(sh_print_registers_info): Rename from sh_do_registers_info.
+	Add parameters to be used as gdbarch_print_registers_info
+	implementation.  Accomodate removed do_pseudo_register function
+	pointer.
+	(sh_compact_do_registers_info): Accomodate removed do_pseudo_register
+	function pointer. Call sh_print_register with default parameters.
+	(sh64_do_registers_info): Call sh_print_registers_info instead of
+	sh_do_registers_info.
+	(sh_gdbarch_init): Rearrange to cleanup and to allow easier
+	detection of deprecated vs. non-deprecated functionality.
+	Rename sh_call_dummy_words to sh64_call_dummy_words.  Remove
+	function pointer assignments by direct function calls.
+
+2003-07-15  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (get_frame_id): Use frame_unwind_find_by_frame.
+	(frame_register_unwind, create_new_frame): Ditto.
+	(legacy_get_prev_frame, get_frame_type): Ditto.
+	(get_frame_base_address): Use frame_base_find_by_frame.
+	(get_frame_locals_address): Use frame_base_find_by_frame.
+	(get_frame_args_address): Use frame_base_find_by_frame.
+	* frame-base.h (frame_base_sniffer_ftype): Declare.
+	(frame_base_append_sniffer): Declare.
+	(frame_base_find_by_frame): Replace frame_base_find_by_pc.
+	* frame-base.c (append_predicate): Add a "sniffer" parameter.
+	(frame_base_append_sniffer): New function.
+	(frame_base_append_predicate): Add a NULL sniffer.
+	(frame_base_find_by_frame): Replace "frame_base_find_by_pc".
+	(struct frame_base_table): Add "sniffer".
+	(frame_base_free): Free the "sniffer" table.
+	* frame-unwind.h (frame_unwind_sniffer_ftype): Define.
+	(frame_unwind_append_sniffer): Declare.
+	(frame_unwind_find_by_frame): Replace frame_unwind_find_by_pc.
+	* frame-unwind.c (frame_unwind_free): Free the "sniffer" table.
+	(struct frame_unwind_table): Add "sniffer", delete "middle".
+	(append_predicate): Add "sniffer" parameter, append the sniffer.
+	(frame_unwind_init): Update append_predicate call.
+	(frame_unwind_append_sniffer): New function.
+	(frame_unwind_append_predicate): Update append_predicate call.
+	(frame_unwind_find_by_frame): Replace frame_unwind_find_by_pc.
+
+2003-07-15  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (get_prev_frame): Move disabled inside_entry_func to
+	before code inhibiting repeated unwind attempts.  Add to
+	commentary on that test's problems.
+	* blockframe.c (inside_main_func): Look for "main" in the minimal
+	symbol table.
+	* d10v-tdep.c (d10v_frame_this_id): Delete check that frames are
+	identical.
+
+2003-07-15  Andrew Cagney  <cagney@redhat.com>
+
+	* complaints.c (struct explanation): Define.
+	(struct complaints): Change type of "explanation" to "struct
+	explanation".
+	(symfile_explanations): Convert to a "struct explanation" table.
+	(vcomplaint): Update.
+
+2003-07-15  Michal Ludvig  <mludvig@suse.cz>
+
+	* x86-64-linux-nat.c (regmap): Removed.
+	(supply_gregset, fill_gregset): Call
+	x86_64_linux_(fill,supply)_gregset functions.
+	* x86-64-linux-tdep.c (USER_*): New defines.
+	(user_to_gdb_regmap, x86_64_core_fns): New structure.
+	(x86_64_linux_supply_gregset, x86_64_linux_fill_gregset):
+	New functions.
+	(fetch_core_registers): Ditto.
+	(_initialize_x86_64_linux_tdep): Call add_core_fns().
+	* x86-64-linux-tdep.h: New file.
+	* config/i386/x86-64linux.mh (NATDEPFILES): Remove corelow.o
+	and core-regset.o.
+	* config/i386/x86-64linux.mt (TDEPFILES): Add corelow.o.
+
+2003-07-13  Mark Kettenis  <kettenis@gnu.org>
+
+	* x86-64-tdep.c (x86_64_store_return_value): Use
+	regcache_cooked_write_part instead of regcache_cooked_write.
+
+	* configure.host: Add x86_64-*-freebsd*.
+	* configure.tgt: Add x86_64-*-freebsd*.
+	* Makefile.in (amd64fbsd-nat.o, amd64fbsd-tdep.o): New targets.
+	* amd64fbsd-nat.c: New file.
+	* amd64fbsd-tdep.c: New file.
+	* config/i386/nm-fbsd64.h: New file.
+	* config/i386/fbsd64.mh: New file.
+	* config/i386/fbsd64.mt: New file.
+
+2003-07-11  Mark Kettenis  <kettenis@gnu.org>
+
+	* alpha-tdep.h (struct gdbarch_tdep): Add members `sc_pc_offset',
+	`sc_regs_offset' and `sc_fpregs_offset'.
+	* alpha-tdep.c (SIGFRAME_PC_OFF, SIGFRAME_REGSAVE_OFF,
+	SIGFRAME_FPREGSAVE_OFF): Remove defines.
+	(alpha_sigtramp_register_address): Rewrite to use new members of
+	`struct gdbarch_tdep'.
+	(alpha_gdbarch_init): Initialize new members of struct
+	gdbarch_tdep'.
+	* alphafbsd-tdep.c (alphafbsd_use_struct_convention): Use
+	ALPHA_REGISTER_SIZE instead of DEPRECATED_REGISTER_SIZE.
+	(alphafbsd_sigtramp_start, alphafbsd_sigtramp_end): Nre variables.
+	(alphafbsd_pc_in_sigtramp): Implement.
+	(alphafbsd_sigtramp_offset): New function.
+	(alphafbsd_sigcontext_addr): New function.
+	(alphafbsd_init_abi): Initialize signal trampoline related members
+	of `struct gdbarch_tdep'.
+	(_initialize_alphafbsd_tdep): Add prototype.
+
+2003-07-11  Theodore A. Roth  <troth@openavr.org>
+
+	* Makefile.in (install-only): Quote sed expression when generating
+	transformed_name.
+
+2003-07-11  Richard Henderson  <rth@redhat.com>
+
+	* Makefile.in (dwarf2-frame.o): Add complaints_h.
+	* dwarf2-frame.c: Include complaints.h.
+	(decode_frame_entry_1): Rename from decode_frame_entry; tidy
+	variable initialization; return NULL on error.
+	(decode_frame_entry): New.
+
+2003-07-11  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.h (frame_address_in_block): Delete declaration.
+	* blockframe.c (frame_address_in_block): Delete function.
+	(get_frame_block): Use get_frame_address_in_block.
+	(block_innermost_frame): Ditto.
+	* stack.c (print_frame, backtrace_command_1): Ditto.
+
+	* frame.h (get_frame_address_in_block): Declare.
+	(frame_unwind_address_in_block): Declare.
+	* frame.c (frame_unwind_address_in_block): New function.
+	(get_frame_address_in_block): New function.
+
+2003-07-10  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh: Simplify predicate methods.  Remove need to provide
+	pre-default.   Note: re-generate has no effect.
+
+2003-07-10  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh: When a variable, but not a function, compare against
+	0.  Fix problem in previous patch.
+	* gdbarch.c: Re-generate.
+
+2003-07-10  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh: Use gdb_assert instead of internal_error.  Compare
+	functions against NULL, not 0.
+	* gdbarch.c: Re-generate.
+
+2003-07-10  Fred Fish  <fnf@ninemoons.com>
+
+	* coff-solib.h (SOLIB_LOADED_LIBRARY_PATHNAME): Default to a
+	null string instead of a null pointer.
+	* solib.h (SOLIB_LOADED_LIBRARY_PATHNAME): Ditto.
+
+2003-07-09  Michael Snyder  <msnyder@redhat.com>
+
+	* sh-tdep.c (sh_dsp_register_sim_regno): Off-by-one error.
+
+2003-07-09  Mark Kettenis  <kettenis@gnu.org>
+
+	* x86-64-tdep.h (X86_64_RAX_REGNUM, X86_64_RDX_REGNUM,
+	X86_64_RDI_REGNUM, X86_64_RBP_REGNUM, X86_64_RSP_REGNUM,
+	X86_64_RIP_REGNUM, X86_64_EFLAGS_REGNUM, X86_64_ST0_REGNUM,
+	X86_64_XMM0_REGNUM, X86_64_XMM1_REGNUM): Moved here ...
+	* x86-64-tdep.c: ... from here.
+
+2003-07-09  Andreas Schwab  <schwab@suse.de>
+
+	* m68k-tdep.h (enum struct_return): Define.
+	(struct gdbarch_tdep): Add struct_return.
+	* m68k-tdep.c (m68k_push_dummy_call): Non-scalars bigger than 4
+	bytes are padded to the right, not to the left.  Pass struct value
+	address in register %a1, not on stack.
+	(m68k_use_struct_convention): New function.
+	(m68k_gdbarch_init): Set use_struct_convention.  Initialize
+	struct_return in tdep to pcc_struct_return.
+	* m68klinux-tdep.c (m68k_linux_init_abi): Set struct_return to
+	reg_struct_return.
+
+2003-07-09  Joel Brobecker  <brobecker@gnat.com>
+
+	* somread.c (som_symfile_offsets): Fix compilation error.
+
+2003-07-09  Andrew Cagney  <cagney@redhat.com>
+
+	* regcache.c (register_size): Only check REGISTER_RAW_SIZE once.
+	Add comments about the checks.
+
+2003-07-08  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.in: Make dependency section headers consistent.
+	(config_h): Move to $BUILD headers section.
+	(exc_request_U_h, exc_request_S_h, msg_reply_S_h): Ditto.
+	(msg_U_h, notify_S_h, process_reply_S_h): Ditto.
+	(ada-exp.tab.c): Move to YACC/LEX section.
+	(ada-lex.c, c-exp.tab.c, f-exp.tab.c): Ditto.
+	(jv-exp.tab.c, m2-exp.tab.c, objc-exp.tab.c, p-exp.tab.c): Ditto.
+
+2003-07-08  Kris Warkentin  <kewarken@qnx.com>
+
+	* nto-procfs.c: Cleaned up a bunch of ARI hits.
+	Include "gdb_dirent.h" instead of <dirent.h>, replace all instances
+	of strerror with safe_strerror, use ISO C function definitions,
+	and replace instances of sprintf with snprintf.
+
+2003-07-07  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (get_prev_frame): Enable check for identical frames.
+	Update comments.  Update error messages.
+
+2003-07-07  Joel Brobecker  <brobecker@gnat.com>
+
+        * hpread.c (hpread_psymtab_to_symtab_1): Fix compilation failure.
+
+2003-07-07  Joel Brobecker  <brobecker@gnat.com>
+
+        * xcoffread.c (xcoff_psymtab_to_symtab_1): Remove call to
+        sort_symtab_syms, no longer necessary.
+
+2003-07-07  Joel Brobecker  <brobecker@gnat.com>
+
+	* config/mips/tm-irix6.h (MIPS_REGISTER_TYPE): Add comment.
+
+2003-07-07  Joel Brobecker  <brobecker@gnat.com>
+
+	* mips-tdep.c (mips_register_raw_size): Fix compilation failure.
+	(mips_register_byte): Likewise.
+
+2003-07-07  Daniel Jacobowitz  <drow@mvista.com>
+
+	* Makefile.in (sparc_tdep_h): New.
+	(sparc-linux-nat.o, sparc-nat.o, sparc-tdep.o, sparc64nbsd-nat.o)
+	(sparcnbsd-nat.o, sparcnbsd-tdep.o): Depend on $(sparc_tdep_h).
+	* sparc-linux-nat.c: Include "sparc-tdep.h".
+	* sparc-nat.c: Likewise.
+	* sparc-tdep.c: Likewise.
+	* sparc64nbsd-nat.c: Likewise.
+	* sparcnbsd-nat.c: Likewise.
+	* sparcnbsd-tdep.c: Likewise.
+	* sparc-tdep.h: New file.
+	* config/sparc/tm-sparc.h: Remove prototypes for sparc_y_regnum
+	and sparc_npc_regnum.
+
+2003-07-07  Daniel Jacobowitz  <drow@mvista.com>
+
+	* mips-linux-nat.c (mips_linux_cannot_fetch_register)
+	(mips_linux_cannot_store_register): List supported instead of
+	unsupported registers.
+
+2003-07-07  Daniel Jacobowitz  <drow@mvista.com>
+
+	* disasm.c (dump_insns): Separate instructions from addresses.
+
+2003-07-07  Andreas Schwab  <schwab@suse.de>
+
+	* Makefile.in (m68k-tdep.o, m68klinux-tdep.o): Update
+	dependencies.
+	* m68k-tdep.c (NUM_FREGS): Delete.
+	(SIG_PC_FP_OFFSET): Delete.
+	(TARGET_M68K): Delete.
+	(P_MOVEAL_SP_FP, P_ADDAW_SP, P_ADDAL_SP, P_SUBQW_SP,
+	P_SUBQL_SP, P_LEA_SP_SP, P_LEA_PC_A5, P_FMOVEMX_SP,
+	P_MOVEL_SP, P_MOVEML_SP): Define.
+	(P_MOVL_SP_FP, P_MOVL, P_JSR, P_BSR, P_LEAL, P_MOVML, P_FMOVM,
+	P_TRAP): Delete.
+        (m68k_register_raw_size): Delete.
+	(m68k_register_virtual_size): Delete.
+	(m68k_register_type): Renamed from m68k_register_virtual_type and
+	add gdbarch argument.
+	(m68k_store_struct_return): Delete.
+	(m68k_deprecated_extract_return_value): Delete.
+	(m68k_deprecated_extract_struct_value_address): Delete.
+	(m68k_frame_chain): Delete.
+	(m68k_frame_saved_pc): Delete.
+	(m68k_fix_call_dummy): Delete.
+	(m68k_push_dummy_frame): Delete.
+	(m68k_pop_frame): Delete.
+	(m68k_extract_return_value): New function.
+	(m68k_store_return_value): Rewrite using regcache.
+	(m68k_extract_struct_value_address): Rewrite using regcache.
+	(m68k_push_dummy_call): New function.
+	(struct m68k_frame_cache): Define.
+	(m68k_alloc_frame_cache): New function.
+	(m68k_analyze_frame_setup): New function.
+	(m68k_analyze_register_saves): New function.
+	(m68k_analyze_prologue): New function.
+	(m68k_skip_prologue): Rewrite using above functions.
+	(m68k_unwind_pc): New function.
+	(m68k_frame_cache): New function.
+	(m68k_frame_this_id): New function.
+	(m68k_frame_prev_register): New function.
+	(m68k_frame_unwind): New variable.
+	(m68k_frame_p): New function.
+	(m68k_sigtramp_frame_cache): New function.
+	(m68k_sigtramp_frame_this_id): New function.
+	(m68k_sigtramp_frame_prev_register): New function.
+	(m68k_sigtramp_frame_unwind): New variable.
+	(m68k_sigtramp_frame_p): New function.
+	(m68k_frame_base_address): New function.
+	(m68k_frame_base): New function.
+	(m68k_unwind_dummy_id): New function.
+	(fill_gregset): Use regcache_collect.
+	(fill_fpregset): Likewise.
+	(m68k_saved_pc_after_call): Only define if SYSCALL_TRAP is
+	defined.
+	(m68k_gdbarch_init): Don't define call_dummy_words.  Don't set
+	deprecated_init_frame_pc, deprecated_store_struct_return,
+	deprecated_extract_return_value, deprecated_store_return_value,
+	deprecated_frame_chain, deprecated_frame_saved_pc,
+	deprecated_frame_init_saved_regs, deprecated_register_raw_size,
+	deprecated_register_virtual_size,
+	deprecated_max_register_raw_size,
+	deprecated_max_register_virtual_size,
+	deprecated_register_virtual_type, deprecated_register_size,
+	deprecated_register_byte, deprecated_register_bytes,
+	deprecated_fp_regnum, deprecated_use_generic_dummy_frames,
+	call_dummy_location, deprecated_call_dummy_breakpoint_offset,
+	deprecated_pc_in_call_dummy, deprecated_call_dummy_length,
+	deprecated_call_dummy_start_offset, deprecated_call_dummy_words,
+	deprecated_sizeof_call_dummy_words, deprecated_fix_call_dummy,
+	deprecated_push_dummy_frame, deprecated_pop_frame,
+	deprecated_dummy_write_sp.  Set deprecated_saved_pc_after_call
+	only if SYSCALL_TRAP is defined.  Set extract_return_value,
+	store_return_value, extract_struct_value_address, register_type,
+	push_dummy_call, unwind_dummy_id, unwind_pc.  Add two frame unwind
+	predicates.
+	* m68k-tdep.h (M68K_D1_REGNUM, M68K_NUM_REGS,
+	M68K_MAX_REGISTER_SIZE): Define.
+	(struct m68k_sigtramp_info): Define.
+	(struct gdbarch_tdep): Add get_sigtramp_info.
+	* m68klinux-nat.c (fetch_register): Use register_size instead of
+	REGISTER_RAW_SIZE.  Don't put assignment in if.
+	(store_register): Likewise.
+	(fetch_inferior_registers): Likewise.
+	(store_inferior_registers): Likewise.
+	* m68klinux-tdep.c (m68k_linux_sigtramp_saved_pc): Delete.
+	(m68k_linux_frame_saved_pc): Delete.
+	(m68k_linux_sigcontext_reg_offset,
+	m68k_linux_ucontext_reg_offset): Define.
+	(m68k_linux_get_sigtramp_info): New function.
+	(m68k_linux_extract_return_value): Rewrite using regcache.
+	(m68k_linux_store_return_value): Likewise.
+	(m68k_linux_extract_struct_value_address): Likewise.
+	(m68k_linux_init_abi): Set get_sigtramp_info in tdep structure.
+	Don't set deprecated_frame_saved_pc,
+	deprecated_extract_return_value, deprecated_store_return_value,
+	deprecated_extract_struct_value_address.  Set
+	extract_return_value, store_return_value,
+	extract_struct_value_address.
+
+2003-07-07  Andrew Cagney  <cagney@redhat.com>
+
+	* expprint.c: Include "user-regs.h" instead of "frame.h".
+	(print_subexp): Use user_reg_map_regnum_to_name, instead of
+	frame_map_regnum_to_name.
+	* frame.c: Include "user-regs.h" instead of "builtin-regs.h".
+	(frame_map_name_to_regnum): Simplify, call
+	user_reg_map_name_to_regnum.
+	(frame_map_regnum_to_name): Simplify, call
+	user_reg_map_regnum_to_name.
+	(frame_register_unwind): Update.
+	* std-regs.c: Include "user-regs.h" instead of "builtin-regs.h".
+	(_initialize_frame_reg): Call user_reg_add_builtin.
+	* findvar.c: Include "user-regs.h" instead of "builtin-regs.h".
+	(value_of_register): Use value_of_user_reg.
+	* eval.c (evaluate_subexp_standard): Update.
+	* parse.c (write_dollar_variable): Update.
+	* d10v-tdep.c (d10v_print_registers_info): Update.
+	* infcmd.c (registers_info): Update.
+	* Makefile.in (SFILES): Delete "builtin-regs.c", add "user-regs.c".
+	(builtin_regs_h): Delete macro.
+	(user_regs_h): Define.
+	(COMMON_OBS): Delete "builtin-regs.o", add "user-regs.o".
+	(builtin-regs.o): Delete target.
+	(user-regs.o): Specify dependencies.
+	(expprint.o): Update dependencies.
+	(findvar.o): Update dependencies.
+	(frame.o): Update dependencies.
+	(std-regs.o): Update dependencies.
+
+2003-07-06  Christopher Faylor  <cgf@redhat.com>
+
+	* win32-nat.c (solib_symbols_add): Use one variable for all section
+	address stuff.  Pass variable rather than address of variable to
+	safe_symbol_file_add.
+
+2003-07-06  Andreas Schwab  <schwab@suse.de>
+
+	* m68klinux-nat.c (fill_fpregset): Fix use of loop index.
+
+2003-07-04  Joel Brobecker  <brobecker@gnat.com>
+
+	* rs6000-nat.c (vmap_symtab): Fix compilation error.
+
+2003-07-04  Kris Warkentin  <kewarken@qnx.com>
+
+	* config/i386/nto.mh: Set XM_FILE to xm-i386.h
+
+2003-07-04  Kris Warkentin  <kewarken@qnx.com>
+
+	* nto-procfs.c: New file.  Native procfs support for QNX Neutrino.
+	* config/i386/nto.mh: New file.
+	* config/i386/nm-nto.h: New file.
+	* configure.host: Add i[3456]86-*-nto*.
+
+2003-07-03  Joel Brobecker  <brobecker@gnat.com>
+
+	* remote-vx.c (vx_add_symbols): Fix compilation error.
+
+2003-07-03  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (REGISTER_NAME): Do not supply a default.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* config/sparc/tm-sparc.h (REGISTER_NAME): Define.
+	(legacy_register_name): Declare.
+	* config/sparc/tm-sp64.h (legacy_register_name): Declare.
+	(REGISTER_NAME): Define.
+	* sparc-tdep.c (legacy_register_name): New function.
+	* config/pa/tm-hppa64.h (REGISTER_NAMES): Delete macro.
+	(REGISTER_NAME): Define.
+	(hppa64_register_name): Declare.
+	* config/pa/tm-hppa.h (REGISTER_NAMES): Delete macro.
+	* hppa-tdep.c (hppa_gdbarch_init): Set hppa_register_name.
+	(hppa64_register_name): New function.
+	(hppa_register_name): New function.
+	* arch-utils.c (legacy_register_name): Delete.
+	* arch-utils.h (legacy_register_name): Delete.
+
+2003-07-03  Daniel Jacobowitz  <drow@mvista.com>
+
+	* cli/cli-interp.c (cli_interpreter_resume): Update the
+	cli_uiout's stream to gdb_stdout.
+
+2003-07-03  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (REGISTER_RAW_SIZE, REGISTER_VIRTUAL_SIZE): Add
+	predicate.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* regcache.c (init_regcache_descr): Use legacy code when either
+	REGISTER_BYTE or REGISTER_RAW_SIZE is set.
+
+2003-07-02  Daniel Jacobowitz  <drow@mvista.com>
+
+	* NEWS: Move "set logging" entry into GDB 6.0 section.
+
+2003-07-02  Jim Blandy  <jimb@redhat.com>
+
+	* s390-tdep.c (struct frame_extra_info): new member:
+	'stack_bought_valid'.
+	(s390_get_frame_info): Set fextra_info->stack_bought_valid if we
+	initialize fextra_info->stack_bought.
+	(s390_frameless_function_invocation): Don't trust the value of
+	fextra_info_ptr->stack_bought unless
+	fextra_info->stack_bought_valid is set.
+
+	New S390 prologue analyzer.
+	* s390-tdep.c (struct prologue_value, enum pv_boolean): New types.
+	(pv_set_to_unknown, pv_set_to_constant, pv_set_to_register,
+	pv_constant_last, pv_add, pv_add_constant, pv_subtract,
+	pv_logical_and, pv_is_identical, pv_is_register, pv_is_array_ref,
+	compute_x_addr, s390_on_stack, s390_store,
+	s390_get_signal_frame_info): New functions.
+	(S390_NUM_SPILL_SLOTS): New macro.
+	(s390_get_frame_info): Rewritten.
+	(is_arg_reg): Deleted.
+
+        Break out the decoding of S/390 instructions into separate
+        functions, to make it more legible, and easier to check
+        against the spec.
+        * s390-tdep.c (is_ri, is_ril, is_rr, is_rre, is_rs, is_rse,
+	is_rx, is_rxe): New functions.
+	(op1_aghi, op2_aghi, op1_ahi, op2_ahi, op_ar, op_basr, op1_bras,
+	op2_bras, op_l, op_la, op1_larl, op2_larl, op_lgr, op1_lghi,
+	op2_lghi, op1_lhi, op2_lhi, op_lr, op_nr, op_ngr, op_s, op_st,
+	op_std, op1_stg, op2_stg, op_stm, op1_stmg, op2_stmg, op_svc): New
+	enums for opcode values.  (Is this an improvement?)
+
+2003-07-02  Andrew Cagney  <cagney@redhat.com>
+
+	* i386-tdep.c: Revert change committed as part of trad-frame code
+	below.
+
+2003-07-02  Daniel Jacobowitz  <drow@mvista.com>
+
+	* breakpoint.c (insert_catchpoint): Make static.
+
+2003-07-02  Andreas Schwab  <schwab@suse.de>
+
+	* ia64-tdep.c (ia64_push_dummy_call): Define as combination of
+	former ia64_push_arguments and ia64_push_return_address, and use
+	regcache functions instead of read/write_register.
+	(ia64_gdbarch_init): Set push_dummy_call instead of
+	deprecated_push_arguments and deprecated_push_return_address.
+
+2003-07-01  Andreas Jaeger  <aj@suse.de>
+
+	* x86-64-tdep.c (x86_64_push_arguments): Align stack to 16-byte
+	before the call.
+	Set %rax only to number of SSE registers used.
+
+2003-07-01  Andrew Cagney  <cagney@redhat.com>
+
+	* trad-frame.h: Update comments, a -1 .addr is reserved.
+	(trad_frame_value_p, trad_frame_addr_p): Declare.
+	(trad_frame_reg_p): Declare.
+	(trad_frame_set_value): Rename trad_frame_register_value.
+	(trad_frame_set_unknown): Declare.
+	* trad-frame.c (trad_frame_realreg_p): New function.
+	(trad_frame_addr_p, trad_frame_value_p): New function.
+	(trad_frame_set_unknown): New function.
+	(trad_frame_alloc_saved_regs): Initialize .addr to -1, not zero.
+	(trad_frame_prev_register): Use trad_frame_realreg_p,
+	trad_frame_addr_p and trad_frame_value_p.
+	(trad_frame_set_value): Rename trad_frame_register_value.
+	* d10v-tdep.c (d10v_frame_unwind_cache): Use trad_frame_addr_p
+	and trad_frame_set_value.
+
+2003-06-30  Jim Blandy  <jimb@redhat.com>
+
+	Patch from IBM (authors unspecified, probably Ulrich Weigand and
+	Gerhard Tonn) for argument passing on the S/390 and S/390x:
+	* s390-tdep.c (S390_STACK_FRAME_OVERHEAD): This is always space
+	for 16 registers, and then 32 more bytes.
+	(S390_STACK_PARAMETER_ALIGNMENT, S390_NUM_FP_PARAMETER_REGISTERS):
+	New macros.
+	(is_double_arg): The s390x doesn't handle DOUBLE_ARGS specially.
+	Move up in the file, since it's now used by is_simple_arg.
+	(is_simple_arg): Don't assume registers are four bytes long.
+	Exclude all double arguments.  Extended floats are not simple
+	args.
+	(is_power_of_two): New function.
+	(pass_by_copy_ref): Call is_power_of_two, and check that the
+	length fits in a register, rather than listing all the acceptable
+	sizes.  Extended floats are not passed by reference.
+	(s390_push_arguments): Don't assume registers are four bytes long.
+	Reserve an argument register to point to the buffer for structures
+	returned by value.  Use S390_NUM_FP_PARAMETER_REGISTERS and
+	S390_STACK_FRAME_OVERHEAD.
+
+2003-06-30  Andreas Schwab  <schwab@suse.de>
+
+	* utils.c (internal_vproblem): Use xvasprintf, not xasprintf, to
+	format error message.
+
+2003-06-30  Joel Brobecker  <brobecker@gnat.com>
+
+	* sparc-tdep.c (stop_after_trap): Remove declaration, not used.
+
+2003-06-30  David Carlton  <carlton@kealia.com>
+
+	Band-aid for PR c++/1245.
+	* Makefile.in (cp-support.o): Depend on complaints_h.
+	* cp-support.c: Include complaints.h.  Add declaration for
+	find_last_component.
+	(cp_find_first_component): Separate code into
+	cp_find_first_component_aux.
+	(cp_find_first_component_aux): Call demangled_name_complaint.
+	(demangled_name_complaint): New.
+
+2003-06-30  Andrew Cagney  <cagney@redhat.com>
+
+	* remote.c (remote_write_bytes): Explicitly compute and then use
+	the payload size.  Update comments to reflect.  Fixes problem of
+	GDB not sending small packets as found by Fred Fish.
+
+2003-06-30  Andrew Cagney  <cagney@redhat.com>
+
+	* remote.c (remote_async_wait): Fix -Wformat problem.
+
+2003-06-29  Andrew Cagney  <cagney@redhat.com>
+
+	* remote.c (remote_wait): Call error, and not warning, when the
+	packet is corrupt.
+	(remote_async_wait): Ditto.
+
+2003-06-29  Daniel Jacobowitz  <drow@mvista.com>
+
+	* sparc-tdep.c (sparc_y_regnum): Make external again.
+
+2003-06-29  Daniel Jacobowitz  <drow@mvista.com>
+
+	* cli/cli-logging.c (pop_output_files): Add void to function
+	definition.
+
+2003-06-29  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (frame_register_unwind): Use unsigned char when dumping
+	the buffer contents.
+
+2003-06-28  Daniel Jacobowitz  <drow@mvista.com>
+
+	* cli/cli-logging.c: New file.
+	* cli-out.c (struct ui_out_data): Add original_stream.
+	(cli_redirect): New function.
+	(cli_ui_out_impl): Add cli_redirect.
+	(cli_out_new): Initialize original_stream.
+	* ui-out.c (default_ui_out_impl): Add NULL for redirect member.
+	(uo_redirect, ui_out_redirect): New.
+	* ui-out.h (struct ui_out_impl): Add redirect member.
+	(redirect_ftype): New.
+	(ui_out_redirect): Add prototype.
+	* Makefile.in: Add rules for cli-logging.c.
+	* NEWS: Mention "set logging".
+
+2003-06-27  Elena Zannoni  <ezannoni@redhat.com>
+
+	* config/powerpc/ppc64-linux.mh (NATDEPFILES): Add linux-nat.o.
+
+2003-06-27  Andrew Cagney  <cagney@redhat.com>
+
+	* m68hc11-tdep.c (m68hc11_call_dummy_address): Delete function.
+	(m68hc11_gdbarch_init): Do not set call_dummy_address.
+	* avr-tdep.c (avr_call_dummy_address): Delete function.
+	(avr_gdbarch_init): Do not set call_dummy_address.
+
+2003-06-27  Elena Zannoni  <ezannoni@redhat.com>
+
+	* symfile.c (syms_from_objfile): Move variables to inner block.
+	Move the checks for the non-mainline case a bit earlier to avoid
+	doing some useless computations.
+
+2003-06-27  Elena Zannoni  <ezannoni@redhat.com>
+
+        * dwarfread.c (decode_modified_type): Gag new compiler warning.
+
+2003-06-26  Elena Zannoni  <ezannoni@redhat.com>
+
+	* dwarf2read.c (dwarf2_locate_sections): Ignore empty .eh_frame
+	sections.
+
+2003-06-26  Michael Chastain  <mec@shout.net>
+
+	* config/djgpp/fnchange.lst: Add gdb/testsuite/gdb.c++/pr-1210.cc,
+	gdb/testsuite/gdb.c++/pr-1210.exp.
+
+2003-06-26  Andrew Cagney  <cagney@redhat.com>
+
+	* config/djgpp/fnchange.lst: Fix 8.3 problem with sim/ppc's
+	altivec_expression.h and altivec_registers.h.
+
+2003-06-26  Andrew Cagney  <cagney@redhat.com>
+
+	* mips-tdep.c (gdb_print_insn_mips): Only explicitly set
+	info->mach when MIPS16.  Patch suggested by Fred Fish.
+
+2003-06-26  Andrew Cagney  <cagney@redhat.com>
+
+	* utils.c (internal_vproblem): Print the problem to a reason
+	buffer and then pass to query.  Make the msg variable more local.
+
+2003-06-26  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (FRAME_ARGS_ADDRESS): Add predicate.  Deprecate.
+	(FRAME_LOCALS_ADDRESS): Add predicate.  Deprecate.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* frame-base.c (default_frame_args_address): Update.  Use
+	default_frame_base_address when DEPRECATED_FRAME_ARGS_ADDRESS is
+	not available.
+	(default_frame_locals_address): Ditto for
+	DEPRECATED_FRAME_LOCALS_ADDRESS.
+	* vax-tdep.c (vax_sigtramp_saved_pc): Update.
+	(vax_frame_num_args): Update.
+	(vax_gdbarch_init): Update.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Update.
+	* ns32k-tdep.c (ns32k_gdbarch_init): Update.
+	* mcore-tdep.c (mcore_gdbarch_init): Update.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+	* ia64-tdep.c (ia64_gdbarch_init): Update.
+	* symtab.h (address_class): Update comments.
+	* ns32k-tdep.c (ns32k_sigtramp_saved_pc): Update.
+	* config/sparc/tm-sparc.h (DEPRECATED_FRAME_ARGS_ADDRESS): Update.
+	(DEPRECATED_FRAME_LOCALS_ADDRESS): Update.
+	* config/pa/tm-hppa64.h (DEPRECATED_FRAME_ARGS_ADDRESS): Update.
+	(DEPRECATED_FRAME_LOCALS_ADDRESS): Update.
+	(DEPRECATED_FRAME_LOCALS_ADDRESS): Update.
+	* config/m68k/tm-delta68.h (DEPRECATED_FRAME_ARGS_ADDRESS): Update.
+	* alpha-mdebug-tdep.c: Update.
+	* ada-lang.c (add_symbols_from_enclosing_procs): Update.
+
+2003-06-26  Andreas Jaeger  <aj@suse.de>
+
+	* x86-64-tdep.c (x86_64_push_arguments): Always set %rax to number
+	of SSE registers so that varargs functions work.  Rework handling
+	of passing arguments on the stack.
+	(x86_64_store_return_value): Return double and float values in SSE
+	register.
+
+2003-06-24  Michael Chastain  <mec@shout.net>
+
+	* PROBLEMS: Document pr gdb/1091 and pr gdb/1193,
+	the "constructor breakpoints ignored" bug.
+
+2003-06-25  David Carlton  <carlton@kealia.com>
+
+	* MAINTAINERS: Update e-mail address.
+
+2003-06-24  Jim Blandy  <jimb@redhat.com>
+
+	* ppc-linux-tdep.c: More "Linux" -> "GNU/Linux".
+
+	* ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): New
+	function.
+	(ppc_linux_init_abi): Register it as the
+	CONVERT_FROM_FUNC_PTR_ADDR method under the PPC64 Linux ABI.
+
+	* ppc-linux-tdep.c (ppc64_call_dummy_address): New function.
+	(ppc_linux_init_abi): Set it as the gdbarch's call_dummy_address
+	method.
+
+	* ppc-linux-tdep.c (ppc64_desc_entry_point): New function.
+	(ppc64_standard_linkage_target): Use it.
+
+2003-06-23  Andrew Cagney  <cagney@redhat.com>
+
+	* rs6000-tdep.c (rs6000_register_virtual_type): Add explict cases
+	for 0 "int0" and 4 "int32" sized registers.
+	* gdbtypes.c (builtin_type_int0): Define.
+	(build_gdbtypes): Initialize builtin_type_int0.
+	* gdbtypes.h (builtin_type_int0): Declare.
+
+2003-06-23  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Clear gdb_arch_char_signed
+	as characters are unsigned.
+
+2003-06-22  Daniel Jacobowitz  <drow@mvista.com>
+
+	PR gdb/1179
+	* dwarfread.c (struct_type): Skip static fields without crashing.
+
+2003-06-22  Andrew Cagney  <cagney@redhat.com>
+
+	GDB 6.0 branch created.
+	* README: Update.
+	* PROBLEMS: Update.  Empty.
+	* NEWS: Update.
+
+2003-06-22  Daniel Jacobowitz  <drow@mvista.com>
+
+	* symfile.c (add_symbol_file_command): Use parse_and_eval_address.
+	Suggested by Nick Hibma <n_hibma@webweaving.org>.
+
+2003-06-22  Andrew Cagney  <cagney@redhat.com>
+
+	* osabi.c (generic_elf_osabi_sniff_abi_tag_sections): Handle
+	GNU_ABI_TAG_FREEBSD and GNU_ABI_TAG_NETBSD.  Suggested by Momchil
+	Velikov.
+
+2003-06-22  Daniel Jacobowitz  <drow@mvista.com>
+
+	* cli/cli-cmds.c (shell_escape): Silence warnings from old
+	compilers.
+
+2003-06-21  Daniel Jacobowitz  <drow@mvista.com>
+
+	* c-valprint.c (c_value_print): Add VALUE_OFFSET to the address
+	argument of val_print.
+	* cp-valprint.c (cp_print_value): Don't add the offset parameter
+	to the address argument of baseclass_offset or target_read_memory.
+	Do add it to the argument of cp_print_value_fields.
+
+2003-06-21  Andrew Cagney  <cagney@redhat.com>
+
+	* mips-tdep.c: Include "reggroups.h" and "sim-regno.h".
+	(mips_register_name): Return names for NUM_REGS..2*NUM_REGS
+	instead of 0..NUM_REGS.
+	(mips_register_reggroup_p): New function.
+	(mips_pseudo_register_write): New function.
+	(mips_pseudo_register_read): New function.
+	(mips_register_raw_size): For NUM_REGS..2*NUM_REGS return the size
+	based on the register's type.
+	(read_next_frame_reg): Simplify.  Assert that REGNO is a pseudo /
+	cooked.
+	(mips_get_saved_register): Simplify.  Assert that REGNO is a
+	pseudo / cooked.
+	(mips_register_byte): New function.  Use MIPS_REGISTER_BYTE.
+	(mips_register_type): Replace mips_register_virtual_type.  Map
+	NUM_REGS..2*NUM_REGS onto 0..NUM_REGS.  Use MIPS_REGISTER_TYPE
+	when available.
+	(read_next_frame_reg): Simplify, but handle SP_REGNUM.  Assert
+	that the register is cooked / virtual.
+	(mips_frame_saved_pc): Fetch the cooked PC, and not the raw PC.
+	Only get the extra info when needed.
+	(set_reg_offset): Save the offset in NUM_REGS..2*NUM_REGS as well.
+	(mips32_heuristic_proc_desc): Fetch the cooked register.
+	(heuristic_proc_desc, mips_pop_frame, get_frame_pointer): Ditto.
+	(mips_init_extra_frame_info, get_frame_pointer): Ditto.
+	(mips_print_register): Use gdbarch_register_type, instead of
+	REGISTER_VIRTUAL_TYPE.
+	(print_gp_register_row): Use gdbarch_register_type, instead of
+	REGISTER_VIRTUAL_TYPE.  Allow for a pseudo / cooked REGNUM.
+	(mips_print_registers_info): Assert REGNO is pseodo / cooked.
+	Print the pseudo / cooked registers.
+	(mips_print_registers_info): Assert REGNO is pseodo / cooked.
+	Print the pseudo / cooked registers.
+	(mips_xfer_register): Use regcache_cooked_read_part.  Assert that
+	REG_NUM is pseudo / cooked.
+	(mips_o32_xfer_return_value): Xfer the pseudo / cooked register.
+	(mips_n32n64_xfer_return_value): Ditto.
+	(mips_stab_reg_to_regnum): Map onto NUM_REGS..2*NUM_REGS.
+	(mips_dwarf_dwarf2_ecoff_reg_to_regnum): Ditto.
+	(mips_register_sim_regno): New function.
+	(mips_gdbarch_init): Set deprecated_register_byte,
+	register_group_p, pseudo_register_write, pseudo_register_read,
+	register_sim_regno, and num_pseudo_regs.  Set register_type,
+	instead of register_virtual_type.
+	* Makefile.in (mips-tdep.o): Update dependencies.
+	* config/mips/tm-mips64.h (MIPS_REGISTER_TYPE): Rename
+	REGISTER_VIRTUAL_TYPE.
+	* config/mips/tm-mips.h	(MIPS_REGISTER_TYPE): Ditto.
+	* config/mips/tm-irix5.h (MIPS_REGISTER_TYPE): Ditto.
+	* config/mips/tm-mips.h (MIPS_REGISTER_BYTE): Rename REGISTER_BYTE.
+	* config/mips/tm-irix6.h (MIPS_REGISTER_BYTE): Ditto.
+	* config/mips/tm-irix5.h (MIPS_REGISTER_BYTE): Ditto.
+
+2003-06-21  Daniel Jacobowitz  <drow@mvista.com>
+
+	* Makefile.in (cli-cmds.o): Depend on $(gdb_vfork_h)
+	* cli/cli-cmds.c: Include "gdb_vfork.h".
+	(shell_escape): Use vfork.
+
+2003-06-21  Andrew Cagney  <cagney@redhat.com>
+
+	* mips-tdep.c (mips_find_saved_regs): Rewrite mdebug code handling
+	32 bit floating-point register saves.
+
+	* frame.h (deprecated_unwind_get_saved_register): Delete.
+	* frame.c (deprecated_unwind_get_saved_register): Delete function.
+	* mips-tdep.c (mips_get_saved_register): Use frame_register_unwind
+	and deprecated_get_next_frame_hack instead of
+	deprecated_unwind_get_saved_register.
+
+	* mips-tdep.c (mips_dump_tdep): Do not print
+	REGISTER_CONVERT_FROM_TYPE or REGISTER_CONVERT_TO_TYPE.
+
+	* frame.c (get_frame_register): New function.
+	(frame_unwind_register_signed): New function.
+	(get_frame_register_signed): New function.
+	(frame_unwind_register_unsigned): New function.
+	(get_frame_register_unsigned): New function.
+	* frame.h: Add comments on naming schema.
+	(get_frame_register, frame_unwind_register_signed): Declare.
+	(get_frame_register_signed, get_frame_register_signed): Declare.
+	(frame_unwind_register_unsigned): Declare.
+	(get_frame_register_unsigned): Declare.
+
+2003-06-20  Theodore A. Roth  <troth@openavr.org>
+
+	* avr-tdep.c (avr_gdbarch_init): Don't call set_gdbarch_bfd_vma_bit.
+
+2003-06-20  Theodore A. Roth  <troth@openavr.org>
+
+	* avr-tdep.c (avr_read_pc): Use regcache instead of read_register.
+	(avr_read_sp): Ditto.
+
+2003-06-20  Daniel Jacobowitz  <drow@mvista.com>
+
+	* config/arm/linux.mt: Remove code protected by GDBSERVER define.
+	* config/arm/nm-linux.h: Likewise.
+	* config/arm/tm-linux.h: Likewise.
+	* config/ia64/nm-linux.h: Likewise.
+	* config/ia64/tm-ia64.h: Likewise.
+	* config/s390/tm-linux.h: Likewise.
+	* config/s390/tm-s390.h: Likewise.
+	* s390-nat.c: Likewise.
+	* s390-tdep.c: Likewise.
+
+	* config/i386/linux.mt: Don't set GDBSERVER_DEPFILES.
+	* config/ia64/linux.mt: Likewise.
+	* config/m68k/linux.mh: Likewise.
+	* config/mips/linux.mt: Likewise.
+	* config/powerpc/linux.mh: Likewise.
+	* config/sh/linux.mt: Likewise.
+
+2003-06-19  Kris Warkentin  <kewarken@qnx.com>
+
+	* solib.c (solib_open): Change tests for whether to search
+	LD_LIBRARY_PATH and PATH to better deal with remotes.  Update
+	comments.
+
+2003-06-19  Theodore A. Roth  <troth@openavr.org>
+
+	* avr-tdep.c (avr_frame_address): Delete function.
+	(avr_gdbarch_init): Don't call set_gdbarch_frame_args_address,
+	set_gdbarch_frame_args_address.
+
+2003-06-19  Andrew Cagney  <cagney@redhat.com>
+
+	* config/mips/tm-mips.h (REGISTER_CONVERT_TO_TYPE): Delete.
+	(REGISTER_CONVERT_FROM_TYPE): Delete.
+	(mips_register_convert_to_type): Delete declaration.
+	(mips_register_convert_from_type): Delete declaration.
+	* linux-nat.h (struct target_ops): Declare opaque.  s/Linux/Linux
+	kernel/.
+
+2003-06-19  Michael Snyder  <msnyder@redhat.com>
+
+	* linux-nat.h: New file.
+	* linux-nat.c: Include linux-nat.h.
+	* lin-lwp.c: Include linux-nat.h.
+	Move struct lwp_info def to linux-nat.h.
+	* linux-proc.c: Include linux-nat.h.
+	(linux_make_note_section): Iterate over lwps instead of threads.
+	(linux_do_thread_registers): Use lwp instead of merged pid.
+	* config/nm-linux.h: Move miscelaneous def'ns to linux-nat.h.
+	* Makefile.in (lin-lwp.o, linux-proc.o, linux-nat.o):
+	Add dependency on linux_nat_h.
+
+2003-06-19  Theodore A. Roth  <troth@openavr.org>
+
+	* avr-tdep.c (avr_extract_return_value): Delete debugging fprintf.
+
+2003-06-19  Daniel Jacobowitz  <drow@mvista.com>
+
+	* varobj.c (get_type, get_target_type): Use check_typedef.
+
+2003-06-19  Daniel Jacobowitz  <drow@mvista.com>
+
+	* breakpoint.c (insert_catchpoint): Call internal_error.
+
+2003-06-19  Theodore A. Roth  <troth@openavr.org>
+
+	* avr-tdep.c (avr_push_dummy_code): Delete function.
+	(avr_gdbarch_init): Don't call set_gdbarch_push_dummy_code.
+
+2003-06-19  Daniel Jacobowitz  <drow@mvista.com>
+
+	* arch-utils.c (default_prepare_to_proceed): Remove.
+	(generic_prepare_to_proceed): Remove.
+	* arch-utils.h (default_prepare_to_proceed): Remove prototype.
+	(generic_prepare_to_proceed): Remove prototype.
+	* gdbarch.sh (PREPARE_TO_PROCEED): Remove.
+	* gdbarch.c: Regenerate.
+	* gdbarch.h: Regenerate.
+	* hppa-tdep.c (hppa_prepare_to_proceed): Remove dangling prototype.
+	* hppah-nat.c (hppa_switched_threads): Remove.
+	* infrun.c (prepare_to_proceed): New static function, copied from
+	generic_prepare_to_proceed.  Remove select_it argument.
+	(proceed): Call prepare_to_proceed.
+	* infttrace.c (old_gdb_pid, reported_pid, reported_bpt): Remove
+	variables.
+	(ptrace_wait): Don't set the removed variables.
+	(hppa_switched_threads): Remove.
+	* lin-lwp.c (lin_lwp_prepare_to_proceed): Remove.
+	* config/nm-linux.h (PREPARE_TO_PROCEED): Don't define.
+	(lin_lwp_prepare_to_proceed): Remove prototype.
+	* config/i386/nm-x86-64linux.h (PREPARE_TO_PROCEED): Don't undefine.
+	* config/pa/nm-hppah.h (PREPARE_TO_PROCEED): Don't define.
+
+2003-06-18  Theodore A. Roth  <troth@openavr.org>
+
+	* avr-tdep.c: Include frame.h, frame-unwind.h, frame-base.h, and
+	trad-frame.h.
+	(AVR_MAX_PROLOGUE_SIZE): Increase from 56 to 64.
+	(AVR_ARG1_REGNUM, AVR_ARGN_REGNUM): Define.
+	(AVR_RET1_REGNUM, AVR_RETN_REGNUM): Define.
+	(AVR_PROLOGUE_*): Enumerate prologue types.
+	(struct frame_extra_info): Remove.
+	(struct avr_unwind_cache): Define.
+	(avr_write_sp): Delete function.
+	(avr_read_fp): Ditto.
+	(avr_init_extra_frame_info): Ditto.
+	(avr_pop_frame): Ditto.
+	(avr_frame_saved_pc): Ditto.
+	(avr_saved_pc_after_call): Ditto.
+	(avr_push_return_address): Ditto.
+	(avr_frame_chain): Ditto.
+	(avr_store_struct_return): Ditto.
+	(avr_push_arguments): Ditto.
+	(avr_scan_prologue): Update comments. Changed to set up the info for
+	cache unwinding. Now returns end of prologue PC.
+	(avr_skip_prologue): Better handling of functions lacking a prologue
+	by using avr_scan_prologue.
+	(avr_scan_arg_moves): New function.
+	(avr_saved_regs_unwinder): Ditto.
+	(avr_frame_unwind_cache): Ditto.
+	(avr_unwind_pc): Ditto.
+	(avr_frame_this_id): Ditto.
+	(avr_frame_prev_register): Ditto.
+	(avr_frame_p): Ditto.
+	(avr_frame_base_address ): Ditto.
+	(avr_unwind_dummy_id): Ditto.
+	(avr_push_dummy_code): Ditto.
+	(push_stack_item): Ditto.
+	(pop_stack_item): Ditto.
+	(avr_push_dummy_call): Ditto.
+	(struct stack_item): Define.
+	(avr_frame_unwind): Declare structure.
+	(avr_frame_base): Ditto.
+	(avr_gdbarch_init): Remove calls to
+	set_gdbarch_deprecated_init_frame_pc,
+	set_gdbarch_deprecated_target_read_fp,
+	set_gdbarch_deprecated_dummy_write_sp,
+	set_gdbarch_deprecated_fp_regnum,
+	set_gdbarch_deprecated_push_arguments,
+	set_gdbarch_deprecated_push_return_address,
+	set_gdbarch_deprecated_pop_frame,
+	set_gdbarch_deprecated_store_struct_return,
+	set_gdbarch_deprecated_frame_init_saved_regs,
+	set_gdbarch_deprecated_init_extra_frame_info,
+	set_gdbarch_deprecated_frame_chain,
+	set_gdbarch_deprecated_frame_saved_pc,
+	set_gdbarch_deprecated_saved_pc_after_call.
+	Add calls to set_gdbarch_push_dummy_call,
+	set_gdbarch_push_dummy_code,
+	frame_unwind_append_predicate,
+	frame_base_set_default,
+	set_gdbarch_unwind_dummy_id,
+	set_gdbarch_unwind_pc.
+	Wrap a long line.
+
+2003-06-18  Corinna Vinschen  <vinschen@redhat.com>
+
+	* h8300-tdep.c (h8300s_register_name): Enable MACH and MACL
+	registers for H8/300S.
+	(h8300_print_registers_info): Ditto.
+	(h8300_gdbarch_init): Accommodate register count for H8/300S.
+
+2003-06-18  Daniel Jacobowitz  <drow@mvista.com>
+
+	* config/nm-linux.h (linux_record_stopped_pid): New prototype.
+	* lin-lwp.c (child_wait): Call linux_record_stopped_pid.
+	(lin_lwp_wait): Likewise.  Update comments.
+	* linux-nat.c (struct simple_pid_list, add_to_pid_list)
+	(pull_pid_from_list, linux_record_stopped_pid): New.
+
+2003-06-17  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* ada-lang.c (scan_discrim_bound): Name first argument.
+	(ada_add_block_symbols): Remove BLOCK_SYM to use local variable
+	declared by ALL_BLOCK_SYMBOLS.
+
+2003-06-17  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* ada-tasks.c (find_function_in_inferior): Don't declare it.
+	("regcache.h"): Include it.
+	* ada-lex.l (block_lookup): Replace VAR_NAMESPACE with VAR_DOMAIN.
+
+2003-06-17  Daniel Jacobowitz  <drow@mvista.com>
+
+        * NEWS: Mention gdbserver detach change and "disconnect" command.
+        * infcmd.c (disconnect_command): New function.
+        (_initialize_infcmd): Add ``disconnect'' command.
+        * remote.c (remote_async_detach): Delete.
+        (remote_detach): Merge remote_async_detach.
+        (remote_disconnect): New.
+        (init_remote_ops): Set to_disconnect.
+        (init_remote_cisco_ops): Likewise.
+        (init_remote_async_ops): Likewise.  Use remote_detach.
+        * target.c (cleanup_target): Default to_disconnect.
+        (update_current_target): Inherit to_disconnect.
+        (target_disconnect, debug_to_disconnect): New functions.
+        (setup_target_debug): Set to_disconnect.
+        * target.h (struct target_ops): Add to_disconnect.
+        (target_disconnect): Add prototype.
+
+2003-06-17  Daniel Jacobowitz  <drow@mvista.com>
+
+	* breakpoint.c (insert_catchpoint): New function.
+	(insert_breakpoints): Use catch_exceptions to call
+	insert_catchpoint.  Disable catchpoints if they fail to insert.
+
+2003-06-17  Daniel Jacobowitz  <drow@mvista.com>
+
+	* symfile.c (reread_symbols): Clear sym_private.
+
+2003-06-17  Andrew Cagney  <cagney@redhat.com>
+
+	* trad-frame.h (struct frame_info): Add opaque declaration.
+	* remote-fileio.h (struct cmd_list_element): Add opaque
+	declaration.
+	* h8300-tdep.c (h8300s_register_name): Avoid C++ // style
+	comments.
+
+2003-06-17  Daniel Jacobowitz  <drow@mvista.com>
+
+	* remote.c (remote_prepare_to_store): Replace call to
+	deprecated_read_register_bytes with multiple regcache_raw_read
+	calls.
+
+2003-06-17  Kris Warkentin  <kewarken@qnx.com>
+
+	* nto-tdep.c (nto_map_arch_to_cputype): Recognize "powerpc".
+	(nto_find_and_open_solib): Likewise.
+	(nto_init_solib_absolute_prefix): Likewise.
+	(_initialize_nto_tdep): Fix indentation.
+
+2003-06-17  Kris Warkentin  <kewarken@qnx.com>
+
+	* i386-nto-tdep.c (i386nto_sigcontext_addr): Make sp a CORE_ADDR.
+
+2003-06-17  Kris Warkentin  <kewarken@qnx.com>
+
+	* i386-nto-tdep.c (i386nto_sigcontext_addr): Declare sp before using.
+
+2003-06-17  Jim Blandy  <jimb@redhat.com>
+
+	* ppc-linux-tdep.c: "Linux" -> "GNU/Linux"
+
+2003-06-16  Theodore A. Roth  <troth@openavr.org>
+
+	* avr-tdep.c (avr_extract_return_value): New function.
+	(avr_gdbarch_init): Set extract_return_value method.
+
+2003-06-16  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.h (deprecated_get_next_frame_hack): Declare.
+	* frame.c (legacy_saved_regs_prev_register): Only require
+	DEPRECATED_FRAME_INIT_SAVED_REGS when it is needed.  Assert that
+	there are always saved regs.
+	(deprecated_generic_get_saved_register): Do not require
+	DEPRECATED_FRAME_INIT_SAVED_REGS.
+	(legacy_get_prev_frame): Do not require DEPRECATED_FRAME_CHAIN,
+	use frame ID unwind instead.
+	(deprecated_get_next_frame_hack): New function.
+
+2003-06-16  Corinna Vinschen  <vinschen@redhat.com>
+
+	* h8300-tdep.c (h8300_push_arguments): Remove.  Substitute by...
+	(h8300_push_dummy_call): ...this function.  Some minor optimization.
+	(h8300_push_return_address): Remove.
+	(h8300_gdbarch_init): Remove calls to
+	set_gdbarch_deprecated_dummy_write_sp,
+	set_gdbarch_deprecated_push_arguments and
+	set_gdbarch_deprecated_push_return_address.
+	Add call to set_gdbarch_push_dummy_call.
+
+2003-06-16  Corinna Vinschen  <vinschen@redhat.com>
+
+	* h8300-tdep.c (E_PSEUDO_CCR_REGNUM): New define.
+	(E_PSEUDO_EXR_REGNUM): Ditto.
+	(h8300_is_argument_spill): Check for instructions moving argument
+	registers into safe registers.
+	(h8300_skip_prologue): Check for stm instruction to push registers
+	used for register variables onto stack.
+	(gdb_print_insn_h8300): Remove.
+	(h8300_examine_prologue): Add a comment.
+	(h8300_register_name): Take pseudo registers into account.
+	(h8300s_register_name): Ditto.
+	(h8300sx_register_name): Ditto.
+	(h8300_print_register): Ditto.
+	(h8300_print_registers_info): Define "nice" printing order.
+	(h8300_saved_pc_after_call): Take pseudo registers into account.
+	(h8300_register_type): Ditto.  Return type used for remote connection
+	when requesting real CCR or EXR register, return actual type when
+	requesting pseudo CCR or EXR.
+	(h8300_pseudo_register_read): New function.
+	(h8300_pseudo_register_write): Ditto.
+	(h8300_dbg_reg_to_regnum): Ditto.
+	(h8300s_dbg_reg_to_regnum): Ditto.
+	(h8300_gdbarch_init): Call set_gdbarch_num_pseudo_regs,
+	set_gdbarch_ecoff_reg_to_regnum, set_gdbarch_dwarf_reg_to_regnum,
+	set_gdbarch_dwarf2_reg_to_regnum, set_gdbarch_stab_reg_to_regnum and
+	set_gdbarch_print_insn architecture dependent.
+	Call set_gdbarch_pseudo_register_read and
+	set_gdbarch_pseudo_register_write.
+	(_initialize_h8300_tdep): Remove assignment to deprecated_tm_print_insn.
+
+2003-06-16  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (SAVE_DUMMY_FRAME_TOS): Deprecate.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+	* s390-tdep.c (s390_gdbarch_init): Update.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Update.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Update.
+	* mips-tdep.c (mips_gdbarch_init): Update.
+	* mcore-tdep.c (mcore_gdbarch_init): Update.
+	* cris-tdep.c (cris_gdbarch_init): Update.
+	* infcall.c (call_function_by_hand): Update.
+	* ia64-tdep.c (ia64_push_arguments): Update comment.
+	* frame.c (legacy_get_prev_frame): Do not assume
+	SAVE_DUMMY_FRAME_TOS_P.
+	* dummy-frame.c (find_dummy_frame): Update comment.
+
+2003-06-16  Andrew Cagney  <cagney@redhat.com>
+
+	* regcache.c (do_cooked_read): Do not use register_valid_p.
+
+2003-06-15  Theodore A. Roth  <troth@openavr.org>
+
+	* avr-tdep.c (avr_register_type): Remove a blank line.
+	(avr_scan_prologue): Correct some comments.
+
+2003-06-15  Theodore A. Roth  <troth@openavr.org>
+
+	* avr-tdep.c (avr_scan_prologue): Update comment describing the various
+	prologue types.
+	Properly scan prologues generated by gcc with the -mcall-prologues
+	option.
+	Add code to scan -mcall-prologues for mega devices.
+
+2003-06-15  Theodore A. Roth  <troth@openavr.org>
+
+	* avr-tdep.c (avr_register_byte): Delete function.
+	(avr_register_raw_size): Delete function.
+	(avr_register_virtual_size): Delete function.
+	(avr_register_virtual_type): Delete function.
+	(avr_register_type): New function.
+	(avr_address_to_pointer): Remove unused code.
+	(avr_read_fp): Need to read FP as two separate bytes due to change to
+	avr_register_type() usage.
+	(avr_gdbarch_init): Don't set deprecated_register_size.
+	Don't set deprecated_register_bytes.
+	Don't set deprecated_register_byte.
+	Don't set deprecated_register_raw_size.
+	Don't set deprecated_max_register_raw_size.
+	Don't set deprecated_register_virtual_size.
+	Don't set deprecated_max_register_virtual_size.
+	Don't set deprecated_register_virtual_type.
+	Set register_type method.
+
+2003-06-15  Daniel Jacobowitz  <drow@mvista.com>
+
+	* Makefile.in (linux-nat.o): Add rule.
+	* linux-nat.c: New file.
+	* config/nm-linux.h (CHILD_INSERT_FORK_CATCHPOINT): Define.
+	(CHILD_INSERT_VFORK_CATCHPOINT): Define.
+	(CHILD_INSERT_EXEC_CATCHPOINT): Define.
+	* config/alpha/alpha-linux.mh (NATDEPFILES): Add linux-nat.o.
+	* config/arm/linux.mh (NATDEPFILES): Likewise.
+	* config/i386/linux.mh (NATDEPFILES): Likewise.
+	* config/i386/x86-64linux.mh (NATDEPFILES): Likewise.
+	* config/ia64/linux.mh (NATDEPFILES): Likewise.
+	* config/m68k/linux.mh (NATDEPFILES): Likewise.
+	* config/mips/linux.mh (NATDEPFILES): Likewise.
+	* config/powerpc/linux.mh (NATDEPFILES): Likewise.
+	* config/s390/s390.mh (NATDEPFILES): Likewise.
+	* config/sparc/linux.mh (NATDEPFILES): Likewise.
+
+2003-06-15  Mark Kettenis  <kettenis@gnu.org>
+
+	* i387-tdep.c: Reorder includes, fix some whitespace issues and
+	replace out-of-date comment.
+
+2003-06-15  Andrew Cagney  <cagney@redhat.com>
+
+	* rdi-share/host.h (Fail): Change to a varargs function.
+	* remote-rdi.c (Fail): Update.
+
+2003-06-15  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-tdep.c (i386_next_regnum): Fix bounds checking.
+	(i386_convert_register_p, i386_register_to_value,
+	i386_register_from_value): Handle types longer than 8 bytes.
+
+2003-06-15  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-tdep.c (i386_register_to_value, i386_value_to_register):
+	Move floating-point code to new function in i387-tdep.c.
+	* i387-tdep.c (i387_register_to_value, i387_value_to_register):
+	New functions containing code moved here from i386-tdep.c.
+	* i387-tdep.h: Add opaque declaration for `struct type'.
+	(i387_register_to_value, i387_value_to_register): New prototypes.
+	* x86-64-tdep.c (x86_64_convert_register_p): New function.
+	(x86_64_init_abi): Set convert_register_p, register_to_value and
+	value_to_register here.
+
+2003-06-14  Andrew Cagney  <cagney@redhat.com>
+
+	* mips-tdep.c (mips_register_to_value): Make static.
+	(mips_value_to_register): Make static.
+	* i386-tdep.c (i386_fetch_pointer_argument): Make static.
+	* ia64-tdep.c (ia64_register_raw_size): Make static.
+	(ia64_register_virtual_size): Make static.
+	(ia64_register_byte): Make static.
+	* i387-tdep.c: Include "i387-tdep.h".
+	(print_387_control_word): Delete function.
+	(print_387_status_word): Delete function.
+	(print_387_status_bits): Delete function.
+	(print_387_control_bits): Delete function.
+	* Makefile.in (i387-tdep.o): Update dependencies.
+	* rdi-share/host.h (Fail): Declare.
+	* remote-rdi.c (Fail): Update to match declaration.
+
+2003-06-14  Andrew Cagney  <cagney@redhat.com>
+
+	* config/mips/embedl64.mt (TDEPFILES): Delete "remote-array.o".
+	* config/mips/embedl.mt (TDEPFILES): Delete "remote-array.o".
+	* config/mips/embed64.mt (TDEPFILES): Delete "remote-array.o".
+	* config/djgpp/fnchange.lst: Delete "remote-array.c".
+	* README: Delete reference to remote-array.
+	* Makefile.in (ALLDEPFILES): Remove "remote-array.c".
+	(remote-array.o): Delete target.
+	* config/mips/embed.mt (TDEPFILES): Delete "remote-array.o".
+	* remote-array.c: Delete file.
+
+2003-06-14  Andrew Cagney  <cagney@redhat.com>
+            Mark Kettenis  <kettenis@gnu.org>
+
+	* gdbarch.sh (CONVERT_REGISTER_P): Add "type" parameter.
+	(REGISTER_TO_VALUE, VALUE_TO_REGISTER): Replace raw buffer
+	parameter with "frame".
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* frame.h (put_frame_register): Declare.
+	* frame.c (put_frame_register): New function.
+	* arch-utils.c (legacy_convert_register_p): Add "type" parameter.
+	(legacy_register_to_value): Rewrite, use "frame" to get the
+	register value.
+	(legacy_value_to_register): Rewrite, use "frame" to find the
+	register's location before storing.
+	* arch-utils.h (legacy_convert_register_p): Update.
+	(legacy_register_to_value, legacy_value_to_register): Update.
+	* findvar.c (value_from_register): Rewrite, eliminate use of
+	REGISTER_CONVERT_TO_TYPE, pass "type" to CONVERT_REGISTER_P, pass
+	"frame" to REGISTER_TO_VALUE.
+	* valops.c (value_assign): Move the CONVERT_REGISTER code to the
+	lval_reg_frame_relative + lval_register branch of the switch.  Do
+	not use REGISTER_CONVERT_FROM_TYPE.  Use put_frame_register.
+	* i386-tdep.c (I386_EBX_REGNUM, I386_ECX_REGNUM, I386_ESI_REGNUM,
+	I386_EDI_REGNUM): New defines.
+	(i386_next_regnum, i386_convert_register_p,
+	i386_register_to_value, i386_value_to_register): New functions.
+	(i386_register_convertible, i386_register_convert_to_virtual,
+	i386_convert_to_raw): Remove functions.
+	(i386_gdbarch_init): Set convert_register_p, register_to_value and
+	value_to_register instead of register_convertible,
+	register_convert_to_virtual and register_convert_to_raw.
+	* mips-tdep.c (mips_convert_register_p): New function.
+	(mips_value_to_register): Replace mips_register_convert_from_type.
+	(mips_register_to_value): Replace mips_register_convert_to_type.
+	(mips_gdbarch_init): Set conver_register_p, value_to_register and
+	register_to_value.
+	* alpha-tdep.c (alpha_convert_register_p): Update.
+	(alpha_value_to_register): Update, store the register.
+	(alpha_register_to_value): Update, fetch the register.
+
+2003-06-14  Theodore A. Roth  <troth@openavr.org>
+
+	* avr-tdep.c (avr_remote_translate_xfer_address): Delete function.
+	(avr_gdbarch_init): Remove avr_call_dummy_words variable.
+	Don't set deprecated_call_dummy_words.
+	Remove commented out set_gdbarch_believe_pcc_promotion() call.
+	Don't set remote_translate_xfer_address.
+	(avr_io_reg_read_command): Remove commented out debug printf.
+	Wrap a long line.
+
+2003-06-14  Theodore A. Roth  <troth@openavr.org>
+
+	* avr-tdep.c (avr_scan_prologue): Fix to avoid a buffer over run which
+	causes gdb to seg fault.
+
+2003-06-14  Daniel Jacobowitz  <drow@mvista.com>
+
+	* sparc-nat.c (fetch_inferior_registers): Correct
+	a reference to "registers".
+
+2003-06-14  Jeroen Dekkers  <jeroen@dekkers.cx>
+
+	* Makefile.in (exc_request_U_h): Define
+	(exc_request_S_h): Likewise.
+	(msg_reply_S_h): Likewise.
+	(msg_U_h): Likewise.
+	(notify_S_h): Likewise.
+	(process_reply_S_h): Likewise.
+	(gnu-nat.o): Depend on gdb_obstack_h
+	* gnu-nat.c: Include "gdb_obstack.h".
+
+2003-06-13  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh: Document what PUSH_DUMMY_CALL replaces.
+	* gdbarch.h, gdbarch.c: Re-generate.
+
+2003-06-13  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh: Document what UNWIND_DUMMY_ID replaces.  Clarify
+	when deprecated REGISTER macros can be deleted.
+	* gdbarch.h, gdbarch.c: Re-generate.
+
+2003-06-13  Jim Blandy  <jimb@redhat.com>
+
+	* solib-svr4.c (solib_break_names): Recognize the 64-bit PowerPC
+	Linux entry point symbols for _dl_debug_state, too.
+
+2003-06-13  Andrew Cagney  <cagney@redhat.com>
+
+	* infcall.c (call_function_by_hand): When UNWIND_DUMMY_ID is
+	available, do not use the FP register, and always save the TOS.
+	* dummy-frame.c (dummy_frame_this_id): Do not assert
+	SAVE_DUMMY_FRAME_TOS.
+	* i386-tdep.c (i386_save_dummy_frame_tos): Delete function.
+	(i386_gdbarch_init): Do not set save_dummy_frame_tos.
+	(i386_push_dummy_call): Add 8 to the returned SP.
+	* frame.c (legacy_frame_p): Do not require SAVE_DUMMY_FRAME_TOS.
+	* d10v-tdep.c (d10v_unwind_dummy_id): Use d10v_unwind_sp.
+	(d10v_gdbarch_init): Do not set save_dummy_frame_tos.
+	* x86-64-tdep.c (x86_64_save_dummy_frame_tos): Delete function.
+	(x86_64_push_dummy_call): Return "sp + 16".
+	(x86_64_init_abi): Do not set save_dummy_frame_tos.
+	* alpha-tdep.c (alpha_gdbarch_init): Do not set
+	save_dummy_frame_tos.
+
+2003-06-13  Jim Blandy  <jimb@redhat.com>
+
+	* frv-tdep.c (frv_use_struct_convention): Delete static
+	declaration for function deleted in my change of 2003-06-12.
+
+2003-06-13  Theodore A. Roth  <troth@openavr.org>
+
+	* avr-tdep.c (avr_address_to_pointer): Shift code addrs right 1 bit.
+	(avr_pointer_to_address): Shift code addrs left 1 bit.
+	(avr_convert_from_func_ptr_addr): Delete function since operation is
+	better handled by avr_address_to_pointer and avr_pointer_to_address.
+	(avr_gdbarch_init): Don't set convert_from_func_ptr_add method.
+
+2003-06-13  Mark Kettenis  <kettenis@gnu.org>
+
+	From Kelley Cook  <kelleycook@wideopenwest.com>:
+	* configure.host: Accept i[34567]86 variants.
+	* configure.tgt: Likewise.
+	* nlm/configure.in: Likewise.
+	* nlm/configure: Regenerated.
+
+2003-06-13  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-tdep.c (solib-svr4.h): Dont' include it.
+	(arm_linux_svr4_fetch_link_map_offsets): Move to ...
+	* arm-linux-tdep.c: ... here.  Make static.
+	(arm_linux_init_abi): Register it.
+	(solib-svr4.h): Include it.
+	* Makefile.in: Update dependencies.
+	* config/arm/tm-linux.h (SVR4_FETCH_LINK_MAP_OFFSETS): Delete.
+	(arm_linux_svr4_fetch_link_map_offsets): Delete declaration.
+
+2003-06-13  Corinna Vinschen  <vinschen@redhat.com>
+
+	* h8300-tdep.c: Add definitions E_RET0_REGNUM and E_RET1_REGNUM to
+	indicate registers used for return values.
+	(struct frame_extra_info): Drop args_pointer and locals_pointer.
+	(h8300_examine_prologue): Remove initializing dropped frame_extra_info
+	members.
+	(h8300_init_extra_frame_info): Ditto.
+	(h8300_frame_locals_address): Removed.
+	(h8300_frame_args_address): Removed.
+	(h8300_extract_return_value): Use new regcache structure. Only care
+	for 16 bit CPUs.
+	(h8300h_extract_return_value): Same function for 32 bit CPUs.
+	(h8300_store_return_value): Use new regcache structure. Only care
+	for 16 bit CPUs.
+	(h8300h_store_return_value): Same function for 32 bit CPUs.
+	(h8300_store_struct_return): Removed.
+	(h8300_extract_struct_value_address): Use new regcache structure.
+	(h8300h_extract_struct_value_address): Removed.
+	(h8300_push_dummy_code): New function.
+	(h8300_gdbarch_init): Slightly rearranged to stress deprecated calls.
+	Remove call_dummy_words.  Call set_gdbarch_extract_return_value and
+	set_gdbarch_store_return_value architecture dependent.
+	Call set_gdbarch_push_dummy_code and
+	set_gdbarch_extract_struct_value_address.
+	Remove calls to set_gdbarch_frame_args_address,
+	set_gdbarch_frame_locals_address,
+	set_gdbarch_deprecated_store_struct_return,
+	set_gdbarch_deprecated_extract_return_value,
+	set_gdbarch_deprecated_extract_struct_value_address,
+	set_gdbarch_deprecated_call_dummy_words and
+	set_gdbarch_deprecated_sizeof_call_dummy_words.
+
+2003-06-13  Corinna Vinschen  <vinschen@redhat.com>
+
+	* h8300-tdep.c (h8300_register_byte): Remove.
+	(h8300h_register_byte): Remove.
+	(h8300_register_virtual_type): Remove.  Substitute by...
+	(h8300_register_type): New function.
+	(h8300_extract_struct_value_address): Drop usage of h8300_register_byte.
+	(h8300h_extract_struct_value_address): Ditto.
+	(h8300_gdbarch_init): Drop calls to
+	set_gdbarch_deprecated_register_byte and
+	set_gdbarch_deprecated_register_virtual_type.
+	Add call to set_gdbarch_register_type.
+
+2003-06-13  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh: Update comments on registers.
+	(deprecated_register_byte): Rename register_byte.
+	(deprecated_register_raw_size): Rename register_raw_size.
+	(deprecated_register_virtual_size): Rename register_virtual_size.
+	(deprecated_register_virtual_type): Rename register_virtual_type.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+	* vax-tdep.c (vax_gdbarch_init): Update.
+	* v850-tdep.c (v850_gdbarch_init): Update.
+	* sparc-tdep.c (sparc_gdbarch_init): Update.
+	* sh-tdep.c (sh_gdbarch_init): Update.
+	* s390-tdep.c (s390_gdbarch_init): Update.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Update.
+	* ns32k-tdep.c: Update.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Update.
+	* mips-tdep.c (mips_gdbarch_init): Update.
+	* mcore-tdep.c (mcore_gdbarch_init): Update.
+	* m68k-tdep.c (m68k_gdbarch_init): Update.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+	* ia64-tdep.c (ia64_gdbarch_init): Update.
+	* hppa-tdep.c (hppa_gdbarch_init): Update.
+	* h8300-tdep.c (h8300_gdbarch_init): Update.
+	* frv-tdep.c (frv_gdbarch_init): Update.
+	* cris-tdep.c (cris_gdbarch_init): Update.
+	* avr-tdep.c (avr_gdbarch_init): Update.
+	* alpha-tdep.c (alpha_gdbarch_init): Update.
+	* arm-tdep.c (arm_gdbarch_init): Update.
+
+2003-06-13  Andrew Cagney  <cagney@redhat.com>
+
+	* mips-tdep.c (mips_gdbarch_init): Replace remaining instances of
+	mips_o32_use_struct_convention with always_use_struct_convention.
+
+2003-06-12  David Carlton  <carlton@kealia.com>
+
+	* cp-namespace.c (cp_set_block_scope): Comment out
+	processing_has_namespace_info branch.
+
+2003-06-12  Jim Blandy  <jimb@redhat.com>
+
+	Recognize and skip 64-bit PowerPC Linux linkage functions.
+	* ppc-linux-tdep.c (insn_d, insn_ds, insn_xfx, read_insn, struct
+	insn_pattern, insns_match_pattern, d_field, ds_field): New
+	functions, macros, and types for working with PPC instructions.
+	(ppc64_standard_linkage, PPC64_STANDARD_LINKAGE_LEN,
+	ppc64_in_solib_call_trampoline, ppc64_standard_linkage_target,
+	ppc64_skip_trampoline_code): New functions, variables, and macros
+	for recognizing and skipping linkage functions.
+	(ppc_linux_init_abi): Use ppc64_in_solib_call_trampoline and
+	ppc64_skip_trampoline_code for the 64-bit PowerPC Linux ABI.
+
+	* ppc-linux-nat.c (ppc_register_u_addr): Correctly compute u-area
+	register offsets for both the 32- and 64-bit interfaces.
+
+	Actually finish the job started by my change of 2003-05-29.
+	* config/powerpc/tm-linux.h (SKIP_TRAMPOLINE_CODE): Remove the
+	other #definition of this.
+	(ppc_linux_skip_trampoline_code): Remove declaration.
+	* ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Make this
+	static.
+	(ppc_linux_init_abi): Register it as the skip_trampoline_code
+	method for GDBARCH.
+
+	* config/powerpc/nm-ppc64-linux.h (PTRACE_XFER_TYPE): This is
+	'long' on ppc64-*-linux*.
+
+	* ppc-linux-nat.c (ppc_register_u_addr, fill_gregset): If PT_MQ
+	isn't #defined, assume the register doesn't exist: act as if
+	tdep->ppc_mq_regnum were -1.
+
+	* configure.host, configure.tgt: Add entries for
+	powerpc64-*-linux, selecting powerpc/ppc64-linux.mh and
+	powerpc/linux.mt.
+	* config/powerpc/ppc64-linux.mh, config/powerpc/nm-ppc64-linux.mh:
+	New files.
+
+	* arch-utils.c (always_use_struct_convention): New function.
+	* arch-utils.h (always_use_struct_convention): New prototype.
+	* alpha-tdep.c (alpha_use_struct_convention): Delete.
+	(alpha_gdbarch_init): Register always_use_struct_convention,
+	instead of alpha_use_struct_convention.
+	* cris-tdep.c (cris_use_struct_convention): Delete.
+	(cris_gdbarch_init): Register always_use_struct_convention,
+	instead of cris_use_struct_convention.
+	* frv-tdep.c (frv_use_struct_convention): Delete.
+	(frv_gdbarch_init): Register always_use_struct_convention,
+	instead of frv_use_struct_convention.
+	* h8300-tdep.c (h8300_use_struct_convention): Delete.
+	(h8300_gdbarch_init): Register always_use_struct_convention,
+	instead of h8300_use_struct_convention.
+	* mips-tdep.c (mips_o32_use_struct_convention): Delete.
+	(mips_o32_gdbarch_init): Register always_use_struct_convention,
+	instead of mips_o32_use_struct_convention.
+
+2003-06-12  Andrew Cagney  <cagney@redhat.com>
+
+	* wince.c: Include "mips-tdep.h".
+	* mips-tdep.h (mips_next_pc): Declare.
+	* mcore-tdep.c: Make more local functions static.
+	* Makefile.in (wince.o): Update dependencies.
+
+2003-06-12  David Carlton  <carlton@kealia.com>
+
+	* symtab.c (lookup_symbol_aux_minsyms): Replace
+	DEPRECATED_SYMBOL_NAME by SYMBOL_LINKAGE_NAME.
+	(find_pc_sect_line, search_symbols, rbreak_command): Ditto.
+	(COMPLETION_LIST_ADD_SYMBOL): Rewrite in terms of
+	SYMBOL_NATURAL_NAME.
+
+2003-06-12  Andreas Schwab  <schwab@suse.de>
+
+	* Makefile.in (tuiDisassem.o): Update dependencies.
+
+2003-06-12  David Carlton  <carlton@bactrian.org>
+
+	* symtab.h: Delete declaration of make_symbol_overload_list.
+	Add declaration of lookup_partial_symbol.
+	* symtab.c (remove_params): Move to cp-support.c.
+	(overload_list_add_symbol, make_symbol_overload_list)
+	(sym_return_val_size, sym_return_val_index): Ditto.
+	(lookup_partial_symbol): Make extern.
+	* cp-support.h: Add declaration of make_symbol_overload_list.
+	* cp-support.c: Include dictionary.h, objfiles.h, frame.h,
+	symtab.h, and block.h.
+	(remove_params): Move here from symtab.c.
+	(overload_list_add_symbol, make_symbol_overload_list)
+	(sym_return_val_size, sym_return_val_index): Ditto.
+	* valops.c: Include cp-support.h.
+	* Makefile.in (cp-support.o): Depend on dictionary_h, objfiles_h,
+	frame_h, and block_h.
+	(valops.o): Depend on cp_support_h.
+
+2003-06-12  Corinna Vinschen  <vinschen@redhat.com>
+
+	* h8300-tdep.c: Add H8SX registers. Drop E_NUM_REGS entirely,
+	substitute by NUM_REGS throughout.
+	(h8300_register_name): Only care for H8/300 and H8/300H registers.
+	(h8300s_register_name): New function for H8S registers.
+	(h8300sx_register_name): Ditto for H8SX registers.
+	(h8300_print_register): Revise register printing, avoid depending
+	on 32 bit long.
+	(h8300_register_byte): Only care for H8/300 registers.
+	(h8300h_register_byte): New function for any other architecture.
+	(h8300_register_raw_size): Remove.
+	(h8300_register_virtual_type): Revise to return actually useful
+	type.
+	(h8300_extract_struct_value_address): Only care for H8/300 registers.
+	(h8300h_extract_struct_value_address): New function for any other
+	architecture.
+	(h8300_gdbarch_init): Add h8300sxn.  Call set_gdbarch_num_regs,
+	set_gdbarch_register_name, set_gdbarch_register_byte,
+	set_gdbarch_ptr_bit and set_gdbarch_addr_bit architecture dependent.
+	Remove calls to set_gdbarch_deprecated_register_size,
+	set_gdbarch_deprecated_register_bytes, set_gdbarch_register_raw_size,
+	set_gdbarch_deprecated_max_register_raw_size,
+	set_gdbarch_register_virtual_size and
+	set_gdbarch_deprecated_max_register_virtual_size entirely.
+	Call set_gdbarch_long_long_bit, set_gdbarch_double_bit and
+	set_gdbarch_long_double_bit.
+
+2003-06-11  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* doublest.c (convert_doublest_to_floatformat): When dealing
+	with the implied integer bit, only alter mant_bits if we are
+	processing a full 32 bits of mantissa.
+
+2003-06-11  David Carlton  <carlton@bactrian.org>
+
+	* dictionary.h: New.
+	* dictionary.c: New.
+	* block.h: Add opaque declaration for struct dictionary.
+	(struct block): Add 'dict' member; delete 'hashtable', 'nsyms',
+	'sym' members.
+	(BLOCK_DICT): New macro.
+	Delete macros BLOCK_HASHTABLE, BLOCK_NSYMS, BLOCK_SYM,
+	BLOCK_BUCKETS, BLOCK_BUCKET, BLOCK_HASHTABLE_SIZE,
+	BLOCK_SHOULD_SORT.
+	(ALL_BLOCK_SYMBOLS): Update definition.
+	* Makefile.in (SFILES): Add dictionary.c.
+	(dictionary_h): New.
+	(COMMON_OBS): Add dictionary.o.
+	(dictionary.o): New.
+	(ada-lang.o): Depend on dictionary_h.
+	(buildsym.o, coffread.o, jv-lang.o, mdebugread.o, objfiles.o)
+	(stack.o, symmisc.o, symtab.o, tracepoint.o, valops.o)
+	(mi-cmd-stack.o): Ditto.
+	(gdbtk-cmds.o): Update dependencies.
+	(gdbtk-stack.o): Ditto.
+	* ada-lang.c: Include dictionary.h.
+	(symtab_for_sym): Update uses of ALL_BLOCK_SYMBOLS.
+	(fill_in_ada_prototype, debug_print_block): Ditto.
+	(ada_add_block_symbols): Update uses of ALL_BLOCK_SYMBOLS; replace
+	explicit iteration by use of ALL_BLOCK_SYMBOLS.  Delete variable
+	'is_sorted'.
+	* mdebugread.c: Include dictionary.h.
+	(struct parse_stack): Delete 'maxsyms' member.
+	(parse_symbol): Update calls to new_block.  Delete calls to
+	shrink_block.  Use dictionary methods.
+	(psymtab_to_symtab_1): Delete calls to sort_symtab_syms.
+	Update calls to new_symtab.  Don't maintain maxsyms data.
+	(mylookup_symbol): Update use of ALL_BLOCK_SYMBOLS.
+	(add_symbol): Just call dict_add_symbol.
+	(new_symtab): Delete 'maxsyms' argument.
+	(new_symtab): Update calls to new_block.
+	(new_block): Delete 'maxsyms' argument; add 'function' argument.
+	(shrink_block): Delete function.
+	(fixup_sigtramp): Update call to new_block.  Add symbol via
+	dict_add_symbol.
+	* jv-lang.c: Include dictionary.h.
+	(get_java_class_symtab): Set the BLOCK_DICT of the blocks
+	appropriately.  Set class_symtab->free_func.  Make sure the
+	blockvector is big enough to hold two blocks.
+	(add_class_symtab_symbol): Use dictionary methods.
+	(free_class_block): New function.
+	(type_from_class): Replace explicit iteration by
+	ALL_BLOCK_SYMBOLS.
+	* symtab.h (struct symtab): Replace 'free_ptr' method by
+	'free_func'.
+	* dwarf2read.c (psymtab_to_symtab_1): Delete call to
+	sort_symtab_syms.
+	* dwarfread.c (psymtab_to_symtab_1): Delete call to
+	sort_symtab_syms.
+	* coffread.c (coff_symfile_read): Delete call to sort_symtab_syms.
+	Include dictionary.h.
+	(patch_opaque_types): Update use of ALL_BLOCK_SYMBOLS.
+	* dbxread.c (dbx_psymtab_to_symtab_1): Delete call to
+	sort_symtab_syms.
+	* objfiles.c: Include dictionary.h.
+	(objfile_relocate): Update use of ALL_BLOCK_SYMBOLS.
+	* buildsym.c: Include dictionary.h.
+	(finish_block): Use dictionary methods.
+	(end_symtab): Set free_func to NULL, not free_ptr.
+	* tracepoint.c: Include dictionary.h.
+	(add_local_symbols): Update use of ALL_BLOCK_SYMBOLS.
+	(scope_info): Ditto.
+	* stack.c: Include dictionary.h.
+	(print_block_frame_locals): Update use of ALL_BLOCK_SYMBOLS.
+	(print_block_frame_labels, print_frame_arg_vars)
+	(print_frame_args): Ditto.
+	* symmisc.c (free_symtab_block): Use dictionary methods.
+	(dump_symtab): Ditto.
+	(free_symtab): Replace use of 'free_ptr' by 'free_func'.
+	Include	dictionary.h.
+	* symfile.h: Delete declarations of sort_block_syms,
+	sort_symtab_syms.
+	* symfile.c (sort_block_syms): Delete.
+	(sort_symtab_syms): Delete.
+	* symtab.c: Include dictionary.h.
+	(lookup_block_symbol): Use dictionary iterators.
+	(find_pc_sect_symtab): Update use of ALL_BLOCK_SYMBOLS.
+	(search_symbols, make_symbol_completion_list): Ditto.
+	(make_symbol_overload_list): Ditto.
+	* valops.c (value_of_local): Use dict_empty.
+	Include dictionary.h.
+
+2003-06-11  J. Brobecker  <brobecker@gnat.com>
+
+	* win32-nat.c (solib_symbols_add): Fix a small compilation error.
+
+2003-06-11  David Carlton  <carlton@bactrian.org>
+
+	* block.h (BLOCK_SHOULD_SORT): Delete.
+	* symtab.c (lookup_block_symbol): Don't worry about sorted linear
+	blocks.
+	* ada-lang.c (ada_add_block_symbols): Ditto.
+	* symfile.c (sort_block_syms): Delete.
+	(sort_symtab_syms): Ditto.
+	* symfile.h: Delete sort_symtabs_syms and sort_block_syms
+	declarations.
+	* coffread.c (coff_symfile_read): Don't call sort_symtab_syms.
+	* dbxread.c (dbx_psymtab_to_symtab_1): Ditto.
+	* dwarf2read.c (psymtab_to_symtab_1): Ditto.
+	* dwarfread.c (psymtab_to_symtab_1): Ditto.
+	* hpread.c (hpread_psymtab_to_symtab_1): Ditto.
+	* mdebugread.c (psymtab_to_symtab_1): Ditto.
+	* xcoffread.c (xcoff_psymtab_to_symtab_1): Ditto.
+
+2003-06-11  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* ia64-tdep.c (ia64_gdbarch_init): Set number of long double
+	bits to 128.
+
+2003-06-11  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_REGISTER_CONVERTIBLE): Deprecate
+	REGISTER_CONVERTIBLE.
+	(DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL): Same.
+	(DEPRECATED_REGISTER_CONVERT_TO_RAW): Same, make "from" constant.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* arch-utils.h (deprecated_register_convertible_not): Rename
+	generic_register_convertible_not.
+	* arch-utils.c (deprecated_register_convertible_not): Rename
+	generic_register_convertible.
+	(legacy_convert_register_p, legacy_register_to_value): Update.
+	* sh-tdep.c (sh64_push_arguments): Update.
+	* m68klinux-tdep.c (m68k_linux_extract_return_value): Update.
+	* config/m68k/tm-delta68.h (DEPRECATED_EXTRACT_RETURN_VALUE): Update.
+	* m68klinux-tdep.c (m68k_linux_store_return_value): Update.
+	* config/m68k/tm-delta68.h (DEPRECATED_STORE_RETURN_VALUE): Update.
+	* arch-utils.c (legacy_value_to_register): Update.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Update.
+	(rs6000_register_convert_to_raw): Make parameter "from" const.
+	* mips-tdep.c (mips_gdbarch_init): Update.
+	(mips_register_convert_to_raw): Make  parameter"virt_buf" const.
+	* infcmd.c (default_print_registers_info): Update.
+	* ia64-tdep.c (ia64_gdbarch_init): Update.
+	(ia64_register_convert_to_raw): Make parameter "from" const.
+	* i386-tdep.c (i386_gdbarch_init): Update.
+	(i386_register_convert_to_raw): Update.
+
+2003-06-11  Andrew Cagney  <cagney@redhat.com>
+
+	* remote-fileio.c: Include "remote-fileio.h".
+	* Makefile.in (remote-fileio.o): Update dependencies.
+	(remote_fileio_h): Fix typo.
+
+2003-06-11  Andrew Cagney  <cagney@redhat.com>
+
+	* xstormy16-tdep.c (xstormy16_push_return_address): Make static.
+	(xstormy16_save_dummy_frame_tos): Make static.
+	(_initialize_xstormy16_tdep): Add declaration.
+	* vax-tdep.c (_initialize_vax_tdep): Add declaration.
+	* v850-tdep.c: Make local functions static.
+	(_initialize_v850_tdep): Add declaration.
+	* sparc-tdep.c: Make local functions static.
+	(_initialize_sparc_tdep): Add declaration.
+	* sh-tdep.c: Make local functions static.
+	(_initialize_sh_tdep): Add declaration.
+	* sh3-rom.c (_initialize_sh3_rom): Add declaration.
+	* s390-tdep.c: Make local functions static.
+	(_initialize_s390_tdep): Add declaration.
+	* dbxread.c (find_stab_function_addr): Make static.
+	* ppc-bdm.c (_initialize_bdm_ppc): Add declaration.
+	* ocd.c (_initialize_remote_ocd): Add declaration.
+	* dink32-rom.c (_initialize_dink32_rom): Add declaration.
+	* ppcbug-rom.c (_initialize_ppcbug_rom): Add declaration.
+	* ns32k-tdep.c (_initialize_ns32k_tdep): Add declaration.
+	* ns32knbsd-tdep.c (_initialize_ns32knbsd_tdep): Add declaration.
+	* mips-tdep.c (_initialize_mips_tdep): Add declaration.
+	* remote-array.c (_initialize_array): Add declaration.
+	(_initialize_remote_monitors): Add declaration.
+	* remote-mips.c: Make local functions static.
+	(_initialize_remote_mips): Add declaration.
+	* mcore-tdep.c: Make all local functions static.
+	(_initialize_mcore_tdep): Add declaration.
+	* dbug-rom.c (_initialize_dbug_rom): Add declaration.
+	* abug-rom.c (_initialize_abug_rom): Add declaration.
+	* rom68k-rom.c (_initialize_rom68k): Add declaration.
+	* cpu32bug-rom.c (_initialize_cpu32bug_rom): Add declaration.
+	* m68k-tdep.c (_initialize_m68k_tdep): Add declaration.
+	* remote-est.c (_initialize_est): Add declaration.
+	* m68hc11-tdep.c (_initialize_m68hc11_tdep): Add declaration.
+	(m68hc11_call_dummy_address): Make static.
+	* ia64-tdep.c: Make local functions static.
+	(_initialize_ia64_tdep): Add declaration.
+	* solib-legacy.c (_initialize_svr4_lm): Add declaration.
+	* monitor.c (monitor_wait_filter): Make static.
+	(_initialize_remote_monitors): Add declaration.
+	* remote-hms.c (_initialize_remote_hms): Add declaration.
+	* remote-e7000.c (fetch_regs_from_dump): Make static.
+	(expect_n): Make static.
+	(_initialize_remote_e7000): Add declaration.
+	* ser-e7kpc.c: Always include "defs.h".
+	(_initialize_ser_e7000pc): Add declaration.
+	* h8300-tdep.c (_initialize_h8300_tdep): Add declaration.
+	* cris-tdep.c: Make all but one function static.
+	(_initialize_cris_tdep): Add declaration.
+	* solib-svr4.c (_initialize_svr4_solib): Add declaration.
+	* solib.c (update_solib_list): Make static.
+	(_initialize_solib): Add declaration.
+	* avr-tdep.c (avr_breakpoint_from_pc): Make static.
+	(_initialize_avr_tdep): Add declaration.
+	* remote-rdi.c (voiddummy): Make static.
+	(_initialize_remote_rdi): Add declaration.
+	* arm-tdep.c (_initialize_arm_tdep): Add declaration.
+	* remote-rdp.c (send_rdp): Make static.
+	(_initialize_remote_rdp): Add declaration.
+	* alpha-tdep.c (_initialize_alpha_tdep): Add declaration.
+
+2003-06-11  Corinna Vinschen  <vinschen@redhat.com>
+
+	* remote-fileio.c: Make ari happy.
+
+2003-06-10  J. Brobecker  <brobecker@gnat.com>
+
+	* rs6000-nat.c (child_xfer_memory): Compute the right address when
+	fetching the trailing bytes of the buffer we are about to write.
+
+2003-06-10  Andrew Cagney  <cagney@redhat.com>
+
+	* remote-fileio.h (REMOTE_FILEIO_H): Replace FILEIO_H.
+	* Makefile.in (remote-fileio.o): Update dependencies.
+	* remote-fileio.c: Include "gdb_wait.h" and "gdb_stat.h".  Do not
+	include <setjmp.h>, or <sys/types.h> conditional on USG.
+	(remote_fio_jmp_buf): Delete global variable.
+
+2003-06-10  Corinna Vinschen  <vinschen@redhat.com>
+            Martin M. Hunt  <hunt@redhat.com>
+
+	* Makefile.in (REMOTE_OBS): Add remote-fileio.o
+	(SFILES): Add remote-fileio.c.
+	Add dependencies for building remote-fileio.o.  Add remote-fileio.h to
+	dependencies for building remote.o.
+	* remote-fileio.c: New file implementing the remote File-I/O protocol.
+	* remote-fileio.h: New header file defining remote File-I/O interface.
+	* remote.c (remote_write_bytes, remote_read_bytes): Remove
+	static storage class.
+	(remote_wait, remote_async_wait): Call remote_fileio_request() on
+	'F' packet.
+	(_initialize_remote): Call initialize_remote_fileio().
+	* remote.h: Declare remote_write_bytes() and remote_read_bytes().
+	* defs.h: Declare gdb_stdin, gdb_stdtargerr and gdb_stdtargin.
+	* main.c: New ui_file gdb_stdin, gdb_stdtargerr and gdb_stdtargin.
+	(captured_main): Initialize new ui_files.
+	* ui-file.c: Add read and fgets input functions.
+	(ui_file_new): set ui_file_fputs and ui_file_read to null functions.
+	(null_file_read): New function.
+	(ui_file_read): New function.
+	(set_ui_file_read): New function.
+	(stdio_file_read): New function.
+	* ui-file.h: New type ui_file_read_ftype.
+	(set_ui_file_read): Declare.
+	(ui_file_read): Declare.
+
+2003-06-09  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.h (deprecated_unwind_get_saved_register): Rename
+	generic_unwind_get_saved_register, update comments.
+	* mips-tdep.c (mips_get_saved_register): Update.
+	* frame.c (deprecated_unwind_get_saved_register): Update.
+
+2003-06-09  Andrew Cagney  <cagney@redhat.com>
+
+	* vax-tdep.c (vax_frame_locals_address): Delete function.
+	(vax_gdbarch_init): Do not set frame_locals_address.
+	* m68hc11-tdep.c (m68hc11_frame_locals_address): Delete function.
+	(m68hc11_gdbarch_init): Do not set frame_locals_address.
+	* s390-tdep.c (s390_frame_args_address): Delete function.
+	(s390_gdbarch_init): Do not set frame_args_address or
+	frame_locals_address.
+	* ns32k-tdep.c (ns32k_frame_locals_address): Delete.
+	(ns32k_gdbarch_init): Do not set frame_locals_address.
+	* hppa-tdep.c (hppa_frame_args_address): Delete function.
+	(hppa_frame_locals_address): Delete function.
+	(hppa_gdbarch_init): Do not set frame_args_address, or
+	frame_locals_address.
+	* arm-tdep.c (arm_frame_args_address): Delete.
+	(arm_frame_locals_address): Delete.
+	(arm_gdbarch_init): Do not set frame_args_address, or
+	frame_locals_address.
+
+2003-06-09  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (FRAME_NUM_ARGS): Change to function with predicate.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* arch-utils.h (frame_num_args_unknown): Delete both declarations.
+	* arch-utils.c (frame_num_args_unknown): Delete function.
+	* stack.c (print_args_stub): Use FRAME_NUM_ARGS_P.
+	(frame_info): Use FRAME_NUM_ARGS_P.
+	* arm-tdep.c (arm_frame_num_args): Delete function.
+	(arm_gdbarch_init): Do not set frame_num_args.
+	* config/pa/tm-hppa64.h (FRAME_NUM_ARGS): Delete.
+	* hppa-tdep.c (hppa_frame_num_args): Delete function.
+	(hppa_gdbarch_init): Do not set frame_num_args.
+	* config/sparc/tm-sparc.h (FRAME_NUM_ARGS): Delete.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set
+	frame_num_args to default frame_num_args_unknown.
+	* v850-tdep.c (v850_gdbarch_init): Ditto.
+	* sparc-tdep.c (sparc_gdbarch_init): Ditto.
+	* sh-tdep.c (sh_gdbarch_init): Ditto.
+	* s390-tdep.c (s390_gdbarch_init): Ditto.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+	* mips-tdep.c (mips_gdbarch_init): Ditto.
+	* mcore-tdep.c (mcore_gdbarch_init): Ditto.
+	* m68k-tdep.c (m68k_gdbarch_init): Ditto.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+	* ia64-tdep.c (ia64_gdbarch_init): Ditto.
+	* i386-tdep.c (i386_gdbarch_init): Ditto.
+	* h8300-tdep.c (h8300_gdbarch_init): Ditto.
+	* frv-tdep.c (frv_gdbarch_init): Ditto.
+	* d10v-tdep.c (d10v_gdbarch_init): Ditto.
+	* cris-tdep.c (cris_gdbarch_init): Ditto.
+	* avr-tdep.c (avr_gdbarch_init): Ditto.
+	* alpha-tdep.c (alpha_gdbarch_init): Ditto.
+
+2003-06-09  Andrew Cagney  <cagney@redhat.com>
+
+	* printcmd.c (print_frame_nameless_args): Moved to "stack.c".
+	(print_frame_args): Moved to "stack.c".
+	* stack.c: Include "gdb_assert.h".
+	(print_frame_nameless_args): Moved from "printcmd.c", made static.
+	(print_frame_args): Moved from "printcmd.c".
+	* frame.h (print_frame_args): Delete declaration.
+	* Makefile.in (stack.o): Update dependencies.
+
+2003-06-08  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (get_prev_frame): Remove reference to
+	frame_args_address_correct in comments.
+	* frame-base.c (default_frame_args_address): Delete code
+	conditional on FRAME_ARGS_ADDRESS_CORRECT.
+	* vax-tdep.c (vax_frame_args_address_correct): Delete.
+	(vax_frame_args_address): Merge in vax_frame_args_address_correct.
+	* config/vax/tm-vax.h (FRAME_ARGS_ADDRESS_CORRECT): Delete
+	(vax_frame_args_address_correct): Delete declaration.
+
+2003-06-08  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (UNWIND_SP): Add.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* frame.c (frame_sp_unwind): New function.
+	(get_frame_sp): New function.
+	* frame.h (get_frame_sp, frame_sp_unwind): Declare.
+	* regcache.c (read_sp): Rewrite, try each of TARGET_READ_SP,
+	gdbarch_unwind_sp and SP_REGNUM when looking for the SP register
+	value.
+	* d10v-tdep.c (d10v_unwind_sp): Replace d10v_read_sp.
+	(d10v_gdbarch_init): Set unwind_sp instead of read_sp.
+
+2003-06-08  Andrew Cagney  <cagney@redhat.com>
+
+	Deprecate BIG_REMOTE_BREAKPOINT, LITTLE_REMOTE_BREAKPOINT and
+	REMOTE_BREAKPOINT.
+	* remote.c: Update.
+	* config/sh/tm-sh.h (DEPRECATED_BIG_REMOTE_BREAKPOINT): Update.
+	(DEPRECATED_LITTLE_REMOTE_BREAKPOINT): Update.
+	* config/m68k/tm-sun3.h: Update.
+	* config/m68k/tm-m68klynx.h: Update.
+	* config/h8300/tm-h8300.h (DEPRECATED_REMOTE_BREAKPOINT): Update.
+
+	* trad-frame.h (struct trad_frame_saved_reg): Rename "struct
+	trad_frame".  Update comments.
+	* d10v-tdep.c (struct d10v_unwind_cache): Update.
+	* trad-frame.c (trad_frame_alloc_saved_regs): Update.
+	(trad_frame_register_value, trad_frame_prev_register): Update.
+
+2003-06-08  Andrew Cagney  <cagney@redhat.com>
+
+	* acinclude.m4 (gcc_AC_CHECK_DECL, (gcc_AC_CHECK_DECL): Stolen
+	from GCC's acinclude.m4.
+	* configure.in: Check for getopt's delcaration.
+	* aclocal.m4, config.in, configure: Re-generate.
+	* main.c (error_init): Delete declaration.
+	* defs.h (error_init): Declare.
+	* rs6000-tdep.c (rs6000_fetch_pointer_argument): Make static.
+	(rs6000_convert_from_func_ptr_addr): Make static.
+	(_initialize_rs6000_tdep): Add declaration.
+	* cli/cli-cmds.c (dont_repeat): Delete declaration.
+	(show_commands, set_verbose, show_history): Delete declaration.
+	* top.h (set_verbose): Add declaration.
+	(show_history, set_history, show_commands): Add declaration.
+	(do_restore_instream_cleanup): Add declaration.
+	* objc-lang.c (specialcmp): Make static.
+	(print_object_command): Make static.
+	(find_objc_msgsend): Make static.
+	(find_objc_msgcall_submethod_helper): Make static.
+	(find_objc_msgcall_submethod): Make static.
+	(_initialize_objc_language): Add declaration.
+	(find_implementation_from_class): Make static.
+	(find_implementation): Make static.
+	* objc-exp.y (yylex): Delete lookup_struct_typedef declaration.
+	* objc-lang.h (lookup_struct_typedef): Add declaration.
+	* cli/cli-interp.c (_initialize_cli_interp): Add declaration.
+	* cli/cli-script.c (clear_hook_in_cleanup): Make static.
+	(do_restore_user_call_depth): Make static.
+	(do_restore_instream_cleanup): Delete declaration.
+	(dont_repeat): Delete declaration.
+	* cli/cli-decode.c (add_abbrev_cmd): Delete function.
+	* cli/cli-dump.c (_initialize_cli_dump): Add declaration.
+	* reggroups.c (_initialize_reggroup): Add declaration.
+	* cp-support.c (_initialize_cp_support): Add declaration.
+	* cp-abi.c (_initialize_cp_abi): Add declaration.
+	* hpacc-abi.c (_initialize_hpacc_abi): Add declaration.
+	* gnu-v3-abi.c (gnuv3_baseclass_offset): Make static.
+	(_initialize_gnu_v3_abi): Add declaration.
+	* gnu-v2-abi.c (gnuv2_value_rtti_type): Make static.
+	(_initialize_gnu_v2_abi): Add declaration.
+	* frame-base.c (_initialize_frame_base): Add declaration.
+	* doublest.c (floatformat_from_length): Make static.
+	* frame-unwind.c (_initialize_frame_unwind): Add declaration.
+	* frame.c (create_sentinel_frame): Make static.
+	(_initialize_frame): Add declaration.
+	* top.c (do_catch_errors): Make static.
+	(gdb_rl_operate_and_get_next_completion): Make static.
+	* typeprint.c: Include "typeprint.h".
+	* sentinel-frame.c (sentinel_frame_prev_register): Make static.
+	(sentinel_frame_this_id): Make static.
+	* p-valprint.c (_initialize_pascal_valprint): Add declaration.
+	* ui-out.c (make_cleanup_ui_out_begin_end): Delete function.
+	* dwarf2-frame.c (dwarf2_frame_cache): Make static.
+	* p-exp.y (push_current_type, pop_current_type): ISO C declaration.
+	* dwarf2expr.h (dwarf_expr_context): ISO C declaration.
+	* maint.c (maintenance_print_architecture): Make static.
+	* signals/signals.c (_initialize_signals): Add declaration.
+	* std-regs.c (_initialize_frame_reg): Add declaration.
+	* jv-exp.y (push_variable): ISO C definition.
+	(push_qualified_expression_name): Ditto.
+	* memattr.c (_initialize_mem): Add declaration.
+	* remote.c (remote_check_watch_resources): Make static.
+	(remote_stopped_by_watchpoint): Make static.
+	(remote_stopped_data_address): Make static.
+	* d10v-tdep.c (nr_dmap_regs): Make static.
+	(a0_regnum): Make static.
+	(d10v_frame_unwind_cache): Make static.
+	(d10v_frame_p): Make static.
+	* osabi.c (show_osabi): Make static.
+	(_initialize_gdb_osabi): Add extern declaration.
+	* gdbtypes.c (make_qualified_type): Make static.
+	(safe_parse_type): Make static.
+	* macrocmd.c (_initialize_macrocmd): Add extern declaration.
+	* macrotab.c (macro_bcache_free): Make static.
+	* interps.c (interp_set_quiet): Make static.
+	(interpreter_exec_cmd): Make static.
+	* stack.h (select_frame_command): New file.
+	* stack.c: Include "stack.h".
+	(select_frame_command_wrapper): Delete function.
+	(select_frame_command): Make global.
+	* infcall.c: Include "infcall.h".
+	* linespec.c: Include "linespec.h".
+	* symfile.c (sections_overlap): Make static.
+	* cp-support.h (cp_initialize_namespace): ISO C declaration.
+	* charset.c (_initialize_charset): Add missing prototype.
+	* regcache.c (init_legacy_regcache_descr): Make static.
+	(do_regcache_xfree): Make static.
+	(regcache_xfer_part): Make static.
+	(_initialize_regcache): Add missing prototype.
+	* breakpoint.c (parse_breakpoint_sals): Make static.
+	(breakpoint_sals_to_pc): Make static.
+	* interps.h (clear_interpreter_hooks): ISO C declaration.
+	* Makefile.in (stack_h): Define.
+	(stack.o, typeprint.o, mi-main.o): Update dependencies.
+	(mi-cmd-stack.o, infcall.o, linespec.o): Update dependencies.
+
+2003-06-08  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.in (d10v-tdep.o): Update dependencies.
+	(SFILES): Add trad-frame.c.
+	(trad_frame_h): Define.
+	(COMMON_OBS): Add trad-frame.o.
+	(trad-frame.o): Specify dependencies.
+	* d10v-tdep.c: Include "trad-frame.h".
+	(saved_regs_unwinder): Delete function.
+	(d10v_frame_prev_register): Use trad_frame_prev_register.
+	(struct d10v_unwind_cache): Change type of "saved_regs" to "struct
+	trad_frame", delete "regs" and "prev_sp".
+	(prologue_find_regs): Use trad-frame.
+	* trad-frame.h, trad-frame.c: New files.
+
+2003-06-08  Mark Kettenis  <kettenis@gnu.org>
+
+	* dwarf2cfi.c, dwarf2cfi.h: Remove.
+
+2003-06-07  Adam Fedor  <fedor@gnu.org>
+
+	* gdb/objc-lang.c (FETCH_ARGUMENT): Remove macro.
+	(OBJC_FETCH_POINTER_ARGUMENT): Shorthand macro for
+	using FETCH_POINTER_ARGUMENT with Objective-C method arguments.
+	(find_implementation, resolve_msgsend, resolve_msgsend_stret,
+	resolve_msgsend_super, resolve_msgsend_super_stret):
+	Use it.
+
+2003-06-07  Andrew Cagney  <cagney@redhat.com>
+
+	* symfile.h: Re-indent, clean up comments.
+
+2003-06-07  Andrew Cagney  <cagney@redhat.com>
+
+	* inferior.h (deprecated_write_sp): Replace
+	generic_target_write_sp.
+	* regcache.c (deprecated_write_sp): Replace
+	generic_target_write_sp.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+	* vax-tdep.c (vax_gdbarch_init): Update.
+	* v850-tdep.c (v850_gdbarch_init): Update.
+	* sparc-tdep.c (sparc_gdbarch_init): Update.
+	* sh-tdep.c (sh_gdbarch_init): Update.
+	* s390-tdep.c (s390_gdbarch_init): Update.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Update.
+	* ns32k-tdep.c (ns32k_gdbarch_init): Update.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Update.
+	* mcore-tdep.c (mcore_gdbarch_init): Update.
+	* m68k-tdep.c (m68k_gdbarch_init): Update.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+	* ia64-tdep.c (ia64_gdbarch_init): Update.
+	* h8300-tdep.c (h8300_gdbarch_init): Update.
+	* frv-tdep.c (frv_gdbarch_init): Update.
+	* cris-tdep.c (cris_gdbarch_init): Update.
+	* config/pa/tm-hppa.h (DEPRECATED_DUMMY_WRITE_SP): Update.
+
+2003-06-07  Andrew Cagney  <cagney@redhat.com>
+
+	* dwarf2-frame.c (dwarf2_frame_cache): Add comments on PC_REGNUM.
+	Assert that PC_REGNUM is valid.
+	(dwarf2_frame_prev_register): Add comments on SP_REGNUM.
+
+2003-06-07  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (TARGET_READ_SP): Add predicate, delete default.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* mn10300-tdep.c: Include "gdb_assert.h".
+	(mn10300_read_fp): New function.
+	(mn10300_gdbarch_init): Set deprecated_target_read_fp to
+	mn10300_read_fp.  Do not set read_sp to generic_target_read_sp.
+	* ia64-tdep.c: Include "gdb_assert.h".
+	(ia64_read_fp): New function.
+	(ia64_gdbarch_init): Set deprecated_target_read_fp to
+	ia64_read_sp.  Do not set read_sp to generic_target_read_sp.
+	* regcache.c (generic_target_read_sp): Delete function.
+	(read_sp): Try TARGET_READ_SP and SP_REGNUM for the SP register.
+	* inferior.h (generic_target_read_sp): Delete declaration.
+	* frv-tdep.c (frv_gdbarch_init): Do not set read_sp to
+	generic_target_read_sp.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+	* sparc-tdep.c (sparc_gdbarch_init): Ditto
+	* sh-tdep.c (sh_gdbarch_init): Ditto.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+	* Makefile.in (mn10300-tdep.o, ia64-tdep.o): Update dependencies.
+
+2003-06-07  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh: Comment each field of startup_gdbarch.
+	* gdbarch.h, gdbarch.c: Re-generate.
+
+2003-06-07  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (TARGET_READ_PC): Add predicate, remove default.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* regcache.c: Update comments on read_pc et.al.
+	(generic_target_read_pc): Delete function.
+	(read_pc_pid): Try TARGET_READ_PC and PC_REGNUM for a PC register.
+	* inferior.h (generic_target_read_pc): Delete declaration.
+	* frv-tdep.c (frv_gdbarch_init): Do not set read_pc to
+	generic_target_read_pc.
+	* sparc-tdep.c (sparc_gdbarch_init): Ditto.
+	* sh-tdep.c (sh_gdbarch_init): Ditto.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+
+2003-06-07  Andrew Cagney  <cagney@redhat.com>
+
+	* elfread.c (elf_symtab_read): Replace "special_local_sym_p" and
+	"index" with "special_local_sect".  Use strcmp instead of STREQ.
+	Append period to coments.
+
+2003-06-06  Mark Mitchell  <mark@codesourcery.com>
+
+	* elfread.c (elf_symtab_read): Avoid use of SECT_OFF_MAX.
+	(elfstab_offset_sections): Likewise.
+	* gdb-stabs.h (stab_section_info): Likewise.
+	* i386-interix-tdep.c (pei_adjust_objfile_offsets): Likewise.
+	* objfiles.c (objfile_relocate): Likewise.
+	* pa64solib.c (pa64_solib_add_solib_objfile): Likewise.
+	* remote.c (get_offsets): Likewise.
+	(remote_cisco_objfile_relocate): Likewise.
+	* somread.c (som_symfile_offsets): Likewise.
+	* symfile.c (alloc_section_addr_info): New function.
+	(build_section_addr_info_from_section_tab): Use it.
+	(free_section_addr_info): Adjust.
+	(default_symfile_offsets): Avoid use of SECT_OFF_MAX.
+	(syms_from_objfile): Allocate local_addr dynamically.
+	(symbol_file_add_with_addrs_or_offsets): Allocate orig_addrs
+	dynamically.
+	(add_symbol_file_command): Allocate sect_opts dynamically.
+	(reread_symbols): Avoid use of SECT_OFF_MAX.
+	* symfile.h (section_addr_info): Do not use MAX_SECTIONS.
+	(alloc_section_addr_info): Declare it.
+	* symtab.h (SIZEOF_SECTION_OFFSETS): Remove.
+	* win32-nat.c (solib_symbols_add): Allocate section_addrs
+	dynamically.
+	* xcoffread.c (xcoff_symfile_offsets): Avoid use of SECT_OFF_MAX.
+
+2003-06-06  Andrew Cagney  <cagney@redhat.com>
+
+	* d10v-tdep.c (struct d10v_unwind_cache): Delete "return_pc".
+	(d10v_frame_unwind_cache): Do not set "return_pc".
+
+2003-06-06  Michael Snyder  <msnyder@redhat.com>
+
+	* h8300-tdep.c: Make tidy (long lines).
+
+2003-06-06  Michal Ludvig  <mludvig@suse.cz>
+
+	* x86-64-tdep.c (x86_64_fill_fxsave): Pass correct regnums
+	to regcache_collect().
+
+2003-06-05  J. Brobecker  <brobecker@gnat.com>
+
+	* hppa-hpux-tdep.c (hppa_hpux_init_abi): New function, setting
+	pc_in_sigtramp multiarch method.
+	(hppa_hpux_som_init_abi): Use it.
+	(hppa_hpux_elf_init_abi): Likewise.
+	* config/pa/tm-hppah.h (PC_IN_SIGTRAMP): Remove, now that this
+	macro has been multiarched.
+	* config/pa/tm-hppa64.h (PC_IN_SIGTRAMP): Temporarily set this
+	macro here, as hppa64 isn't multiarched yet.
+
+2003-06-05  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.in (value_h): Add $(frame_h).
+	* value.h: Include "frame.h".
+	(struct value): Replace "frame_addr" with "frame_id".
+	(VALUE_FRAME_ID): Replace VALUE_FRAME.
+	* values.c (allocate_value): Use VALUE_FRAME_ID.
+	(value_copy): Use VALUE_FRAME_ID.
+	* findvar.c (value_from_register): Use VALUE_FRAME_ID.
+	* valops.c (value_assign): Update.  Use frame_find_by_id.
+
+2003-06-05  Michal Ludvig  <mludvig@suse.cz>
+
+	* x86-64-tdep.c (x86_64_push_arguments): Don't clear offset
+	in each pass.
+
+2003-06-05  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* thread-db.c (check_event): For create/death event breakpoints,
+	loop through all messages to ensure that we read the message
+	corresponding to the breakpoint we are at.
+
+2003-06-04  Michael Snyder  <msnyder@redhat.com>
+
+	* h8300-tdep.c (h8300_gdbarch_init): Add h8300hn, h8300sn.
+
+2003-06-04  Mark Kettenis  <kettenis@gnu.org>
+
+	* dwarf2-frame.c (struct comp_unit): Add member `dbase'.
+	(read_encoded_value): Handle DW_EH_PE_datarel encoding.
+	(dwarf2_build_frame_info): Set base for DW_EH_PE_datarel encodings
+	when handling .eh_frame sections.
+
+2003-06-04  J. Brobecker  <brobecker@gnat.com>
+
+	* config/pa/nm-hppah.h (PREPARE_TO_PROCEED): Use the generic
+	prepare_to_proceed procedure instead of the hppa-specific one.
+	* hppa-tdep.c (hppa_prepare_to_proceed): Remove, no longer used.
+
+2003-06-04  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* acconfig.h: Add HAVE_TKILL_SYSCALL definition check.
+	* config.in: Regenerated.
+	* configure.in: Add test for syscall function and check for
+	__NR_tkill macro in <syscall.h> to set HAVE_TKILL_SYSCALL.
+	* configure: Regenerated.
+	* lin-lwp.c [HAVE_TKILL_SYSCALL]: Include <unistd.h> and
+	<sys/syscall.h>.
+	(kill_lwp): New function that uses tkill syscall or
+	uses kill, depending on whether threading model is nptl or not.
+	All callers of kill() changed to use kill_lwp().
+	(lin_lwp_wait): Make special check when WIFEXITED occurs to
+	see if all threads have already exited in the nptl model.
+	(stop_and_resume_callback): New callback function used by the
+	lin_lwp_wait thread exit handling code.
+	(stop_wait_callback): Check for threads already having exited and
+	delete such threads fromt the lwp list when discovered.
+	(stop_callback): Don't assert retcode of kill call.
+
+	Roland McGrath  <roland@redhat.com>
+	* i386-linux-nat.c (ps_get_thread_area): New function needed by
+	nptl libthread_db.
+
+2003-06-03  Richard Henderson  <rth@redhat.com>
+
+	* alpha-tdep.c (alpha_next_pc): Use alpha_read_insn.
+	(alpha_sigtramp_frame_this_id): Use get_frame_memory.
+	(alpha_sigtramp_frame_prev_register): Likewise.
+	(alpha_heuristic_frame_prev_register): Likewise.
+	* alpha-mdebug-tdep.c (alpha_mdebug_frame_prev_register): Likewise.
+
+	* alpha-mdebug-tdep.c (alpha_mdebug_after_prologue): Use
+	alpha-specific register id names.
+	(alpha_mdebug_frame_unwind_cache): Likewise.
+	(alpha_mdebug_frame_prev_register): Likewise.
+
+2003-06-03  Richard Henderson  <rth@redhat.com>
+
+	* alpha-tdep.c (alpha_dwarf2_init_abi): New.
+	* alpha-tdep.h (alpha_dwarf2_init_abi): Declare it.
+	* alpha-linux-tdep.c (alpha_linux_init_abi): Use it.
+	* alphafbsd-tdep.c (alphafbsd_init_abi): Register dwarf2 and mdebug
+	unwind routines.
+	* alphanbsd-tdep.c (alphanbsd_init_abi): Likewise.
+	* config/alpha/fbsd.mt (TDEPFILES): Add alpha-mdebug-tdep.o.
+	* config/alpha/nbsd.mt (TDEPFILES): Likewise.
+
+	* alpha-linux-tdep.c: Remove unnecessary includes.
+	* Makefile.in (alpha-linux-tdep.o): Update.
+
+2003-06-03  Richard Henderson  <rth@redhat.com>
+
+	* alphabsd-tdep.c (alphabsd_supply_fpreg): Fix typo last change.
+	(alphabsd_fill_fpreg): Likewise.
+
+2003-06-03  J. Brobecker  <brobecker@gnat.com>
+
+	* alphanbsd-tdep.c (alphanbsd_sigcontext_addr):  Replace
+	references to struct frame_info fields by calls to the equivalent
+	accessors. Necessary now that frame_info is opaque.
+
+2003-06-03  J. Brobecker  <brobecker@gnat.com>
+
+	* alphanbsd-tdep.c (alphanbsd_skip_sigtramp_frame): Delete.
+	(alphanbsd_init_abi): Do not set skip_sigtramp_frame in tdep
+	structure, field no longer exists.
+
+2003-06-03  J. Brobecker  <brobecker@gnat.com>
+
+	* config/alpha/alpha-osf1.mt (TDEPFILES): Add alpha-mdebug-tdep.o.
+	* alpha-osf1-tdep.c (alpha_osf1_init_abi): Enable the mdebug module.
+
+2003-06-03  J. Brobecker  <brobecker@gnat.com>
+
+	* alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Replace
+	references to struct frame_info fields by calls to the equivalent
+	accessors. Necessary now that frame_info is opaque.
+
+2003-06-03  J. Brobecker  <brobecker@gnat.com>
+
+	* alpha-osf1-tdep.c (alpha_osf1_skip_sigtramp_frame): Delete.
+	(alpha_osf1_init_abi): Do not set skip_sigtramp_frame in tdep
+	structure, field no longer exists.
+
+2003-06-03  Theodore A. Roth  <troth@openavr.org>
+
+	* remote.c (init_remote_state): Compute sizeof_g_packet by
+	accumulation of the size of all registers instead of blindly using
+	DEPRECATED_REGISTER_BYTES.
+
+2003-06-03  Michael Snyder  <msnyder@redhat.com>
+
+	* config/h8300/tm-h8300.h (h8300sxmode): Declare.
+	* h8300-tdep.c (h8300_gdbarch_init): Set machine mode
+	for h8300sx.
+
+2003-06-03  J. Brobecker  <brobecker@gnat.com>
+
+	* alpha-osf1-tdep.c (objfiles.h): #include, needed for symfile_objfile.
+	* Makefile.in (alpha-osf1-tdep.o): Update dependencies.
+
+2003-06-03  Andrew Cagney  <cagney@redhat.com>
+
+	* sparc-tdep.c (sparc_convert_to_virtual): Delete function.
+	(sparc_convert_to_raw): Delete function.
+	(sparc_gdbarch_init): Do not set register_convert_to_raw or
+	register_convert_to_virtual.
+
+2003-06-03  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* thread-db.c (thread_db_mourn_inferior): Unpush thread target
+	layer if not dealing with a statically-linked threaded program.
+
+2003-06-03  Kris Warkentin  <kewarken@qnx.com>
+
+	* solib.c (solib_open): Update comment to reflect actual search order.
+
+2003-06-03  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (get_frame_memory_signed): New function.
+	(get_frame_memory, get_frame_memory_unsigned): New function.
+	(get_frame_arch): New function.
+	* frame.h (get_frame_signed_memory, get_frame_arch): Declare.
+	(get_frame_memory, get_frame_unsigned_memory): Declare.
+	* d10v-tdep.c (d10v_frame_unwind_cache): Use
+	get_frame_memory_unsigned and get_frame_arch.
+	(d10v_frame_unwind_cache, saved_regs_unwinder): Ditto.
+
+2003-06-03  Raoul Gough  <RaoulGough@yahoo.co.uk>
+
+	* MAINTAINERS (write after approval): Add myself.
+
+2003-06-03  Jim Blandy  <jimb@redhat.com>
+
+	* s390-nat.c (supply_gregset, fill_gregset): On the s390x, the
+	elements of gregset_t are 64 bits each, but access registers
+	are still 32 bits, so they're packed two per gregset_t
+	element.  Unpack/pack them properly.
+
+2003-06-02  David Carlton  <carlton@bactrian.org>
+
+	* linespec.c (find_methods): Break out code into
+	add_matching_methods and add_constructors.
+	(add_matching_methods): New.
+	(add_constructors): Ditto.
+
+2003-06-02  Andrew Cagney  <cagney@redhat.com>
+
+	* sparc-tdep.c (sparc_print_registers): Delete call to
+	REGISTER_CONVERTIBLE.
+	(sparc_gdbarch_init): Do not set register_convertible.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+	* frv-tdep.c (frv_gdbarch_init): Ditto.
+	* cris-tdep.c (cris_gdbarch_init): Ditto.
+
+2003-06-02  Elena Zannoni  <ezannoni@redhat.com>
+
+	* target.h (TARGET_SYMFILE_POSTREAD): Delete unused macro.
+	* symfile.c (reread_symbols): Delete call to TARGET_SYMFILE_POSTREAD.
+	(syms_from_objfile): Ditto.
+
+2003-06-03  Andreas Schwab  <schwab@suse.de>
+
+	* m68k-tdep.c (m68k_gdbarch_init): Use set_gdbarch_print_insn ...
+	(_initialize_m68k_tdep): ... instead of deprecated_tm_print_insn.
+
+2003-06-02  Richard Henderson  <rth@redhat.com>
+
+	* alpha-tdep.c (alpha_register_reggroup_p): Zero is only
+	a member of all_reggroup.
+
+2003-06-02  Richard Henderson  <rth@redhat.com>
+
+	* alpha-tdep.c (alpha_register_type): Change from _virtual_type.
+	(alpha_convert_flt_dbl, alpha_convert_dbl_flt): Remove.
+	(alpha_lds, alpha_sts): New.
+	(alpha_convert_register_p): Change from _register_convertible.
+	(alpha_register_to_value): Change from _convert_to_virtual;
+	restructure and fail for type sizes other than 4 or 8.
+	(alpha_value_to_register): Similarly.
+	(alpha_extract_return_value): Use alpha_sts.
+	(alpha_store_return_value): Use alpha_lds.
+	(alpha_gdbarch_init): Update hooks.
+
+2003-06-02  Richard Henderson  <rth@redhat.com>
+
+	* alpha-tdep.c (alpha_register_virtual_type): Use alpha-specific
+	regnum identifiers.
+	(alpha_sigtramp_register_address): Likewise.
+
+2003-06-02  Richard Henderson  <rth@redhat.com>
+
+	* alpha-tdep.c (alpha_supply_int_regs, alpha_fill_int_regs): New.
+	(alpha_supply_fp_regs, alpha_fill_fp_regs): New.
+	* alpha-tdep.h: Declare them.
+
+	* alpha-nat.c (fetch_osf_core_registers): Constify core_reg_mapping.
+	Remove zerobuf.  Don't error on UNIQUE.
+	(fetch_elf_core_registers): Use alpha_supply_{int,fp}_regs.
+	(ALPHA_REGSET_UNIQUE): Provide default.
+	(supply_gregset): Use alpha_supply_int_regs.
+	(fill_gregset): Use alpha_fill_int_regs.
+	(supply_fpregset): Use alpha_supply_fp_regs.
+	(fill_fpregset): Use alpha_fill_fp_regs.
+	* alphabsd-tdep.c (NUM_GREGS, NUM_FPREGS): Remove.
+	(alphabsd_supply_reg): Use alpha_supply_int_regs.
+	(alphabsd_fill_reg): Use alpha_fill_int_regs.
+	(alphabsd_supply_fpreg): Use alpha_supply_fp_regs.
+	(alphabsd_fill_fpreg): Use alpha_fill_fp_regs.
+	* config/alpha/nm-linux.h (ALPHA_REGSET_UNIQUE): New.
+
+2003-06-02  Richard Henderson  <rth@redhat.com>
+
+	* alpha-tdep.c (alpha_store_return_value): Avoid switch fallthru.
+
+	* alpha-tdep.c (alpha_extract_return_value): Use internal_error.
+	(alpha_store_return_value): Likewise.
+
+2003-06-02  David Carlton  <carlton@math.stanford.edu>
+
+	* block.c (contained_in): Add 'const' to arguments.
+	(block_function): Ditto.
+	* block.h: Update declarations for block_function and
+	contained_in.
+
+2003-06-02  David Carlton  <carlton@math.stanford.edu>
+
+	* objc-lang.c (find_imps): Delete unneeded variable 'sym_symtab'.
+	* c-valprint.c (c_val_print): Delete unneeded variable 's'.
+	* p-valprint.c (pascal_val_print): Ditto.
+	* ada-lang.c (standard_lookup): Delete unneded variable 'symtab'.
+
+2003-06-02  Richard Henderson  <rth@redhat.com>
+
+	* alpha-tdep.c (alpha_push_dummy_call): Use
+	builtin_type_ieee_double_little instead of builtin_type_double.
+
+	* alpha-tdep.c (alpha_push_dummy_call): Handle ABI mandated
+	sign-extension of 32-bit values.
+	(alpha_store_return_value): Similarly.
+
+	* alpha-tdep.c (alpha_push_dummy_call): Handle COMPLEX types.
+	(alpha_extract_return_value): Likewise.
+	(alpha_store_return_value): Likewise.
+
+	* alpha-tdep.c (alpha_extract_return_value): Handle IEEE Quad floats.
+	(alpha_store_return_value): Error on IEEE Quad floats.
+
+	* alpha-tdep.c (alpha_extract_return_value): Convert to regcache.
+	(alpha_extract_struct_value_address): Likewise.
+	(alpha_store_return_value): Likewise.
+	(alpha_store_struct_return): Remove.
+	(alpha_gdbarch_init): Update hook registration to match.
+
+	* alpha-tdep.c (alpha_register_convert_to_virtual): Tidy use of
+	deprecated interfaces; use ALPHA_REGISTER_SIZE instead of gdbarch
+	macros where appropriate.
+	(alpha_register_convert_to_raw): Similarly.  Use unpack_long.
+	(alpha_convert_flt_dbl, alpha_convert_dbl_flt): New.
+
+	* alpha-tdep.c (alpha_register_virtual_type): Use void_data_ptr
+	for SP, GP; void_func_ptr for PC; non-language-specific types
+	for all others.
+	* alpha-tdep.h (ALPHA_GP_REGNUM): New.
+
+2003-06-02  Richard Henderson  <rth@redhat.com>
+
+	* top.h (lim_at_start): Declare.
+	* main.c (captured_main): Set it.
+	* top.c (lim_at_start): Define.
+	(command_loop): Use it instead of &environ.
+	* event-top.c (command_handler): Likewise.
+
+2003-06-01  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* mipsnbsd-tdep.c: Update copyright years.
+	(fetch_core_registers): Correct arguments to mipsnbsd_supply_fpreg.
+
+2003-06-01  Richard Henderson  <rth@redhat.com>
+
+	* Makefile.in (ALLDEPFILES): Add alpha-mdebug-tdep.c.
+	(alpha-linux-tdep.o): Update dependencies.
+	(alpha-nat.o, alpha-tdep.o, alpha-mdebug-tdep.o): Likewise.
+	* alpha-mdebug-tdep.c: Remove unneeded includes.
+
+2003-06-01  Richard Henderson  <rth@redhat.com>
+
+	* alpha-tdep.c (alpha_register_reggroup_p): New.
+	(alpha_gdbarch_init): Register it.
+
+2003-06-02  Andrew Cagney  <cagney@redhat.com>
+
+	* dwarfread.c: Eliminate "register"
+	(decode_die_type): Eliminate assignment within "if".
+	(struct_type, decode_array_element_type): Ditto.
+	(dwarf_read_array_type, read_tag_pointer_type): Ditto.
+	(read_subroutine_type, enum_type, add_enum_psymbol): Ditto.
+	(decode_modified_type, completedieinfo): Ditto.
+	* block.c: Eliminate "register".
+	(blockvector_for_pc_sect): Eliminate assignment within "if".
+	* cp-support.h (struct symbol): Opaque declaration.
+	* breakpoint.c (handle_gnu_v3_exceptions): Use xfree, not free.
+
+2003-06-01  Richard Henderson  <rth@redhat.com>
+
+	* alpha-tdep.c (alpha_gdbarch_init): Use set_gdbarch_print_insn ...
+	(_initialize_alpha_tdep): ... not deprecated_tm_print_insn.
+
+2003-06-01  Adam Fedor  <fedor@gnu.org>
+
+	* gdbarch.sh (function_list): Add FETCH_POINTER_ARGUMENT.
+	* gdbarch.[ch]: Regenerate.
+	* hppa-tdep.c (hppa_fetch_pointer_argument): New function.
+	(hppa_gdbarch_init): Set it in the gdbarch vector.
+	* i386-tdep.c (i386_fetch_pointer_argument): New
+	(i386_gdbarch_init): Set it into gdbarch.
+	* rs6000-tdep.c (rs6000_fetch_pointer_argument): New.
+	(rs6000_gdbarch_init): Set it in gdbarch.
+	* sparc-tdep.c (sparc_fetch_pointer_argument): New
+	(sparc_gdbarch_init): Set it in gdbarch.
+
+2003-06-01  Andrew Cagney  <cagney@redhat.com>
+
+	* defs.h (extract_address): Delete declaration.
+	* findvar.c (extract_address): Delete function.
+	* xstormy16-tdep.c (xstormy16_extract_return_value): Replace
+	extract_address with the inline equivalent,
+	extract_unsigned_integer.
+	(xstormy16_extract_struct_value_address): Ditto.
+	(xstormy16_pointer_to_address): Ditto.
+	* vax-tdep.c (vax_extract_struct_value_address): Ditto.
+	* v850-tdep.c (v850_push_arguments): Ditto.
+	(v850_extract_return_value): Ditto.
+	(v850_extract_struct_value_address): Ditto.
+	* sparcnbsd-tdep.c (sparcnbsd_get_longjmp_target_32): Ditto.
+	(sparcnbsd_get_longjmp_target_64): Ditto.
+	* sparc-tdep.c (sparc_frame_saved_pc): Ditto.
+	(get_longjmp_target): Ditto.
+	* sh-tdep.c (sh_extract_struct_value_address): Ditto.
+	(sh64_extract_struct_value_address): Ditto.
+	(sh_push_arguments): Ditto.
+	(sh64_push_arguments): Ditto.
+	* remote-vxsparc.c (vx_read_register): Ditto.
+	* ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Ditto.
+	* ns32k-tdep.c (ns32k_extract_struct_value_address): Ditto.
+	* mn10300-tdep.c (mn10300_extract_struct_value_address): Ditto.
+	* mipsv4-nat.c (get_longjmp_target): Ditto.
+	* mipsnbsd-tdep.c (mipsnbsd_get_longjmp_target): Ditto.
+	* mips-nat.c (get_longjmp_target): Ditto.
+	* mips-linux-tdep.c (mips_linux_get_longjmp_target): Ditto.
+	* mcore-tdep.c (mcore_extract_struct_value_address): Ditto.
+	* m68k-tdep.c (m68k_get_longjmp_target): Ditto.
+	* m68hc11-tdep.c (m68hc11_extract_struct_value_address): Ditto.
+	* irix5-nat.c (get_longjmp_target): Ditto.
+	* irix4-nat.c (get_longjmp_target): Ditto.
+	* ia64-tdep.c (generic_elf_find_global_pointer): Ditto.
+	(ia64_push_arguments): Ditto.
+	* hpux-thread.c (hpux_thread_store_registers): Ditto.
+	* h8300-tdep.c (h8300_push_arguments): Ditto.
+	(h8300_store_return_value): Ditto.
+	(h8300_extract_struct_value_address): Ditto.
+	* frv-tdep.c (frv_extract_struct_value_address): Ditto.
+	(frv_push_arguments): Ditto.
+	* avr-tdep.c (avr_pointer_to_address): Ditto.
+	(avr_push_arguments): Ditto.
+	* arm-tdep.c (arm_push_dummy_call): Ditto.
+	(arm_get_longjmp_target): Ditto.
+	* arm-linux-tdep.c (arm_linux_push_arguments): Ditto.
+	* alpha-tdep.c (alpha_extract_struct_value_address): Ditto.
+	(alpha_get_longjmp_target): Ditto.
+
+	* solib-irix.c (extract_mips_address): Inline extract_address,
+	replacing it with extract_signed_integer.
+	* solib-svr4.c (SOLIB_EXTRACT_ADDRESS): Ditto.
+	(LM_NAME, IGNORE_FIRST_LINK_MAP_ENTRY): Ditto.
+	(first_link_map_member, open_symbol_file_object): Ditto.
+	(svr4_fetch_objfile_link_map, svr4_fetch_objfile_link_map): Ditto.
+	* solib-sunos.c (SOLIB_EXTRACT_ADDRESS): Ditto.
+	(LM_NEXT, LM_NAME): Ditto.
+
+2003-06-01  Richard Henderson  <rth@redhat.com>
+
+	* alpha-tdep.h (ALPHA_FP_REGNUM): Remove.
+	* alpha-tdep.c (alpha_register_name): Remove vfp entry.
+	(alpha_cannot_fetch_register): Remove ALPHA_FP_REGNUM.
+	(alpha_cannot_store_register): Likewise.
+	* alphabsd-nat.c (fetch_inferior_registers): Don't set FP_REGNUM.
+	* alpha-nat.c (supply_gregset): Likewise.
+	* alphanbsd-tdep.c (fetch_core_registers): Likewise.
+
+2003-06-01  Andrew Cagney  <cagney@redhat.com>
+
+	* infcall.c (call_function_by_hand): Update comment on
+	DEPRECATED_DUMMY_WRITE_SP.
+
+	* mips-tdep.c (mips_gdbarch_init): Do not set
+	deprecated_dummy_write_sp.
+	(mips_eabi_push_dummy_call): Set the SP register.
+	(mips_o64_push_dummy_call): Set the SP register.
+	(mips_o32_push_dummy_call): Set the SP register.
+	(mips_n32n64_push_dummy_call): Set the SP register.
+
+2003-06-01  Richard Henderson  <rth@redhat.com>
+
+	* alpha-nat.c (fetch_osf_core_registers): Use ALPHA_REGISTER_SIZE
+	instead of ALPHA_MAX_REGISTER_RAW_SIZE.
+	(supply_gregset): Likewise.
+	* alpha-tdep.c (alpha_store_return_value): Likewise.
+	(alpha_get_longjmp_target): Likewise.
+	(alpha_register_name): Constify array.
+	(alpha_gdbarch_init): Remove deprecated_fp_regnum,
+	deprecated_register_size, deprecated_register_bytes,
+	deprecated_max_register_raw_size, deprecated_max_register_virtual_size.
+	* alpha-tdep.h (ALPHA_MAX_REGISTER_RAW_SIZE): Remove.
+	(ALPHA_MAX_REGISTER_VIRTUAL_SIZE): Remove.
+
+2003-06-01  Richard Henderson  <rth@redhat.com>
+
+	* alpha-tdep.c (alpha_push_dummy_call): Store sp.  Tidy copies
+	from arg_reg_buffer to regcache to avoid double conversion.
+
+2003-06-01  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-linux-nat.c (child_resume): Use I386_ESP_REGNUM instead of
+	SP_REGNUM.
+	* i386-linux-tdep.c (i386_linux_sigcontext_addr): Likewise.
+	* i386bsd-tdep.c (i386bsd_sigcontext_addr): Likewise.
+
+2003-06-01  Richard Henderson  <rth@redhat.com>
+
+	* dwarf2-frame.c (struct dwarf2_cie): Add saw_z_augmentation.
+	(decode_frame_entry): Set it.  Skip FDE augmentation.
+
+2003-06-01  Richard Henderson  <rth@redhat.com>
+
+	* dwarf2-frame.c (dwarf2_frame_cache): Handle retaddr_column
+	not overlapping PC_REGNUM.
+
+2003-06-01  Richard Henderson  <rth@redhat.com>
+
+	* alpha-tdep.c (alpha_push_dummy_call): Transmography from
+	alpha_push_arguments.  Don't dump argument register data to
+	the target stack.  Fix float and 128-bit long double semantics.
+	Store $t12 and $ra as specified by the ABI.  Use regcache everywhere.
+	(alpha_fix_call_dummy): Remove.
+	(alpha_call_dummy_words): Remove.
+	(alpha_gdbarch_init): Kill deprecated call hooks; add push_dummy_call.
+
+2003-06-01  Richard Henderson  <rth@redhat.com>
+
+	* alpha-linux-tdep.c (alpha_linux_init_abi): Install dwarf2 unwinder.
+
+2003-06-01  Andrew Cagney  <cagney@redhat.com>
+
+	* mips-tdep.c (is_mips16_addr): New function.
+	(make_mips16_addr, unmake_mips16_addr): New functions.
+	(pc_is_mips16, mips_fetch_instruction): Use.
+	(gdb_print_insn_mips, mips_breakpoint_from_pc): Use.
+	(gdb_print_insn_mips): Eliminate TM_PRINT_INSN_MACH.
+	(mips_dump_tdep): Delete print of TM_PRINT_INSN_MACH,
+	UNMAKE_MIPS16_ADDR, MAKE_MIPS16_ADDR, IS_MIPS16_ADDR and
+	TARGET_MIPS.
+	* config/mips/tm-mips.h: Update copyright.
+	(TARGET_MIPS, TM_PRINT_INSN_MACH): Delete.
+	(DEPRECATED_REGISTER_SIZE, DEPRECATED_REGISTER_BYTES): Delete.
+	(IS_MIPS16_ADDR, MAKE_MIPS16_ADDR, UNMAKE_MIPS16_ADDR): Delete.
+	* config/mips/tm-irix6.h (DEPRECATED_REGISTER_BYTES): Delete.
+	(TM_PRINT_INSN_MACH): Delete.
+	* config/mips/tm-irix5.h (DEPRECATED_REGISTER_BYTES): Delete.
+
+	* configure.tgt: Replace mips64*vr4xxx*el-*-elf*,
+	mips64*vr4xxx*-*-elf*, mips64*vr4300*el-*-elf*,
+	mips64*vr4300*-*-elf*, mips64*vr4100*el-*-elf*,
+	mips64*vr4100*-*-elf*, mips64*vr5000*el-*-elf*, and
+	mips64*vr5000*-*-elf* with mips64 mips64*vr*-*-elf*.  Delete
+	mips*tx39*el*-elf*.  Map mips*-sony-* and mips64*-big-* onto
+	mips64.  Map mips*-dec-*, mips*-big-*, mips*-little-*,
+	mips*-*-riscos* and mips*-*-sysv* onto mips.
+	* config/mips/mips64.mt: New file.
+	* config/mips/mips.mt: New file.
+	* config/mips/littlemips.mt: Delete file.
+	* config/mips/decstation.mt: Delete file.
+	* config/mips/vr4300el.mt: Delete file.
+	* config/mips/vr5000el.mt: Delete file.
+	* config/mips/vr5000.mt: Delete file.
+	* config/mips/vr4100.mt: Delete file.
+	* config/mips/vr4xxxel.mt: Delete file.
+	* config/mips/vr4300.mt: Delete file.
+	* config/mips/vr4xxx.mt: Delete file.
+	* config/mips/bigmips.mt: Delete file.
+	* config/mips/bigmips64.mt: Delete file.
+	* config/mips/tx39l.mt (TM_FILE): Set to "tm-tx39.h".
+	* config/mips/embedl64.mt (TM_FILE): Set to "tm-mips64.h".
+	* config/mips/embed64.mt (TM_FILE): Set to "tm-mips64.h"
+	* config/mips/embedl.mt (TM_FILE): Set to "tm-mips.h".
+	* config/mips/tm-tx39.h: Include "tm-mips.h" instead of
+	"tm-bigmips.h".
+	* config/mips/tm-irix3.h: Ditto.
+	* config/mips/tm-mipsv4.h: Ditto.
+	* config/mips/tm-embed.h: Ditto.
+	* config/mips/tm-irix6.h: Include "tm-mips64.h" instead of
+	"tm-bigmips64.h".
+	* config/mips/tm-vr5000el.h: Delete file.
+	* config/mips/tm-tx39l.h: Delete file.
+	* config/mips/tm-vr4300el.h: Delete file.
+	* config/mips/tm-vr4xxxel.h: Delete file.
+	* config/mips/tm-vr4300.h: Delete file.
+	* config/mips/tm-vr4100.h: Delete file.
+	* config/mips/tm-vr4xxx.h: Delete file.
+	* config/mips/tm-vr5000.h: Delete file.
+	* config/mips/tm-embedl64.h: Delete file.
+	* config/mips/tm-embedl.h: Delete file.
+	* config/mips/tm-embed64.h: Delete file.
+	* config/mips/tm-bigmips64.h: Delete file.
+	* config/mips/tm-bigmips.h: Delete file.
+
+2003-06-01  Mark Kettenis  <kettenis@gnu.org>
+
+	Fix gdb/1216.
+	* shnbsd-nat.c: Include "sh-tdep.h".
+
+	From Richard Henderson  <rth@redhat.com>:
+	* dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Fix ptr arithmetic.
+
+2003-05-31  Andrew Cagney  <cagney@redhat.com>
+
+	* mips-tdep.c (set_reg_offset): Add saved_regs parameter.  Add
+	forward declaration.
+	(mips16_heuristic_proc_desc): Pass temp_saved_regs.
+	(mips16_heuristic_proc_desc): Pass temp_saved_regs.
+	(mips_find_saved_regs): Use set_reg_offset.
+	(mips_frame_init_saved_regs): Delete function.
+	(mips_pop_frame): Call mips_find_saved_regs instead of
+	DEPRECATED_FRAME_INIT_SAVED_REGS.
+
+2003-05-31  Andrew Cagney  <cagney@redhat.com>
+
+	* mips-tdep.c (mips_gdbarch_init): Do not set
+	deprecated_max_register_raw_size, register_virtual_size, and
+	deprecated_max_register_virtual_size.
+
+2003-05-31  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-tdep.c: Include "dwarf2-frame.h".
+	(i386_gdbarch_init): Hook in the DWARF CFI frame unwinder.
+	* Makefile.in (i386-tdep.o): Update dependencies.
+
+	* dwarf2-frame.c, dwarf2-frame.h: New files.
+	* Makefile.in (SFILES): Add dwarf2-frame.c.
+	(dwarf2_frame_h): Define.
+	(COMMON_OBS): Add dwarf2-frame.o.
+	(dwarf2-frame.o): Add dependencies.
+
+2003-05-31  Andreas Jaeger  <aj@suse.de>
+
+	* x86-64-linux-nat.c: Fix comment.
+
+2003-05-31  Mark Kettenis  <kettenis@gnu.org>
+
+	* x86-64-tdep.c (x86_64_push_dummy_call): Adjust for changed
+	function signature.
+
+	* i386-tdep.c (i386_sigtramp_frame_p): Only handle frames if we
+	have a sigcontext_addr handler.
+	* x86-64-tdep.c (x86_64_sigtramp_frame_p): Assert that we have a
+	sigcontext_addr handler.
+
+2003-05-31  Andrew Cagney  <cagney@redhat.com>
+
+	* mips-tdep.c (print_gp_register_row): Replace do_gp_register_row.
+	(print_fp_register_row): Replace do_fp_register_row.
+	(mips_print_fp_register): Add "file" and "frame" parameters.
+	(mips_print_register): Add "file" and "frame" parameters.
+	(mips_print_registers_info): Replace mips_do_registers_info.
+	(mips_gdbarch_init): Set print_registers_info instead of
+	deprecated_do_registers_info.
+	(mips_read_fp_register_single): Add "frame" parameter.
+	(mips_read_fp_register_double): Add "frame" parameter.
+
+2003-05-31  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-tdep.c (i386_register_name): Check for MMX registers first.
+	Fixes a bug where GDB would print the wrong register names for
+	targets without SSE.
+
+	* x86-64-tdep.c (X86_64_NUM_SAVED_REGS): Set to X86_64_NUM_GREGS.
+	(x86_64_sigtramp_frame_cache): Use `sc_reg_offset' to find saved
+	registers.
+
+	* x86-64-linux-tdep.c (x86_64_linux_sc_reg_offset): New variable.
+	(x86_64_linux_init_abi): Initialize TDEP->sc_reg_offset and
+	TDEP->sc_num_regs instead of TDEP->sc_pc_offset and
+	TDEP->sc_sp_offset.
+
+	From Michal Ludvig  <mludvig@suse.cz>:
+	* i386-tdep.h (struct gdbarch_tdep): Add members `sc_reg_offset'
+	and `sc_num_regs'.
+	(I386_EAX_REGNUM, I386_EDX_REGNUM, I386_ESP_REGNUM,
+	I386_EBP_REGNUM, I386_EIP_REGNUM, I386_EFLAGS_REGNUM,
+	I386_ST0_REGNUM): Move here from...
+	* i386-tdep.c: ... here.
+	(I386_NUM_SAVED_REGS): Define to I386_NUM_REGS.
+	(i386_sigtramp_frame_cache): Use `sc_reg_offset' to find saved
+	registers if possible.
+	(i386_gdbarch_init): Initialize TDEP->sc_reg_offset.
+	* i386bsd-tdep.c (i386bsd_sc_pc_offset, i386bsd_sc_sp_offset):
+	Remove variables.
+	(i386bsd_sc_reg_offset): New variable.
+	(i386bsd_init_abi): Initialize TDEP->sc_reg_offset and
+	TDEP->sc_num_regs instead of TDEP->sc_pc_offset and
+	TDEP->sc_sp_offset.
+	(i386fbsd_sc_reg_offset): New variable.
+	(i386fbsdaout_init_abi): Initialize TDEP->sc_reg_offset and
+	TDEP->sc_num_regs.
+	(i386fbsd4_sc_pc_offset, i386fbsd4_sc_sp_offset): Remove
+	variables.
+	(i386fbsd4_sc_reg_offset): New variable.
+	(i3864bsd4_init_abi): Initialize TDEP->sc_reg_offset and
+	TDEP->sc_num_regs instead of TDEP->sc_pc_offset and
+	TDEP->sc_sp_offset.
+	* i386-linux-tdep.c (i386_linux_sc_reg_offset): New variable.
+	(i386_linux_init_abi): Set TDEP->sc_reg_offset and TDEP->sc_num_regs.
+	* i386nbsd-tdep.c (i386nbsd_sc_pc_offset, i386nbsd_sc_sp_offset):
+	Remove variables.
+	(i386nbsd_sc_reg_offset): New variable.
+	(i386nbsd_init_abi): Initialize TDEP->sc_reg_offset and
+	TDEP->sc_num_regs instead of TDEP->sc_pc_offset and
+	TDEP->sc_sp_offset.
+	* i386obsd-tdep.c (i386obsd_sc_pc_offset, i386obsd_sc_sp_offset):
+	Remove variables.
+	(i386obsd_sc_reg_offset): New variable.
+	(i386obsd_init_abi): Initialize TDEP->sc_reg_offset and
+	TDEP->sc_num_regs instead of TDEP->sc_pc_offset and
+	TDEP->sc_sp_offset.
+	* i386bsd-nat.c (_initialize_i386bsd_nat): Adjust for changes in
+	i386bsd-tdep.c, i386nbsd-tdep.c and i386obsd-tdep.c.  Add check
+	for frame pointer offset in `struct sigcontext'.
+
+2003-05-31  Andrew Cagney  <cagney@redhat.com>
+
+	* mips-tdep.c (mips_gdbarch_init): Do not set the deprecated
+	architecture methods call_dummy_words, sizeof_call_dummy_words,
+	push_return_address, store_struct_return, and fix_call_dummy.  Set
+	push_dummy_call instead of deprecated_push_arguments.
+	(mips_store_struct_return): Delete function.
+	(mips_fix_call_dummy): Delete function.
+	(mips_push_return_address): Delete function.
+	(mips_eabi_push_dummy_call): Replace mips_eabi_push_arguments, set
+	RA_REGNUM and T9_REGNUM.
+	(mips_n32n64_push_dummy_call): Ditto for
+	mips_n32n64_push_arguments.
+	(mips_o32_push_dummy_call): Ditto for mips_o32_push_arguments.
+	(mips_o64_push_dummy_call): Ditto for mips_o64_push_arguments.
+
+2003-05-31  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (PUSH_DUMMY_CALL): Add "func_addr" parameter.  Rename
+	"dummy_addr" to "bp_addr".
+	* infcall.c (call_function_by_hand): Pass "funaddr" to
+	gdbarch_push_dummy_call.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* i386-tdep.c (i386_push_dummy_call): Update.
+	* arm-tdep.c (arm_push_dummy_call): Update.
+	* d10v-tdep.c (d10v_push_dummy_call): Update.
+
+2003-05-31  Mark Kettenis  <kettenis@gnu.org>
+
+	* x86-64-tdep.h (x86_64_num_regs, x86_64_num_gregs): Remove
+	variable declarations.
+	(x86_64_register_number, x86_64_register_name): Remove prototypes.
+	(x86_64_linux_frame_saved_pc, x86_64_linux+saved_pc_after_call,
+	x86_64_linux_in_sigtramp, x86_64_linux_frame_chain,
+	x86_64_init_frame_pc, x86_64_init_frame_pc,
+	x86_64_function_has_prologue): Remove prototypes.
+	(X86_64_NUM_GREGS): New define.
+	(x86_64_supply_fxsave, x86_64_fill_fxsave): New prototypes.
+	* x86-64-tdep.c: Don't include "dwarf2cfi.h".  Include
+	"dummy_frame.h", "frame.h", "frame-base.h", "frame-unwind.h".
+	(RAX_REGNUM, RDX_REGNUM, RDI_REGNUM, EFLAGS_REGNUM, ST0_REGNUM,
+	XMM1_REGNUM): Remove defines.
+	(X86_64_RAX_REGNUM, X86_64_RDX_REGNUM, X86_64_RDI_REGNUM,
+	X86_64_RBP_REGNUM, X86_64_RSP_REGNUM, X86_64_RIP_REGNUM,
+	X86_64_EFLAGS_REGNUM, X86_64_ST0_REGNUM, X86_64_XMM0_REGNUM,
+	X86_64_XMM1_REGNUM): New defines.
+	(struct x86_64_register_info): Renamed from `struct
+	register_info'.  Remove `size' member.
+	(x86_64_register_info_table): Remove variable.
+	(x86_64_register_info): New variable.
+	(X86_64_NUM_REGS): New define.
+	(X86_64_NUM_GREGS): Remove define.
+	(x86_64_num_regs, x86_64_num_gregs): Remove variables.
+	(x86_64_dwarf2gdb_regno_map, x86_64_dwarf2gdb_regno_map_length):
+	Remove variables.
+	(x86_54_dwarf2_reg_to_regnum): Remove function.
+	(x86_64_dwarf_regmap, x86_64_dwarf_regmap_len): New variables.
+	(x86_64_dwarf_reg_to_regnum): New function.
+	(x86_64_register_name): Rewrite.
+	(x86_64_register_raw_size): Remove function.
+	(x86_64_register_byte_table): Remove variable.
+	(x86_64_register_byte): Remove function.
+	(x86_64_register_virtual_type): Remove function.
+	(x86_64_register_type): New function.
+	(x86_64_register_convertible, x86_64_register_convert_to_virtual,
+	x86_64_register_convert_to_raw): Remove functions.
+	(x86_64_push_return_address, x86_64_pop_frame): Remove functon.
+	(x86_64_use_struct_convention): Make static.  Adjust for renamed
+	defines.
+	(x86_64_frame_init_saved_regs): Remove function.
+	(x86_64_push_arguments): Make static.  Change to accept a regcache
+	as argument.
+	(x86_64_store_return_value, x86_64_extract_return_value): Make
+	static.  Rewrite based on i386 counterparts.
+	(x86_64_push_dummy_call): New function.
+	(X86_64_NUM_SAVED_REGS): New define.
+	(x86_64_register_number): Remove function.
+	(x86_64_store_struct_return): Remove function.
+	(x86_64_frameless_function_invocation,
+	x86_64_function_has_prologue): Remove functions.
+	(PROLOG_BUFSIZE): Remove define.
+	(struct x86_64_frame_cache): New structure.
+	(x86_64_alloc_frame_cache, x86_64_analyze_prologue,
+	x86_64_frame_cache, x86_64_frame_this_id,
+	x86_64_frame_prev_register, x86_64_frame_p,
+	x86_64_sigtramp_frame_cache, x86_64_sigtramp_frame_this_id,
+	x86_64_sigtramp_frame_prev_register, x86_sigtramp_frame_p): New
+	functions.
+	(x86_64_frame_unwind, x86_64_sigtramp_frame_unwind): New
+	variables.
+	(x86_64_skip_prologue): Rewrite in terms of
+	x86_64_analyze_prologue.
+	(x86_64_frame_base_address): New function.
+	(x86_64_frame_base): New variable.
+	(x86_64_save_dummy_frame_tos, x86_64_unwind_dummy_id): Rewrite.
+	(x86_64_init_abi): Set register_type and push_dummy_call.  Don't
+	set deprecated_fp_regnum, deprecated_register_size,
+	deprecated_register_bytes, register_raw_size, register_byte,
+	register_virtual_type, register_convertiable,
+	register_convert_to_virtual, convert_to_raw,
+	deprecated_get_saved_register, deprecated_target_read_fp,
+	deprecated_push_arguments, deprecated_push_return_address,
+	deprecated_pop_frame, deprecated_store_struct_return,
+	deprecated_frame_init_saved_regs, deprecated_frame_chain,
+	frameless_function_invocation, deprecated_frame_saved_pc,
+	deprecated_saved_pc_after_call, frame_num_args, pc_in_sigtramp,
+	dwarf2_build_frame_info, deprecated_init_extra_frame_info,
+	deprecated_init_frame_pc and virtual_frame_pointer.  Call
+	frame_unwind_append_predicate to register x86_64_sigtramp_frame_p
+	and x86_64_frame_p.  Call frame_base_set_default to register
+	x86_64_frame_base.
+	(I387_FISEG_REGNUM, I387_FOSEG_REGNUM): New defines.
+	(x86_64_supply_fxsave, x86_64_fill_fxsave): New functions.
+	(_initialize_x86_64_tdep): Remove function.
+	* x86-64-linux-tdep.c: Don't include "dwarf2cfi.h".
+	(LINUX_SIGINFO_SIZE, LINUX_UCONTEXT_SIGCONTEXT_OFFSET,
+	LINUX_SIGCONTEXT_PC_OFFSET, LINUX_SIGCONTEXT_FP_OFFSET): Don't
+	define.
+	(X86_64_LINUX_UCONTEXT_SIGCONTEXT_OFFSET): Define.
+	(x86_64_linux_sigcontext_addr): Rewrite.
+	(x86_64_linux_sigtramp_saved_pc, x86_64_linux_saved_pc_after_call,
+	x86_64_linux_frame_saved_pc): Remove functions.
+	(x86_64_linux_pc_in_sigtramp): Renamed from
+	x86_64_linux_in_sigtramp.  Try harder to recognize a signal
+	trampoline.
+	(x86_64_linux_frame_chain, x86_64_init_frame_pc):
+	Remove_functions.
+	(x86_64_linux_init_abi): Set pc_in_sigtramp.  Initialize
+	TDEP->sigcontext_addr, TDEP->sc_pc_offset and TDEP->sc_sp_offset.
+	* x86-64-linux-nat.c: Sync with i386-linux-tdep.c.
+	(x86_64_regmap): Rename to regmap.
+	(GETREGS_SUPPLIES): Use X86_64_NUM_GREGS instead of
+	x86_64_num_gregs.
+	(supply_gregset, fill_gregset): Likewise.  Use regmap instead of
+	x86_64_regmap.
+	(x86_64_fxsave_offset): Remove function.
+	(supply_fpregset): Simply call x86_64_supply_fxsave.
+	(fill_fpregset): Simply call x86_64_fill_fxsave.
+	(fetch_inferior_registers, store_inferior_registers): Avoid
+	asignment in if-statement.
+	(LINUX_SYSCALL_LEN, LINUX_SYSCALL_REGNUM, SYS_Sigreturn,
+	SYS_rt_sigreturn, LINUX_SIGCONTEXT_EFLAGS_OFFSET,
+	LINUX_UCONTEXT_SIGCONTEXT_OFFSET): Remove defines.
+	(fetch_core_registers): Remove function.
+	(linux_elf_core_fns): Remove.
+	(offsetoff): Don't define.
+	(_initialize_x86_64_linux_nat, kernel_u_size): Remove functions.
+	* config/i386/x86-64linux.mt (TDEPFILES): Add i386-linux-tdep.o.
+	* config/i386/x86-64linux.mh (NATDEPFILES): Remove core-aout.o,
+	add core-regset.o.
+	* config/i386/nm-x86-64linux.h: Use NM_X86_64_LINUX_H for
+	protection against multiple includes instead of NM_X86_64_h.  Add
+	various comments.  Include "config/nm-linux.h".  Don't include
+	<signal.h>.
+	(REGISTER_U_ADDR, KERNEL_U_SIZE, U_REGS_OFFSET, KERN_U_ADDR,
+	GET_THREAD_SIGNALS): Remove defines.
+	(x86_64_register_u_addr, kernel_u_size,
+	lin_thread_get_thread_signals): Remove prototypes.
+	(PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define to `long'.
+	[HAVE_LINK_H]: Don't include "solib.h".
+	[HAVE_LINK_H] (SVR4_SHARED_LIBS): Remove define.
+	* config/i386/tm-x86-64linux.h: Fix comments.
+	* Makefile.in (x86-64-linux-nat.o, x86_64-linux-tdep.o,
+	x86-64-tdep.o): Update dependencies.
+
+2003-05-30  Andrew Cagney  <cagney@redhat.com>
+
+	* config/sparc/tm-sparc.h (sparc_extract_struct_value_address):
+	Change parameter type to a "struct regcache *".
+
+	* gdbarch.sh: Regardless of the multi-arch level, always define
+	the macro when not already defined.
+	* gdbarch.h, gdbarch.c: Re-generate.
+
+2003-05-30  Richard Henderson  <rth@redhat.com>
+
+	* alpha-mdebug-tdep.c (alpha_mdebug_frame_p): Reject prologues.
+	(alpha_mdebug_frame_unwind_cache): Don't call the heuristic unwinder.
+	(alpha_mdebug_frame_this_id): Likewise.
+	(alpha_mdebug_frame_prev_register): Likewise.
+	(alpha_mdebug_frame_base_address): Likewise.
+	(alpha_mdebug_frame_locals_address): Likewise.
+	(alpha_mdebug_frame_args_address): Likewise.
+	(struct alpha_mdebug_unwind_cache): Remove in_prologue_cache.
+	* alpha-tdep.c (alpha_heuristic_proc_start): Use get_pc_function_start.
+	(alpha_heuristic_frame_unwind_cache): Make static; add missing
+	loop increment.
+	(alpha_heuristic_frame_this_id): Make static.
+	(alpha_heuristic_frame_prev_register): Likewise.
+	(alpha_heuristic_frame_base_address): Likewise.
+	* alpha-tdep.h: Update.
+
+2003-05-30  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-tdep.h (i386bsd_sigcontext_addr): Remove prototype.
+	(I386_SIZEOF_GREGS, I386_SIZEOF_FREGS, I386_SIZEOF_XREGS): Remove
+	defenitions.
+	(IS_FP_REGNUM, IS_SSE_REGNUM): Remove definitions.
+	* i386-tdep.c: Mark functions that are 64-bit safe as such.
+	(I386_EAX_REGNUM, I386_EDX_REGNUM, I386_ESP_REGNUM,
+	I386_EBP_REGNUM, I386_EIP_REGNUM, I386_EFLAGS_REGNUM,
+	I386_ST0_REGNUM): New defines.
+	(CODESTREAM_BUFSIZ, codestream_tell, codestream_peek,
+	codestream_get): Remove define.
+	(codestream_next_addr, condestream_addr, condestream_buf,
+	codestream_off, codestream_cnt): Remove variables.
+	(codestream_fill, codestream_seek, codestream_read): Remove
+	functions.
+	(i386_follow_jump): Rewrite to avoid usage of removed codestream
+	functionality.
+	(i386_get_frame_setup, i386_frameless_signal_p, i386_frame_chain,
+	i386_sigtramp_saved_pc, i386_sigtramp_saved_sp,
+	i386_frame_saved_pc, i386_saved_pc_after_call,
+	i386_frame_num_args, i386_frame_init_saved_regs,
+	i386_push_return_address, i386_do_pop_frame, i386_pop_frame,
+	i386_push_arguments): Remove functions.
+	(i386_skip_prologue): Rewrite to avoid usage of removed codestream
+	functionality.  Use i386_analyze_prologue instead of
+	i386_get_frame_setup.
+	(I386_NUM_SAVED_REGS): New define.
+	(struct i386_frame_cache): New structure.
+	(i386_alloc_frame_cache, i386_analyze_struct_return,
+	i386_skip_probe, i386_analyze_frame_setup,
+	i386_analyze_register_saves, i386_analyze_prologue,
+	i386_unwind_pc, i386_frame_cache, i386_frame_this_id,
+	i386_frame_prev_register, i386_sigtramp_frame_cache,
+	i386_sigtramp_frame_this_id, i386_sigtramp_frame_prev_register,
+	i386_frame_p, i386_sigtramp_frame_p, i386_frame_base_address,
+	i386_unwind_dummy_id, i386_save_dummy_tos, i386_push_dummy_call):
+	New functions.
+	(i386_frame_unwind, i386_sigtramp_frame_unwind, i386_frame_base):
+	New variables.
+	(LOW_RETURN_REGNUM, HIGH_RETURN_REGNUM): Define in terms of
+	I386_EAX_REGNUM and I386_EDX_REGNUM.
+	(i386_extract_return_value, i386_store_return_value): Use
+	I386_ST0_REGNUM where appropriate.
+	(i386_extract_struct_value_address): Rewrite to use extract_address.
+	(i386_svr4_pc_in_sigtramp): Add comment.
+	(i386_svr4_sigcontext_addr): Rewrite.
+	(i386_svr4_init_abi): Adjust TDEP->sc_pc_offset and
+	TDEP->sc_sp_offset.
+	(i386_gdbarch_init): Don't set deprecated_init_frame_pc.  Set
+	sp_regnum, fp_regnum, pc_regnum, ps_regnum and fp0_regnum in terms
+	of new defines.  Set push_dummy_call, don't set
+	deprecated_push_arguments, deprecated_push_return_address,
+	deprecated_pop_frame.  Don't set parm_boundary.  Don't set
+	deprecated_frame_chain, deprecated_frame_saved_pc,
+	deprecated_saved_pc_after_call.  Set unwind_dummy_id,
+	save_dummy_frame_tos, unwind_pc.  Call
+	frame_unwind_append_predicate and frame_base_set_default.  Don't
+	set deprecated_dummy_write_pc.  Don't set deprecated_fp_regnum.
+	Don't set frameless_function_invocation.  Don't set
+	deprecated_register_bytes, deprecated_register_size,
+	deprecated_call_dummy_words and deprecated_sizeof_call_dummy.
+	* i386-linux-tdep.c: Fix formatting in some comments.
+	(LINUX_SIGTRAMP_INSN0, LINUX_SIGTRAMP_OFFSET0,
+	LINUX_SIGTRAMP_INSN1, LINUX_SIGTRAMP_OFFSET1,
+	LINUX_SIGTRAMP_INSN2, LINUX_SIGTRAMP_OFFSET2,
+	LINUX_RT_SIGTRAMP_INSN0, LINUX_RT_SIGTRAMP_OFFSET0,
+	LINUX_RT_SIGTRAMP_INSN1, LINUX_RT_SIGTRAMP_OFFSET1): Drop
+	redundant parentheses.
+	(I386_LINUX_UCONTEXT_SIGCONTEXT_OFFSET): New define.
+	(i386_linux_sigcontext_addr): Use it.  Rewrite.
+	(find_minsym_and_objfile): Change name of second argument.
+	(skip_gnu_resolver): Renamed from skip_hurd_resolver.  All callers
+	changed.  Use frame_pc_unwind instead of
+	DEPRECATED_SAVED_PC_AFTER_CALL.
+	(i386_linux_init_abi): Don't set deprecated_register_bytes.
+	* i386bsd-tdep.c (i386bsd_sigcontext_addr): Rewrite.
+	* i386-nto-tdep.c (i386nto_sigcontext_addr): Adapt for new frame
+	unwinder.
+	* i386-cygwin-tdep.c: Don't include "gdbcore.h", "frame.h" and
+	"dummy-frame.h".
+	(i386_cygwin_frame_chain_valid, i386_cygwin_frame_chain): Removed.
+	(_initialize_i386_cygwin_tdep): New prototype.
+	(i386_cygwin_init_abi): Don't set deprecated_frame_chain and
+	deprecated_frame_chain_valid.
+	* i386-sol2-tdep.c (i386_sol2_init_abi): Don't set
+	TDEP->sigcontext_addr, TDEP->sc_pc_offset and TDEP->sc_sp_offset.
+	Rely on the SVR4 defaults.
+	* config/i386/i386sol2.mt (TDEPFILES): Remove i386bsd-tdep.o.
+	* Makefile.in (i386-tdep.o, i386-cygwin-tdep.o): Update dependencies.
+
+2003-05-30  Andrew Cagney  <cagney@redhat.com>
+
+	* infcall.c (call_function_by_hand): Always call
+	DEPRECATED_FIX_CALL_DUMMY, even for AT_ENTRY_POINT case.
+
+2003-05-30  Richard Henderson  <rth@redhat.com>
+
+	* alpha-tdep.c (alpha_heuristic_frame_unwind_cache): Fix loop
+	increment.
+
+2003-05-29  Jim Blandy  <jimb@redhat.com>
+
+	Use gdbarch methods for solib stuff on PowerPC Linux.
+	* config/powerpc/tm-linux.h (IN_SOLIB_CALL_TRAMPOLINE,
+	SKIP_TRAMPOLINE_CODE): #undef these, so the gdbarch methods will
+	show through.
+	* ppc-linux-tdep.c (ppc_linux_init_abi): Register
+	IN_SOLIB_CALL_TRAMPOLINE and SKIP_TRAMPOLINE_CODE methods here,
+	giving the same effect as the #definitions above.
+
+2003-05-29  Adam Fedor  <fedor@gnu.org>
+
+	* objc-lang.c (CONVERT_FUNCPTR): Remove macro
+	(find_implementation_from_class): Replace it with the standard
+	case i.e. do nothing.
+
+2003-05-29  Richard Henderson  <rth@redhat.com>
+
+	* alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): New.
+	(alpha_linux_sigtramp_offset): Use it.  Make static.
+	(alpha_linux_sigcontext_addr): Handle __NR_rt_sigreturn;
+	update for new frame model.
+	* alpha-mdebug-tdep.c: New file.
+	* alpha-osf1-tdep.c (alpha_call_dummy_address): Move from alpha-tdep.c.
+	(alpha_osf1_init_abi): Install it.
+	* alpha-tdep.c (PROC_*): Move to alpha-mdebug-tdep.c.
+	(linked_proc_desc_table): Remove.
+	(alpha_frame_past_sigtramp_frame): Remove.
+	(alpha_dynamic_sigtramp_offset): Remove.
+	(ALPHA_PROC_SIGTRAMP_MAGIC): Remove.
+	(alpha_proc_desc_is_dyn_sigtramp): Remove.
+	(alpha_set_proc_desc_is_dyn_sigtramp): Remove.
+	(push_sigtramp_desc): Remove.
+	(alpha_cannot_fetch_register): Use ALPHA_FP_REGNUM.
+	(alpha_cannot_store_register): Likewise.
+	(alpha_sigcontext_addr): Remove.
+	(alpha_find_saved_regs): Remove.
+	(alpha_frame_init_saved_regs): Remove.
+	(alpha_init_frame_pc_first): Remove.
+	(read_next_frame_reg): Remove.
+	(alpha_frame_saved_pc): Remove.
+	(alpha_saved_pc_after_call): Remove.
+	(temp_proc_desc, temp_saved_regs): Remove.
+	(alpha_about_to_return): Remove.
+	(cached_proc_desc): Remove.
+	(alpha_frame_chain): Remove.
+	(alpha_print_extra_frame_info): Remove.
+	(alpha_init_extra_frame_info): Remove.
+	(alpha_frame_locals_address): Remove.
+	(alpha_frame_args_address): Remove.
+	(alpha_push_arguments): Use ALPHA_REGISTER_BYTES not sizeof CORE_ADDR.
+	(alpha_push_dummy_frame): Remove.
+	(alpha_pop_frame): Remove.
+	(alpha_after_prologue): Rename from after_prologue; remove mdebug bits.
+	(alpha_read_insn): New.
+	(alpha_skip_prologue): Merge alpha_skip_prologue_internal; adjust
+	for different insn encodings.
+	(alpha_in_lenient_prologue): Remove.
+	(struct alpha_sigtramp_unwind_cache): New.
+	(alpha_sigtramp_frame_unwind_cache): New.
+	(alpha_sigtramp_register_address): New.
+	(alpha_sigtramp_frame_this_id): New.
+	(alpha_sigtramp_frame_prev_register): New.
+	(alpha_sigtramp_frame_unwind): New.
+	(alpha_sigtramp_frame_p): New.
+	(struct alpha_heuristic_unwind_cache): New.
+	(alpha_heuristic_proc_start): Rename from heuristic_proc_start;
+	don't count nop insns that occur between functions.
+	(alpha_heuristic_frame_unwind_cache): New; incorporate much of
+	heuristic_proc_desc, but without the mdebug wrapping.
+	(alpha_heuristic_frame_this_id): New.
+	(alpha_heuristic_frame_prev_register): New.
+	(alpha_heuristic_frame_unwind): New.
+	(alpha_heuristic_frame_p): New.
+	(alpha_heuristic_frame_base_address): New.
+	(alpha_heuristic_frame_base): New.
+	(alpha_unwind_dummy_id): New.
+	(alpha_unwind_pc): New.
+	(alpha_gdbarch_init): Don't set skip_sigtramp_frame.  Kill use of
+	frame related deprecated initializations; install replacements.
+	(alpha_dump_tdep): Remove.
+	* alpha-tdep.h (struct gdbarch_tdep): Remove skip_sigtramp_frame.
+	(alpha_read_insn, alpha_after_prologue,
+	alpha_heuristic_frame_unwind_cache, alpha_heuristic_frame_this_id,
+	alpha_heuristic_frame_prev_register,
+	alpha_heuristic_frame_base_address, alpha_mdebug_init_abi): Declare.
+	* config/alpha/alpha-linux.mt (TDEPFILES): Add alpha-mdebug-tdep.o.
+	* config/alpha/tm-alpha.h (PRINT_EXTRA_FRAME_INFO): Remove.
+	* config/alpha/tm-alphalinux.h (SIGTRAMP_START, SIGTRAMP_END): Remove.
+
+2003-05-29  Andrew Cagney  <cagney@redhat.com>
+
+	* gdb_assert.h (gdb_assert_fail): Provide different definitions
+	dependant on the availability of ASSERT_FUNCTION.
+	(ASSERT_FUNCTION): Do not define when there is no function name.
+
+2003-05-29  Kevin Buettner  <kevinb@redhat.com>
+
+	From Jimi X <jimix@watson.ibm.com>:
+	* rs6000-tdep.c (skip_prologue): Improve support for 64-bit code.
+
+2003-05-28  Jim Blandy  <jimb@redhat.com>
+
+	* ppc-linux-nat.c (store_altivec_registers): Don't cast fourth
+	argument to ptrace to int; the system headers should give it the
+	right type, and pointers don't fit in ints on powerpc64-*-*.
+
+2003-05-28  H.J. Lu <hongjiu.lu@intel.com>
+
+	* dwarf2read.c (process_die): Handle DW_TAG_try_block and
+	DW_TAG_catch_block.
+
+2003-05-26  Elena Zannoni  <ezannoni@redhat.com>
+
+	* stabsread.c (dbx_lookup_type): Make static.
+	(read_type): Ditto.
+	(add_undefined_type): Ditto.
+	* stabsread.h (dbx_lookup_type, read_type, add_undefined_type): Do
+	not export.
+
+2003-05-26  Elena Zannoni  <ezannoni@redhat.com>
+
+	* hpread.c (hpread_has_name): Make static.
+	(hpread_psymtab_to_symtab): Ditto.
+	(file_exists): Ditto.
+	(hpread_call_pxdb): Ditto.
+	(hpread_pxdb_needed): Ditto.
+	(hpread_quick_traverse): Ditto.
+	(hpread_get_header): Ditto.
+	(hpread_get_lntt): Ditto.
+	(hpread_get_slt): Ditto.
+	(class_of): Ditto.
+
+2003-05-25  Andreas Schwab  <schwab@suse.de>
+
+	* m68k-tdep.c (m68k_gdbarch_init): Set parm_boundary instead of
+	stack_align and deprecated_extra_stack_alignment_needed.
+	(m68k_stack_align): Delete.
+
+	* m68k-tdep.c (m68k_register_raw_size): Remove cast.
+	(m68k_register_virtual_size): Likewise.
+	(altos_skip_prologue): Remove obsolete function.
+	(isi_frame_num_args): Likewise.
+	(news_frame_num_args): Likewise.
+	(m68k_fix_call_dummy): Make static.
+	(m68k_push_dummy_frame): Likewise.
+	(m68k_pop_frame): Likewise.
+	(m68k_skip_prologue): Likewise.
+	(m68k_frame_init_saved_regs): Likewise.
+	(m68k_saved_pc_after_call): Likewise.
+	(m68k_get_longjmp_target): Make multi-arch.
+	(m68k_gdbarch_init): Allocate and initialize gdbarch_tdep
+	structure.  Register m68k_get_longjmp_target if enabled.
+	* m68k-tdep.h (struct gdbarch_tdep): Define.
+	* config/m68k/tm-m68k.h: Don't include "regcache.h".
+
+	* Makefile.in (config.status): Also depend on configure.tgt
+	and configure.host.
+	(m68klinux-tdep.o): Update dependencies.
+	* configure.tgt (m68*-*-linux*): Set gdb_multi_arch to 1.
+	* m68klinux-tdep.c (M68K_LINUX_JB_ELEMENT_SIZE): Define.
+	(M68K_LINUX_JB_PC): Define.
+	(m68k_linux_pc_in_sigtramp): Renamed from m68k_linux_in_sigtramp
+	and take additional parameter.
+	(m68k_linux_sigtramp_saved_pc): Update.
+	(m68k_linux_init_abi): Set jb_pc and jb_elt_size.  Register
+	m68k_linux_pc_in_sigtramp, in_plt_section,
+	find_solib_trampoline_target.
+	* config/m68k/tm-linux.h: Don't include any tm headers.
+	(START_INFERIOR_TRAPS_EXPECTED): Remove definition.
+	(JB_ELEMENT_SIZE): Likewise.
+	(JB_PC): Likewise.
+	(GET_LONGJMP_TARGET): Likewise.
+	(IN_SIGTRAMP): Likewise.
+	(SVR4_SHARED_LIBS): Define this and include "solib.h".
+
+2003-05-25  Mark Kettenis  <kettenis@gnu.org>
+
+	* sparc-tdep.c (sparc32_do_push_arguments): New function.
+	(sparc32_push_arguments): Re-implement by calling
+	sparc32_do_push_arguments.
+
+2003-05-25  Mark Kettenis  <kettenis@gnu.org>
+
+	* sparc-tdep.c (SPARC_F0_REGNUM, SPARC_F1_REGNUM, SPARC_O0_REGNUM,
+	SPARC_O1_REGNUM): New defines.
+	(sparc32_extract_return_value): Rewrite to operate on a regcache.
+	(sparc32_store_return_value): New function.
+	(sparc_extract_struct_value_address): Rewrite to operate on a
+	regcache.
+	(sparc_gdbarch_init): Don't set
+	deprecated_extract_struct_value_address.  Set
+	extract_struct_value_address instead. Don't set
+	deprecated_extract_return_value and deprecated_store_return_value
+	for 32-bit targets.  Set extract_return_value and
+	store_return_value instead.
+	* config/sparc/tm-sparc.h (DEPRECATED_STORE_RETURN_VALUE,
+	DEPRECATED_EXTRACT_RETURN_VALUE,
+	DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS): Don't define these.
+	(STORE_RETURN_VALUE, EXTRACT_RETURN_VALUE,
+	EXTRACT_STRUCT_VALUE_ADDRESS): Define these instead.
+	(sparc_store_return_value): Remove prototype.
+	(sparc32_store_return_value): New prototype.
+	(sparc32_extract_return_value, sparc_extract_struct_value_address):
+	Adjust prototypes.
+
+2003-05-24  Mark Kettenis  <kettenis@gnu.org>
+
+	* sparcnbsd-tdep.c: Include "gdb_string.h".
+
+2003-05-23  Andrew Cagney  <cagney@redhat.com>
+
+	* p-valprint.c (pascal_val_print): Replace extract_address with
+	the inline equivalent extract_unsigned_integer.
+	* jv-valprint.c (java_value_print): Ditto.
+	* ada-valprint.c (ada_val_print_1): Ditto.
+	* ada-lang.h (EXTRACT_ADDRESS): Ditto.
+
+2003-05-23  Theodore A. Roth  <troth@openavr.org>
+
+	* blockframe.c (frameless_look_for_prologue): Remove unused
+	after_prologue variable.
+
+2003-05-23  Mark Kettenis  <kettenis@gnu.org>
+
+	* blockframe.c (get_pc_function_start): Rewrite to avoid
+	asignments in if-statements.
+
+2003-05-23  Raoul Gough  <RaoulGough@yahoo.co.uk>
+
+	Committed by Elena Zannoni  <ezannoni@redhat.com>.
+	* coffread.c(coff_symtab_read): Do relocate static symbols from PE
+	files, don't relocate absolute symbols (and do use mst_abs).
+
+2003-05-23  Andrew Cagney  <cagney@redhat.com>
+
+	* objc-lang.c: Include "gdb_assert.h".
+	(objc_op_print_tab): Use OP_NULL and PREC_NULL instead of 0.
+	(CHECK, CHECK_FATAL, __CHECK_FUNCTION): Delete macros.
+	(gdb_check, gdb_check_fatal): Delete functions.
+	(read_objc_methlist_method): Replace CHECK and CHECK_FATAL with
+	gdb_assert.
+	(parse_selector, parse_method, find_methods, find_imps): Ditto.
+	* Makefile.in (objc-lang.o): Update dependencies.
+
+2003-05-22  Ian Lance Taylor  <ian@airs.com>
+
+	* disasm.c (gdb_disassemble_info): Initialize disassemble_info
+	with fprintf_filtered, not fprintf_unfiltered.
+
+2003-05-22  Andrew Cagney  <cagney@redhat.com>
+
+	* stack.c (frame_info): Inline extract_address, replacing it with
+	extract_unsigned_integer.
+	* findvar.c (unsigned_pointer_to_address): Ditto.
+	* dwarf2loc.c (dwarf_expr_read_reg): Ditto.
+	* dwarf2expr.c (dwarf2_read_address): Ditto.
+	* frame.c (frame_pc_unwind): Update comment.
+	* dummy-frame.c (deprecated_read_register_dummy): Update comment.
+
+2003-05-22  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* infptrace.c (detach): Call print_sys_errmsg rather than
+	perror_with_name to issue warning message when errno is non-zero
+	after calling ptrace detach.
+
+2003-05-21  J. Brobecker  <brobecker@gnat.com>
+
+	* config/pa/tm-hppa.h: Delete some unused macros. Move some
+	macro definitions from here...
+	* hppa-tdep.c: ...to there.
+
+2003-05-20  Kevin Buettner  <kevinb@redhat.com>
+
+	* mips-nat.c (REGISTER_PTRACE_ADDR): Convert macro to function
+	register_ptrace_addr().  Fix all callers.
+
+2003-05-21  Andreas Schwab  <schwab@suse.de>
+
+	* Makefile.in (m68k-tdep.o, m68klinux-tdep.o): Update
+	dependencies.
+	* m68k-tdep.c (m68k_gdbarch_init): Call gdbarch_init_osabi at the
+	end.
+	* m68klinux-tdep.c (m68k_linux_init_abi): New function.
+	(_initialize_m68k_linux_tdep): New function.
+	(m68k_linux_frame_saved_pc): Make static.
+	(m68k_linux_extract_return_value): Likewise.
+	(m68k_linux_store_return_value): Likewise.
+	(m68k_linux_extract_struct_value_address): Likewise.
+	* config/m68k/tm-linux.h (DEPRECATED_EXTRACT_RETURN_VALUE):
+	Remove.
+	(DEPRECATED_STORE_RETURN_VALUE): Remove.
+	(DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS): Remove.
+	(DEPRECATED_FRAME_SAVED_PC): Remove.
+
+2003-05-20  Kris Warkentin  <kewarken@qnx.com>
+
+	* nto-tdep.c (fetch_core_registers): Match gdb's idea of
+	regset numbering rather than our own.
+
+2003-05-19  David Carlton  <carlton@bactrian.org>
+
+	* config/djgpp/fnchange.lst: Add testsuite/gdb.c++/rtti*.
+
+2003-05-19  David Carlton  <carlton@bactrian.org>
+
+	Partial fix for PR c++/827.
+	* cp-support.h: Include symtab.h.
+	Declare cp_lookup_symbol_nonlocal, cp_lookup_symbol_namespace.
+	* cp-namespace.c: Update contributors.
+	(cp_lookup_symbol_nonlocal): New.
+	(lookup_namespace_scope, cp_lookup_symbol_namespace)
+	(lookup_symbol_file): Ditto.
+	* c-lang.c (cplus_language_defn): Use cp_lookup_symbol_nonlocal.
+	* block.h: Declare block_scope, block_using, block_global_block.
+	* block.c (block_scope): New.
+	(block_using, block_global_block): Ditto.
+	* Makefile.in (cp_support_h): Depend on symtab_h.
+	* config/djgpp/fnchange.lst: Add testsuite/gdb.c++/namespace1.cc.
+
+2003-05-19  David Carlton  <carlton@bactrian.org>
+
+	* language.h (struct language_defn): Add 'la_value_of_this'
+	and 'la_lookup_symbol_nonlocal' members.
+	* symtab.h: Declare basic_lookup_symbol_nonlocal,
+	lookup_symbol_static, lookup_symbol_global,
+	lookup_symbol_aux_block.
+	* symtab.c (lookup_symbol_aux): Call language hooks to determine
+	if we should search fields of this and how to do static/global
+	lookup.
+	(lookup_symbol_aux_block): Make extern.
+	(basic_lookup_symbol_nonlocal): New.
+	(lookup_symbol_static, lookup_symbol_global): Ditto.
+	* ada-lang.c (ada_language_defn): Set 'la_value_of_this' and
+	'la_lookup_symbol_nonlocal' members.
+	* c-lang.c (c_language_defn, cplus_language_defn)
+	(asm_language_defn, minimal_language_defn): Ditto.
+	* jv-lang.c (java_language_defn): Ditto.
+	* language.c (unknown_language_defn, auto_language_defn)
+	(local_language_defn): Ditto.
+	* m2-lang.c (m2_language_defn): Ditto.
+	* objc-lang.c (objc_language_defn): Ditto.
+	* scm-lang.c (scm_language_defn): Ditto.
+	* f-lang.c (f_language_defn): Ditto, and include value.h as well.
+	* p-lang.c (pascal_language_defn): Ditto for both.
+	* Makefile.in (f-lang.o): Depend on value_h.
+	(p-lang.o): Ditto.
+
+2003-05-19  David Carlton  <carlton@bactrian.org>
+
+	* block.h: Declare block_static_block.
+	* block.c (block_static_block): New.
+	* symtab.c (lookup_symbol_aux): Remove 'static_block' argument to
+	lookup_symbol_aux_local, calling block_static_block instead.
+	(lookup_symbol_aux_local): Delete 'static_block' argument.
+
+2003-05-19  David Carlton  <carlton@bactrian.org>
+
+	* symtab.c (lookup_symbol_aux): Delete #if 0 hunk.
+
+2003-05-19  Michal Ludvig  <mludvig@suse.cz>
+
+	* x86-64-tdep.c (x86_64_dwarf2gdb_regno_map): Fix
+	register numbers mapping.
+
+2003-05-18  Adam Fedor  <fedor@gnu.org>
+
+	* symtab.c (completion_list_objc_symbol): New function.
+	(make_symbol_completion_list): Use it to add ObjC symbols
+	when looking though the list.
+	(language_search_unquoted_string): New function.
+	(make_file_symbol_completion_list): Use it.
+
+2003-05-18  Andreas Schwab  <schwab@suse.de>
+
+	* Makefile (m68klinux-nat.o, m68klinux-tdep.o): Update
+	dependencies.
+	* config/m68k/tm-linux.h (DEPRECATED_EXTRACT_RETURN_VALUE): Define
+	as m68k_linux_extract_return_value.
+	(DEPRECATED_STORE_RETURN_VALUE): Define as
+	m68k_linux_store_return_value.
+	(DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS): Define as
+	m68k_linux_extract_struct_value_address.
+	* m68klinux-tdep.c (m68k_linux_sigtramp_saved_pc): Use
+	get_next_frame, get_frame_base, get_frame_pc.
+	(m68k_linux_frame_saved_pc): Use get_frame_base.
+	(m68k_linux_extract_return_value): New function.
+	(m68k_linux_store_return_value): New function.
+	(m68k_linux_extract_struct_value_address): New function.
+	* config/m68k/tm-m68k.h: Declare m68k_get_longjmp_target.
+
+	* c-exp.y (typebase): Remove duplicate occurence of
+	`SIGNED_KEYWORD LONG LONG'.  Use builtin_type_long_long instead
+	of lookup_signed_typename.
+
+2003-05-18  Mark Kettenis  <kettenis@gnu.org>
+
+	* dwarf2loc.c (find_location_expression): Change type of second
+	argument to `size_t *'.
+	(loclist_read_variable, loclist_tracepoint_var_ref): Use size_t
+	for size variable.
+
+2003-05-18  David Carlton  <carlton@bactrian.org>
+
+	* symtab.c (lookup_symbol_aux): Rename 'mangled_name' argument to
+	'linkage_name'.  Add comment.
+	(lookup_symbol_aux_local): Rename 'mangled_name' argument to
+	'linkage_name'.
+	(lookup_symbol_aux_block, lookup_symbol_aux_symtabs)
+	(lookup_symbol_aux_psymtabs, lookup_symbol_aux_minsyms)
+	(lookup_block_symbol): Ditto.
+
+2003-05-16  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_REGISTER_BYTES): Rename REGISTER_BYTES.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* arm-linux-tdep.c (arm_linux_extract_return_value): Delete reference.
+	* TODO (REGISTER_BYTES): Delete reference.
+	* alpha-tdep.c (alpha_gdbarch_init): Update.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+	* x86-64-tdep.c (x86_64_init_abi): Update.
+	* vax-tdep.c (vax_gdbarch_init): Update.
+	* v850-tdep.c (v850_gdbarch_init): Update.
+	* sparc-tdep.c (sparc_gdbarch_init): Update.
+	* sh-tdep.c (sh_gdbarch_init): Update.
+	* s390-tdep.c (s390_gdbarch_init): Update.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Update.
+	* ns32k-tdep.c (ns32k_gdbarch_init_32082): Update.
+	(ns32k_gdbarch_init_32382): Update.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Update.
+	* mcore-tdep.c (mcore_gdbarch_init): Update.
+	* m68k-tdep.c (m68k_gdbarch_init): Update.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+	* ia64-tdep.c (ia64_gdbarch_init): Update.
+	* i386-tdep.c (i386_gdbarch_init): Update.
+	* i386-linux-tdep.c (i386_linux_init_abi): Update.
+	* hppa-tdep.c (hppa_gdbarch_init): Update.
+	* h8300-tdep.c (h8300_gdbarch_init): Update.
+	* frv-tdep.c (frv_gdbarch_init): Update.
+	* cris-tdep.c (cris_gdbarch_init): Update.
+	* avr-tdep.c (avr_gdbarch_init): Update.
+	* arm-tdep.c (arm_gdbarch_init): Update.
+	* sparc-tdep.c (sparc_pop_frame): Update.
+	* rs6000-tdep.c (rs6000_pop_frame): Update.
+	* remote.c (init_remote_state): Update.
+	(remote_prepare_to_store): Update.
+	* remote-vx.c (vx_prepare_to_store): Update.
+	* remote-sds.c (sds_fetch_registers): Update.
+	(sds_prepare_to_store): Update.
+	* remote-array.c: Update.
+	* regcache.c (init_legacy_regcache_descr): Update.
+	(init_regcache_descr): Update.
+	* mips-tdep.c (mips_eabi_extract_return_value): Update.
+	(mips_o64_extract_return_value): Update.
+	* irix5-nat.c (fetch_core_registers): Update.
+	* irix4-nat.c (fetch_core_registers): Update.
+	* i386-tdep.h: Update.
+	* hppa-tdep.c (pa_do_registers_info): Update.
+	(pa_do_strcat_registers_info): Update.
+	* cris-tdep.c (cris_register_bytes_ok): Update.
+	* config/nm-gnu.h (CHILD_PREPARE_TO_STORE): Update.
+	* config/sparc/tm-sparc.h (DEPRECATED_REGISTER_BYTES): Update.
+	* config/sparc/nm-sun4sol2.h (CHILD_PREPARE_TO_STORE): Update.
+	* config/sparc/nm-sun4os4.h (CHILD_PREPARE_TO_STORE): Update.
+	* config/sparc/nm-nbsd.h (CHILD_PREPARE_TO_STORE): Update.
+	* config/sparc/tm-sp64.h (DEPRECATED_REGISTER_BYTES): Update.
+	* config/s390/tm-s390.h (DEPRECATED_REGISTER_BYTES): Update.
+	* config/pa/tm-hppa64.h (DEPRECATED_REGISTER_BYTES): Update.
+	* config/mips/tm-mips.h (DEPRECATED_REGISTER_BYTES): Update.
+	* config/mips/tm-irix6.h (DEPRECATED_REGISTER_BYTES): Update.
+	* config/mips/tm-irix5.h (DEPRECATED_REGISTER_BYTES): Update.
+	* config/m68k/tm-sun3.h (DEPRECATED_REGISTER_BYTES): Update.
+	(REGISTER_BYTES_OK): Update.
+	* config/m68k/nm-sun3.h (CHILD_PREPARE_TO_STORE): Update.
+	* config/ia64/tm-ia64.h (DEPRECATED_REGISTER_BYTES): Update.
+
+2003-05-16  Ian Lance Taylor  <ian@airs.com>
+
+	* vax-tdep.c (INVALID_FLOAT, MAXLEN, NOPCODES): Don't define.
+	(vax_print_insn, print_insn_arg): Remove static functions.
+	(vax_gdbarch_init): Call set_gdbarch_print_insn with
+	print_insn_vax from opcodes library.
+	(_initialize_vax_tdep): Don't set deprecated_tm_print_insn.
+
+2003-05-15  Andrew Cagney  <cagney@redhat.com>
+
+	* arch-utils.h (legacy_breakpoint_from_pc): Delete declaration.
+	* target.h (memory_breakpoint_from_pc): Delete declaration.
+	* mem-break.c (memory_breakpoint_from_pc): Delete function.
+	* arch-utils.c (legacy_breakpoint_from_pc): Delete function.
+	* monitor.c (monitor_insert_breakpoint): Use
+	gdbarch_breakpoint_from_pc instead of memory_breakpoint_from_pc.
+	* gdbarch.sh (BREAKPOINT_FROM_PC): Do not provide a default.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* sparc-tdep.c (sparc_breakpoint_from_pc): New function.
+	(sparc_gdbarch_init): Set breakpoint_from_pc to
+	sparc_breakpoint_from_pc.
+	* config/sparc/tm-sparc.h (BREAKPOINT): Delete macro.
+	(BREAKPOINT_FROM_PC): Define.
+	(sparc_breakpoint_from_pc): Declare.
+	* hppa-tdep.c (hppa_breakpoint_from_pc): New function.
+	* config/pa/tm-hppa.h (hppa_breakpoint_from_pc): Declare.
+	(BREAKPOINT_FROM_PC): Define.
+	(BREAKPOINT): Delete macro.
+	* target.h: Update comment.
+	* s390-tdep.c (s390_gdbarch_init): Update comments.
+	* remote.c: Update comments.
+	* remote-mips.c: Update comments.
+	* proc-api.c (write_with_trace): Do not check for a breakpoint.
+	* mem-break.c: Update comment.
+	* ia64-tdep.c (IA64_BREAKPOINT): Rename BREAKPOINT.
+	(ia64_memory_insert_breakpoint): Update.
+	* config/sparc/tm-sparc.h: Update comment.
+	* config/pa/tm-hppa64.h: Update comment.
+	* rs6000-tdep.c (BIG_BREAKPOINT, LITTLE_BREAKPOINT): Delete macro.
+	(rs6000_breakpoint_from_pc): Update.
+	* mips-tdep.c (BIG_BREAKPOINT, LITTLE_BREAKPOINT): Delete macro.
+	(PMON_BIG_BREAKPOINT, PMON_LITTLE_BREAKPOINT): Delete macro.
+	(IDT_LITTLE_BREAKPOINT, IDT_LITTLE_BREAKPOINT): Delete macro.
+	(MIPS16_LITTLE_BREAKPOINT, MIPS16_BIG_BREAKPOINT): Delete macro.
+	(mips_breakpoint_from_pc): Update.
+	(mips_dump_tdep): Update.
+
+	* symtab.h (DEPRECATED_SYMBOL_MATCHES_NAME): Delete macro.
+	* minsyms.c (lookup_minimal_symbol): Inline
+	DEPRECATED_SYMBOL_MATCHES_NAME.  Replace STREQ with strcmp.
+
+	* c-lang.c (c_printstr): Delete "extern inspect_it" declaration.
+	* p-valprint.c (pascal_object_print_value_fields): Ditto.
+	* p-lang.c (pascal_printstr): Ditto.
+	* objc-lang.c (objc_printstr): Ditto.
+	* m2-lang.c (m2_printstr): Ditto.
+	* jv-valprint.c (java_print_value_fields): Ditto.
+	* f-lang.c (f_printstr): Ditto.
+	* cp-valprint.c (cp_print_value_fields): Ditto.  Include "valprint.h".
+	* ada-valprint.c (inspect_it, repeat_count_threshold): Ditto, and
+	for repeat_count_threshold.
+	* Makefile.in (cp-valprint.o): Update dependencies.
+
+2003-05-15  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* ia64-tdep.c: Increase max_skip_non_prologue_insns to 40.
+	(examine_prologue): Support looking through leaf functions, knowing
+	they start with mov r2,r12.  Support skipping over indirect stores
+	of the input registers.  Upon hitting a non-nop branch instruction
+	or predicated instruction, bail out by setting lim_pc to the current
+	pc value in the loop.  At the end, if the lim_pc value is still
+	beyond our calculated value and we have trust_limit set,
+	use the lim_pc value.
+
+2003-05-15  Andrew Cagney  <cagney@redhat.com>
+
+	* dummy-frame.h (deprecated_find_dummy_frame_regcache): Rename
+	generic_find_dummy_frame.
+	* dummy-frame.c (deprecated_find_dummy_frame_regcache): Update.
+	(deprecated_generic_find_dummy_frame): Update.
+	(deprecated_read_register_dummy): Update.
+	* frame.c (deprecated_generic_get_saved_register): Update.
+
+2003-05-15  Theodore A. Roth  <troth@openavr.org>
+
+	* avr-tdep.c (avr_breakpoint_from_pc): New function.
+	(avr_gdbarch_init): Set breakpoint_from_pc method.
+
+2003-05-15  Andrew Cagney  <cagney@redhat.com>
+
+	* regcache.c (build_regcache): Set deprecated_register_valid
+	directly.
+	(deprecated_grub_regcache_for_register_valid): Delete function.
+	* regcache.h (deprecated_grub_regcache_for_register_valid): Delete
+	declaration.
+
+2003-05-15  David Carlton  <carlton@bactrian.org>
+
+	Committed by Elena Zannoni <ezannoni@redhat.com>
+	* symtab.c (lookup_symbol_aux): Delete calls to
+	lookup_symbol_aux_minsyms.
+	(lookup_symbol_aux_minsyms): Comment out function and
+	prototype. Delete lookup by mangled name.
+
+2003-05-14  Kevin Buettner  <kevinb@redhat.com>
+
+	* dwarf2expr.c (new_dwarf_expr_context): Set ``stack_len'' to
+	correctly indicate an empty stack and ``stack_allocated'' to the
+	indicate the number of elements initially allocated.
+	(dwarf_expr_grow_stack): Simplify method for computing new
+	stack size.  Don't loop infinitely if ``stack_len'' is zero.
+	(execute_stack_op): Move ``ctx->in_reg'' initialization
+	out of loop.  Allow DW_OP_reg0 ... DW_OP_reg31 and DW_OP_regx to
+	be used in conjuction with DW_OP_piece.  Revise error message
+	accordingly.
+
+2003-05-14  Theodore A. Roth  <troth@openavr.org>
+
+	* MAINTAINERS: Update my email address.
+	* avr-tdep.c: Ditto.
+
+2003-05-14  Elena Zannoni  <ezannoni@redhat.com>
+
+	* symtab.h (enum domain_enum): Rename from namespace_enum.
+	(UNDEF_DOMAIN, VAR_DOMAIN, STRUCT_DOMAIN, LABEL_DOMAIN,
+	VARIABLES_DOMAIN, FUNCTIONS_DOMAIN, TYPES_DOMAIN, METHODS_DOMAIN):
+	Rename from UNDEF_NAMESPACE, VAR_NAMESPACE, STRUCT_NAMESPACE,
+	LABEL_NAMESPACE, VARIABLES_NAMESPACE, FUNCTIONS_NAMESPACE,
+	TYPES_NAMESPACE, METHODS_NAMESPACE.
+	(SYMBOL_NAMESPACE): Rename to SYMBOL_DOMAIN.
+	(struct symbol, struct partial_symbol): Rename field
+	'namespace_enum namespace' to 'domain_enum domain'.
+	(PSYMBOL_NAMESPACE): Rename to PSYMBOL_DOMAIN.
+	Delete old define kludge for namespace.
+
+	* ada-exp.y, ada-lang.c, ada-lang.h, alpha-tdep.c, arm-tdep.c,
+	blockframe.c, c-exp.y, c-valprint.c, coffread.c, dbxread.c,
+	dwarf2read.c, dwarfread.c, f-exp.y, gdbtypes.c, gdbtypes.h,
+	gnu-v3-abi.c, hppa-tdep.c, hpread.c, jv-exp.y, jv-lang.c,
+	language.c, linespec.c, m2-exp.y, m3-nat.c, mdebugread.c,
+	mips-tdep.c, nlmread.c, objc-exp.y, objc-lang.c, objfiles.c,
+	p-exp.y, p-valprint.c, parse.c, printcmd.c, scm-lang.c, source.c,
+	stabsread.c, stack.c, symfile.c, symfile.h, symmisc.c, symtab.c,
+	valops.c, values.c, xcoffread.c, xstormy16-tdep.c: Replace all
+	occurrences of the above.
+
+2003-05-14  Ian Lance Taylor  <ian@airs.com>
+
+	* Makefile.in (install-only): Use $(SHELL) when running
+	mkinstalldirs.
+
+2003-05-13  Ian Lance Taylor  <ian@airs.com>
+
+	* MAINTAINERS (write after approval): Add myself.
+
+	* ser-pipe.c (_initialize_ser_pipe): Correct call to memset--swap
+	second and third arguments.
+	* ser-tcp.c (_initialize_ser_tcp): Likewise.
+	* ser-unix.c (_initialize_ser_hardwire): Likewise.
+
+2003-05-13  Andrew Cagney  <cagney@redhat.com>
+
+	* defs.h (store_address): Delete declaration.
+	findvar.c (store_address): Delete function.
+	* arm-tdep.c (arm_push_dummy_call): Replace store_address with
+	store_unsigned_integer.
+	* xstormy16-tdep.c (xstormy16_address_to_pointer): Ditto.
+	* v850-tdep.c (v850_push_arguments): Ditto.
+	* sparc-tdep.c (sparc_get_saved_register): Ditto.
+	* sh-tdep.c (sh64_get_saved_register): Ditto.
+	* rs6000-tdep.c (rs6000_push_arguments): Ditto.
+	* ppc-sysv-tdep.c (ppc_sysv_abi_push_arguments): Ditto.
+	* mips-tdep.c (mips_eabi_push_arguments): Ditto.
+	(mips_get_saved_register): Ditto.
+	* ia64-tdep.c (ia64_get_saved_register): Ditto.
+	(find_func_descr, ia64_push_arguments): Ditto.
+	* i386-tdep.c (i386_push_arguments): Ditto.
+	* hpux-thread.c (hpux_thread_fetch_registers): Ditto.
+	* frv-tdep.c (frv_push_arguments): Ditto.
+	* frame.c (legacy_saved_regs_prev_register): Ditto.
+	(deprecated_generic_get_saved_register): Ditto.
+	* findvar.c (unsigned_address_to_pointer): Ditto.
+	* dwarf2read.c (dwarf2_const_value): Ditto.
+	* arm-linux-tdep.c (arm_linux_push_arguments): Ditto.
+	* alpha-tdep.c (alpha_push_arguments): Ditto.
+
+2003-05-12  J. Brobecker  <brobecker@gnat.com>
+
+	* NEWS: Mention that the hppa-hpux port has been partially
+	multiarched (32bit ABIT only, so far).
+
+2003-05-11  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.in (mi-symbol-cmds.o): Rename mi-cmd-symbol.
+	* config/djgpp/fnchange.lst: Rename include/xtensa-isa-internal.h,
+	include/xtensa-isa.h, sim/testsuite/sim/arm/misaligned1.ms,
+	sim/testsuite/sim/arm/misaligned2.ms, and
+	sim/testsuite/sim/arm/misaligned3.ms.
+	* disasm.h (struct ui_file): Add opaque struct declaration.
+	* config/pa/tm-hppa64.h (struct type, struct frame_info): Ditto.
+	* frame.h (struct ui_file): Ditto.
+
+2003-05-11  Mark Kettenis  <kettenis@gnu.org>
+
+	* value.h: Pretty print.
+
+2003-05-10  Mark Kettenis  <kettenis@gnu.org>
+
+	* config/i386/tm-linux.h (I386_GNULINUX_TARGET): Remove define.
+
+2003-05-08  Andrew Cagney  <cagney@redhat.com>
+
+	* regcache.h (max_register_size): Delete declaration.
+	* regcache.c (max_register_size): Delete function.
+	(struct regcache_descr): Delete field "max_register_size".
+	(init_regcache_descr, init_legacy_regcache_descr): Assert that all
+	registers fit in MAX_REGISTER_SIZE.
+	(regcache_save): Replace max_register_size with MAX_REGISTER_SIZE.
+	(regcache_restore, regcache_xfer_part, regcache_dump): Ditto.
+	* thread-db.c: Replace max_register_size with MAX_REGISTER_SIZE.
+	* sh-tdep.c, rom68k-rom.c, remote-sim.c, remote-mips.c: Ditto.
+	* remote-e7000.c, monitor.c, mipsv4-nat.c, mips-nat.c: Ditto.
+	* m68klinux-nat.c, lynx-nat.c, irix4-nat.c: Ditto.
+	* hpux-thread.c, hppah-nat.c, hppab-nat.c, hppa-tdep.c: Ditto.
+	* dve3900-rom.c, hppa-tdep.c: Ditto.
+
+2003-05-08  David Carlton  <carlton@math.stanford.edu>
+
+	* valops.c (push_word): Fix typo.
+
+2003-05-08  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh: Delete references to MAX_REGISTER_RAW_SIZE.
+	* gdbarch.h: Re-generate.
+	* defs.h (MAX_REGISTER_RAW_SIZE): Delete macro.
+	(legacy_max_register_raw_size): Delete declaration.
+	* regcache.c (legacy_max_register_raw_size): Delete function.
+	* valops.c: Replace MAX_REGISTER_RAW_SIZE with MAX_REGISTER_SIZE.
+	* target.c, stack.c, sparc-tdep.c, sh-tdep.c: Ditto.
+	* rs6000-tdep.c, rs6000-nat.c, remote.c, remote-sim.c: Ditto.
+	* remote-rdp.c, remote-array.c, regcache.c: Ditto.
+	* ppc-linux-nat.c, monitor.c, mn10300-tdep.c: Ditto.
+	* mips-tdep.c, mips-linux-tdep.c, m68klinux-nat.c: Ditto.
+	* infptrace.c, ia64-tdep.c, i386-tdep.c, frame.c: Ditto.
+	* findvar.c, dwarf2cfi.c: Ditto.
+
+2003-05-08  Andrew Cagney  <cagney@redhat.com>
+
+	* mips-tdep.c (read_signed_register): New function, moved to here
+	from "regcache.c".
+	(read_signed_register_pid): Ditto.
+	* regcache.c (read_signed_register_pid): Delete function, moved to
+	"mips-tdep.c".
+	(read_signed_register): Ditto.
+	* regcache.h (read_signed_register): Delete declaration.
+	(read_signed_register_pid): Delete declaration.
+
+2003-05-08  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh: Add comments on MAX_REGISTER_SIZE.
+	* gdbarch.h: Re-generate.
+	* defs.h (MAX_REGISTER_VIRTUAL_SIZE): Delete macro.
+	(legacy_max_register_virtual_size): Delete declaration.
+	* infcmd.c (default_print_registers_info): Use MAX_REGISTER_SIZE.
+	* d10v-tdep.c (d10v_print_registers_info): Ditto.
+	* tracepoint.c (memrange_sortmerge): Ditto.
+	* sparc-tdep.c (sparc_print_registers): Ditto.
+	* regcache.c (legacy_max_register_virtual_size): Delete function.
+
+2002-05-08  J. Brobecker  <brobecker@gnat.com>
+
+	* fork-child.c (escape_bang_in_quoted_argument): New function.
+	(fork_inferior): Escape '!' characters in quoted arguments
+	only when needed.
+
+2003-05-08  J. Brobecker  <brobecker@gnat.com>
+
+	* dwarf2read.c (set_cu_language): Set the language to "minimal" if
+	the language of the CU is not currently supported by GDB.
+
+2003-05-08  J. Brobecker  <brobecker@gnat.com>
+
+	* defs.h (language): Add language_minimal enum value.
+	* c-lang.c (minimal_language_defn): New language definition.
+	(_initialize_c_language): Add the new minimal language to the list
+	of languages known to GDB.
+
+2003-05-08  Kevin Buettner  <kevinb@redhat.com>
+
+	* frame.c (get_frame_type): Don't attempt to lazily initialize
+	frame's unwinder for legacy frames.
+
+2003-05-07  Andrew Cagney  <cagney@redhat.com>
+
+	* ia64-tdep.c (ia64_remote_translate_xfer_address): Add "gdbarch"
+	and "regcache" parameters.
+	* avr-tdep.c (avr_remote_translate_xfer_address): Ditto.
+
+2003-05-07  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* dwarf2read.c (dwarf_decode_lines): Only use output of
+	check_cu_functions() when calling record_line().  Do not update
+	the current address.
+
+2003-05-07  Andrew Cagney  <cagney@redhat.com>
+
+	* fork-child.c (startup_inferior): Delete #ifdef STARTUP_INFERIOR
+	code.
+
+2003-05-07  Jim Blandy  <jimb@redhat.com>
+
+	Rename commands 'maint list symtabs' and 'maint list psymtabs' to
+	'maint info symtabs' and 'maint info psymtabs'.
+	* symmisc.c (maintenance_info_symtabs, maintenance_info_psymtabs):
+	Renamed from maintenance_list_symtabs and maintenance_list_psymtabs.
+	* symtab.h (maintenance_info_symtabs, maintenance_info_psymtabs):
+	Declarations updated.
+	* maint.c (maintenance_list_command): Delete.
+	(_initialize_maint_cmds): Update calls to add_cmd.
+	* gdbcmd.h (maintenancelistlist): Delete declaration.
+	* cli/cli-cmds.c (maintenancelistlist): Delete.
+	(init_cmd_lists): Don't initialize it.
+	* cli/cli-cmds.h (maintenancelistlist): Delete declaration.
+
+2003-05-07  Andrew Cagney  <cagney@redhat.com>
+
+	* d10v-tdep.c (remote_d10v_translate_xfer_address): Add
+	"regcache".
+	(d10v_print_registers_info): Update.
+	(d10v_dmap_register, d10v_imap_register): Delete functions.
+	(struct gdbarch_tdep): Add "regcache" parameter to "dmap_register"
+	and "imap_register".
+	(d10v_ts2_dmap_register, d10v_ts2_imap_register): Add "regcache".
+	(d10v_ts3_dmap_register, d10v_ts3_imap_register): Add "regcache".
+	* arch-utils.c (generic_remote_translate_xfer_address): Add
+	"regcache" and "gdbarch" parameters.
+	* gdbarch.sh (REMOTE_TRANSLATE_XFER_ADDRESS): Add "regcache"
+	parameter.  Change class to multi-arch.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* remote.c (remote_xfer_memory): Use
+	gdbarch_remote_translate_xfer_address.
+
+2003-05-07  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* infrun.c (prev_pc): Move declaration ahead of proceed().
+	(proceed): Refresh prev_pc value before resuming.
+	(stop_stepping): Remove code to refresh prev_pc.
+
+2003-05-06  Kris Warkentin <kewarken@qnx.com>
+
+	* nto-tdep.c: Removed stray comment.
+
+2003-05-06  Kris Warkentin <kewarken@qnx.com>
+
+	* i386-nto-tdep.c: Fix old K&R function definitions.
+	* nto-tdep.c: Likewise and change stat.h include to gdb_stat.h.
+	Also change add_show_from_set() call to add_setshow_cmd().
+	* nto-tdep.h: Remove PARAMS and grep ^func ARI hits.
+
+2003-05-05  Andrew Cagney  <cagney@redhat.com>
+
+	* dummy-frame.c: Include "command.h" and "gdbcmd.h".
+	(fprint_dummy_frames): New function.
+	(maintenance_print_dummy_frames): New function.
+	(_initialize_dummy_frame): Add command "maint print dummy-frames".
+	* frame.c (fprint_frame_id): Make global.
+	* frame.h (fprint_frame_id): Declare.
+	* Makefile.in (dummy-frame.o): Update dependencies.
+
+2003-05-05  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_REGISTER_SIZE): Rename REGISTER_SIZE.
+	(DEPRECATED_SIZEOF_CALL_DUMMY_WORDS): Rename
+	SIZEOF_CALL_DUMMY_WORDS.
+	(DEPRECATED_CALL_DUMMY_WORDS): Rename CALL_DUMMY_WORDS.
+	(DEPRECATED_FIX_CALL_DUMMY): Rename FIX_CALL_DUMMY.
+	(DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET): Rename
+	CALL_DUMMY_BREAKPOINT_OFFSET.
+	(DEPRECATED_CALL_DUMMY_START_OFFSET): Rename
+	CALL_DUMMY_START_OFFSET.
+	(DEPRECATED_CALL_DUMMY_LENGTH): Rename CALL_DUMMY_LENGTH.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* alpha-tdep.c, alphafbsd-tdep.c, arm-linux-tdep.c: Update.
+	* arm-tdep.c, avr-tdep.c, breakpoint.c, cris-tdep.c: Update.
+	* dummy-frame.c, dummy-frame.h, frv-tdep.c, gdbarch.c: Update.
+	* gdbarch.h, gdbarch.sh, h8300-tdep.c, hppa-tdep.c: Update.
+	* i386-tdep.c, ia64-tdep.c, infcall.c, inferior.h: Update.
+	* m68hc11-tdep.c, m68k-tdep.c, mcore-tdep.c: Update.
+	* mips-tdep.c, mn10300-tdep.c, ns32k-tdep.c: Update.
+	* rs6000-tdep.c, s390-tdep.c, sh-tdep.c, sol-thread.c: Update.
+	* sparc-tdep.c, target.c, v850-tdep.c, valops.c: Update.
+	* vax-tdep.c, x86-64-tdep.c, xstormy16-tdep.c: Update.
+	* config/ia64/tm-ia64.h, config/m68k/tm-vx68.h: Update.
+	* config/mips/tm-mips.h, config/pa/nm-hppah.h: Update.
+	* config/pa/tm-hppa.h, config/pa/tm-hppa64.h: Update.
+	* config/s390/tm-s390.h, config/sparc/tm-sp64.h: Update.
+	* config/sparc/tm-sparc.h: Update.
+
+2003-05-05  Kris Warkentin <kewarken@qnx.com>
+
+	* configure.tgt: Add i[3456]86-*-nto*.
+	* i386-nto-tdep.c: New file.  i386 specific support for QNX Neutrino.
+	* nto-tdep.c: New file. Neutrino target support routines.
+	* nto-tdep.h: New file. Neutrino target header.
+	* config/tm-qnxnto.h: New file.
+	* config/i386/i386nto.mt: New file.
+	* config/i386/tm-i386nto.h: New file.
+
+2003-05-04  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbthread.h (save_infrun_state): Drop prev_func_name parameter.
+	(load_infrun_state): Ditto.
+	(struct thread_info): Drop "prev_func_name" field.
+	* thread.c (load_infrun_state): Update.
+	(save_infrun_state): Update.
+	* infrun.c (prev_func_name): Delete variable.
+	(init_wait_for_inferior): Do not clear prev_func_name.
+	(stop_stepping, keep_going, context_switch): Do not swap
+	prev_func_name.
+	(handle_inferior_event, check_sigtramp2): Use pc_in_sigtramp
+	instead of PC_IN_SIGTRAMP.
+
+2003-05-04  Andrew Cagney  <cagney@redhat.com>
+
+	* sentinel-frame.c (sentinel_frame_prev_register): Replace
+	REGISTER_BYTE with register_offset_hack.
+	* regcache.c (init_regcache_descr): When REGISTER_BYTE_P, check
+	that REGISTER_BYTE is consistent with the regcache.
+	* gdbarch.sh (REGISTER_BYTE): Add a predicate.
+	* gdbarch.h, gdbarch.c: Regenerate.
+
+2003-05-04  Mark Kettenis  <kettenis@gnu.org>
+
+	* i387-tdep.c (fxsave_offset): Add entries for %xmm8-%xmm15.
+	(FXSAVE_ADDR, i387_supply_fxsave): Add support for %xmm8-%xmm15.
+
+	* i386-linux-nat.c (supply_gregset): Remove unnecessary casts.
+
+2003-05-03  J. Brobecker  <brobecker@gnat.com>
+
+	From Thierry Schneider <tpschneider1@yahoo.com>
+	* Makfile.in (SUBDIR_MI_OBS): Add dependency on mi-cmd-symbol.o.
+	(SUBDIR_MI_SRCS): Add mi-cmd-symbol.c.
+	(mi-cmd-symbol.o): Add rule.
+
+2003-05-03  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (PUSH_DUMMY_CODE): New architecture method, add
+	comments noteing that it replaces the old FIX_CALL_DUMMY code.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* d10v-tdep.c (d10v_push_dummy_code): New function.
+	(d10v_gdbarch_init): Set push_dummy_code.
+	* infcall.c (legacy_push_dummy_code): New function.
+	(generic_push_dummy_code): New function.
+	(push_dummy_code): New function.
+	(call_function_by_hand): Call push_dummy_code.  Pass bp_addr,
+	instead of dummy_addr, to push_dummy_call.  Move call to
+	generic_save_call_dummy_addr to outside of CALL_DUMMY_LOCATION
+	switch.
+	* sparc-tdep.c (sparc_gdbarch_init): Mention push_dummy_code.
+
+2003-05-03  Andrew Cagney  <cagney@redhat.com>
+
+	* disasm.h (print_insn): Declare.
+	* disasm.c (init_gdb_disassemble_info): New function.
+	(gdb_disassembly): Call init_gdb_disassemble_info.
+	(gdb_print_insn): New function.
+	* v850-tdep.c (v850_scan_prologue): Call gdb_print_insn, instead
+	of TARGET_PRINT_INSN.  Send debug info to "gdb_stdlog".
+	* mcore-tdep.c: Include "disasm.h"
+	(mcore_dump_insn): Call gdb_print_insn, instead of TARGET_PRINT_INSN.
+	* d10v-tdep.c: Include "disasm.h".
+	(display_trace): Call gdb_print_insn, instead of print_insn.
+	(print_insn): Delete function.
+	* printcmd.c: Include "disasm.h".
+	(print_insn): Delete function.
+	(print_formatted): Call gdb_print_insn, instead of print_insn.
+	* Makefile.in (printcmd.o): Update dependencies.
+	(mcore-tdep.o, d10v-tdep.o): Ditto.
+
+2003-05-02  Andrew Cagney  <cagney@redhat.com>
+
+	* std-regs.c (value_of_builtin_frame_pc_reg): Delete #ifdef
+	PC_REGNUM, re-indent.
+	* stack.c (frame_info): Use "pc" for the name of get_frame_pc when
+	PC_REGNUM isn't set.
+
+	* gdbarch.sh (REGISTER_SIZE, REGISTER_BYTES): Make optional.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* d10v-tdep.c (d10v_gdbarch_init): Do not set register_size,
+	register_virtual_size, pc_regnum, or register_bytes.
+	(D10V_PC_REGNUM): Rename _PC_REGNUM.
+	(d10v_register_type): Use D10V_PC_REGNUM.
+	(d10v_print_registers_info, d10v_read_pc): Ditto.
+	(d10v_write_pc, d10v_eva_prepare_to_trace): Ditto.
+	(d10v_unwind_pc, d10v_frame_prev_register): Ditto.
+
+2003-05-02  David Carlton  <carlton@bactrian.org>
+
+	* objfiles.c (allocate_objfile): For anonymous objfiles, allocate
+	the name with mstrsave.
+
+2003-05-02  Elena Zannoni  <ezannoni@redhat.com>
+
+	* charset.c (GDB_DEFAULT_TARGET_CHARSET,
+	GDB_DEFAULT_HOST_CHARSET): Move to earlier in the file.
+	(host_charset_name, target_charset_name): New vars for use by
+	set/show commands.
+	(host_charset_enum, target_charset_enum): New enums for set/show
+	commands.
+	(set_charset_sfunc, set_host_charset_sfunc,
+	set_target_charset_sfunc): New functions.
+	(set_host_charset, set_target_charset): Make static.
+	(list_charsets, set_host_charset_command,
+	set_target_charset_command): Delete functions.
+	(show_charset_command): Rewrite as....
+	(show_charset): Hook this up with the set/show command mechanism.
+	(_initialize_charset): Change names of charsets to match the
+	set/show enums. Use host_charset_name and target_charset_name.
+	Use set/show mechanism for charset, host-charset, target-charset
+	commands. Do not make 'show host-charset' and 'show
+	target-charset' be aliases of 'show charset'.
+
+	* charset.h (set_host_charset, set_target_charset): Don't export,
+	they are not used outside the file.
+
+2003-05-01  Andrew Cagney  <cagney@redhat.com>
+
+	* disasm.c (gdb_disassemble_from_exec): Delete global variable.
+	(gdb_disassembly): Make "di" non static, always initialize and
+	cleanup.  Always use dis_asm_read_memory.
+	(gdb_dis_asm_read_memory): Delete function.
+
+2003-05-01  Andrew Cagney  <cagney@redhat.com>
+
+	* d10v-tdep.c (d10v_frame_align): Replace d10v_stack_align.
+	(d10v_gdbarch_init): Set frame_align instead of stack_align.
+
+2003-04-30  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (deprecated_tm_print_insn_info): Rename
+	"tm_print_insn_info".
+	(TARGET_PRINT_INSN_INFO): Delete macro.
+	(dis_asm_read_memory): Delete function declaration.
+	(dis_asm_memory_error, dis_asm_print_address): Ditto.
+	(tm_print_insn_info): Delete variable definition.
+	(_initialize_gdbarch): Do not initialize "tm_print_insn_info".
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* d10v-tdep.c (display_trace): Replace "tm_print_insn_info" with
+	"deprecated_tm_print_insn_info".
+	* mcore-tdep.c (mcore_dump_insn): Ditto.
+	* mips-tdep.c (mips_gdbarch_init): Ditto.
+	* sparc-tdep.c (_initialize_sparc_tdep): Ditto.
+	* v850-tdep.c (v850_scan_prologue, v850_gdbarch_init): Ditto.
+	* ia64-tdep.c (_initialize_ia64_tdep): Ditto.
+	* printcmd.c (print_insn): Use "deprecated_tm_print_insn_info"
+	instead of TARGET_PRINT_INSN_INFO, add comment.
+	* s390-tdep.c (s390_get_frame_info): Instead of
+	"dis_asm_read_memory", use "deprecated_tm_print_insn_info".
+	(s390_check_function_end, s390_is_sigreturn): Ditto.
+	* corefile.c (dis_asm_read_memory): Move to "disasm.c".
+	(dis_asm_memory_error, dis_asm_print_address): Ditto.
+	* disasm.c: Include "gdbcore.h".
+	(_initialize_disasm): New function, initialize
+	"deprecated_tm_print_insn_info".
+	(deprecated_tm_print_insn_info): New variable.
+	(dis_asm_read_memory): Moved from "corefile.c", made static.
+	(dis_asm_print_address, dis_asm_memory_error): Ditto.
+	* Makefile.in (disasm.o): Update dependencies.
+
+2003-04-30  Andrew Cagney  <cagney@redhat.com>
+
+	* sparc-tdep.c (SPARC_HAS_FPU): When multi-arch, define as 1.
+
+2003-04-29  Adam Fedor  <fedor@gnu.org>
+
+	* eval.c (evaluate_subexp_standard): Handle ObjC ops.
+	* infcall.c (find_function_addr): Make non-static.
+	* infcall.h (find_function_addr): Declare.
+	* Makefile.in (eval.o): Update dependencies.
+
+2003-04-28  Adam Fedor  <fedor@gnu.org>
+
+	* symtab.c (symbol_find_demangled_name): Check for and demangle
+	ObjC symbols.
+	(symbol_init_demangled_name): Init for language_objc as well.
+
+2003-04-28  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_TARGET_READ_FP): Replace TARGET_READ_FP.
+	(DEPRECATED_FP_REGNUM): Replace FP_REGNUM.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* infcall.c (call_function_by_hand): Use DEPRECATED_FP_REGNUM,
+	DEPRECATED_TARGET_READ_FP, or "sp" to create the dummy frame ID.
+	* inferior.h (deprecated_read_fp): Rename read_fp.
+	(generic_target_read_fp): Delete declaration.
+	* regcache.c (generic_target_read_fp): Delete function.
+	(deprecated_read_fp): Replace read_fp, use
+	DEPRECATED_TARGET_READ_FP or DEPRECATED_FP_REGNUM.
+	* d10v-tdep.c (d10v_read_fp): Delete function.
+	(d10v_gdbarch_init): Do not set deprecated_read_fp.
+
+	* sparc-tdep.c (sparc_gdbarch_init): Do not set
+	deprecated_target_read_fp to generic_target_read_fp.
+	* sh-tdep.c (sh_gdbarch_init): Ditto.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+	* frv-tdep.c (frv_gdbarch_init): Ditto.
+
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Set
+	deprecated_fp_regnum.
+	* x86-64-tdep.c (x86_64_init_abi): Ditto.
+	* vax-tdep.c (vax_gdbarch_init): Ditto.
+	* v850-tdep.c (v850_gdbarch_init): Ditto.
+	* sparc-tdep.c (sparc_gdbarch_init): Ditto.
+	* sh-tdep.c (sh_gdbarch_init): Ditto.
+	* s390-tdep.c (s390_gdbarch_init): Ditto.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+	* mcore-tdep.c (mcore_gdbarch_init): Ditto.
+	* m68k-tdep.c (m68k_gdbarch_init): Ditto.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+	* ia64-tdep.c (ia64_gdbarch_init): Ditto.
+	* i386-tdep.c (i386_gdbarch_init): Ditto.
+	* hppa-tdep.c (hppa_gdbarch_init): Ditto.
+	* h8300-tdep.c (h8300_gdbarch_init): Ditto.
+	* frv-tdep.c (frv_gdbarch_init): Ditto.
+	* cris-tdep.c (cris_gdbarch_init): Ditto.
+	* avr-tdep.c (avr_gdbarch_init): Ditto.
+	* arm-tdep.c (arm_gdbarch_init): Ditto.
+	* alpha-tdep.c (alpha_gdbarch_init): Ditto.
+
+	* x86-64-tdep.c (x86_64_init_abi): Set deprecated_target_read_fp.
+	* v850-tdep.c (v850_gdbarch_init): Ditto.
+	* sparc-tdep.c (sparc_gdbarch_init): Ditto.
+	* sh-tdep.c (sh_gdbarch_init): Ditto.
+	* s390-tdep.c (s390_gdbarch_init): Ditto.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+	* mips-tdep.c (mips_gdbarch_init): Ditto.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+	* ia64-tdep.c (ia64_gdbarch_init): Ditto.
+	* hppa-tdep.c (hppa_gdbarch_init): Ditto.
+	* frv-tdep.c (frv_gdbarch_init): Ditto.
+	* avr-tdep.c (avr_gdbarch_init): Ditto.
+	* arm-tdep.c (arm_gdbarch_init): Ditto.
+
+	* vax-tdep.c (vax_frame_init_saved_regs): Replace FP_REGNUM with
+	DEPRECATED_FP_REGNUM.
+	(vax_push_dummy_frame, vax_pop_frame): Ditto.
+	* std-regs.c (value_of_builtin_frame_fp_reg): Ditto.
+	* sparc-tdep.c (sparc_init_extra_frame_info): Ditto.
+	(sparc_push_dummy_frame, sparc64_read_fp): Ditto.
+	(sparc32_register_virtual_type): Ditto.
+	* sh-tdep.c (sh64_frame_chain): Ditto.
+	(sh64_get_saved_register, sh64_pop_frame): Ditto.
+	(sh_nofp_frame_init_saved_regs): Ditto.
+	(sh64_nofp_frame_init_saved_regs): Ditto.
+	(sh_fp_frame_init_saved_regs): Ditto.
+	* remote-mips.c (mips_wait, mips_fetch_registers): Ditto.
+	* remote-e7000.c (fetch_regs_from_dump): Ditto.
+	* procfs.c (procfs_fetch_registers): Ditto.
+	(procfs_store_registers): Ditto.
+	* ns32knbsd-nat.c (fetch_inferior_registers): Ditto.
+	(store_inferior_registers, fetch_core_registers): Ditto.
+	(fetch_kcore_registers, clear_regs): Ditto.
+	* ns32k-tdep.c (ns32k_frame_init_saved_regs): Ditto.
+	(ns32k_push_dummy_frame, ns32k_pop_frame): Ditto.
+	* nlm/i386.h (DEPRECATED_FP_REGNUM): Ditto.
+	* nlm/i386.c (do_status): Ditto.
+	* mipsv4-nat.c (supply_gregset): Ditto.
+	* mips-tdep.c: Ditto for comments.
+	* mips-nat.c (fetch_inferior_registers): Ditto.
+	(store_inferior_registers, fetch_core_registers): Ditto.
+	* m68k-tdep.c (m68k_push_dummy_frame): Ditto.
+	(m68k_pop_frame, m68k_frame_init_saved_regs): Ditto.
+	* i386-tdep.c (i386_frame_init_saved_regs): Ditto.
+	(i386_do_pop_frame, i386_register_type): Ditto.
+	* hppa-tdep.c (hppa_frame_chain): Ditto.
+	(hppa_push_dummy_frame, find_dummy_frame_regs): Ditto.
+	(hppa_pop_frame, hppa_read_fp): Ditto.
+	(skip_prologue_hard_way, hppa_frame_find_saved_regs): Ditto.
+	* cris-tdep.c (cris_examine, cris_pop_frame): Ditto.
+	* config/vax/nm-vax.h (REGISTER_U_ADDR): Ditto.
+	* config/sparc/tm-sparc.h (DEPRECATED_FP_REGNUM): Ditto.
+	* config/sparc/tm-sp64.h (DEPRECATED_FP_REGNUM): Ditto.
+	* config/s390/tm-s390.h (DEPRECATED_FP_REGNUM): Ditto.
+	* config/pa/tm-hppa64.h (DEPRECATED_FP_REGNUM): Ditto.
+	* config/ia64/tm-ia64.h (DEPRECATED_FP_REGNUM): Ditto.
+	* blockframe.c: Ditto for comments.
+	* arch-utils.h: Ditto for comments.
+	* arch-utils.c (legacy_virtual_frame_pointer): Ditto.
+	* alphanbsd-tdep.c (fetch_core_registers): Ditto.
+	* alphabsd-nat.c (fetch_inferior_registers): Ditto.
+	* alpha-tdep.h: Ditto for comments.
+	* alpha-tdep.c (alpha_cannot_fetch_register): Ditto.
+	(alpha_cannot_store_register): Ditto.
+	(alpha_push_dummy_frame): Ditto.
+	* alpha-nat.c (supply_gregset): Ditto.
+
+	* config/sparc/tm-sp64.h (DEPRECATED_TARGET_READ_FP): Update.
+	* config/pa/tm-hppa64.h (DEPRECATED_TARGET_READ_FP): Update.
+	* config/sparc/tm-sparc.h: Update comment.
+
+	* hppa-tdep.c (hppa_init_extra_frame_info): Use
+	deprecated_read_fp instead of TARGET_READ_FP.
+	(hppa_init_extra_frame_info, hppa_frame_chain): Ditto.
+	(hppa_push_dummy_frame, hppa_read_fp): Ditto.
+	* sparc-tdep.c (sparc_init_extra_frame_info): Use
+	deprecated_read_fp instead of read_fp.
+	* s390-tdep.c (s390_push_arguments): Ditto.
+	* ia64-tdep.c (ia64_gdbarch_init): Ditto.
+	* frame.h: Ditto in comments.
+	* frame.c (legacy_get_prev_frame): Ditto.
+	* dummy-frame.c (dummy_frame_this_id): Ditto.
+	* arm-tdep.c (arm_init_extra_frame_info): Ditto.
+
+2003-04-28  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (deprecated_tm_print_insn): Rename tm_print_insn.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* xstormy16-tdep.c (_initialize_xstormy16_tdep): Update.
+	* vax-tdep.c (_initialize_vax_tdep): Update.
+	* v850-tdep.c (_initialize_v850_tdep): Update.
+	* sparc-tdep.c (_initialize_sparc_tdep): Update.
+	* s390-tdep.c (_initialize_s390_tdep): Update.
+	* ns32k-tdep.c (_initialize_ns32k_tdep): Update.
+	* mn10300-tdep.c (_initialize_mn10300_tdep): Update.
+	* mips-tdep.c (_initialize_mips_tdep): Update.
+	* mcore-tdep.c (_initialize_mcore_tdep): Update.
+	* m68k-tdep.c (_initialize_m68k_tdep): Update.
+	* ia64-tdep.c (_initialize_ia64_tdep): Update.
+	* hppa-tdep.c (_initialize_hppa_tdep): Update.
+	* h8300-tdep.c (_initialize_h8300_tdep): Update.
+	* frv-tdep.c (_initialize_frv_tdep): Update.
+	* cris-tdep.c (cris_delayed_get_disassembler): Update.
+	(_initialize_cris_tdep): Update.
+	* arch-utils.c (legacy_print_insn): Update.
+	* alpha-tdep.c (_initialize_alpha_tdep): Update.
+
+2003-04-26  Adam Fedor  <fedor@gnu.org>
+
+	* linespec.c (decode_objc): New function to decode ObjC calls
+	(decode_line_1): Check for ObjC calls (using decode_objc)
+	* Makefile (linespec.o): Update dependencies.
+
+2003-04-26  Daniel Jacobowitz  <drow@mvista.com>
+
+	* breakpoint.h (struct breakpoint_ops): New.
+	(struct breakpoint): Add ops member.
+
+	* breakpoint.c (print_bp_stop_message, print_one_breakpoint)
+	(mention): Use new breakpoint ops member.
+	(set_raw_breakpoint): Initialize ops field to NULL.
+	(print_exception_catchpoint, print_one_exception_catchpoint)
+	(print_mention_exception_catchpoint, handle_gnu_v3_exceptions): New.
+	(gnu_v3_exception_catchpoint_ops): New.
+	(catch_exception_command_1): Call handle_gnu_v3_exceptions.
+
+2003-04-25  Adam Fedor  <fedor@gnu.org>
+
+	* Makefile.in (COMMON_OBS): Add objc-lang.o
+
+2003-04-25  Andrew Cagney  <cagney@redhat.com>
+
+	* d10v-tdep.c (print_insn): Delete function.
+	(display_trace): Use TARGET_PRINT_INSN.
+	(_initialize_d10v_tdep): Do not set tm_print_insn.
+	(d10v_gdbarch_init): Set print_insn.
+
+2003-04-25  Andrew Cagney  <cagney@redhat.com>
+
+	* d10v-tdep.c (d10v_extract_return_value): Delete call to printf.
+	(_initialize_d10v_tdep): Use add_setshow_boolean_cmd.
+	(d10v_frame_unwind_cache): Use FRAME_OBSTACK_CALLOC.
+	(NR_DMAP_REGS, A0_REGNUM): Delete, replaced by ...
+	(nr_dmap_regs, a0_regnum): ... new functions.
+	(d10v_print_registers_info): Use a0_regnum, use register_size.
+	(d10v_register_byte): Delete function.
+	(d10v_register_raw_size): Delete function.
+	(d10v_register_type): Use a0_regnum.
+	(d10v_print_registers_info): Use a0_regnum.
+	(D10V_SP_REGNUM): Rename _SP_REGNUM, replace it and SP_REGNUM.
+	(d10v_gdbarch_init): Do not set register_byte or
+	register_raw_size, use D10V_SP_REGNUM to set sp_regnum.
+	(d10v_pointer_to_address): Use extract_unsigned_integer instead of
+	extract_address.
+	(trace_command): Use XCALLOC.
+	(print_insn): Delete reference to tm_print_insn.
+	(saved_regs_unwinder): Use store_unsigned_integer instead of
+	store_address.
+	* frame.h (FRAME_OBSTACK_CALLOC): Define
+
+2003-04-25  David Carlton  <carlton@bactrian.org>
+
+	* config/djgpp/fnchange.lst: Add testsuite/gdb.c++/maint.exp.
+
+2003-04-24  Adam Fedor  <fedor@gnu.org>
+
+	* objc-lang.c: Include "valprint.h"
+	* Makefile.in (objc-lang.o): Update dependencies.
+
+2003-04-24  Adam Fedor  <fedor@gnu.org>
+
+	* objc-lang.c (FETCH_ARGUMENT, CONVERT_FUNCPTR): Remove
+	architecture dependant compilation and mark as unimplemented
+	(until they get put in the gdbarch vector).
+
+2003-04-23  David Carlton  <carlton@bactrian.org>
+
+	* cp-support.c (cp_find_first_component): Accept 'operator' in
+	more locations.
+
+2003-04-23  Andrew Cagney  <cagney@redhat.com>
+
+	* infcall.c (call_function_by_hand): Eliminate redundant
+	indentation.  Move "saved_async" and "old_cleanups" to where they
+	are needed.
+
+2003-04-23  Andrew Cagney  <cagney@redhat.com>
+
+	* infcall.c (call_function_by_hand): Eliminate the variables "rc"
+	and "buffer".  Move the "name" code to where it is needed.
+
+2003-04-23  Andrew Cagney  <cagney@redhat.com>
+
+	* infcall.c (call_function_by_hand): Move variables "start_sp",
+	"dummy", "sizeof_dummy1" and "dummy1" and corresponding dummy call
+	code to ON_STACK switch branch.
+
+2003-04-23  Andrew Cagney  <cagney@redhat.com>
+
+	* infcall.c (call_function_by_hand): Make declaration of "i",
+	"sal", "bpt" and "old_sp" more local to their use.  Delete #if
+	lint.
+
+2003-04-23  Andrew Cagney  <cagney@redhat.com>
+
+	* infcall.c (call_function_by_hand): Delete variable
+	"n_method_args".  Localize "param_type"'s declaration to the loop
+	that it is used.  Reinstate code assigning to said variable -
+	deleted on 2002-06-14.  Rationalize calls to value_args_coerce.
+	Rationalize code using "param_type".
+
+2003-04-22  Andrew Cagney  <cagney@redhat.com>
+
+	* infcall.c (call_function_by_hand): Use new variable "bp_addr" to
+	compute the breakpoint address.  Only call FIX_CALL_DUMMY when
+	ON_STACK.  Eliminate the variable "addr".  Do not pass "real_pc"
+	to DEPRECATED_PUSH_RETURN_ADDRESS.
+
+2003-04-22  Kevin Buettner  <kevinb@redhat.com>
+
+	* dwarf2loc.c (dwarf2_evaluate_loc_desc): Invoke DWARF2_REG_TO_REGNUM
+	on the DWARF2 register number prior to fetching a register.
+
+2003-04-22  J. Brobecker  <brobecker@gnat.com>
+
+	* config/pa/tm-hppa.h (SOFT_FLOAT): Delete this macro.
+	Update all the tests using SOFT_FLOAT considering the fact that
+	this macro was always set to 0.
+	* config/pa/tm-hppa64.h: Update all the tests using SOFT_FLOAT
+	considering the fact that this macro was always set to 0.
+	* hppa-tdep.h (hppa_store_return_value): Likewise.
+	(hppa_extract_return_value): Likewise.
+
+2003-04-22  J. Brobecker  <brobecker@gnat.com>
+
+	* config/pa/tm-hppa.h: Remove obsolete code, was used by
+	the hppa-pro target only.
+
+2003-04-21  J. Brobecker  <brobecker@gnat.com>
+
+	Ongoing multi-arch conversion effort for HP/UX:
+	* config/pa/tm-hppa.h: Move all macro that are no longer
+	defined now that GDB_MULTI_ARCH is now set to 1 from here...
+	* config/pa/tm-hppa64.h: ... to here (hppa64 is not multiarch'ed yet).
+
+2003-04-21  J. Brobecker  <brobecker@gnat.com>
+
+	* config/pa/tm-hppa.h: Obsolete a section that was only used
+	for hppa-pro.
+
+2003-04-21  J. Brobecker  <brobecker@gnat.com>
+
+	Ongoing multi-arch conversion for HP/UX.
+	* config/pa/tm-hppa.h (GDB_MULTI_ARCH): Set to 1. Do not define
+	if already defined (allows hppa64 to stay non-multiarched for now).
+	* config/pa/tm-hppa64.h (GDB_MULTI_ARCH): Define.
+
+2003-04-21  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (frame_id_eq): Fail when the code_addr's do not match.
+
+2003-04-21  Andrew Cagney  <cagney@redhat.com>
+
+	* i386-tdep.c (i386_gdbarch_init): Replace "mmx_num_regs" with
+	"i386_num_mmx_regs".
+
+2003-04-21  Andrew Cagney  <cagney@redhat.com>
+
+	* infcall.c: New file.
+	* infcall.h: New file.
+	* valarith.c: Include "infcall.h".
+	* scm-lang.c, objc-lang.cm, hppa-tdep.c, gcore.c: Ditto.
+	* eval.c, ada-valprint.c, ada-lang.c: Ditto.
+	* Makefile.in (valarith.o, scm-lang.o): Update dependencies.
+	(objc-lang.o, hppa-tdep.o, gcore.o): Update dependencies.
+	(eval.o, ada-valprint.o, ada-lang.o): Update dependencies.
+	(SFILES): Add "infcall.c"
+	(COMMON_OBS): Add "infcall.o".
+	(infcall.o): Specify dependencies.
+	* value.h (call_function_by_hand): Delete declaration.
+	* inferior.h (run_stack_dummy): Delete declaration.
+	* infcmd.c (breakpoint_auto_delete_contents): Move to "infcall.c".
+	(run_stack_dummy): Move to "infcall.c", merged into
+	call_function_by_hand.
+	* valops.c (call_function_by_hand): Moved to "infcall.c".
+	(find_function_addr, value_arg_coerce): Ditto.
+	(unwindonsignal_p, coerce_float_to_double): Ditto.
+	(_initialize_valops): Move "set/show coerce-float-to-double", and
+	"set/show unwindonsignal" commands to "infcall.c".
+	* v850-tdep.c, target.h: Update comments.
+	* sparc-tdep.c (sparc_fix_call_dummy): Update comments.
+	* sh-tdep.c (sh_init_extra_frame_info): Update comments.
+	(sh64_init_extra_frame_info): Update comments.
+	* mn10300-tdep.c: Update comments.
+	* mcore-tdep.c (mcore_init_extra_frame_info): Update comments.
+	* config/sparc/tm-sparc.h: Update comments.
+	* breakpoint.h: Update comments.
+	* avr-tdep.c (avr_init_extra_frame_info): Update comments.
+	* arm-tdep.c: Update comment.
+
+2003-04-19  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-tdep.c (i386_num_register_names): New variable.
+	(i386_num_mmx_regs): Renamed from mmx_num_regs.
+	(MM0_REGNUM): Remove redundant parentheses in define.
+	(i386_mmx_regnum_p): Use i386_mmx_regnum instead of mmx_num_regs.
+	(i386_fp_regnum_p, i386_fpc_regnum_p, i386_sse_regnum_p,
+	i386_mxcsr_regnum_p): Remove redundant parentheses.
+	(i386_register_name): Use i386_num_register_names.
+
+	* i386-tdep.c (i386_extract_return_value,
+	i386_store_return_value): Correct check for availability of
+	floating-point registers.
+
+	* i386-tdep.c (i386_frame_num_args): Remove function.
+	(i386_gdbarch_init): Set frame_num_args to frame_num_args_unknown.
+
+	* i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Renamed from
+	mmx_regnum_to_fp_regnum.  Adjust all callers.
+
+	* i386-tdep.c (i386_get_longjmp_target): Use
+	TYPE_LENGTH(builtin_type_void_func_ptr) instead of TARGET_PTR_BIT
+	and TARGET_CHAR_BIT.  Use extract_typed_address instead of
+	extract_address.
+
+2003-04-19  Mark Kettenis  <kettenis@gnu.org>
+
+	* core-regset.c: Update comments to reflect reality.  Re-order
+	includes.
+	(fetch_core_registers): Use switch instead of if.  Remove
+	redundant prototype.
+
+2003-04-18  Jim Blandy  <jimb@redhat.com>
+
+	* s390-tdep.c (s390_frame_align): New function.
+	(s390_gdbarch_init): Register it with the gdbarch object.
+
+2003-04-17  Richard Henderson  <rth@redhat.com>
+
+	* remote.c (minitelnet): Don't redeclare escape_count, echo_check.
+
+2003-04-17  Michael Snyder  <msnyder@redhat.com>
+	    Karen Bennet  <bennet@redhat.com>
+
+	Committed by Elena Zannoni  <ezannoni@redhat.com>
+	* gdb_gcore.sh: New script to create a core dump of a process.
+
+2003-04-17  Elena Zannoni  <ezannoni@redhat.com>
+
+	* values.c (value_being_returned): Don't fetch the return
+	value if the return type is void.
+
+2003-04-17  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* thread-db.c: Reindented.
+
+2003-04-17  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* gdb_indent.sh: Recognize td_thrhandle_t, td_event_msg_t,
+	td_thr_events_t, td_notify_t, td_thr_iter_f, and td_thrinfo_t
+	as types.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+2003-04-16  Kevin Buettner  <kevinb@redhat.com>
+
+	* rs6000-tdep.c (rs6000_gdbarch_init): For the SysV ABI, set
+	the size of ``long double'' to 16, instead of 8.
+
+2003-04-16  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-linux-nat.c: Add some whitespace to make things more
+	readable.
+	(fetch_register, store_register, fetch_inferior_registers,
+	store_inferior_registers): Get rid of assignment in if-statement.
+	(store_register): Fix typo in error message.
+
+2003-04-16  Andrew Cagney  <cagney@redhat.com>
+
+	* utils.c (xmmalloc): Always allocate something, matches
+	libiberty/xmalloc's semantics.
+	(xmrealloc, xmcalloc): Ditto.
+
+2003-04-16  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (get_prev_frame): Do not initialize "unwind" or "type",
+	update comments.
+	(get_frame_type): Initialize unwind and type when needed.
+	(get_frame_id, frame_register_unwind): Ditto.
+
+2003-04-16  Andrew Cagney  <cagney@redhat.com>
+
+	* NEWS: Mention that sparclet-*-* and sparclite-*-* have been made
+	obsolete.
+	* sparc-tdep.c: Obsolete SPARCLET and SPARCLITE code.
+	* sparcl-stub.c: Obsolete file.
+	* config/sparc/tm-sparclet.h: Obsolete file.
+	* sparclet-stub.c: Obsolete file.
+	* sparclet-rom.c: Obsolete file.
+	* sparcl-tdep.c: Obsolete file.
+	* config/sparc/tm-sparclite.h: Obsolete file.
+	* config/sparc/sparclite.mt: Obsolete file.
+	* config/sparc/sparclet.mt: Obsolete file.
+	* configure.tgt: Make sparclet-*-*, sparclite-*-*, and
+	sparc86x-*-* obsolete.
+
+2003-04-15  David Carlton  <carlton@math.stanford.edu>
+
+	* Makefile.in (SFILES): Add cp-namespace.c.
+	(COMMON_OBS): Add cp-namespace.o.
+	(block.o): Depend on gdb_obstack_h and cp_support_h.
+	(buildsym.o): Depend on cp_support_h.
+	(cp-namespace.o): New.
+	(cp-support.o): Depend on gdb_string_h, demangle_h, gdb_assert_h,
+	gdb_obstack_h, symtab_h, symfile_h, and gdbcmd_h.
+	(dwarf2read.o): Depend on cp_support_h.
+	* jv-lang.c (get_java_class_symtab): Set BLOCK_NAMESPACE.
+	* dwarf2read.c (process_die): Set processing_has_namespace_info,
+	processing_current_namespace.
+	(read_namespace): Update processing_current_namespace; check for
+	anonymous namespaces.
+	(dwarf2_name): New function.
+	(dwarf2_extension): Ditto.
+	* cp-support.h: Update copyright, contributors.
+	Add inclusion guards.
+	Add opaque declaration for structs obstack, block, symbol.
+	(struct using_direct): New struct.
+	Add declarations for cp_find_first_component,
+	cp_entire_prefix_len, processing_has_namespace_info,
+	processing_current_namespace, cp_is_anonymous,
+	cp_add_using_directive, cp_initialize_namespace,
+	cp_finalize_namespace, cp_set_block_scope,
+	cp_scan_for_anonymous_namespaces.
+	* cp-namespace.c: New file.
+	* cp-support.c: Update copyright.
+	Include ctype.h, gdb_assert.h, gdbcmd.h.
+	New variable maint_cplus_cmd_list.
+	(cp_find_first_component): New function.
+	(cp_entire_prefix_len, maint_cplus_command)
+	(first_component_command, _initialize_cp_support): Ditto.
+	* buildsym.c: Include cp-support.h.
+	New variable using_list.
+	(add_symbol_to_list): Check for anonymous namespaces.
+	(finish_block): Set block's scope.
+	(start_symtab): Initialize C++ namespace support.
+	(end_symtab): Finalize C++ namespace support.
+	* block.h: Add opaque declarations for structs
+	block_namespace_info, using_direct, and obstack.
+	Add declarations for block_set_scope and block_set_using.
+	(struct block): Add 'language_specific' member.
+	(BLOCK_NAMESPACE): New macro.
+	* block.c: Include gdb_obstack.h and cp-support.h.
+	(struct block_namespace_info): New struct.
+	(block_set_scope): New function.
+	(block_set_using, block_initialize_namespace): Ditto.
+
+2003-04-14  Kevin Buettner  <kevinb@redhat.com>
+
+	* solib-svr4.c (svr4_have_link_map_offsets): New function.
+	(locate_base): Return early if there aren't any link map offsets.
+	(svr4_solib_create_inferior_hook): Warn if shared library support
+	is unavailable.
+
+2003-04-14  David Carlton  <carlton@math.stanford.edu>
+
+	* symtab.c (symbol_set_names): Add prefix when storing Java names
+	in hash table.  Fix for PR java/1039.
+
+2003-04-14  David Carlton  <carlton@math.stanford.edu>
+
+	* symtab.c (symbol_set_names): Rename 'name' arg to
+	'linkage_name', and 'tmpname' variable to 'linkage_name_copy'.
+	* symtab.h: Change 'name' argument in declaration of
+	symbol_set_names to 'linkage_name'.
+	(SYMBOL_SET_NAMES): Change 'name' argument to 'linkage_name'.
+
+2003-04-14  Andrew Cagney  <cagney@redhat.com>
+
+	* mips-tdep.c (mips_read_sp): Do not apply ADDR_BITS_REMOVE,
+	return the fully sign-extended register value.
+	(get_frame_pointer): Ditto.
+	(mips_pop_frame): Initialize "proc_desc" after checking for a
+	dummy frame.
+
+2003-04-14  Andrew Cagney  <cagney@redhat.com>
+
+	* mips-tdep.c (mips_push_dummy_frame): Delete function.
+	(MASK, PUSH_FP_REGNUM, GEN_REG_SAVE_MASK): Delete macros.
+	(FLOAT_REG_SAVE_MASK, FLOAT_SINGLE_REG_SAVE_MASK): Delete macro.
+	(mips_push_register): Delete function.
+	(mips_dump_tdep): Delete references to GEN_REG_SAVE_MASK and
+	PUSH_FP_REGNUM.
+
+2003-04-14  Jim Blandy  <jimb@redhat.com>
+
+	* symmisc.c: #include "gdb_regex.h".
+	(maintenance_list_symtabs, maintenance_list_psymtabs): New
+	functions.
+	* maint.c (maintenance_list_command): New function.
+	(_initialize_maint_cmds): Register the above as commands.
+	* symtab.h (maintenance_list_symtabs,
+	maintenance_list_psymtabs): New declarations.
+	* cli/cli-cmds.c (maintenancelistlist): New variable.
+	(init_cmd_lists): Initialize it.
+	* cli/cli-cmds.h (maintenancelistlist): New declaration.
+	* gdbcmd.h (maintenancelistlist): New declaration.
+	* Makefile.in (symmisc.o): Update dependencies.
+
+2003-04-14  Elena Zannoni  <ezannoni@redhat.com>
+
+	* s390-nat.c: Include asm/types.h for addr_t.
+
+2003-04-14  Corinna Vinschen  <vinschen@redhat.com>
+
+	* cp-valprint.c (cp_print_class_method): Call unpack_pointer() with
+	actually incoming type.
+
+2003-04-13  Andrew Cagney  <cagney@redhat.com>
+
+	* ppc-linux-tdep.c: Use get_frame_base, get_frame_pc,
+	get_next_frame and get_frame_saved_regs.
+
+2003-04-13  Andrew Cagney  <cagney@redhat.com>
+
+	* reggroups.c (default_register_reggroup_p): Use NUM_REGS instead
+	of gdbarch_num_regs.
+
+2003-04-13  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.h: Mention what replaced what in "struct frame_info".
+	* hppa-hpux-tdep.c: Use get_frame_base, get_frame_pc and
+	deprecated_update_frame_base_hack and
+	deprecated_update_frame_pc_hack.
+	* hppa-tdep.c: Ditto.
+
+2003-04-13  Daniel Jacobowitz  <drow@mvista.com>
+
+	* dwarf2expr.h (struct dwarf_expr_context): Remove extra arguments
+	to read_reg and update its comment.  Remove regnum member.
+	* dwarf2expr.c (execute_stack_op): Remove memaddr and expr_lval.
+	Don't call read_reg when setting in_reg.  Call read_reg to get
+	the frame base if it's in a register.  Return the register number
+	on the stack instead of in the context.  Remove extra arguments
+	to read_reg.
+	* dwarf2loc.c (dwarf_expr_read_reg): Remove extra arguments.
+	(dwarf2_evaluate_loc_desc): Call value_from_register.  Expect
+	the register number on the expression stack.
+	(needs_frame_read_reg): Remove extra arguments.
+
+2003-04-13  Daniel Jacobowitz  <drow@mvista.com>
+
+	* dwarf2expr.c (dwarf2_read_address): Renamed from read_address;
+	made non-static.
+	(execute_stack_op): All callers updated.
+	* dwarf2expr.h: Add prototype for dwarf2_read_address.
+	* dwarf2loc.c (find_location_expression): New function.
+	(dwarf_expr_frame_base): Call it.
+	(dwarf2_evaluate_loc_desc): Handle 0-length location expressions.
+	(dwarf2_tracepoint_var_ref): New function, broken out from
+	locexpr_tracepoint_var_ref.
+	(locexpr_tracepoint_var_ref): Call dwarf2_tracepoint_var_ref.
+	Make static.
+	(loclist_read_variable, loclist_read_needs_frame): New functions.
+	(loclist_describe_location, loclist_tracepoint_var_ref): New
+	functions.
+	(dwarf2_loclist_funcs): New struct location_funcs.
+	* dwarf2loc.h (struct dwarf2_loclist_baton): New type.
+	(struct dwarf2_locexpr_baton): Add comments.
+	(dwarf2_loclist_funcs): New extern.
+	* dwarf2read.c (struct comp_unit_head): Remove DIE member, add
+	base_address and base_known.
+	(dwarf_loc_buffer): New variable.
+	(struct dwarf2_pinfo): Add dwarf_loc_buffer and dwarf_loc_size.
+	(DWARF_LOC_BUFFER, DWARF_LOC_SIZE): New macros.
+	(dwarf2_has_info): Initialize dwarf_loc_offset.
+	(dwarf2_build_psymtabs): Read in .debug_loc.
+	(dwarf2_build_psymtabs_hard): Use DWARF_LOC_BUFFER and
+	DWARF_LOC_SIZE.
+	(psymtab_to_symtab_1): Likewise.  Move base address calculation
+	here, from...
+	(dwarf2_get_pc_bounds): ... here.  Use the base address from
+	cu_header.
+	(dwarf2_symbol_mark_computed): Handle location lists.
+
+2003-04-13  Daniel Jacobowitz  <drow@mvista.com>
+
+	* minsyms.c (install_minimal_symbols): Only switch to gnu-v3 mode
+	if the linkage name demangled successfully.
+
+2003-04-13  Mark Kettenis  <kettenis@gnu.org>
+
+	* x86-64-tdep.c (att_flavour, intel_flavour, valid_flavours,
+	disassmbly_flavour): Removed.
+
+	* x86-64-tdep.c (gdb_print_insn_x86_64): Removed.
+
+2003-04-13  Mark Kettenis  <kettenis@gnu.org>
+
+	* x86-64-tdep.c (x86_64_breakpoint_from_pc): Removed.
+
+2003-04-12  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.h (struct frame_info): Move definition from here ...
+	* frame.c (struct frame_info): ... to here.
+
+2003-04-12  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbthread.h (save_infrun_state): Delete parameter
+	"prev_func_start".
+	(struct thread_info): Delete field "prev_func_start".
+	(load_infrun_state): Ditto.
+	* thread.c (load_infrun_state, save_infrun_state): Update.
+	* infrun.c (prev_func_start): Delete variable.
+	(context_switch, init_wait_for_inferior): Update.
+	(stop_stepping, keep_going): Update.
+
+2003-04-12  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh: Add missing opaque declarations.
+	* gdbarch.h: Regnerate.
+	* symtab.h: Add missing opaque declarations.
+	* value.h, target.h, symfile.h, stabsread.h: Ditto.
+	* x86-64-tdep.h, xmodem.h, monitor.h, typeprint.h: Ditto.
+	* srec.h, solib-svr4.h, source.h, inferior.h: Ditto.
+	* ser-unix.h, serial.h, remote-utils.h, gdbcore.h: Ditto.
+	* ppc-tdep.h, ocd.h, mips-tdep.h, gdbtypes.h: Ditto.
+	* buildsym.h, builtin-regs.h, linespec.h, language.h: Ditto.
+	* i387-tdep.h, gdbthread.h, event-top.h, gdb.h: Ditto.
+	* dwarf2cfi.h, doublest.h, disasm.h, cp-abi.h: Ditto.
+	* cli-out.h, c-lang.h, ax-gdb.h, arch-utils.h: Ditto.
+	* ada-lang.h, config/nm-lynx.h, config/nm-linux.h: Ditto.
+	* config/sparc/tm-sp64.h, config/rs6000/tm-rs6000.h: Ditto.
+	* config/pa/tm-hppah.h, config/m68k/tm-delta68.h: Ditto.
+	* cli/cli-setshow.h, cli/cli-script.h: Ditto.
+
+2003-04-11  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (get_frame_id): Return this frame's "id".
+	(legacy_get_prev_frame): Set prev's frame ID code_addr to the
+	function start.
+	(legacy_saved_regs_this_id): Replace function body with
+	internal-error.
+	(deprecated_frame_xmalloc): Mark the frame ID as valid, use
+	FRAME_OBSTACK_ZALLOC.
+	(create_new_frame): Mark the frame ID as valid.
+
+2003-04-11  Alexandre Oliva  <aoliva@redhat.com>
+
+	* Makefile.in (libbfd_h): Added missing setting.
+	* mips-tdep.c (mips_gdbarch_init): Set disassembler_options
+	according to the selected ABI.
+
+2003-04-11  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* gdb_indent.sh: Recognize pid_t and sigset_t as types.
+
+2003-04-11  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_SAVED_PC_AFTER_CALL): Deprecate
+	SAVED_PC_AFTER_CALL.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+	* x86-64-tdep.c (x86_64_init_abi): Update.
+	* vax-tdep.c (vax_gdbarch_init): Update.
+	* v850-tdep.c (v850_gdbarch_init): Update.
+	* sparc-tdep.c (sparc_gdbarch_init): Update.
+	* sh-tdep.c (sh_gdbarch_init): Update.
+	* s390-tdep.c (s390_gdbarch_init): Update.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Update.
+	* ns32k-tdep.c (ns32k_gdbarch_init): Update.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Update.
+	* mips-tdep.c (mips_gdbarch_init): Update.
+	* mcore-tdep.c (mcore_gdbarch_init): Update.
+	* m68k-tdep.c (m68k_gdbarch_init): Update.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+	* ia64-tdep.c (ia64_gdbarch_init): Update.
+	(ia64_saved_pc_after_call): Update declaration.
+	* i386ly-tdep.c (i386lynx_init_abi): Update.
+	* i386-tdep.c (i386_gdbarch_init): Update.
+	* hppa-tdep.c (hppa_gdbarch_init): Update.
+	* h8300-tdep.c (h8300_gdbarch_init): Update.
+	* frv-tdep.c (frv_gdbarch_init): Update.
+	* cris-tdep.c (cris_gdbarch_init): Update.
+	* avr-tdep.c (avr_gdbarch_init): Update.
+	* arm-tdep.c (arm_gdbarch_init): Update.
+	* alpha-tdep.c (alpha_gdbarch_init): Update.
+	* ns32knbsd-nat.c (frame_num_args): Update.
+	* ns32k-tdep.c (umax_frame_num_args): Update.
+	* mips-tdep.c (mips_init_frame_pc_first): Update.
+	* infrun.c (step_over_function): Update.
+	* i386-linux-tdep.c (skip_hurd_resolver): Update.
+	* i386-interix-tdep.c (i386_interix_back_one_frame): Update.
+	* config/sparc/tm-sparc.h (DEPRECATED_SAVED_PC_AFTER_CALL): Update.
+	(DEPRECATED_INIT_FRAME_PC_FIRST): Update.
+	* config/rs6000/tm-rs6000.h (DEPRECATED_INIT_FRAME_PC_FIRST): Update.
+	* config/pa/tm-hppa.h (DEPRECATED_SAVED_PC_AFTER_CALL): Update.
+	* arm-linux-tdep.c (skip_hurd_resolver): Update.
+	* arch-utils.c (init_frame_pc_default): Update.
+	* alpha-tdep.c (alpha_init_frame_pc_first): Update.
+	* x86-64-tdep.h (x86_64_linux_saved_pc_after_call): Update
+	declaration.
+
+2003-04-11  Andrew Cagney  <cagney@redhat.com>
+
+	* i387-tdep.c: Update copyright.
+	(i387_to_double): Delete function.
+	(double_to_i387): Delete function.
+
+2003-04-10  Andrew Cagney  <cagney@redhat.com>
+
+	* d10v-tdep.c (d10v_frame_this_id): Set the code addr to the
+	frame's function's address.  Simplify.
+	(d10v_frame_unwind_cache): Check that the frame's function is
+	non-zero.
+
+2003-04-10  Jim Blandy  <jimb@redhat.com>
+
+	* s390-tdep.c (s390_gdbarch_init): Put back accidentally deleted
+	call to set_gdbarch_deprecated_push_arguments.
+
+2003-04-10  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (fprint_frame_id): New function.
+	(fprint_frame_type, fprint_frame): New function.
+	(frame_pc_unwind, frame_func_unwind): Add/update trace code.
+	(create_sentinel_frame, get_frame_id): Ditto.
+	(frame_id_p, frame_id_eq): Ditto.
+	(frame_id_inner, create_new_frame): Ditto.
+	(legacy_get_prev_frame, get_prev_frame): Ditto.
+	(deprecated_update_frame_pc_hack): Ditto.
+	(frame_register_unwind): Ditto.
+	(deprecated_update_frame_base_hack): Ditto.
+
+2003-04-10  Corinna Vinschen  <vinschen@redhat.com>
+
+	* i386-cygwin-tdep.c (i386_cygwin_frame_chain): New function.
+	(i386_cygwin_init_abi): Set i386_cygwin_frame_chain as new
+	frame_chain function.
+	* Makefile.in: Add dependencies due to above change.
+
+2003-04-10  Corinna Vinschen  <vinschen@redhat.com>
+
+	* blockframe.c (legacy_frame_chain_valid): Move call to
+	DEPRECATED_FRAME_CHAIN_VALID before calls to inside_entry_func and
+	inside_entry_file.
+
+2003-04-09  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.h (struct frame_id): Replace "pc" and "base" with
+	"stack_addr" and "code_addr".  Update comments.
+	(frame_id_build): Update parameter names and comment.
+	(struct frame_info): Replace "id_p" and "id" with "this_id".
+	* dummy-frame.c (dummy_frame_this_id): Update.
+	* breakpoint.c (print_one_breakpoint): Update.
+	* frame.c (get_frame_id): Update.
+	(get_frame_base, frame_id_build): Update.
+	(create_sentinel_frame, legacy_get_prev_frame): Update.
+	(deprecated_update_frame_base_hack): Update.
+	(frame_id_p, frame_id_eq): Rework, return 0 when an invalid ID.
+	(frame_id_inner): Ditto.
+
+2003-04-09  Andrew Cagney  <cagney@redhat.com>
+
+	* defs.h (gdb_print_host_address): Make "addr" parameter a
+	pointer constant.
+	* utils.c (gdb_print_host_address): Update.
+
+2003-04-09  Kevin Buettner  <kevinb@redhat.com>
+
+	* rs6000-tdep.c (frame_get_saved_regs): Don't assume that the
+	register number for R0 is 0.
+
+2003-04-09  J. Brobecker  <brobecker@gnat.com>
+
+	* frame.h (struct gdbarch): Add opaque structure definition
+	to avoid a compilation warning on LynxOS 4.0.
+
+2003-04-09  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.h (struct frame_info): Delete field "pc".  Replace
+	"pc_unwind_cache" and "pc_unwind_cache_p" with "prev_pc"
+	structure.
+	* frame.c (frame_pc_unwind): Update.
+	(create_sentinel_frame): Do not set "pc".
+	(get_prev_frame): Do not set "pc".  Use frame_pc_unwind.
+	(get_frame_pc): Call frame_pc_unwind.
+	(deprecated_update_frame_pc_hack): Update.
+	(create_new_frame): Use "pc" not "->pc".
+
+2003-04-09  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (get_frame_id): Eliminate code updating "frame".
+	(legacy_get_prev_frame): Ditto.
+	(get_frame_base): Return id.base directly.
+	(deprecated_update_frame_base_hack): Update "id.base".
+	* frame.h (struct frame_info): Delete field "frame".
+
+2003-04-09  Andrew Cagney  <cagney@redhat.com>
+
+	* NEWS: Mention that the "Sequent family" is obsolete.
+	* configure.tgt: Obsolete i[3456]86-sequent-bsd*,
+	i[3456]86-sequent-sysv4*, and i[3456]86-sequent-sysv*.
+	* configure.host: Obsolete i[3456]86-sequent-bsd*,
+	i[3456]86-sequent-sysv4*, and i[3456]86-sequent-sysv*.
+	* config/i386/tm-ptx4.h: Obsolete file.
+	* config/i386/tm-ptx.h: Obsolete file.
+	* symm-tdep.c: Obsolete file.
+	* config/i386/symmetry.mt: Obsolete file.
+	* config/i386/tm-symmetry.h: Obsolete file.
+	* symm-nat.c: Obsolete file.
+	* config/i386/nm-symmetry.h: Obsolete file.
+	* config/i386/xm-symmetry.h: Obsolete file.
+	* config/i386/symmetry.mh: Obsolete file.
+	* config/i386/nm-ptx4.h: Obsolete file.
+	* config/i386/ptx4.mh: Obsolete file.
+	* config/i386/ptx.mt: Obsolete file.
+	* config/i386/ptx.mh: Obsolete file.
+	* config/i386/xm-ptx4.h: Obsolete file.
+	* config/i386/xm-ptx.h: Obsolete file.
+
+2003-04-09  Andrew Cagney  <cagney@redhat.com>
+
+	Obsolete mips*-*-mach3*.
+	* NEWS: Mention that mips*-*-mach3* is obsolete.
+	* m3-nat.c: Obsolete file.
+	* config/nm-m3.h: Obsolete file.
+	* config/mips/tm-mipsm3.h: Obsolete file.
+	* config/mips/mipsm3.mt: Obsolete file.
+	* config/mips/mipsm3.mh: Obsolete file.
+	* config/mips/xm-mipsm3.h: Obsolete file.
+	* mipsm3-nat.c: Obsolete file.
+	* configure.host: Obsolete mips-dec-mach3*.
+	* configure.tgt: Obsolete mips*-*-mach3*.
+
+2003-04-09  Andrew Cagney  <cagney@redhat.com>
+
+	* doublest.h: Update copyright.
+	(deprecated_store_floating, deprecated_extract_floating): Rename
+	store_floating and extract_floating.  Update comments.
+	* doublest.c: Update copyright.
+	(extract_floating_by_length): Replace extract_floating.
+	(store_floating_by_length): Replace store_floating.
+	(deprecated_extract_floating): New function.
+	(deprecated_store_floating): New function.
+	(extract_typed_floating): Call extract_floating_by_length.
+	(store_typed_floating): Call store_floating_by_length.
+	* x86-64-tdep.c (x86_64_store_return_value): Update.
+	* sh-tdep.c (sh3e_sh4_extract_return_value): Update.
+	(sh64_extract_return_value): Update.
+	(sh_sh4_register_convert_to_virtual): Update.
+	(sh_sh64_register_convert_to_virtual): Update.
+	(sh_sh4_register_convert_to_raw): Update.
+	(sh_sh64_register_convert_to_raw): Update.
+	* rs6000-tdep.c (rs6000_register_convert_to_virtual): Update.
+	(rs6000_register_convert_to_raw): Update.
+	* ia64-tdep.c (ia64_register_convert_to_virtual): Update.
+	(ia64_register_convert_to_raw): Update.
+	* config/i386/tm-symmetry.h (REGISTER_CONVERT_TO_RAW): Update.
+	(REGISTER_CONVERT_TO_VIRTUAL): Update.
+	* arm-linux-tdep.c (arm_linux_push_arguments): Update.
+	* alpha-tdep.c (alpha_register_convert_to_virtual): Update.
+	(alpha_register_convert_to_raw): Update.
+
+2003-04-08  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (SAVED_PC_AFTER_CALL): Add a predicate.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* d10v-tdep.c (d10v_saved_pc_after_call): Delete function.
+	(d10v_gdbarch_init): Do not set saved_pc_after_call.
+	* infrun.c (step_over_function): Call SAVED_PC_AFTER_CALL_P
+	conditionally, use frame_pc_unwind as an alternative.  Add
+	comments.
+	* arch-utils.c (init_frame_pc_default): Only call
+	SAVED_PC_AFTER_CALL when available.
+
+2003-04-08  Elena Zannoni  <ezannoni@redhat.com>
+
+	* infrun.c (stop_soon): Rename from stop_soon_quietly.
+	(struct inferior_status): Rename stop_soon_quietly field to stop_soon.
+	(clear_proceed_status): Rename stop_soon_quietly to stop_soon.
+	(start_remote): Ditto.
+	(handle_inferior_event): Ditto.
+	(save_inferior_status): Ditto.
+	(restore_inferior_status): Ditto.
+	* infcmd.c (attach_command): Ditto.
+	* fork-child.c (startup_inferior): Ditto.
+	* inferior.h (stop_soon): Rename from stop_soon_quietly.
+	* alpha-tdep.c (heuristic_proc_start): Ditto.
+	* mips-tdep.c (heuristic_proc_start): Ditto.
+	* solib-svr4.c (svr4_solib_create_inferior_hook): Ditto.
+	* solib-sunos.c (sunos_solib_create_inferior_hook): Ditto.
+	* solib-osf.c (osf_solib_create_inferior_hook): Ditto.
+	* solib-irix.c (irix_solib_create_inferior_hook): Ditto.
+	* remote-vx.c (vx_create_inferior): Ditto.
+
+2003-04-08  Elena Zannoni  <ezannoni@redhat.com>
+
+	* infrun.c (stop_soon_quietly): Make it an enum, to better
+	override the default behavior of handle_inferior_event.
+	(clear_proceed_status): Update uses of stop_soon_quietly to
+	reflect that it is now an enum.
+	(start_remote): Ditto.
+	(handle_inferior_event): Change logic a bit if stop_soon_quietly
+	is set to handle the new GNU/Linux kernel behavior for
+	attach/sigstop.  Update uses of stop_soon_quietly.
+	* inferior.h (enum stop_kind): New enum.
+	* infcmd.c (attach_command): Use STOP_QUIETLY_NO_SIGSTOP.
+	Reset normal handle_inferior_event behavior, afterwards.
+	* fork-child.c (startup_inferior): Update.
+	* alpha-tdep.c (heuristic_proc_start): Update.
+	* solib-svr4.c (svr4_solib_create_inferior_hook): Update.
+	* solib-sunos.c (sunos_solib_create_inferior_hook): Update.
+	* solib-osf.c (osf_solib_create_inferior_hook): Update.
+	* solib-irix.c (irix_solib_create_inferior_hook): Update.
+	* remote-vx.c (vx_create_inferior): Update.
+	* mips-tdep.c (heuristic_proc_start): Update.
+
+2003-04-07  Elena Zannoni  <ezannoni@redhat.com>
+
+	* disasm.c (dump_insns):  Move variables inside loop, or they will
+	be freed more than once, causing wild memory corruptions.
+	(gdb_disassembly): Look for the substring "-thread",
+	instead of "-threads" in the target name, to make sure to find
+	the 'multi-thread' target.  Also, make sure we do the right thing
+	with the "core" target.
+
+2003-04-07  Kevin Buettner  <kevinb@redhat.com>
+
+	* mips-tdep.c (mips_print_fp_register): New function, created from
+	do_fp_register_row().  Registers are now (also) printed as hex.
+	Only one register is printed per row.
+	(mips_print_register, do_fp_register_row): Print floating point
+	registers with mips_print_fp_register().
+
+2003-04-06  Andrew Cagney  <cagney@redhat.com>
+
+	* valprint.h (inspect_it): Add extern declaration.
+	* objc-lang.c (value_nsstring): Avoid assignment inside of "if".
+	(selectors_info, classes_info): Ditto.
+	(find_objc_msgcall): Fix indentation.
+	(objc_printstr): Delete extern declarations.
+
+	* arm-tdep.c (arm_frameless_function_invocation): Fix typo.
+
+2003-04-06  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.h (legacy_frame_chain_valid): Rename frame_chain_valid.
+	Update comment.
+	* frame.c (legacy_saved_regs_this_id): Update.
+	(legacy_get_prev_frame): Update.
+	* xstormy16-tdep.c: Update comment.
+	* sparc-tdep.c (sparc_frame_chain): Update comment.
+	* blockframe.c (legacy_frame_chain_valid): Update.
+
+2003-04-06  Andrew Cagney  <cagney@redhat.com>
+
+	* valprint.c (val_print_type_code_int): Delete #ifdef
+	PRINT_TYPELESS_INTEGER code.
+
+	* gdbarch.sh (DEPRECATED_USE_GENERIC_DUMMY_FRAMES)
+	(CALL_DUMMY_LOCATION, DEPRECATED_PC_IN_CALL_DUMMY): Allow partial
+	multi-arch definition.
+	* gdbarch.h: Re-generate.
+
+2003-04-05  Andrew Cagney  <cagney@redhat.com>
+
+	Eliminate FRAME_FIND_SAVED_REGS.
+	* config/pa/tm-hppah.h (hppa_hpux_frame_find_saved_regs_in_sigtramp):
+	Change FSR parameter to a pointer.
+	* config/pa/tm-hppa64.h (FRAME_FIND_SAVED_REGS_IN_SIGTRAMP):
+	Assume FSR parameter is a pointer.
+	* hppa-hpux-tdep.c (hppa_hpux_frame_find_saved_regs_in_sigtramp):
+	Make fsr a pointer.
+	* hppa-tdep.c (hppa_frame_find_saved_regs): New function.
+	(hppa_frame_saved_pc): Call hppa_frame_init_saved_regs.  Make
+	saved_regs a pointer.
+	(hppa_frame_saved_pc): Ditto.
+	(find_dummy_frame_regs): Make frame_saved_regs a pointer
+	(hppa_pop_frame): Call hppa_frame_init_saved_regs.  Make fsr a
+	pointer.
+	(restore_pc_queue): Make fsr a pointer.
+	(hppa_frame_find_saved_regs): Make frame_saved_regs a pointer.
+	(hppa_frame_chain): Make saved_regs a pointer, call
+	hppa_frame_init_saved_regs.
+	* sparc-tdep.c: Include "gdb_assert.h".
+	(sparc_frame_find_saved_regs): Replace internal_error with
+	gdb_assert.
+	* remote-vxsparc.c (vx_read_register): Delete reference to
+	FRAME_FIND_SAVED_REGS.
+	* gdbarch.sh: Delete check for FRAME_FIND_SAVED_REGS.
+	* gdbarch.h: Regenerate.
+	* frame.h (DEPRECATED_FRAME_INIT_SAVED_REGS): Delete macro.
+	(deprecated_get_frame_saved_regs): Delete declaration.
+	(struct frame_saved_regs): Delete definition.
+	* frame.c (deprecated_get_frame_saved_regs): Delete function.
+	* config/pa/tm-hppa.h (hppa_frame_init_saved_regs): Declare.
+	(hppa_frame_find_saved_regs): Delete declaration.
+	(FRAME_FIND_SAVED_REGS): Delete macro.
+	(DEPRECATED_FRAME_INIT_SAVED_REGS): Define.
+	* config/i386/tm-ptx.h (FRAME_FIND_SAVED_REGS): Delete
+	FRAME_FIND_SAVED_REGS in comment.
+
+2003-04-05  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (frame_func_unwind, get_frame_func): New functions.
+	* frame.h (get_frame_func, frame_func_unwind): Declare.
+	(struct frame_info): Add field "prev_func" for caching the
+	previous frame's function address.
+	* arm-tdep.c (arm_frameless_function_invocation): Combine
+	get_pc_function_start and get_frame_pc into get_frame_func.
+	* sh-tdep.c (sh_nofp_frame_init_saved_regs): Ditto.
+	(sh64_nofp_frame_init_saved_regs): Ditto.
+	* s390-tdep.c (s390_function_start): Ditto.
+	* rs6000-tdep.c (rs6000_pop_frame): Ditto.
+	(rs6000_frameless_function_invocation): Ditto.
+	(rs6000_frame_saved_pc): Ditto.
+	* m68k-tdep.c (m68k_frame_init_saved_regs): Ditto.
+	* ia64-tdep.c (ia64_frame_init_saved_regs): Ditto.
+	* i386-tdep.c (i386_frameless_signal_p): Ditto.
+	(i386_frame_init_saved_regs): Ditto.
+	* hppa-tdep.c (hppa_frame_find_saved_regs): Ditto.
+	* d10v-tdep.c (d10v_frame_unwind_cache): Combine
+	get_pc_function_start and frame_pc_unwind into frame_func_unwind.
+	* cris-tdep.c (cris_frame_init_saved_regs): Ditto.
+	* blockframe.c (frameless_look_for_prologue): Ditto.
+
+2003-04-05  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (legacy_get_prev_frame): Link prev to next at the
+	function start.  Update comments.
+
+2003-04-05  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (get_frame_id): Update comment.
+	(legacy_get_prev_frame): Update comment.
+	* gdbarch.sh: Delete check for EXTRA_FRAME_INFO.
+	* gdbarch.h: Regenerate.
+	* config/sparc/tm-sparc.h (EXTRA_FRAME_INFO): Delete.
+	* frame.h: Delete #ifdef EXTRA_FRAME_INFO code.
+
+2003-04-05  Andrew Cagney  <cagney@redhat.com>
+
+	* stack.c (print_frame_info): Use get_frame_pc.
+
+2003-04-04  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (get_prev_frame): Do not call frame_type_from_pc.  Set
+	the frame's type from the unwinder.
+	(get_frame_type): Map UNKNOWN_FRAME onto NORMAL_FRAME.
+	(create_new_frame, legacy_get_prev_frame): When the unwinder's
+	type isn't UNKNOWN_FRAME, initalize "type" from the unwinder.
+	(get_frame_base_address): Use get_frame_type.
+	(get_frame_locals_address, get_frame_args_address): Ditto.
+	(legacy_saved_regs_unwinder): Set the type to UNKNOWN_TYPE.
+	* frame.h (enum frame_type): Add UNKNOWN_FRAME.
+	(struct frame_info): Add comment explaining why the frame contains
+	a "type" field.
+	* dummy-frame.c (dummy_frame_unwind): Set the type to DUMMY_FRAME.
+	* d10v-tdep.c (d10v_frame_unwind): Set the type to NORMAL_FRAME.
+	* sentinel-frame.c (sentinel_frame_unwinder): Set the type to
+	NORMAL_FRAME.
+	* frame-unwind.h: Include "frame.h".
+	(struct frame_unwind): Add "type" field.
+	* Makefile.in (frame_unwind_h): Add $(frame_h).
+
+2003-04-04  Andrew Cagney  <cagney@redhat.com>
+
+	* x86-64-tdep.c (x86_64_unwind_dummy_id): Use frame_id_build.
+	* dummy-frame.c (dummy_frame_this_id): Use frame_id_build.
+	* d10v-tdep.c (d10v_frame_this_id): Use get_frame_pc and
+	get_frame_base.
+	(d10v_unwind_dummy_id): Use frame_id_build.
+	* frame.c (find_frame_sal): Use get_frame_pc.
+	(create_new_frame): Use deprecated_update_frame_pc_hack and
+	deprecated_update_frame_base_hack.
+	(create_sentinel_frame): Add comment about ->pc going away.
+	(get_prev_frame): Add comment about ->pc going away.
+	(legacy_get_prev_frame): Use get_frame_base, get_frame_pc,
+	frame_id_build, deprecated_update_frame_pc_hack and
+	deprecated_update_frame_base_hack.
+	(select_frame): Use get_frame_pc.
+	(legacy_saved_regs_this_id): Use frame_id_build.
+
+2003-04-04  Elena Zannoni  <ezannoni@redhat.com>
+
+	* x86-64-tdep.c (x86_64_push_arguments): Handle correctly the
+	signed integer case.
+	(classify_argument): Handle enumerations and references.
+
+2003-04-04  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (create_sentinel_frame): Initialize the sentinel frame's
+	ID to NULL.
+
+2003-04-01  Adam Fedor  <fedor@gnu.org>
+
+	* gdb/objc-lang.c (selectors_info): Replace calls to
+	SYMBOL_DEMANGLED_NAME and DEPRECATED_SYMBOL_NAME with
+	SYMBOL_NATURAL_NAME.
+	(classes_info, find_methods): Likewise.
+
+2003-04-03  Kevin Buettner  <kevinb@redhat.com>
+
+	* rs6000-tdep.c (rs6000_gdbarch_init): For xcoff executables, set
+	``mach'' to the value determined by bfd_default_set_arch_mach().
+
+2003-04-02  Bob Rossi  <bob_rossi@cox.net>
+
+	* Makefile.in (SUBDIR_MI_OBS): Add "mi-cmd-file.o".
+	(SUBDIR_MI_SRCS): Add "mi-cmd-file.c".
+	(mi-cmd-file.o): Update dependencies.
+
+2003-04-01  Kevin Buettner  <kevinb@redhat.com>
+
+	* mips-tdep.c (mips_dwarf_dwarf2_ecoff_reg_to_regnum)
+	(mips_stab_reg_to_regnum): Add mappings for HI_REGNUM and LO_REGNUM.
+
+2003-04-01  Adam Fedor  <fedor@gnu.org>
+
+	* Makefile.in (c_lang.o, jv_lang.o, language.o): Add $(demangle_h).
+	* language.h (struct language_defn): Add la_demangle.
+	(language_demangle): Declare.
+	* language.c (language_demangle): New function.
+	(unk_lang_demangle): Likewise.
+	(unknown_language_defn, auto_language_defn, local_language_defn):
+	Add ukn_lang_demangle.
+	* ada-lang.c (ada_language_defn): Add NULL for la_demangle element.
+	* f-lang.c, m2-lang.c, p-lang.c, scm-lang.c: Likewise.
+	* c-lang.c (c_language_defn, asm_language_defn): Likewise.
+	(cplus_language_defn): Add cplus_demangle for la_demangle element.
+	* jv-lang.c (java_demangle): New function
+	(java_language_defn): Use it for la_demangle element.
+	* objc-lang.c (objc_demangle): Add options argument
+	(objc_language_defn): Use objc_demangle for la_demangle element.
+	* maint.c (maintenance_demangle): Replace switch with
+	call to language_demangle.
+	* utils.c (fprintf_symbol_filtered): Likewise.
+
+2003-04-01  Andrew Cagney  <cagney@redhat.com>
+
+	* printcmd.c (print_frame_nameless_args): Delete #ifdef
+	NAMELESS_ARG_VALUE, PRINT_NAMELESS_INTEGER and
+	PRINT_TYPELESS_INTEGER.
+	* config/sparc/tm-sp64.h (DEPRECATED_PUSH_RETURN_ADDRESS): Rename
+	PUSH_RETURN_ADDRESS.
+
+2003-04-01  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.in (d10v-tdep.o): Update dependencies.
+	* d10v-tdep.c: Include "frame-base.h".
+	(d10v_frame_unwind): Make constant.
+	(d10v_frame_base_address): New function.
+	(d10v_frame_base): New variable.
+	(d10v_gdbarch_init): Set frame_base default.
+	(struct d10v_unwind_cache): Add the field "prev_sp".  Update
+	comment for base.
+	(d10v_frame_unwind_cache): Set and use "prev_sp".
+	(d10v_frame_this_id): Use the previous frame's inner most stack
+	address and this frame's func address for the frame ID.  Use
+	frame_id_build.  Don't analyze beyond the current instruction.
+
+2003-04-01  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.h (get_frame_locals_address, get_frame_args_address):
+	Refer to the base address, instead of the address of the first
+	local or parameter.
+
+2003-04-01  Andrew Cagney  <cagney@redhat.com>
+
+	Add frame debug info addresses:
+	* frame-base.c: New file.
+	* frame-base.h: New file.
+	* frame.h (struct frame_base): Add opaque declaration.
+	(get_frame_base): Update comment.
+	(get_frame_base_address): Declare.
+	(get_frame_locals_address): Declare.
+	(get_frame_args_address): Declare.
+	(struct frame_info): Add "base" and "base_cache".  Update
+	comments on the unwinder.
+	* frame.c: Include "frame-base.h".
+	(get_frame_locals_address): New function.
+	(get_frame_base_address): New function.
+	(get_frame_args_address): New function.
+	* findvar.c (read_var_value): Use get_frame_locals_address and
+	get_frame_args_address.
+	* stack.c (frame_info): Use get_frame_locals_address and
+	get_frame_args_address.
+	(FRAME_ARGS_ADDRESS_CORRECT): Delete conditionally defined macro,
+	moved to "frame-base.c".
+	* printcmd.c (print_frame_nameless_args): Ditto.
+	* symtab.h (address_class): Update comments.
+	* dwarf2loc.c (dwarf_expr_frame_base): Add note about
+	get_frame_base_address.
+	* dwarf2expr.c (execute_stack_op): Ditto.
+	* Makefile.in (frame_base_h): Define.
+	(frame.o): Update dependencies.
+	(frame-base.o): Add dependencies.
+	(SFILES): Add frame-base.c.
+	(COMMON_OBS): Add frame-base.o.
+
+2003-04-01  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (CALL_DUMMY_START_OFFSET): Default to zero.
+	CALL_DUMMY_LENGTH): Ditto.
+	* gdbarch.c: Re-generate.
+	* inferior.h (CALL_DUMMY_START_OFFSET): Delete macro.
+	(CALL_DUMMY_LENGTH): Delete macro.
+	* alpha-tdep.c (alpha_gdbarch_init): Do not set above when zero.
+	* arm-tdep.c (arm_gdbarch_init): Ditto.
+	* avr-tdep.c (avr_gdbarch_init): Ditto.
+	* cris-tdep.c (cris_gdbarch_init): Ditto.
+	* d10v-tdep.c (d10v_gdbarch_init): Ditto.
+	* frv-tdep.c (frv_gdbarch_init): Ditto.
+	* h8300-tdep.c (h8300_gdbarch_init): Ditto.
+	* hppa-tdep.c (hppa_gdbarch_init): Ditto.
+	* i386-tdep.c (i386_gdbarch_init): Ditto.
+	* ia64-tdep.c (ia64_gdbarch_init): Ditto.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+	* mcore-tdep.c (mcore_gdbarch_init): Ditto.
+	* mips-tdep.c (mips_gdbarch_init): Ditto.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+	* s390-tdep.c (s390_gdbarch_init): Ditto.
+	* sh-tdep.c (sh_gdbarch_init): Ditto.
+	* sparc-tdep.c (sparc_gdbarch_init): Ditto.
+	* v850-tdep.c (v850_gdbarch_init): Ditto.
+	* vax-tdep.c (vax_gdbarch_init): Ditto.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Ditto.
+
+2003-04-01  Corinna Vinschen  <vinschen@redhat.com>
+
+	* frame.c (get_prev_frame): Disable call to inside_entry_file().
+
+2003-04-01  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (CALL_DUMMY_BREAKPOINT_OFFSET): Default to zero.
+	(CALL_DUMMY_BREAKPOINT_OFFSET_P): Delete.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* config/sparc/tm-sp64.h (CALL_DUMMY_BREAKPOINT_OFFSET_P): Delete.
+	(CALL_DUMMY_BREAKPOINT_OFFSET_P): Delete.
+	* config/pa/tm-hppa64.h (CALL_DUMMY_BREAKPOINT_OFFSET_P): Delete.
+	* inferior.h (CALL_DUMMY_BREAKPOINT_OFFSET_P): Delete.
+	(CALL_DUMMY_BREAKPOINT_OFFSET): Delete.
+	* infcmd.c (run_stack_dummy): Simplify assuming
+	CALL_DUMMY_BREAKPOINT_OFFSET_P.
+	* infrun.c (handle_inferior_event): Ditto.
+	* alpha-tdep.c (alpha_gdbarch_init): Do not set
+	call_dummy_breakpoint_offset or call_dummy_breakpoint_offset_p.
+	* arm-tdep.c (arm_gdbarch_init): Ditto.
+	* avr-tdep.c (avr_gdbarch_init): Ditto.
+	* cris-tdep.c (cris_gdbarch_init): Ditto.
+	* d10v-tdep.c (d10v_gdbarch_init): Ditto.
+	* frv-tdep.c (frv_gdbarch_init): Ditto.
+	* h8300-tdep.c (h8300_gdbarch_init): Ditto.
+	* i386-tdep.c (i386_gdbarch_init): Ditto.
+	* ia64-tdep.c (ia64_gdbarch_init): Ditto.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+	* m68k-tdep.c (m68k_gdbarch_init): Ditto.
+	* mcore-tdep.c (mcore_gdbarch_init): Ditto.
+	* mips-tdep.c (mips_gdbarch_init): Ditto.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+	* ns32k-tdep.c (ns32k_gdbarch_init): Ditto.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+	* s390-tdep.c (s390_gdbarch_init): Ditto.
+	* sh-tdep.c (sh_gdbarch_init): Ditto.
+	* sparc-tdep.c (sparc_gdbarch_init): Ditto.
+	* v850-tdep.c (v850_gdbarch_init): Ditto.
+	* vax-tdep.c (vax_gdbarch_init): Ditto.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Ditto.
+
+2003-04-01  Daniel Jacobowitz  <drow@mvista.com>
+
+	* symfile.c (symfile_relocate_debug_section): Update call to
+	bfd_simple_get_relocated_section_contents.
+
+2003-03-31  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (FIX_CALL_DUMMY): Change to function with predicate.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* inferior.h (FIX_CALL_DUMMY): Delete macro.
+	* valops.c (hand_function_call): Only call FIX_CALL_DUMMY when
+	available.
+	* frame.h (generic_fix_call_dummy): Delete declaration.
+	* dummy-frame.h: Update comment.
+	* dummy-frame.c (generic_fix_call_dummy): Delete function.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set
+	fix_call_dummy.
+	* sh-tdep.c (sh_gdbarch_init): Ditto.
+	* s390-tdep.c (s390_gdbarch_init): Ditto.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+	* mcore-tdep.c (mcore_gdbarch_init): Ditto.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+	* ia64-tdep.c (ia64_gdbarch_init): Ditto.
+	* i386-tdep.c (i386_gdbarch_init): Ditto.
+	* h8300-tdep.c (h8300_gdbarch_init): Ditto.
+	* frv-tdep.c (frv_gdbarch_init): Ditto.
+	* d10v-tdep.c (d10v_gdbarch_init): Ditto.
+	* cris-tdep.c (cris_gdbarch_init): Ditto.
+	* avr-tdep.c (avr_gdbarch_init): Ditto.
+	* arm-tdep.c (arm_gdbarch_init): Ditto.
+
+2003-03-31  J. Brobecker  <brobecker@gnat.com>
+
+	* config/pa/tm-hppa64.h (FRAME_ARGS_ADDRESS): Delete macro, not useful.
+	(INIT_FRAME_AP): Likewise.
+	(EXTRA_FRAME_INFO): Likewise.
+
+2003-03-31  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh: Include "symfile.h".
+	(CALL_DUMMY_ADDRESS): Default to entry_point_address.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* inferior.h (CALL_DUMMY_ADDRESS): Delete macro.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set
+	call_dummy_address, the default is at entry_point_address.
+	* v850-tdep.c (v850_gdbarch_init): Ditto.
+	* sparc-tdep.c (sparc_gdbarch_init): Ditto.
+	* sh-tdep.c (sh_gdbarch_init): Ditto.
+	* s390-tdep.c (s390_gdbarch_init): Ditto.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+	* mcore-tdep.c (mcore_gdbarch_init): Ditto.
+	* ia64-tdep.c (ia64_gdbarch_init): Ditto.
+	* i386-tdep.c (i386_gdbarch_init): Ditto.
+	* h8300-tdep.c (h8300_gdbarch_init): Ditto.
+	* frv-tdep.c (frv_gdbarch_init): Ditto.
+	* d10v-tdep.c (d10v_gdbarch_init): Ditto.
+	* cris-tdep.c (cris_gdbarch_init): Ditto.
+	* arm-tdep.c (arm_gdbarch_init): Ditto.
+
+2003-03-31  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (CALL_DUMMY_P): Delete.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* inferior.h (CALL_DUMMY_P): Delete macro.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+	* vax-tdep.c (vax_gdbarch_init): Update.
+	* v850-tdep.c (v850_gdbarch_init): Update.
+	* sparc-tdep.c (sparc_gdbarch_init): Update.
+	* sh-tdep.c (sh_gdbarch_init): Update.
+	* s390-tdep.c (s390_gdbarch_init): Update.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Update.
+	* ns32k-tdep.c (ns32k_gdbarch_init): Update.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Update.
+	* mips-tdep.c (mips_gdbarch_init): Update.
+	* mcore-tdep.c (mcore_gdbarch_init): Update.
+	* m68k-tdep.c (m68k_gdbarch_init): Update.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+	* ia64-tdep.c (ia64_gdbarch_init): Update.
+	* i386-tdep.c (i386_gdbarch_init): Update.
+	* h8300-tdep.c (h8300_gdbarch_init): Update.
+	* frv-tdep.c (frv_gdbarch_init): Update.
+	* d10v-tdep.c (d10v_gdbarch_init): Update.
+	* cris-tdep.c (cris_gdbarch_init): Update.
+	* breakpoint.c (deprecated_frame_in_dummy): Update.
+	* avr-tdep.c (avr_gdbarch_init): Update.
+	* alpha-tdep.c (alpha_gdbarch_init): Update.
+	* arm-tdep.c (arm_gdbarch_init): Update.
+	* dummy-frame.c (dummy_frame_this_id): Update comments.
+	* rs6000-tdep.c (rs6000_extract_struct_value_address): Ditto.
+	* frame.c (legacy_get_prev_frame): Ditto.
+	* valops.c (call_function_by_hand): Delete function.
+	(hand_function_call): Rename to call_function_by_hand
+
+2003-03-30  Andrew Cagney  <cagney@redhat.com>
+
+	2002-11-10 Klee Dienes <kdienes@apple.com>
+	* value.h (struct value): Update comment.
+
+2003-03-30  Andrew Cagney  <cagney@redhat.com>
+
+	* d10v-tdep.c: Replace _FP_REGNUM and FP_REGNUM with
+	D10V_FP_REGNUM.
+	(d10v_gdbarch_init): Do not set fp_regnum.
+
+	* frame.c (get_frame_base): Force ID initialization.
+	(get_prev_frame): Move computation of the frame ID from here ...
+	(get_frame_id): ... to here.
+	(legacy_get_prev_frame): Mark the frame ID as valid.
+	* frame.h (struct frame_info): Add field "id_p".
+
+2003-03-30  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-tdep.c (i386_store_struct_return): Removed.
+	(i386_gdbarch_init): Don't set deprecated_store_struct_return.
+
+2003-03-30  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_DUMMY_WRITE_SP): Replace TARGET_WRITE_SP.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* v850-tdep.c (v850_gdbarch_init): Set deprecated_dummy_write_sp.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Ditto.
+	* mcore-tdep.c (mcore_gdbarch_init): Ditto.
+	* m68k-tdep.c (m68k_gdbarch_init): Ditto.
+	* i386-tdep.c (i386_gdbarch_init): Ditto.
+	* h8300-tdep.c (h8300_gdbarch_init): Ditto.
+	* cris-tdep.c (cris_gdbarch_init): Ditto.
+	* vax-tdep.c (vax_gdbarch_init): Ditto.
+	* s390-tdep.c (s390_gdbarch_init): Ditto.
+	* ns32k-tdep.c (ns32k_gdbarch_init): Ditto.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+	* alpha-tdep.c (alpha_gdbarch_init): Ditto.
+	* sparc-tdep.c (sparc_push_dummy_frame, sparc_pop_frame): Update.
+	* config/sparc/tm-sp64.h (DEPRECATED_DUMMY_WRITE_SP): Update.
+	* config/pa/tm-hppa.h (DEPRECATED_DUMMY_WRITE_SP): Define.
+	* sparc-tdep.c (sparc_gdbarch_init): Update.
+	* sh-tdep.c (sh_gdbarch_init): Update.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Update.
+	* mips-tdep.c (mips_gdbarch_init): Update.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+	* ia64-tdep.c (ia64_gdbarch_init): Update.
+	* frv-tdep.c (frv_gdbarch_init): Update.
+	* avr-tdep.c (avr_gdbarch_init): Update.
+	* valops.c (hand_function_call): Replace TARGET_WRITE_SP with
+	DEPRECATED_DUMMY_WRITE_SP.  Call when the method is available,
+	instead of when push_dummy_call is not available.
+
+2003-03-30  Andrew Cagney  <cagney@redhat.com>
+
+	* infttrace.c: Include "gdbthread.h".
+	(parent_attach_all): Fix function signature.
+	(call_ptrace): Update call.
+	* Makefile.in (infttrace.o): Update dependencies.
+
+2003-03-30  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_PUSH_RETURN_ADDRESS): Replace
+	PUSH_RETURN_ADDRESS.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+	* x86-64-tdep.c (x86_64_init_abi): Update.
+	* v850-tdep.c (v850_gdbarch_init): Update.
+	* sparc-tdep.c (sparc_gdbarch_init): Update.
+	* sh-tdep.c (sh_gdbarch_init): Update.
+	* s390-tdep.c (s390_gdbarch_init): Update.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Update.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Update.
+	* mips-tdep.c (mips_gdbarch_init): Update.
+	* mcore-tdep.c (mcore_gdbarch_init): Update.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+	* ia64-tdep.c (ia64_gdbarch_init): Update.
+	* i386-tdep.c (i386_gdbarch_init): Update.
+	* h8300-tdep.c (h8300_gdbarch_init): Update.
+	* frv-tdep.c (frv_gdbarch_init): Update.
+	* cris-tdep.c (cris_gdbarch_init): Update.
+	* avr-tdep.c (avr_gdbarch_init): Update.
+	* arm-tdep.c (arm_gdbarch_init): Update.
+	* valops.c (hand_function_call): Update.
+
+2003-03-29  Andrew Cagney  <cagney@redhat.com>
+
+	* d10v-tdep.c (d10v_gdbarch_init): Do not set call_dummy_words or
+	sizeof_call_dummy_words.
+	* gdbarch.sh (CALL_DUMMY_WORDS, SIZEOF_CALL_DUMMY_WORDS): Always
+	define.
+	* gdbarch.h: Regenerate.
+
+2003-03-29  Andrew Cagney  <cagney@redhat.com>
+
+	* infttrace.h: New file.
+	* hpread.c: Include "gdb_assert.h" and "somsolib.h".
+	(hpread_get_textlow): Detect an uninitialized dn_bufp.
+	(hpread_read_doc_function_type): Detect an initialized type1.
+	(hpread_quick_traverse): Initialize mod_name_string.
+	* somsolib.h: Add #ifdef SOMSOLIB_H wrapper.
+	(som_solib_get_solib_by_pc): Declare.
+	(so_lib_thread_start_addr): Declare.
+	(no_shared_libraries): Declare.
+	* somread.c (init_import_symbols): Make static.  Add forward
+	declaration.
+	* config/pa/nm-hppah.h: Include "infttrace.h" for
+	parent_attach_all.
+	(hppa_insert_hw_watchpoint): Declare.
+	(hppa_can_use_hw_watchpoint, hppa_remove_hw_watchpoint): Declare.
+	* hppah-nat.c: Include "gdb_string.h".
+	(parent_attach_all): Delete extern declaration, moved to
+	"infttrace.h".
+	(hppa_can_use_hw_watchpoint): Change type of "type" parameter to
+	int.
+	(hppa_remove_hw_watchpoint, hppa_insert_hw_watchpoint): Ditto.
+	* Makefile.in (infttrace_h): Define.
+	(hpread.o): Update dependencies.
+	(hppah-nat.o, hppa-hpux-tdep.o, hppa-tdep.o): Ditto.
+	* hppa-hpux-tdep.c: Include "gdb_string.h".
+	* hppa-tdep.c (hppa_frame_saved_pc): Initialize "old_pc".
+	* infrun.c (handle_inferior_event): Always initialize
+	stepped_after_stopped_by_watchpoint.  Add default and remove
+	fallthrough in switch statement.
+	* infttrace.c (hppa_can_use_hw_watchpoint): Change type of "type"
+	parameter to int.
+	(hppa_remove_hw_watchpoint): Ditto.
+
+2003-03-29  Andrew Cagney  <cagney@redhat.com>
+
+	* ns32k-tdep.c (ns32k_gdbarch_init): Set the call dummy breakpoint
+	offset.
+
+2003-03-29  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-tdep.c (arm_push_arguments): Delete.
+	(struct stack_item): New type.
+	(push_stack_item, pop_stack_item, arm_push_dummy_call): New functions.
+	(arm_store_struct_return): Delte.
+	(arm_gdbarch_init): Register arm_push_dummy_call.  Don't register
+	arm_push_arguments or arm_store_struct_return.
+
+2003-03-28  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.in (d10v-tdep.o): Update dependencies.
+	* remote.h (target_resume_hook, target_wait_loop_hook): Declare.
+	* d10v-tdep.c: Include "remote.h".
+	(target_resume_hook): Delete extern declaration.
+	(target_wait_loop_hook): Ditto.
+	(tdisassemble_command): Eliminate assignment in "if" conditional.
+	(d10v_ts2_register_sim_regno): Eliminate call to
+	legacy_register_sim_regno.
+	(d10v_ts3_register_sim_regno): Ditto.
+
+2003-03-28  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* thread.c: Reindented.
+	* lin-lwp.c: Ditto.
+	* linux-proc.c: Ditto.
+
+2003-03-28  Bob Rossi  <bob_rossi@cox.net>
+
+	* MAINTAINERS (write after approval): Add myself.
+
+2003-03-27  Theodore A. Roth  <troth@openavr.org>
+
+	* objc-exp.y: Add missing semi-colons.
+
+2003-03-27  Andrew Cagney  <cagney@redhat.com>
+
+	* regcache.c (write_sp): Delete function and references.
+	* inferior.h (write_sp): Delete declaration.
+	* valops.c (hand_function_call): Replace write_sp with
+	TARGET_WRITE_SP.
+	* sparc-tdep.c (sparc_push_dummy_frame): Ditto.
+	(sparc_pop_frame): Ditto.
+
+2003-03-27  Andrew Cagney  <cagney@redhat.com>
+
+	* NEWS: Mention removal of support for hppa*-*-bsd* and
+	hppa*-*-osf* natives, and hppa*-*-pro* target.
+	* config/pa/xm-hppah.h: Do not include "pa/xm-pa.h".
+	* config/pa/xm-pa.h: Obsolete file.
+	* config/pa/xm-hppab.h: Obsolete file.
+	* config/pa/nm-hppab.h: Obsolete file.
+	* config/pa/tm-hppab.h: Obsolete file.
+	* config/pa/tm-hppao.h: Obsolete file.
+	* config/pa/nm-hppao.h: Obsolete file.
+	* config/pa/tm-pro.h: Obsolete file.
+	* config/pa/hppaosf.mt: Obsolete file.
+	* config/pa/hppaosf.mh: Obsolete file.
+	* config/pa/hppapro.mt: Obsolete file.
+	* config/pa/hppabsd.mt: Obsolete file.
+	* config/pa/hppabsd.mh: Obsolete file.
+	* configure.host: Disable hppa*-*-bsd* and hppa*-*-osf*.
+	* configure.tgt: Disable hppa*-*-bsd*, hppa*-*-pro* and
+	hppa*-*-osf*.
+
+2003-03-27  Andrew Cagney  <cagney@redhat.com>
+
+	* d10v-tdep.c (d10v_gdbarch_init): Set push_dummy_call instead of
+	push_arguments.  Don't set push_return_address or write_sp.
+	(d10v_push_dummy_call): Replace d10v_push_arguments.
+	(d10v_push_return_address, d10v_write_sp): Delete function,
+	handled by push_dummy_call.
+
+2003-03-26  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_PUSH_ARGUMENTS): Rename PUSH_ARGUMENTS.
+	(push_dummy_call): New pure multi-arch replacement with gdbarch,
+	regcache and dummy_addr parameters.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* valops.c (hand_function_call): Use gdbarch_push_dummy_call when
+	available; assume it will handle stack alignment and return
+	address issues.  Fall back to DEPRECATED_PUSH_ARGUMENTS and
+	legacy_push_arguments.
+	(legacy_push_arguments): Rename default_push_arguments.
+	* value.h (legacy_push_arguments): Rename default_push_arguments.
+	* i386-tdep.c (i386_push_arguments): Call legacy_push_arguments.
+	* config/sparc/tm-sparc.h (DEPRECATED_PUSH_ARGUMENTS): Update.
+	* config/sparc/tm-sp64.h (DEPRECATED_PUSH_ARGUMENTS): Update.
+	* config/pa/tm-hppa.h (DEPRECATED_PUSH_ARGUMENTS): Update.
+	* config/i386/tm-symmetry.h: Update.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+	* x86-64-tdep.c (x86_64_init_abi): Update.
+	* v850-tdep.c (v850_gdbarch_init): Update.
+	* sparc-tdep.c (sparc_gdbarch_init): Update.
+	* sh-tdep.c (sh_gdbarch_init): Update.
+	* s390-tdep.c (s390_gdbarch_init): Update.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Update.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Update.
+	* mips-tdep.c (mips_gdbarch_init): Update.
+	* mcore-tdep.c (mcore_gdbarch_init): Update.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+	* ia64-tdep.c (ia64_gdbarch_init): Update.
+	* i386-tdep.c (i386_gdbarch_init): Update.
+	* hppa-tdep.c (hppa_gdbarch_init): Update.
+	* h8300-tdep.c (h8300_gdbarch_init): Update.
+	* frv-tdep.c (frv_gdbarch_init): Update.
+	* d10v-tdep.c (d10v_gdbarch_init): Update.
+	* cris-tdep.c (cris_gdbarch_init): Update.
+	* avr-tdep.c (avr_gdbarch_init): Update.
+	* arm-tdep.c (arm_gdbarch_init): Update.
+	* arm-linux-tdep.c (arm_linux_init_abi): Update.
+	* alpha-tdep.c (alpha_gdbarch_init): Update.
+
+2003-03-26  Daniel Jacobowitz  <drow@mvista.com>
+
+	* signals/signals.c (do_target_signal_to_host): Correct realtime
+	signal range test.
+
+2003-03-26  Daniel Jacobowitz  <drow@mvista.com>
+
+	* breakpoint.c (handle_gnu_4_16_catch_command, get_catch_sals)
+	(struct sal_chain, map_catch_names): Remove.
+	(catch_exception_command_1): Don't call
+	handle_gnu_4_16_catch_command.
+
+2003-03-26  Daniel Jacobowitz  <drow@mvista.com>
+
+	From Mark Dettinger <dettinge@de.ibm.com>:
+	* dwarf2cfi.c (read_2u): Increment pointer by two.
+
+2003-03-26  Daniel Jacobowitz  <drow@mvista.com>
+
+	* signals/signals.c: Fix typos in last change.
+
+2003-03-26  Daniel Jacobowitz  <drow@mvista.com>
+
+	* signals/signals.c (REALTIME_LO, REALTIME_HI): Define if
+	not already defined.  Use __SIGRTMIN if available.
+	(target_signal_from_host): Remove SIGRTMIN block.
+	(do_target_signal_to_host): Remove SIGRTMIN block; check that
+	the signal is within the realtime range.
+
+2003-03-25  Adam Fedor  <fedor@gnu.org>
+
+	* Makefile.in (infrun.o): Add $(language_h)
+	* infrun.c (handle_inferior_event): Use skip_language_trampoline
+	for language specific trampolines.
+	* language.h (struct language_defn): Add skip_trampoline.
+	(skip_language_trampoline): Declare.
+	* language.c (unk_lang_trampoline, skip_language_trampoline):
+	New functions.
+	(unknown_language_defn, auto_language_defn, local_language_defn):
+	Add ukn_lang_trampoline.
+	* ada-lang.c (ada_language_defn): Add NULL for language
+	specific skip_trampoline.
+	* c-lang.c, f-lang.c, jv-lang.c, m2-lang.c, p-lang.c,
+	scm-lang.c: Likewise.
+	* objc-lang.c (objc_skip_trampoline): New function.
+	(objc_language_defn): Add objc_skip_trampoline.
+
+2003-03-25  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (get_prev_frame): Delay validating a frame's ID -
+	non-NULL, didn't go backwards - until an attempt to unwind it to
+	the previous frame.
+
+2003-03-25  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_EXTRA_STACK_ALIGNMENT_NEEDED): Replace
+	EXTRA_STACK_ALIGNMENT_NEEDED.  Default to 0 not 1.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* config/sparc/tm-sparc.h
+	(DEPRECATED_EXTRA_STACK_ALIGNMENT_NEEDED): Define.
+	* sparc-tdep.c (sparc_gdbarch_init): Set
+	deprecated_extra_stack_alignment_needed.
+	* config/pa/tm-hppa.h (EXTRA_STACK_ALIGNMENT_NEEDED): Delete.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Do not clear
+	extra_stack_alignment_needed.
+	* v850-tdep.c (v850_gdbarch_init): Ditto.
+	* hppa-tdep.c (hppa_gdbarch_init): Ditto.
+	* h8300-tdep.c (h8300_gdbarch_init): Ditto.
+	* d10v-tdep.c (d10v_gdbarch_init): Ditto.
+	* cris-tdep.c (cris_gdbarch_init): Ditto.
+	* m68k-tdep.c (m68k_gdbarch_init): Ditto.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+
+2003-03-25  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_STORE_STRUCT_RETURN): Replace
+	STORE_STRUCT_RETURN.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* d10v-tdep.c (d10v_store_struct_return): Delete function.
+	(d10v_push_arguments): Set the struct return register.
+	(d10v_gdbarch_init): Update.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+	* x86-64-tdep.c (x86_64_init_abi): Update.
+	* vax-tdep.c (vax_gdbarch_init): Update.
+	* v850-tdep.c (v850_gdbarch_init): Update.
+	* sparc-tdep.c (sparc_gdbarch_init): Update.
+	* sh-tdep.c (sh_gdbarch_init): Update.
+	* s390-tdep.c (s390_gdbarch_init): Update.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Update.
+	* ns32k-tdep.c (ns32k_gdbarch_init): Update.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Update.
+	* mips-tdep.c (mips_gdbarch_init): Update.
+	* mcore-tdep.c (mcore_gdbarch_init): Update.
+	* m68k-tdep.c (m68k_gdbarch_init): Update.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+	* ia64-tdep.c (ia64_gdbarch_init): Update.
+	* i386-tdep.c (i386_gdbarch_init): Update.
+	* hppa-tdep.c (hppa_gdbarch_init): Update.
+	* h8300-tdep.c (h8300_gdbarch_init): Update.
+	* frv-tdep.c (frv_gdbarch_init): Update.
+	* cris-tdep.c (cris_gdbarch_init): Update.
+	* avr-tdep.c (avr_gdbarch_init): Update.
+	* arm-tdep.c (arm_gdbarch_init): Update.
+	* alpha-tdep.c (alpha_gdbarch_init): Update.
+
+2003-03-25  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (CALL_DUMMY_STACK_ADJUST_P): Delete.
+	(DEPRECATED_CALL_DUMMY_STACK_ADJUST): Replace
+	CALL_DUMMY_STACK_ADJUST with a predicate variable.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Do not set
+	call_dummy_stack_adjust_p.
+	* vax-tdep.c (vax_gdbarch_init): Ditto.
+	* v850-tdep.c (v850_gdbarch_init): Ditto.
+	* sh-tdep.c (sh_gdbarch_init): Ditto.
+	* s390-tdep.c (s390_gdbarch_init): Ditto.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+	* ns32k-tdep.c (ns32k_gdbarch_init): Ditto.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+	* mips-tdep.c (mips_gdbarch_init): Ditto.
+	* mcore-tdep.c (mcore_gdbarch_init): Ditto.
+	* m68k-tdep.c (m68k_gdbarch_init): Ditto.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+	* ia64-tdep.c (ia64_gdbarch_init): Ditto.
+	* i386-tdep.c (i386_gdbarch_init): Ditto.
+	* h8300-tdep.c (h8300_gdbarch_init): Ditto.
+	* frv-tdep.c (frv_gdbarch_init): Ditto.
+	* d10v-tdep.c (d10v_gdbarch_init): Ditto.
+	* cris-tdep.c (cris_gdbarch_init): Ditto.
+	* avr-tdep.c (avr_gdbarch_init): Ditto.
+	* arm-tdep.c (arm_gdbarch_init): Ditto.
+	* alpha-tdep.c (alpha_gdbarch_init): Ditto.
+	* config/sparc/tm-sp64.h (CALL_DUMMY_STACK_ADJUST): Update.
+	* config/sparc/tm-sparc.h (CALL_DUMMY_STACK_ADJUST): Update.
+	* config/sparc/tm-sp64.h (CALL_DUMMY_STACK_ADJUST): Update.
+	* sparc-tdep.c (sparc_gdbarch_init): Update.  Do not set
+	call_dummy_stack_adjust_p.
+	* inferior.h (CALL_DUMMY_STACK_ADJUST_P): Delete macro.
+	(CALL_DUMMY_STACK_ADJUST): Delete macro.
+	* sparc-tdep.c (sparc32_push_arguments): Update.
+	* valops.c (hand_function_call): Update.
+
+2003-03-25  Corinna Vinschen  <vinschen@redhat.com>
+
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Add call to
+	set_gdbarch_char_signed.
+
+2003-03-25  Richard Earnshaw  <rearnsha@arm.com>
+
+	PR cli/548
+	* arm-tdep.c (_initialize_arm_tdep): Command is "set arm disassembler".
+
+2003-03-25  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-tdep.c (arm_gdbarch_init): Register the disassembler function.
+	(_initialize_arm_tdep): Don't set tm_print_insn.
+
+2003-03-24  Adam Fedor  <fedor@gnu.org>
+
+	* Makefile.in (YYOBJ): Add objc-exp.tab.o
+	* objc-lang.h: Add multiple inclusion protection.
+	(start_msglist, add_msglist, end_msglist): Additional declarations.
+
+2003-03-24  Richard Earnshaw  <rearnsha@arm.com>
+
+	* armnbsd-tdep.c (arm_netbsd_aout_init_abi): ARM_FLOAT_SOFT enum
+	value was renamed to ARM_FLOAT_SOFT_FPA.
+
+2003-03-23  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_FRAME_CHAIN): Replace FRAME_CHAIN.
+	(DEPRECATED_FRAME_CHAIN_VALID): Replace FRAME_CHAIN_VALID.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* valops.c (hand_function_call): Update.
+	* objfiles.h (DEPRECATED_FRAME_CHAIN_VALID): Update.
+	* frame.c (legacy_saved_regs_this_id): Update.
+	(legacy_get_prev_frame, get_prev_frame, legacy_frame_p): Update.
+	* dummy-frame.h: Update.
+	* config/sparc/tm-sparc.h (DEPRECATED_FRAME_CHAIN): Update.
+	* config/pa/tm-hppa.h (DEPRECATED_FRAME_CHAIN_VALID): Update.
+	* config/m68k/tm-vx68.h (DEPRECATED_FRAME_CHAIN): Update.
+	* config/m68k/tm-os68k.h (DEPRECATED_FRAME_CHAIN): Update.
+	* config/m68k/tm-sun3.h: Update.
+	* blockframe.c (inside_main_func, frame_chain_valid): Update.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+	* x86-64-tdep.c (x86_64_init_abi): Update.
+	* vax-tdep.c (vax_gdbarch_init): Update.
+	* v850-tdep.c (v850_gdbarch_init): Update.
+	* sparc-tdep.c (sparc_frame_chain, sparc_gdbarch_init): Update.
+	* sh-tdep.c (sh_gdbarch_init): Update.
+	* s390-tdep.c (s390_gdbarch_init): Update.
+	* rs6000-tdep.c (rs6000_frame_saved_pc): Update.
+	(rs6000_gdbarch_init, rs6000_frame_saved_pc): Update.
+	(frame_get_saved_regs): Update.
+	* ppc-linux-tdep.c (ppc_linux_init_abi): Update.
+	* ns32k-tdep.c (ns32k_gdbarch_init): Update.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Update.
+	* mips-tdep.c (mips_gdbarch_init): Update.
+	* mcore-tdep.c (mcore_gdbarch_init): Update.
+	* m68k-tdep.c (m68k_gdbarch_init): Update.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+	* ia64-tdep.c (ia64_gdbarch_init): Update.
+	* i386-tdep.c (i386_frame_num_args, i386_gdbarch_init): Update.
+	* i386-interix-tdep.c (i386_interix_init_abi): Update.
+	(i386_interix_back_one_frame): Update.
+	* hppa-tdep.c (hppa_gdbarch_init): Update.
+	(hppa_init_extra_frame_info): Update.
+	* h8300-tdep.c (h8300_gdbarch_init): Update.
+	* frv-tdep.c (frv_gdbarch_init): Update.
+	* cris-tdep.c (cris_gdbarch_init): Update.
+	* avr-tdep.c (avr_gdbarch_init): Update.
+	* arm-tdep.c (arm_gdbarch_init): Update.
+	* alpha-tdep.c (alpha_gdbarch_init): Update.
+
+2003-03-22  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-tdep.h (arm_float_model): Add AUTO and LAST values.
+	(arm_get_fp_model): Declare.
+	* arm-tdep.c (fp_model_strings): New string array.
+	(arm_fp_model, current_fp_model): New variables.
+	(arm_get_fp_model): New function.
+	(arm_set_fp): New function.
+	(set_fp_model_sfunc): New function.
+	(show_fp_model): New function.
+	(_initialize_arm_tdep): Add new command to set/show the FPU.
+	(arm_extract_return_value): Use arm_get_fp_model.
+	(arm_store_return_value): Likewise.
+	(arm_gdbarch_init): Default fpa model is softfpa.  Call arm_set_fp
+	to initialize the floating-point data types.
+	* arm-linux-tdep.c (arm_linux_init_abi): The default floating point
+	model is FPA.
+
+2003-03-22  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-tdep.c (show_arm_command): Don't print out help.  Instead, show
+	the current setting of each value.
+	(_initialize_arm_tdep): Delete variable new_cmd and add new vars
+	new_set and new_show.  Use add_setshow_cmd_full and
+	add_setshow_boolean_cmd as appropriate.  Deprecate "set/show apcs32"
+	commands and add new version as subcommands of "set/show arm".
+
+2003-03-22  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-tdep.c (setarmcmdlist, showarmcmdlist): New command lists.
+	(set_arm_command, show_arm_command): New functions.
+	(_initialize_arm_tdep): Add them.
+	(num_disassembly_options): Renamed from num_flavor_options.
+	(valid_disassembly_styles): Renamed from valid_flavors.
+	(disassembly_style): Renamed from disassembly_flavor.
+	(set_disassembly_style_sfunc): Renamed from
+	set_disassembly_flavor_sfunc.
+	(set_disassembly_style): Renamed from set_disassembly_flavor.
+	(arm_othernames): Updated.
+	(_initialize_arm_tdep): Deprecate "set/show disassembly-flavor"
+	command.  Add "set/show arm disassembly" commands.  Deprecate
+	"othernames" command.
+
+2003-03-22  Richard Earnshaw  <rearnsha@arm.com>
+
+	* Makefile.in (elf_reloc_macros_h, elf_arm_h): Define.
+	(arm-tdep.o): Depend on elf_arm_h.
+
+2003-03-22  Richard Earnshaw  <rearnsha@arm.com>
+
+	* Makefile.in (coff_internal_h): Define.
+	(arm-tdep.o): Update dependencies.
+
+2003-03-22  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-tdep.c (prologue_cache): Delete.
+	(check_prologue_cache, save_prologue_cache): Delete.
+	(arm_scan_prologue): Don't check or update the prologue_cache.
+	(arm_gdb_arch_init): Don't initialize it.
+	(_initialize_arm_tdep): Likewise.
+
+2003-03-21  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* MAINTAINERS (tui): Maintainer of tui code.
+
+2003-03-21  Corinna Vinschen  <vinschen@redhat.com>
+
+	* Makefile.in (ALLDEPFILES): Add i386-cygwin-tdep.c.
+	(i386-cygwin-tdep.o): Add dependencies.
+	* defs.h (enum gdb_osabi): Add GDB_OSABI_CYGWIN.
+	* i386-cygwin-tdep.c: New file.
+	* osabi.c (gdb_osabi_name): Add string for GDB_OSABI_CYGWIN.
+	* config/i386/cygwin.mt (TDEPFILES): Add i386-cygwin-tdep.o.
+
+2003-03-20  Andrew Cagney  <cagney@redhat.com>
+
+	* infrun.c (DYNAMIC_TRAMPOLINE_NEXTPC): Delete macro.
+	(handle_inferior_event): Remove code calling
+	DYNAMIC_TRAMPOLINE_NEXTPC.
+
+	* Makefile.in (init.c): Don't add $(srcdir) prefix when a file
+	already has a full path.
+
+	* main.c (gdb_main): Return 1.
+	(captured_main): Call error to report an invalid interpreter.
+
+	* Makefile.in (alpha-osf1-tdep.o): Update dependencies.
+	* alpha-osf1-tdep.c: Include "gdb_string.h".
+
+2003-03-19  J. Brobecker  <brobecker@gnat.com>
+
+	Continuing work to convert the hppa targets to multiarch partial.
+
+	* hppa-tdep.c (hppa_gdbarch_init): Set the push_dummy_frame gdbarch
+	method, now that hppa_push_dummy_frame has a conformant prototype.
+	* config/pa/tm-hppa.h (DEPRECATED_PUSH_DUMMY_FRAME): Wrap macro
+	inside "#if !GDB_MULTI_ARCH ... #endif" conditional, in preparation
+	for the switch to multiarch partial.
+
+2003-03-19  Kevin Buettner  <kevinb@redhat.com>
+
+	* mdebugread.c (parse_symbol): For stEnd, we're done counting
+	when iss is issNull.
+
+2003-03-18  Kevin Buettner  <kevinb@redhat.com>
+
+	* mips-tdep.c (mips_register_name): Fix fencepost error involving
+	NUM_REGS bounds check.
+
+2003-03-18  Kevin Buettner  <kevinb@redhat.com>
+
+	* Makefile.in (mips-tdep.o): Add dependency on $(gdb_assert_h).
+	* mips-tdep.c (gdb_assert.h): Include.
+	(mips_generic_reg_names, mips_processor_reg_names): Make static.
+	(mips_register_name): Handle integer registers explicitly.  Add
+	bounds checking.
+	(mips_r3041_reg_names, mips_r3051_reg_names, mips_r3081_reg_names)
+	(mips_lsi33k_reg_names): Don't list integer registers; they're
+	handled by mips_register_name() now.
+	* config/mips/tm-irix3.h (MIPS_REGISTER_NAMES): Likewise.
+	* config/mips/tm-irix6.h (MIPS_REGISTER_NAMES): Likewise.
+	* config/mips/tm-mips.h (MIPS_REGISTER_NAMES): Likewise.
+	* config/mips/tm-tx39.h (MIPS_REGISTER_NAMES): Likewise.
+	* config/mips/tm-tx39l.h (MIPS_REGISTER_NAMES): Likewise.
+
+2003-03-18  Andrew Cagney  <cagney@redhat.com>
+
+	* printcmd.c (print_scalar_formatted): Change VALADDR parameter to
+	a void pointer.
+	* gdbtypes.h (print_scalar_formatted): Update declaration.
+	* expression.h (enum exp_opcode): Remove non-ISO C trailing comma.
+
+2003-03-18  J. Brobecker  <brobecker@gnat.com>
+
+	* infrun.c (observer.h): Add #include.
+	(normal_stop): Add call to observer_notify_normal_stop.
+	* Makefile.in (infrun.o): Add dependency on observer.h.
+
+2003-03-18  J. Brobecker  <brobecker@gnat.com>
+
+	Continuing work to convert the hppa targets to multiarch partial.
+	* hppa-tdep.c (hppa_push_dummy_frame): Remove unused function
+	parameter. Reformat comment.
+	* config/pa/tm-hppa.h (hppa_push_dummy_frame): Update profile.
+	(DEPRECATED_PUSH_DUMMY_FRAME): Update call to hppa_push_dummy_frame()
+	to match new profile.
+
+2003-03-18  J. Brobecker  <brobecker@gnat.com>
+
+	* hppa-tdep.c (hppa_push_dummy_frame): Remove hack which does not
+	appear to be working in any case.
+
+2003-03-18  J. Brobecker  <brobecker@gnat.com>
+
+	* observer.c (observer_test_first_observer): New static variable.
+	(observer_test_second_observer): Likewise.
+	(observer_test_third_observer): Likewise.
+	(observer_test_first_notification_function): New static function.
+	(observer_test_second_notification_function): Likewise.
+	(observer_test_third_notification_function): Likewise.
+
+2003-03-17  J. Brobecker  <brobecker@gnat.com>
+
+	* hppa-tdep.c (gdb_assert.h): Add missing #include.
+	* somsolib.c (gdb_assert.h): Likewise.
+	* Makefile.in (hppa-tdep.o): Add dependency on gdb_assert.h.
+	(somsolib.o): Likewise.
+
+2003-03-17  Andrew Cagney  <cagney@redhat.com>
+
+	* disasm.c (gdb_disassembly): Set di.mach using the architecture's
+	BFD.  Simplify setting of di.endian.
+
+2003-03-17  Andrew Cagney  <cagney@redhat.com>
+
+	* rs6000-tdep.c (ppc_floating_point_unit_p): New function.
+	* ppc-tdep.h (ppc_floating_point_unit_p): Declare.
+
+	From Elena Zannoni  <ezannoni@redhat.com>
+	* ppc-sysv-tdep.c (ppc_sysv_abi_push_arguments): Handle e500
+	vector and floating-point parameters.
+	(ppc_sysv_abi_use_struct_convention): Handle e500 struct return
+	convention.
+	(ppc_sysv_abi_broken_use_struct_convention): Ditto.
+
+2003-03-17  Fernando Nasser  <fnasser@redhat.com>
+
+	* MAINTAINERS: Remove my name from several maintainership roles.
+
+2003-03-17  Andrew Cagney  <cagney@redhat.com>
+
+	Fix frame off-by-one bug.
+	* frame-unwind.h (frame_this_id_ftype): Replace
+	frame_unwind_id_ftype.
+	(frame_prev_register_ftype): Replace frame_unwind_reg_ftype.
+	(struct frame_unwind): Replace "id" with "this_id".  Replace "reg"
+	with "prev_register".
+	* frame-unwind.c (frame_unwind_find_by_pc): Return
+	legacy_saved_regs_unwind instead of trad_frame_unwind.  Update
+	comment.
+	* dummy-frame.c (cached_find_dummy_frame): Delete function.
+	(dummy_frame_this_id): Replace dummy_frame_id_unwind.
+	(dummy_frame_prev_register): Replace dummy_frame_register_unwind.
+	(dummy_frame_unwind): Update.
+	* sentinel-frame.c (sentinel_frame_prev_register): Replace
+	sentinel_frame_register_unwind.
+	(sentinel_frame_this_id): Replace sentinel_frame_id_unwind.
+	(sentinel_frame_unwinder): Update.
+	* frame.h (legacy_saved_regs_unwind): Replace trad_frame_unwind.
+	(struct frame_info): Rename "unwind_cache" to "prologue_cache".
+	* frame.c (create_sentinel_frame): Update. Initialize
+	"prologue_cache" instead of "unwind_cache".
+	(frame_register_unwind): Call this frame's prev_register with the
+	next frame and this frame's prologue cache.
+	(get_prev_frame): Simplify.  Always call prev frame's this_id with
+	this frame and prev frame's prologue cache.  Document that this
+	call is shifted one to the left when compared to the
+	frame_register_unwind call.
+	(legacy_saved_regs_prev_register): Replace
+	frame_saved_regs_register_unwind.
+	(legacy_saved_regs_this_id): Replace frame_saved_regs_id_unwind.
+	(legacy_saved_regs_unwinder): Replace trad_frame_unwinder.
+	(legacy_saved_regs_unwind): Replace trad_frame_unwind.
+	* d10v-tdep.c (d10v_frame_this_id): Replace d10v_frame_id_unwind.
+	(d10v_frame_unwind): Update.
+	(d10v_frame_prev_register): Replace d10v_frame_register_unwind.
+	(d10v_frame_unwind_cache): Replace this "fi" with "next_frame".
+	(saved_regs_unwinder): Replace this "frame" with "next_frame", and
+	"saved_regs" with "this_saved_regs".
+
+2003-03-16  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (frame_pop): Don't call target_store_registers.  Fix
+	problem reported by Mark Kettenis.
+
+2003-03-16  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-tdep.c (i386_register_type): Renamed from
+	i386_register_virtual_type.  Adjust function signature.
+	(i386_gdbarch_init): Set register_type instead of
+	deprecated_max_register_raw_size,
+	deprecated_max_register_virtual_size and register_virtual_type.
+
+2003-03-14  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (get_prev_frame): When a legacy frame, always call
+	legacy_get_prev_frame.  Simplify unwind code using assumption that
+	the unwinder is new.
+	(legacy_get_prev_frame): Handle legacy sentinel frame unwind here.
+	(legacy_frame_p): When no gdbarch_unwind_dummy_id, or
+	SAVED_DUMMY_FRAME_TOS, assume a legacy frame.
+
+2003-03-14  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (get_saved_register): Delete function.
+	* frame.h (get_saved_register): Delete declaration.
+	* xstormy16-tdep.c: Update comment.
+	* regcache.h: Update comments.
+	* sparc-tdep.c (sparc_init_extra_frame_info): Instead of
+	get_saved_register and extract_address, use
+	frame_read_unsigned_register.
+	(sparc_frame_saved_pc): Ditto.
+	(sparc_get_saved_register): Instead of get_saved_register, use
+	frame_register.
+	(sparc_pop_frame): Ditto.
+	* findvar.c: Update comments.
+	(value_of_register): Call frame_register instead of
+	get_saved_register.
+	(value_from_register): Ditto.
+	* config/sparc/tm-sparc.h: Update comment.
+	* breakpoint.c: Update comment.
+
+2003-03-14  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_GET_SAVED_REGISTER): Replace
+	GET_SAVED_REGISTER.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* frame.h: Update comments.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+	* x86-64-tdep.c (x86_64_init_abi): Update.
+	* sparc-tdep.c (sparc_gdbarch_init): Update.
+	* sh-tdep.c (sh_gdbarch_init): Update.
+	* mips-tdep.c (mips_gdbarch_init): Update.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+	* cris-tdep.c (cris_gdbarch_init): Update.
+	* ia64-tdep.c (ia64_gdbarch_init): Update.
+	* frame.c (frame_register): Update.
+	(get_saved_register): Update.
+	* config/sparc/tm-sparc.h (DEPRECATED_GET_SAVED_REGISTER): Update.
+
+2003-03-13  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_POP_FRAME): Replace POP_FRAME.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* valops.c (hand_function_call): Update comment.
+	* stack.c (return_command): Update comment.
+	* config/sparc/tm-sparc.h (DEPRECATED_POP_FRAME): Update.
+	* config/pa/tm-hppa.h (DEPRECATED_POP_FRAME): Update.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+	* x86-64-tdep.c (x86_64_init_abi): Update.
+	* vax-tdep.c (vax_gdbarch_init): Update.
+	* v850-tdep.c (v850_gdbarch_init): Update.
+	* sparc-tdep.c (sparc_gdbarch_init): Update.
+	* sh-tdep.c (sh_gdbarch_init): Update.
+	* s390-tdep.c (s390_gdbarch_init): Update.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Update.
+	* ns32k-tdep.c (ns32k_gdbarch_init): Update.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Update.
+	* mips-tdep.c (mips_gdbarch_init): Update.
+	* mcore-tdep.c (mcore_gdbarch_init): Update.
+	* m68k-tdep.c (m68k_gdbarch_init): Update.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+	* ia64-tdep.c (ia64_gdbarch_init): Update.
+	* i386-tdep.c (i386_gdbarch_init): Update.
+	* hppa-tdep.c (hppa_gdbarch_init): Update.
+	* h8300-tdep.c (h8300_gdbarch_init): Update.
+	* frv-tdep.c (frv_gdbarch_init): Update.
+	* cris-tdep.c (cris_gdbarch_init): Update.
+	* avr-tdep.c (avr_gdbarch_init): Update.
+	* arm-tdep.c (arm_gdbarch_init): Update.
+	* alpha-tdep.c (alpha_gdbarch_init): Update.
+
+2003-03-13  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (legacy_frame_p): New function.
+	(get_prev_frame): Use legacy_frame_p.
+	* frame.h (legacy_frame_p): Declare.
+
+2003-03-13  D. Venkatasubramanian <dvenkat@noida.hcltech.com>
+
+	* MAINTAINERS (write after approval): Alphabetically
+	listing corrected.
+
+2003-03-13  D. Venkatasubramanian <dvenkat@noida.hcltech.com>
+
+	* MAINTAINERS (write after approval): Add myself.
+
+2003-03-12  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (get_prev_frame): Rename the frame parameter to
+	"this_frame".
+	(get_next_frame, legacy_get_prev_frame): Ditto.
+
+2003-03-12  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (get_current_frame): Check target_has_registers before
+	checking target_has_stack.
+	* eval.c (evaluate_subexp_standard): Use get_selected_frame,
+	instead of deprecated_selected_frame.
+	* findvar.c (value_of_register): Pass "frame", not
+	deprecated_selected_frame, to value_of_builtin_reg.
+
+2003-03-12  Andrew Cagney  <cagney@redhat.com>
+
+	* regcache.c (regcache_cooked_write_signed): New function.
+	(regcache_cooked_write_unsigned): New function.
+	(regcache_cooked_read_unsigned): Fix regnum in range assertion.
+	(regcache_cooked_read_signed): Fix regnum in range assertion.
+	* regcache.h (regcache_cooked_write_signed): Declare.
+	(regcache_cooked_write_unsigned): Declare.
+
+2003-03-12  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_FRAME_SAVED_PC): Replace FRAME_SAVED_PC.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+	* x86-64-tdep.h: Update.
+	* x86-64-tdep.c (x86_64_init_abi): Update.
+	* v850-tdep.c (v850_gdbarch_init): Update.
+	* sparc-tdep.c (sparc_gdbarch_init): Update.
+	* sh-tdep.c (sh_gdbarch_init): Update.
+	* s390-tdep.c (s390_gdbarch_init): Update.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Update.
+	* ppc-linux-tdep.c (ppc_linux_init_abi): Update.
+	* ns32k-tdep.c (ns32k_gdbarch_init): Update.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Update.
+	* mips-tdep.c (mips_gdbarch_init): Update.
+	* mcore-tdep.c (mcore_gdbarch_init): Update.
+	* m68k-tdep.c (m68k_gdbarch_init): Update.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+	* ia64-tdep.c (ia64_gdbarch_init): Update.
+	* i386-tdep.c (i386_gdbarch_init): Update.
+	* i386-interix-tdep.c (i386_interix_init_abi): Update.
+	* hppa-tdep.c (hppa_gdbarch_init): Update.
+	* h8300-tdep.c (h8300_gdbarch_init): Update.
+	* frv-tdep.c (frv_gdbarch_init): Update.
+	* cris-tdep.c (cris_gdbarch_init): Update.
+	* avr-tdep.c (avr_gdbarch_init): Update.
+	* arm-tdep.c (arm_gdbarch_init): Update.
+	* alpha-tdep.c (alpha_gdbarch_init): Update.
+	* sh-tdep.c (sh_init_extra_frame_info): Update.
+	(sh64_init_extra_frame_info): Update.
+	* ns32knbsd-nat.c (frame_num_args): Update.
+	* m68hc11-tdep.c (m68hc11_init_extra_frame_info): Update.
+	* xstormy16-tdep.c (xstormy16_pop_frame): Update.
+	(xstormy16_frame_chain_valid): Update.
+	* vax-tdep.c (vax_saved_pc_after_call): Update.
+	* v850-tdep.c (v850_frame_chain): Update.
+	(v850_pop_frame): Update.
+	(v850_init_extra_frame_info): Update.
+	* sparc-tdep.c (setup_arbitrary_frame): Update.
+	* ns32k-tdep.c (umax_frame_num_args): Update.
+	* s390-tdep.c (s390_pop_frame_regular): Update.
+	* mn10300-tdep.c (mn10300_frame_chain): Update.
+	(mn10300_pop_frame_regular): Update.
+	(mn10300_init_extra_frame_info): Update.
+	* mips-tdep.c (mips_init_frame_pc_first): Update.
+	(mips_frame_chain): Update.
+	(mips_pop_frame): Update.
+	* mcore-tdep.c (mcore_frame_chain): Update.
+	(mcore_pop_frame): Update.
+	(mcore_init_extra_frame_info): Update.
+	* arch-utils.c (init_frame_pc_default): Update.
+	* m68k-tdep.c (isi_frame_num_args): Update.
+	(delta68_frame_num_args): Update.
+	(news_frame_num_args): Update.
+	* ia64-tdep.c (ia64_pop_frame_regular): Update.
+	* alpha-tdep.c (alpha_init_frame_pc_first): Update.
+	(alpha_frame_chain): Update.
+	(alpha_pop_frame): Update.
+	* hppa-tdep.c (hppa_saved_pc_after_call): Update.
+	(hppa_init_extra_frame_info): Update.
+	(hppa_frame_chain): Update.
+	(hppa_frame_chain_valid): Update.
+	* cris-tdep.c (cris_init_extra_frame_info): Update.
+	* avr-tdep.c (avr_init_extra_frame_info): Update.
+	* arm-tdep.c (arm_frame_chain_valid): Update.
+	(arm_init_extra_frame_info): Update.
+	(arm_pop_frame): Update.
+	* frame.c (frame_pc_unwind): Update.
+	* config/sparc/tm-sparc.h (DEPRECATED_FRAME_SAVED_PC): Update.
+	(DEPRECATED_INIT_FRAME_PC_FIRST): Update.
+	* config/rs6000/tm-rs6000.h (DEPRECATED_INIT_FRAME_PC_FIRST): Update.
+	* config/pa/tm-hppa.h (DEPRECATED_FRAME_SAVED_PC): Update.
+	* config/m68k/tm-delta68.h (DEPRECATED_FRAME_SAVED_PC): Update.
+	* config/m68k/tm-linux.h (DEPRECATED_FRAME_SAVED_PC): Update.
+
+2003-03-12  Andrew Cagney  <cagney@redhat.com>
+
+	Eliminate the need for POP_FRAME.
+	* frame.c (do_frame_unwind_register): New function.
+	(frame_pop): When no POP_FRAME, pop the frame using register
+	unwind and a scratch regcache.
+	(frame_saved_regs_pop): Delete function.
+	(trad_frame_unwinder): Update.
+	* d10v-tdep.c (d10v_frame_pop): Delete function.
+	(d10v_frame_unwind): Update.
+	* sentinel-frame.c (sentinel_frame_pop): Delete function.
+	(sentinel_frame_unwinder): Update.
+	* dummy-frame.c (dummy_frame_pop): Delete function.
+	(dummy_frame_unwind): Update.
+	* frame-unwind.h (frame_unwind_pop_ftype): Delete definition.
+	(struct frame_unwind): Update.
+
+2003-03-11  Kevin Buettner  <kevinb@redhat.com>
+
+	* mips-tdep.c (mips_ecoff_reg_to_regnum): Rename to
+	mips_dwarf_dwarf2_ecoff_reg_to_regnum().
+	(mips_dwarf_dwarf2_ecoff_reg_to_regnum, mips_stab_reg_to_regnum):
+	Do range checks on register number obtained from debugging info.
+	(mips_gdbarch_init): Call set_gdbarch_dwarf_reg_to_regnum() and
+	set_gdbarch_dwarf2_reg_to_regnum().  Adjust call of
+	set_gdbarch_ecoff_reg_to_regnum() to account for new name of
+	mapping function.
+	(do_fp_register_row): Fix typo which caused double type to be
+	used when attempting to unpack a float.
+
+2003-03-11  J. Brobecker  <brobecker@gnat.com>
+
+	* breakpoint.c (bpstat_stop_status): Fix a small memory leak.
+
+2003-03-11  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (deprecated_update_frame_pc_hack): Don't assume a next
+	frame.  Problem found by Corinna Vinschen.
+
+2003-03-11  Pierre Muller  <muller@ics.u-strasbg.fr>
+
+	* doublest.c (floatformat_from_length): Accept also
+	the real size of 'long double' type.
+
+2003-03-10  Daniel Jacobowitz  <drow@mvista.com>
+
+	From Klee Dienes <kdienes@apple.com>:
+	* breakpoint.c (bpstat_copy): Copy the command lines as well
+	as the old value, to match what is freed in bpstat_clear.
+
+2003-03-10  David Carlton  <carlton@math.stanford.edu>
+
+	* minsyms.c (add_minsym_to_hash_table): Replace
+	DEPRECATED_SYMBOL_NAME by SYMBOL_LINKAGE_NAME.
+	(compare_minimal_symbols, compact_minimal_symbols)
+	(install_minimal_symbols, find_solib_trampoline_target): Ditto.
+	(lookup_minimal_symbol_text): Use strcmp on linkage names instead
+	of DEPRECATED_SYMBOL_MATCHES_NAME.
+	(lookup_minimal_symbol_solib_trampoline): Ditto.
+
+2003-03-10  Andrew Cagney  <cagney@redhat.com>
+
+	* regcache.h (regcache_cooked_read_ftype): Define.
+	(regcache_save, regcache_restore): Add a cooked_read parameter.
+	* regcache.c (regcache_save, regcache_restore): Update.
+	(do_cooked_read): New function.
+	(regcache_cpy): Pass do_cooked_read to regcache_save and
+	regcache_restore.
+
+2003-03-10  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_FRAME_SAVED_PC): Replace FRAME_SAVED_PC.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+	* x86-64-tdep.h: Update.
+	* x86-64-tdep.c (x86_64_init_abi): Update.
+	* v850-tdep.c (v850_gdbarch_init): Update.
+	* sparc-tdep.c (sparc_gdbarch_init): Update.
+	* sh-tdep.c (sh_gdbarch_init): Update.
+	* s390-tdep.c (s390_gdbarch_init): Update.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Update.
+	* ppc-linux-tdep.c (ppc_linux_init_abi): Update.
+	* ns32k-tdep.c (ns32k_gdbarch_init): Update.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Update.
+	* mips-tdep.c (mips_gdbarch_init): Update.
+	* mcore-tdep.c (mcore_gdbarch_init): Update.
+	* m68k-tdep.c (m68k_gdbarch_init): Update.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+	* ia64-tdep.c (ia64_gdbarch_init): Update.
+	* i386-tdep.c (i386_gdbarch_init): Update.
+	* i386-interix-tdep.c (i386_interix_init_abi): Update.
+	* hppa-tdep.c (hppa_gdbarch_init): Update.
+	* h8300-tdep.c (h8300_gdbarch_init): Update.
+	* frv-tdep.c (frv_gdbarch_init): Update.
+	* cris-tdep.c (cris_gdbarch_init): Update.
+	* avr-tdep.c (avr_gdbarch_init): Update.
+	* arm-tdep.c (arm_gdbarch_init): Update.
+	* alpha-tdep.c (alpha_gdbarch_init): Update.
+	* sh-tdep.c (sh_init_extra_frame_info): Update.
+	(sh64_init_extra_frame_info): Update.
+	* ns32knbsd-nat.c (frame_num_args): Update.
+	* m68hc11-tdep.c (m68hc11_init_extra_frame_info): Update.
+	* xstormy16-tdep.c (xstormy16_pop_frame): Update.
+	(xstormy16_frame_chain_valid): Update.
+	* vax-tdep.c (vax_saved_pc_after_call): Update.
+	* v850-tdep.c (v850_frame_chain): Update.
+	(v850_pop_frame): Update.
+	(v850_init_extra_frame_info): Update.
+	* sparc-tdep.c (setup_arbitrary_frame): Update.
+	* ns32k-tdep.c (umax_frame_num_args): Update.
+	* s390-tdep.c (s390_pop_frame_regular): Update.
+	* mn10300-tdep.c (mn10300_frame_chain): Update.
+	(mn10300_pop_frame_regular): Update.
+	(mn10300_init_extra_frame_info): Update.
+	* mips-tdep.c (mips_init_frame_pc_first): Update.
+	(mips_frame_chain): Update.
+	(mips_pop_frame): Update.
+	* mcore-tdep.c (mcore_frame_chain): Update.
+	(mcore_pop_frame): Update.
+	(mcore_init_extra_frame_info): Update.
+	* arch-utils.c (init_frame_pc_default): Update.
+	* m68k-tdep.c (isi_frame_num_args): Update.
+	(delta68_frame_num_args): Update.
+	(news_frame_num_args): Update.
+	* ia64-tdep.c (ia64_pop_frame_regular): Update.
+	* alpha-tdep.c (alpha_init_frame_pc_first): Update.
+	(alpha_frame_chain): Update.
+	(alpha_pop_frame): Update.
+	* hppa-tdep.c (hppa_saved_pc_after_call): Update.
+	(hppa_init_extra_frame_info): Update.
+	(hppa_frame_chain): Update.
+	(hppa_frame_chain_valid): Update.
+	* cris-tdep.c (cris_init_extra_frame_info): Update.
+	* avr-tdep.c (avr_init_extra_frame_info): Update.
+	* arm-tdep.c (arm_frame_chain_valid): Update.
+	(arm_init_extra_frame_info): Update.
+	(arm_pop_frame): Update.
+	* frame.c (frame_pc_unwind): Update.
+	* config/sparc/tm-sparc.h (DEPRECATED_FRAME_SAVED_PC): Update.
+	(DEPRECATED_INIT_FRAME_PC_FIRST): Update.
+	* config/rs6000/tm-rs6000.h (DEPRECATED_INIT_FRAME_PC_FIRST): Update.
+	* config/pa/tm-hppa.h (DEPRECATED_FRAME_SAVED_PC): Update.
+	* config/m68k/tm-delta68.h (DEPRECATED_FRAME_SAVED_PC): Update.
+	* config/m68k/tm-linux.h (DEPRECATED_FRAME_SAVED_PC): Update.
+
+2003-03-10  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (gdbarch_unwind_pc): New method.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* frame.c (frame_pc_unwind): Rewrite.  Prefer gdbarch_unwind_pc,
+	but use read_pc and FRAME_SAVED_PC as fall backs.
+	(frame_saved_regs_pc_unwind): Delete function.
+	(trad_frame_unwinder): Update.
+	* frame-unwind.h (frame_unwind_pc_ftype): Delete declaration.
+	(struct frame_unwind): Update.
+	* dummy-frame.c (dummy_frame_pc_unwind): Delete function.
+	(dummy_frame_unwind): Update.
+	* sentinel-frame.c (sentinel_frame_pc_unwind): Delete function.
+	(sentinel_frame_unwinder): Update.
+	* d10v-tdep.c (d10v_frame_pc_unwind): Delete function.
+	(d10v_frame_unwind): Update.
+	(d10v_unwind_pc): New function.
+	(d10v_gdbarch_init): Set unwind_pc.
+
+2003-03-10  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.h: Re-generate.
+
+	* d10v-tdep.c (d10v_frame_register_unwind): Correctly unwind the
+	PC.
+	(d10v_frame_pop): Unwind the PC, and not the LR, when restoring
+	the PC register.
+
+2003-03-08  Mark Kettenis  <kettenis@gnu.org>
+
+	* gdbarch.sh (save_dummy_frame_tos): Add comment.
+
+2003-03-08  Andrew Cagney  <cagney@redhat.com>
+
+	* cli-out.c: Update copyright.
+	(cli_out_data): Define typedef.  Use instead of ui_out_data.
+
+2003-03-08  Andrew Cagney  <cagney@redhat.com>
+
+	* valarith.c (value_subscripted_rvalue): Copy the array's REGNO to
+	the result.
+
+2003-03-07  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh: Don't generate two macro definitions when an
+	undefined macro taking no arguments.
+	* gdbarch.h: Regenerate.
+
+2002-03-07  Michal Ludvig  <mludvig@suse.cz>
+
+	* x86-64-tdep.c (x86_64_save_dummy_frame_tos)
+	(x86_64_unwind_dummy_id): New functions.
+	(x86_64_init_abi): Register these two new functions.
+
+2003-03-07  Michal Ludvig  <mludvig@suse.cz>
+
+	* x86-64-tdep.c (x86_64_function_has_prologue): New function.
+	(x86_64_skip_prologue): Move prologue detection to
+	separate function.
+	* x86-64-tdep.h (x86_64_function_has_prologue): New prototype.
+
+2003-03-05  Andrew Cagney  <cagney@redhat.com>
+
+	* d10v-tdep.c (d10v_unwind_dummy_id): New function.
+	(d10v_gdbarch_init): Set unwind_dummy_id and save_dummy_frame_tos.
+	* frame.c (get_prev_frame): Restructure the frame ID unwind code
+	to use unwind_dummy_id when a dummy frame.
+	* gdbarch.sh (unwind_dummy_id): New multi-arch method with
+	predicate.
+	* gdbarch.h, gdbarch.c: Regneerate.
+
+2003-03-05  Andrew Cagney  <cagney@redhat.com>
+
+	* d10v-tdep.c (struct d10v_unwind_cache): Add field "base".
+	(d10v_frame_unwind_cache): Rewrite code computing the base and SP.
+	Do not use d10v_read_sp or d10v_read_fp when obtaining register
+	values.
+
+2003-03-05  Andrew Cagney  <cagney@redhat.com>
+
+	* d10v-tdep.c (struct frame_extra_info): Delete unused structure.
+	(struct d10v_unwind_cache): Delete field "frameless".  Replace
+	"next_addr" with "sp_offset".  Add "r11_offset".
+	(d10v_frame_unwind_cache): Update.
+	(prologue_find_regs): Update.  When "mv r11, sp", save the
+	"sp_offset" in "r11_offset".  Recognize "st rn, @r11", note that
+	RN was saved in r11_offset.
+
+2003-03-05  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (deprecated_update_frame_pc_hack): Also update the the
+	cached PC value in the next frame.
+
+2003-03-05  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.h (struct frame_info): Replace "id_unwind_cache_p" and
+	"id_unwind_cache" with "id".
+	(frame_id_unwind): Delete declaration.
+	* frame.c (frame_id_unwind): Delete function.
+	(get_prev_frame): Call the frame id unwind method directly.  Store
+	the returned next frame's ID value in NEXT_FRAME.  Note that there
+	is a problem with the wrong unwind ID being called with the wrong
+	unwind cache.
+
+2003-03-05  Daniel Jacobowitz  <drow@mvista.com>
+
+	* Makefile.in (FLAGS_TO_PASS): Add LDFLAGS.
+
+2003-03-05  James Ingham <jingham@apple.com>
+	    Daniel Jacobowitz  <drow@mvista.com>
+
+	* cp-abi.c: Include "command.h", "gdbcmd.h", and "ui-out.h".
+	(auto_cp_abi): New variable.
+	(current_cp_abi, num_cp_abis): Make static.
+	(CP_ABI_MAX): Define.
+	(cp_abis): Turn into an array.
+	(value_virtual_fn_field): Fix formatting.
+	(switch_to_cp_abi, register_cp_abi): Update.  register_cp_abi now
+	takes a pointer.
+	(set_cp_abi_as_auto_default, set_cp_abi_cmd, show_cp_abi_cmd)
+	(list_cp_abis, _initialize_cp_abi): New functions.
+	* cp-abi.h: Add prototype for set_cp_abi_as_auto_default.  Remove
+	declarations for cp_abis, num_cp_abis, current_cp_abi, and
+	switch_to_cp_abi.  Update prototype for register_cp_abi.
+	* Makefile.in (cp-abi.o): Update dependencies.
+	* minsyms.c (install_minimal_symbols): Call set_cp_abi_as_auto_default
+	instead of switch_to_cp_abi.
+	* gnu-v2-abi.c (_initialize_gnu_v2_abi): Likewise.  Update call to
+	register_cp_abi.
+	* gnu-v3-abi.c (_initialize_gnu_v3_abi): Update call to
+	register_cp_abi.
+	* hpacc-abi.c (_initialize_hpacc_abi): Likewise.
+
+2003-03-05  Daniel Jacobowitz  <drow@mvista.com>
+
+	* dwarf2expr.c (new_dwarf_expr_context): Add (void) to definition.
+	* dwarf2loc.c: Include "regcache.h".
+	(dwarf_expr_read_reg): Rename regnum argument to dwarf_regnum.  Use
+	register_size.
+	* Makefile.in (dwarf2loc.o): Update dependencies.
+
+2003-03-04  Theodore A. Roth  <troth@openavr.org>
+
+	* avr-tdep.c (avr_io_reg_read_command): Fix to handle case when the
+	number of io registers reported by remote target is not a multiple of
+	step.
+
+2003-03-04  David Carlton  <carlton@math.stanford.edu>
+
+	* symtab.c (lookup_partial_symbol): Add linkage_name argument.
+	(lookup_symbol_aux_psymtabs): Update call to
+	lookup_partial_symbol.
+	(lookup_transparent_type, find_main_psymtab)
+	(make_symbol_overload_list): Ditto.
+
+2003-03-04  Kazu Hirata  <kazu@cs.umass.edu>
+
+	* MAINTAINERS (Write after approval): Update my email address.
+
+2003-03-03  Andrew Cagney  <cagney@redhat.com>
+
+	Make MAX_REGISTER_RAW_SIZE and MAX_REGISTER_VIRTUAL_SIZE optional.
+	* gdbarch.sh (DEPRECATED_MAX_REGISTER_RAW_SIZE): Variable with
+	predicate.  Replace MAX_REGISTER_RAW_SIZE.
+	(DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE): Ditto for
+	MAX_REGISTER_VIRTUAL_SIZE.
+	* regcache.c (legacy_max_register_raw_size): New function.
+	(legacy_max_register_virtual_size): New function.
+	* defs.h (MAX_REGISTER_VIRTUAL_SIZE): Define.
+	(MAX_REGISTER_RAW_SIZE): Define.
+	(legacy_max_register_raw_size): Declare.
+	(legacy_max_register_virtual_size): Declare.
+	* config/sparc/tm-sparc.h (DEPRECATED_MAX_REGISTER_RAW_SIZE)
+	(DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE): Update.
+	* config/sparc/tm-sp64.h (DEPRECATED_MAX_REGISTER_RAW_SIZE)
+	(DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE): Ditto.
+	* config/pa/tm-hppa.h (DEPRECATED_MAX_REGISTER_RAW_SIZE)
+	(DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE): Ditto.
+	* config/pa/tm-hppa64.h (DEPRECATED_MAX_REGISTER_RAW_SIZE): Ditto.
+	* config/ia64/tm-ia64.h (DEPRECATED_MAX_REGISTER_RAW_SIZE): Ditto.
+	* config/i386/tm-ptx.h (DEPRECATED_MAX_REGISTER_RAW_SIZE): Ditto.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+	* vax-tdep.c (vax_gdbarch_init): Update.
+	* v850-tdep.c (v850_gdbarch_init): Update.
+	* sparc-tdep.c (sparc_gdbarch_init): Update.
+	* sh-tdep.c (sh_gdbarch_init): Update.
+	* s390-tdep.c (s390_gdbarch_init): Update.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Update.
+	* ns32k-tdep.c (ns32k_gdbarch_init): Update.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Update.
+	* mips-tdep.c (mips_gdbarch_init): Update.
+	* mcore-tdep.c (mcore_gdbarch_init): Update.
+	* m68k-tdep.c (m68k_gdbarch_init): Update.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+	* ia64-tdep.c (ia64_gdbarch_init): Update.
+	* i386-tdep.c (i386_gdbarch_init): Update.
+	* hppa-tdep.c (hppa_gdbarch_init): Update.
+	* h8300-tdep.c (h8300_gdbarch_init): Update.
+	* frv-tdep.c (frv_gdbarch_init): Update.
+	* cris-tdep.c (cris_gdbarch_init): Update.
+	* avr-tdep.c (avr_gdbarch_init): Update.
+	* arm-tdep.c (arm_gdbarch_init): Update.
+	* alpha-tdep.c (alpha_gdbarch_init): Update.
+	* d10v-tdep.c (d10v_gdbarch_init): Do not set
+	max_register_raw_size or max_register_virtual_size.
+
+2003-03-03  David Carlton  <carlton@math.stanford.edu>
+
+	* symtab.h (DEPRECATED_SYMBOL_MATCHES_NAME): Rename from
+	SYMBOL_MATCHES_NAME, add comment.
+	(SYMBOL_MATCHES_NATURAL_NAME): New.
+	* minsyms.c (lookup_minimal_symbol_solib_trampoline): Replace
+	SYMBOL_MATCHES_NAME with DEPRECATED_SYMBOL_MATCHES_NAME.
+	(lookup_minimal_symbol, lookup_minimal_symbol_text): Ditto.
+	* symtab.c (lookup_partial_symbol): Use
+	SYMBOL_MATCHES_NATURAL_NAME, not SYMBOL_MATCHES_NAME.  Delete
+	unhelpful comment.
+	(lookup_block_symbol): Use SYMBOL_MATCHES_NATURAL_NAME, not
+	SYMBOL_MATCHES_NAME.
+	Fix for PR c++/33.
+
+2003-03-03  David Carlton  <carlton@math.stanford.edu>
+
+	* symtab.h (SYMBOL_MATCHES_REGEXP): Delete.
+	* symtab.c (search_symbols): Replace uses of SYMBOL_MATCHES_REGEXP
+	by regexp matching against SYMBOL_NATURAL_NAME.
+
+2003-03-03  David Carlton  <carlton@math.stanford.edu>
+
+	* linespec.c (find_method): Extract code into collect_methods.
+	(collect_methods): New.
+
+2003-03-02  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386bsd-tdep.c (i386bsd_sigcontext_addr): Use get_next_frame and
+	get_frame_base.
+
+	* i386-tdep.c (i386_pe_skip_trampoline_code): Replace usage of
+	DEPRECATED_SYMBOL_NAME with SYMBOL_LINKAGE_NAME.
+
+2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* arch-utils.c (generic_register_byte): Fix to use the loop index
+	and not regnum when summing the size of all registers up to regnum.
+
+2003-03-01  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_FRAME_INIT_SAVED_REGS): Rename
+	FRAME_INIT_SAVED_REGS.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* stack.c (frame_info): Update.
+	* sh-tdep.c (sh_find_callers_reg, sh64_get_saved_pr): Update.
+	(sh_init_extra_frame_info, sh64_init_extra_frame_info): Update.
+	(sh64_get_saved_register, sh_pop_frame, sh64_pop_frame): Update.
+	* ns32k-tdep.c (ns32k_pop_frame): Update.
+	* mips-tdep.c (mips_pop_frame): Update.
+	* m68hc11-tdep.c (m68hc11_pop_frame): Update.
+	* ia64-tdep.c (ia64_frame_chain): Update.
+	(ia64_frame_saved_pc, ia64_get_saved_register): Update.
+	(ia64_frameless_function_invocation): Update.
+	(ia64_init_extra_frame_info): Update.
+	(ia64_pop_frame_regular): Update.
+	* frame.h (struct frame_info): Update comment.
+	(DEPRECATED_FRAME_INIT_SAVED_REGS): Rename macro.
+	* frame.c (frame_saved_regs_register_unwind): Update.
+	(frame_saved_regs_register_unwind): Update.
+	(deprecated_generic_get_saved_register): Update.
+	* cris-tdep.c: Update comment.
+	* config/sparc/tm-sparc.h (DEPRECATED_FRAME_INIT_SAVED_REGS):
+	Rename macro.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+	* x86-64-tdep.c (x86_64_init_abi): Update.
+	* vax-tdep.c (vax_gdbarch_init): Update.
+	* v850-tdep.c (v850_gdbarch_init): Update.
+	* sparc-tdep.c (sparc_gdbarch_init): Update.
+	* sh-tdep.c (sh_gdbarch_init): Update.
+	* s390-tdep.c (s390_gdbarch_init): Update.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Update.
+	* ppc-linux-tdep.c (ppc_linux_init_abi): Update.
+	* ns32k-tdep.c (ns32k_gdbarch_init): Update.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Update.
+	* mips-tdep.c (mips_gdbarch_init): Update.
+	* mcore-tdep.c (mcore_gdbarch_init): Update.
+	* m68k-tdep.c (m68k_gdbarch_init): Update.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+	* ia64-tdep.c (ia64_gdbarch_init): Update.
+	* i386-tdep.c (i386_gdbarch_init): Update.
+	* frv-tdep.c (frv_gdbarch_init): Update.
+	* avr-tdep.c (avr_gdbarch_init): Update.
+	* arm-tdep.c (arm_gdbarch_init): Update.
+	* alpha-tdep.c (alpha_gdbarch_init): Update.
+
+2003-03-01  Andrew Cagney  <cagney@redhat.com>
+
+	* main.c (captured_main): Add OPT_WINDOWS and OPT_NOWINDOWS to
+	option enum and switch.  When no windows, set the interpreter to
+	INTERP_CONSOLE.
+
+2003-03-01  Andrew Cagney  <cagney@redhat.com>
+
+	* main.c (captured_main): Replace magic option characters with an
+	enum.
+
+2003-03-01  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_INIT_EXTRA_FRAME_INFO): Rename
+	INIT_EXTRA_FRAME_INFO.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* arm-tdep.c: Update comments.
+	* sh-tdep.c, mcore-tdep.c, m68hc11-tdep.c: Ditto.
+	* i386-interix-tdep.c, hppa-tdep.c, h8300-tdep.c: Ditto.
+	* frame.h, avr-tdep.c: Ditto.
+	* frame.c (get_prev_frame): DEPRECATED_INIT_EXTRA_FRAME_INFO.
+	(create_new_frame, legacy_get_prev_frame): Ditto.
+	* config/sparc/tm-sparc.h (DEPRECATED_INIT_EXTRA_FRAME_INFO): Rename.
+	* config/pa/tm-hppa.h (DEPRECATED_INIT_EXTRA_FRAME_INFO): Rename.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Initialize
+	deprecated_init_extra_frame_info instead of init_extra_frame_info.
+	* x86-64-tdep.c (x86_64_init_abi): Ditto.
+	* v850-tdep.c (v850_gdbarch_init): Ditto.
+	* sparc-tdep.c (sparc_gdbarch_init): Ditto.
+	* sh-tdep.c (sh_gdbarch_init): Ditto.
+	* s390-tdep.c (s390_gdbarch_init): Ditto.
+	* ppc-linux-tdep.c (ppc_linux_init_abi): Ditto.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+	* mips-tdep.c (mips_gdbarch_init): Ditto.
+	* mcore-tdep.c (mcore_gdbarch_init): Ditto.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+	* ia64-tdep.c (ia64_gdbarch_init): Ditto.
+	* i386-interix-tdep.c (i386_interix_init_abi): Ditto.
+	* hppa-tdep.c (hppa_gdbarch_init): Ditto.
+	* h8300-tdep.c (h8300_gdbarch_init): Ditto.
+	* frv-tdep.c (frv_gdbarch_init): Ditto.
+	* cris-tdep.c (cris_gdbarch_init): Ditto.
+	* avr-tdep.c (avr_gdbarch_init): Ditto.
+	* arm-tdep.c (arm_gdbarch_init): Ditto.
+	* alpha-tdep.c (alpha_gdbarch_init): Ditto.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+
+2003-03-01  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (register_type): New function with predicate.
+	(REGISTER_VIRTUAL_TYPE): Change to function with predicate.
+	* gdbarch.h, gdbarch.c: Re-generate.
+	* arch-utils.c (generic_register_byte): Use generic_register_size.
+	(generic_register_size): When available, use
+	gdbarch_register_type.
+	* regcache.c (init_regcache_descr): When available, initialize the
+	register type array using gdbarch_register_type.  If the
+	architecture supplies gdbarch_register_type, do not use the legacy
+	regcache layout.
+	* d10v-tdep.c (d10v_register_type): Replace
+	d10v_register_virtual_type.
+	(d10v_gdbarch_init): Set register_type instead of
+	register_virtual_type.
+
+2003-03-01  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.in (ax-gdb.o): Update dependencies.
+	* ax-gdb.c: Include "regcache.h".
+	(gen_expr): Use register_type instead of REGISTER_VIRTUAL_TYPE.
+	* findvar.c (value_of_register): Ditto.
+	* infcmd.c (default_print_registers_info): Ditto.
+
+2003-03-01  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-linux-tdep.c (find_minsym_and_objfile): Replace usage of
+	DEPRECATED_SYMBOL_NAME with SYMBOL_LINKAGE_NAME.
+
+2003-03-01  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-linux-tdep.c (find_minsym_and_objfile): Use strcmp instead
+	of STREQ.
+
+2003-02-28  Daniel Jacobowitz  <drow@mvista.com>
+
+	* Makefile.in (dwarf2loc.o): Update dependencies.
+	* ax-gdb.c (gen_var_ref): Handle LOC_COMPUTED and LOC_COMPUTED_ARG.
+	* dwarf2expr.c (read_uleb128, read_sleb128): Make non-static.
+	* dwarf2expr.h (read_uleb128, read_sleb128): Add prototypes.
+	* dwarf2loc.c: Include "ax.h" and "ax-gdb.h".
+	(locexpr_tracepoint_var_ref): New function.
+	(dwarf2_locexpr_funcs): Add locexpr_tracepoint_var_ref.
+
+2003-02-28  Andrew Cagney  <cagney@redhat.com>
+
+	* regcache.c (register_size): New function.
+	* regcache.h (register_size): Declare
+	* d10v-tdep.c: Use register_size instead of REGISTER_RAW_SIZE, use
+	max_register_size instead of MAX_REGISTER_RAW_SIZE.
+
+2003-02-28  David Carlton  <carlton@math.stanford.edu>
+
+	* linespec.c (decode_compound): Extract code into find_method.
+	(find_method): New.
+
+2003-02-28  J. Brobecker  <brobecker@gnat.com>
+
+	* Makefile.in: Add rules to build and link in observer.o.
+
+2003-02-27  J. Brobecker  <brobecker@gnat.com>
+
+	* observer.c: Minor comments edits.
+
+2003-02-27  J. Brobecker  <brobecker@gnat.com>
+
+	* observer.h, observer.c: New file.
+
+2003-02-27  Andrew Cagney  <cagney@redhat.com>
+
+	* arm-tdep.c (gdb_print_insn_arm): Rename _bfd to just bfd.
+
+2003-02-27  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* m68hc11-tdep.c (M6811_OP_LDX_EXT, M6811_OP_STS_EXT): New defines.
+	(M6812_OP_STS_EXT): Likewise.
+	(m6811_prologue): Use the above to recognize prologue.
+	(m6812_prologue): Likewise.
+
+2003-02-27  David Carlton  <carlton@math.stanford.edu>
+
+	* symfile.c (compare_symbols): Use SYMBOL_NATURAL_NAME, not
+	SYMBOL_PRINT_NAME.
+	(compare_psymbols): Ditto.
+	* symtab.c (lookup_partial_symbol, lookup_block_symbol): Ditto.
+
+2003-02-27  Michael Snyder  <msnyder@redhat.com>
+
+	* f-lang.c (build_fortran_types): New function.
+	(_initialize_f_language): Gdbarch-register built-in fortran types.
+	* doublest.c (extract_floating): Fix warning text.
+
+2003-02-27  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbarch.sh (DEPRECATED_PUSH_DUMMY_FRAME): Procedure with
+	predicate.  Replaces PUSH_DUMMY_FRAME.
+	* gdbarch.h, gdbarch.c: Regnerate.
+	* valops.c (hand_function_call): Update.  Call
+	generic_push_dummy_frame directly.
+	* vax-tdep.c (vax_gdbarch_init): Update.
+	* sparc-tdep.c (sparc_gdbarch_init): Update.
+	* ns32k-tdep.c (ns32k_gdbarch_init): Update.
+	* m68k-tdep.c (m68k_gdbarch_init): Update.
+	* hppa-tdep.c (hppa_gdbarch_init): Update.
+	* alpha-tdep.c (alpha_gdbarch_init): Update.
+	* config/sparc/tm-sparc.h (DEPRECATED_PUSH_DUMMY_FRAME): Update.
+	* config/pa/tm-hppa.h (DEPRECATED_PUSH_DUMMY_FRAME): Update.
+	* inferior.h (PUSH_DUMMY_FRAME): Delete definition.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Don't set
+	push_dummy_frame to generic_push_dummy_frame.
+	* v850-tdep.c (v850_gdbarch_init): Ditto.
+	* sh-tdep.c (sh_gdbarch_init): Ditto.
+	* s390-tdep.c (s390_gdbarch_init): Ditto.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
+	* mips-tdep.c (mips_gdbarch_init): Ditto.
+	* mcore-tdep.c (mcore_gdbarch_init): Ditto.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
+	* ia64-tdep.c (ia64_gdbarch_init): Ditto.
+	* i386-tdep.c (i386_gdbarch_init): Ditto.
+	* h8300-tdep.c (h8300_gdbarch_init): Ditto.
+	* frv-tdep.c (frv_gdbarch_init): Ditto.
+	* d10v-tdep.c (d10v_gdbarch_init): Ditto.
+	* cris-tdep.c (cris_gdbarch_init): Ditto.
+	* avr-tdep.c (avr_gdbarch_init): Ditto.
+	* arm-tdep.c (arm_gdbarch_init): Ditto.
+
+2003-02-26  Kevin Buettner  <kevinb@redhat.com>
+
+	* mips-tdep.c (show_mips_abi): New function.
+	(_initialize_mips_tdep): Use show_mips_abi() to implement the
+	command ``show mips abi''.
+
+2003-02-26  Jeff Johnston  <jjohnstn@redhat.com>
+
+	From Elena Zannoni  <ezannoni@redhat.com>
+	* dbxread.c (process_one_symbol): Only record line 0 if one or
+	more sline entries have been seen for the function.
+
+2003-02-26  Michael Chastain  <mec@shout.net>
+
+	* configure: Regenerate with autoconf 000227.
+
+2003-02-26  Michael Chastain  <mec@shout.net>
+
+	Close PR build/660.
+	* PROBLEMS (i[3456]86-*-linux*): Note explicit error message
+	for old libc5/glibc.
+	* gdb_thread_db.h: Die if not HAVE_UINTPTR_T.
+
+2003-02-26  Kris Warkentin  <kewarken@qnx.com>
+
+	* defs.h (gdb_osabi): Add GDB_OSABI_QNXNTO.
+	* osabi.c (gdb_osabi_names): Add "QNX Neutrino".
+
+2003-02-26  Michael Chastain  <mec@shout.net>
+
+	* configure.in: New variable HAVE_UINTPTR_T.
+	* configure, config.in: Regenerated.
+
+2003-02-26  Daniel Jacobowitz  <drow@mvista.com>
+
+	Fix PR build/1097.
+	* utils.c (gdb_realpath): Move closing brace outwards one #endif.
+
+2003-02-25  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (get_prev_frame): Add comment on check for
+	inside_entry_func. Only check for inside_entry_file when not a
+	dummy and not a sentinel.  Check that the new frame is not inner
+	to the old frame.
+
+2003-02-25  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (frame_debug): New variable.
+	(_initialize_frame): Add "set/show debug frame" command.
+	(get_prev_frame): When frame_debug, print reason why unwind
+	failed.
+
+2003-02-25  Michael Chastain  <mec@shout.net>
+
+	* PROBLEMS (i[3456]86-*-linux*): Require glibc 2.1.3 or later
+	to avoid uintptr_t definition problems.
+
+2003-02-25  David Carlton  <carlton@math.stanford.edu>
+
+	* symtab.h (SYMBOL_NATURAL_NAME): New macro.
+	(SYMBOL_LINKAGE_NAME): Ditto.
+	(SYMBOL_PRINT_NAME): Use SYMBOL_NATURAL_NAME and
+	SYMBOL_LINKAGE_NAME.
+	(struct general_symbol_info): Expand comment.
+	(DEPRECATED_SYMBOL_NAME): Rename from SYMBOL_NAME.
+	(SYMBOL_MATCHES_NAME): Use DEPRECATED_SYMBOL_NAME.
+	(SYMBOL_MATCHES_REGEXP): Ditto.
+	* symtab.c (symbol_natural_name): New function.
+	* objfiles.h: Replace all uses of SYMBOL_NAME by
+	DEPRECATED_SYMBOL_NAME.
+	* xcoffread.c, valops.c, typeprint.c, tracepoint.c: Ditto.
+	* symtab.c, symmisc.c, symfile.c, stack.c, stabsread.c: Ditto.
+	* somsolib.c, sol-thread.c, rs6000-tdep.c, p-valprint.c: Ditto.
+	* printcmd.c, objfiles.c, objc-lang.c, mipsread.c: Ditto.
+	* minsyms.c, mdebugread.c, linespec.c, jv-lang.c: Ditto.
+	* i386-tdep.c, i386-linux-tdep.c, hpread.c, hppa-tdep.c: Ditto.
+	* gnu-v2-abi.c, f-valprint.c, findvar.c, expprint.c: Ditto.
+	* dwarfread.c, dwarf2read.c, dbxread.c, c-valprint.c: Ditto.
+	* cp-valprint.c, coffread.c, buildsym.c, breakpoint.c: Ditto.
+	* blockframe.c, ax-gdb.c, arm-linux-tdep.c, ada-lang.c: Ditto.
+	* ada-exp.y: Ditto.
+	* ada-exp.y: Update copyright.
+	* sol-thread.c, mipsread.c, jv-lang.c, f-valprint.c: Ditto.
+	* cp-valprint.c: Ditto.
+
+2003-02-25  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* infptrace.c (detach): Do not flag error if ptrace detach fails
+	and errno is set to ESRCH.
+
+2003-02-24  Andrew Cagney  <cagney@redhat.com>
+
+	* infptrace.c (udot_info): Change type of udot_off to long.  Use
+	paddr when printing udot_off's value.
+
+2003-02-24  David Carlton  <carlton@math.stanford.edu>
+
+	* symtab.c (make_symbol_overload_list): Only read in partial
+	symtabs containing a matching partial symbol.
+
+2003-02-24  David Carlton  <carlton@math.stanford.edu>
+
+	* symtab.c (lookup_partial_symbol): Use strcmp_iw_ordered to
+	do the comparison, not strcmp.
+	* symfile.c (compare_psymbols): Ditto.
+	* defs.h: Declare strcmp_iw_ordered.
+	* utils.c (strcmp_iw_ordered): New function.
+
+2003-02-24  Jim Blandy  <jimb@redhat.com>
+
+	* MAINTAINERS (GNU/Linux/x86, linespec, breakpoints, Scheme
+	support, shared libs): Remove my name from here, to better reflect
+	reality.
+
+2003-02-24  Kris Warkentin  <kewarken@qnx.com>
+
+	* target.h: (HAVE_CONTINUABLE_WATCHPOINT): Define.
+	(target_ops): Add to_have_continuable_watchpoint.
+	* target.c (update_current_target): Add INHERIT line for
+	to_have_continuable_watchpoint.
+	* infrun.c: Remove HAVE_CONTINUABLE_WATCHPOINT defines.
+	* config/i386/nm-i386.h, config/i386/nm-i386sco5.h,
+	config/i386/nm-i386sol2.h, config/s390/nm-linux.h,
+	config/sparc/nm-sun4sol2.h: HAVE_CONTINUABLE_WATCHPOINT defined as 1.
+
+2003-02-24  Elena Zannoni  <ezannoni@redhat.com>
+
+	* MAINTAINERS (Core): Drop main.c and top.c. Clarify event loop
+	maintainership.
+
+2003-02-24  Kris Warkentin  <kewarken@qnx.com>
+
+	* solib.c (solib_open): Call target defined search function after
+	failing with solib-search-path.
+	* solist.h (target_so_ops): Add find_and_open_solib function hook and
+	create define TARGET_SO_FIND_AND_OPEN_SOLIB.
+
+2003-02-24  Kris Warkentin  <kewarken@qnx.com>
+
+	* MAINTAINERS: Add myself to Write After section.
+
+2003-02-23  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): long double is 64-bit wide.
+
+2003-02-22  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* m68hc11-tdep.c (m68hc11_init_reggroups): New function.
+	(m68hc11_add_reggroups): New function.
+	(m68hc11_register_reggroup_p): New to register hard/soft reggroups.
+	(m68hc11_gdbarch_init): Install the reggroups.
+	(_initialize_m68hc11_tdep): Initialize them.
+
+2003-02-21  James E Wilson  <wilson@tuliptree.org>
+
+	* MAINTAINERS: Update my email address.
+
+2003-02-21  David Carlton  <carlton@math.stanford.edu>
+
+	* arm-tdep.c (arm_gdbarch_init): Add break after default label.
+
+2003-02-21  Daniel Jacobowitz  <drow@mvista.com>
+
+	Based on a patch from Daniel Berlin (dberlin@dberlin.org).
+	* symtab.h: Add opaque declarations of struct axs_value and
+	struct agent_expr.
+	(enum address_class): Add LOC_COMPUTED and LOC_COMPUTED_ARG.
+	(struct location_funcs): New type.
+	(struct symbol): Add "loc" to aux_value.
+	(SYMBOL_LOCATION_BATON, SYMBOL_LOCATION_FUNCS): New macros.
+	* dwarf2read.c: Include "dwarf2expr.h".
+	(dwarf2_symbol_mark_computed): New function.
+	(read_func_scope): Use it.
+	(var_decode_location): New function.
+	(new_symbol): Use it.
+	* dwarf2expr.c, dwarf2expr.h, dwarf2loc.c, dwarf2loc.h: New files.
+
+	* Makefile.in (SFILES): Add dwarf2loc.c and dwarf2expr.c.
+	(dwarf2expr_h, dwarf2loc_h): New variables.
+	(COMMON_OBS): Add dwarf2expr.o and dwarf2loc.o.
+	(dwarf2expr.o, dwarf2loc.o): New rules.
+	(dwarf2read.o): Add $(dwarf2expr_h) and $(dwarf2loc_h).
+	* buildsym.c (finish_block): Handle LOC_COMPUTED and
+	LOC_COMPUTED_ARG.
+	* findvar.c (symbol_read_needs_frame, read_var_value): Likewise.
+	* m2-exp.y (yylex): Likewise.
+	* printcmd.c (address_info, print_frame_args): Likewise.
+	* stack.c (print_block_frame_locals, print_frame_arg_vars): Likewise.
+	* symmisc.c (print_symbol, print_partial_symbols): Likewise.
+	* ada-lang.c (ada_resolve_subexp, symtab_for_sym)
+	(ada_add_block_symbols, fill_in_ada_prototype): Likewise.
+	* symtab.c (lookup_block_symbol): Likewise.
+
+2003-02-20  Adam Fedor  <fedor@gnu.org>
+
+	* symtab.h: Remove objc_specific struct
+	(SYMBOL_OBJC_DEMANGLED_NAME): Remove.
+	* symtab.c (symbol_init_language_specific, symbol_demangled_name):
+	Have language_objc use cplus_specific struct.
+
+2003-02-20  Tom Tromey  <tromey@redhat.com>
+
+	* jv-valprint.c (java_value_print): Look at TYPE_TAG_NAME, not
+	TYPE_NAME, when printing a String value.  PR java/1075.
+
+2003-02-20  Adam Fedor  <fedor@gnu.org>
+
+	* objc-lang.h (find_methods): Remove declaration.
+	* objc-lang.c (find_methods): Make static.
+
+2003-02-20  Christopher Faylor  <cgf@redhat.com>
+
+	* win32-nat.c (get_image_name): Check return value from
+	ReadProcessMemory.
+	(child_xfer_memory): Ditto.
+
+2003-02-20  Alexandre Oliva  <aoliva@redhat.com>
+
+	* configure.in (TARGET_SYSTEM_ROOT): Set default to
+	${exec_prefix}/${target_alias}/sys-root.  Match explicit
+	'${exec_prefix}' (in addition to the expansion thereof) as
+	relocatable.
+	* configure: Rebuilt.
+
+2003-02-20  David Carlton  <carlton@math.stanford.edu>
+
+	* symtab.c (search_symbols): Revert the search_symbols part of my
+	2002-12-23 patch.  Add comment.
+
+2002-02-20  Daniel Jacobowitz  <drow@mvista.com>
+
+	* coffread.c (coff_symfile_read): Clean up minimal symbols earlier.
+	* dbxread.c (elfstab_build_psymtabs): Don't call
+	install_minimal_symbols.
+	(stabsect_build_psymtabs): Likewise.
+	* elfread.c (elf_symfile_read): Call install_minimal_symbols
+	earlier.
+	* somread.c (som_symfile_read): Call install_minimal_symbols
+	and do_cleanups earlier.
+	* nlmread.c (nlm_symfile_read): Likewise.
+	* mdebugread.c (elfmdebug_build_psymtabs): Call
+	install_minimal_symbols and make appropriate cleanups.
+
+2003-02-20  Kevin Buettner  <kevinb@redhat.com>
+
+	* solib.c (reload_shared_libraries): New function.
+	(_initialize_solib): Add callbacks for ``set solib-search-path''
+	and ``set solib-absolute-prefix''.
+
+2003-02-20  David Carlton  <carlton@math.stanford.edu>
+
+	* symtab.h (SYMBOL_PRINT_NAME): Rename from SYMBOL_SOURCE_NAME;
+	expand comment.
+	* ada-lang.c (user_select_syms, ada_finish_decode_line_1): Replace
+	SYMBOL_PRINT_NAME with SYMBOL_SOURCE_NAME.
+	* ada-typeprint.c (ada_typedef_print): Ditto.
+	* ax-gdb.c (gen_var_ref): Ditto.
+	* breakpoint.c (print_one_breakpoint): Ditto.
+	* buildsym.c (finish_block): Ditto.
+	* c-valprint.c (c_val_print): Ditto.
+	* expprint.c (print_subexp): Ditto.
+	* findvar.c (locate_var_value): Ditto.
+	* infcmd.c (jump_command): Ditto.
+	* linespec.c (decode_line_2, decode_compound): Ditto.
+	* maint.c (maintenance_translate_address): Ditto.
+	* objc-lang.c (compare_selectors, compare_classes): Ditto.
+	* printcmd.c (build_address_symbolic, sym_info, print_frame_args):
+	Ditto.
+	* p-valprint.c (pascal_val_print): Ditto.
+	* stabsread.c (define_symbol): Ditto.
+	* stack.c (print_frame, frame_info, print_block_frame_locals)
+	(print_frame_arg_vars, return_command): Ditto.
+	* symfile.c (compare_symbols, compare_psymbols): Ditto.
+	* symmisc.c (print_symbol): Ditto.
+	* symtab.c (lookup_partial_symbol, lookup_block_symbol)
+	(compare_search_syms, print_symbol_info, print_msymbol_info)
+	(rbreak_command): Ditto.
+	* tracepoint.c (tracepoints_info): Ditto.
+	* typeprint.c (typedef_print): Ditto.
+	* valops.c (value_of_variable, hand_function_call): Ditto.
+	* cli/cli-cmds.c (edit_command, list_command): Ditto.
+	* ada-typeprint.c: Update Copyright.
+	* infcmd.c, objc-lang.c, p-valprint.c, symmisc.c: Ditto.
+	* tracepoint.c, cli/cli-cmds.c: Ditto.
+
+2003-02-20  Kevin Buettner  <kevinb@redhat.com>
+
+	* frame.c (generic_unwind_get_saved_register): Make non-static.
+	* frame.h (generic_unwind_get_saved_register): Declare.
+	* mips-tdep.c (read_next_frame_reg): Fetch register from
+	current regcache when frame is NULL.
+	(mips_init_extra_frame_info): Pass NULL explicitly for parameter
+	that must be NULL.
+	(mips_get_saved_register): Call generic_unwind_get_saved_register()
+	instead of frame_register_unwind().
+
+2003-02-20  Andrew Cagney  <ac131313@redhat.com>
+
+	* remote-sim.c (gdbsim_insert_breakpoint)
+	(gdbsim_remove_breakpoint): Delete #ifdef SIM_HAS_BREAKPOINTS
+	code.
+
+2003-02-20  Andrew Cagney  <ac131313@redhat.com>
+
+	* remote.c (_initialize_remote): Add commands "set/show remote
+	hardware-watchpoint-limit" and "set/show remote
+	hardware-breakpoint-limit".
+	(remote_hw_watchpoint_limit): Initialize to -1.
+	(remote_hw_breakpoint_limit): Ditto.
+	(remote_check_watch_resources): Treat a limit of -1 as unlimited.
+
+2003-02-19  Raoul Gough  <RaoulGough@yahoo.co.uk>
+
+	* coff-pe-read.c: New file - support reading of minimal symbols from a
+	portable executable using the export table.
+	* coff-pe-read.h: New file.
+	* coffread.c: Include coff-pe-read.h.
+	(coff_symtab_read): Call read_pe_exported_syms iff no recognized
+	debugging symbols found.
+	* Makefile.in (SFILES): Add coff-pe-read.o.
+	(coff_pe_read_h): Define.
+	(COMMON_OBS): Add coff-pe-read.o.
+	(coffread.o): Add coff_pe_read_h dependency.
+	(coff-pe-read.o): New target.
+
+2003-02-19  David Carlton  <carlton@math.stanford.edu>
+
+	* Makefile.in (SFILES): Add block.c.
+	(block_h): New.
+	(COMMON_OBS): Add block.o.
+	(block.o): New.
+	(x86-64-tdep.o): Add $(block_h).
+	(values.o, valops.o, tracepoint.o, symtab.o, symmisc.o, symfile.o)
+	(stack.o, printcmd.o, p-exp.tab.o, parse.o, objfiles.o)
+	(objc-exp.tab.o, objc-lang.o, nlmread.o, mips-tdep.o, mdebugread.o)
+	(m2-exp.tab.o, linespec.o, jv-lang.o, jv-exp.tab.o, infcmd.o)
+	(f-valprint.o, findvar.o, f-exp.tab.o, expprint.o, coffread.o)
+	(c-exp.tab.o, buildsym.o, breakpoint.o, blockframe.o, ax-gdb.o)
+	(alpha-tdep.o, ada-lang.o, ada-exp.tab.o, mi-cmd-stack.o): Ditto.
+	* value.h: Add opaque declaration for struct block.
+	* parser-defs.h, objc-lang.h, buildsym.h, breakpoint.h: Ditto.
+	* ada-lang.h: Ditto.
+	* x86-64-tdep.c: #include "block.h"
+	* values.c, valops.c, tracepoint.c, symtab.c, symmisc.c: Ditto.
+	* symfile.c, stack.c, printcmd.c, p-exp.y, parse.c: Ditto.
+	* objfiles.c, objc-exp.y, objc-lang.c, nlmread.c: Ditto.
+	* mips-tdep.c, mdebugread.c, m2-exp.y, linespec.c: Ditto.
+	* jv-lang.c, jv-exp.y, infcmd.c, f-valprint.c: Ditto.
+	* findvar.c, f-exp.y, expprint.c, coffread.c, c-exp.y: Ditto.
+	* buildsym.c, breakpoint.c, blockframe.c, ax-gdb.c: Ditto.
+	* alpha-tdep.c, ada-lang.c, ada-exp.y: Ditto.
+	* blockframe.c (blockvector_for_pc_sect): Move to "block.c".
+	(blockvector_for_pc, block_for_pc_sect, block_for_pc): Ditto.
+	* symtab.c (block_function): Ditto.
+	(contained_in): Ditto.
+	* frame.h: Move block_for_pc and block_for_pc_sect declarations to
+	block.h.  Add opaque declaration for struct block.
+	* symtab.h: Move block_function and contained_in declarations to
+	block.h.  Add opaque declarations for struct block, struct
+	blockvector.
+	(struct block): Move to block.h.
+	(struct blockvector): Ditto.
+	(BLOCK_START, BLOCK_END, BLOCK_FUNCTION, BLOCK_SUPERBLOCK)
+	(BLOCK_GCC_COMPILED, BLOCK_HASHTABLE, BLOCK_NSYMS, BLOCK_SYM)
+	(BLOCK_BUCKETS, BLOCK_BUCKET, BLOCK_HASHTABLE_SIZE)
+	(ALL_BLOCK_SYMBOLS, BLOCK_SHOULD_SORT, BLOCKVECTOR_NBLOCKS)
+	(BLOCKVECTOR_BLOCK, GLOBAL_BLOCK, STATIC_BLOCK, FIRST_LOCAL_BLOCK):
+	Ditto.
+	* block.c: New file.
+	* block.h: New file.
+
+2003-02-19  Theodore A. Roth  <troth@openavr.org>
+
+	* avr-tdep.c (avr_extract_return_value): Remove function.
+	(avr_store_return_value): Remove function.
+	(avr_extract_struct_value_address): Remove function.
+	(avr_gdbarch_init): Remove set_gdbarch_deprecated_*() calls.
+
+2003-02-19  Andrew Cagney  <ac131313@redhat.com>
+
+	* rs6000-tdep.c: Include "gdb_assert.h".
+	(registers_e500): Add "acc" and "spefscr".
+	(PPC_GPRS_PSEUDO_REGS): Remove trailing comma.
+	(rs6000_gdbarch_init): Update initialization of ppc_gp0_regnum,
+	ppc_gplast_regnum, sp_regnum and fp_regnum.  Check that gp0_regnum
+	really is "r0".
+	(registers_e500): Mark the "acc" as a 64 bit (from Jim Willson).
+
+2003-02-18  Keith Seitz  <keiths@redhat.com>
+
+	* Makefile.in: Add gdbtk-interps.c.
+
+2003-02-18  Kevin Buettner  <kevinb@redhat.com>
+
+	* sparc-tdep.c (sparc_frame_chain): Adjust return value.
+	* config/sparc/tm-sparc.h (init_frame_pc_noop): Declare.
+
+2003-02-18  Andrew Cagney  <cagney@redhat.com>
+
+	* symtab.h (struct objfile): Add opaque declaration.
+
+2003-02-18  Elena Zannoni  <ezannoni@redhat.com>
+
+	From Jim Ingham   <jingham@apple.com>:
+	* dbxread.c (process_one_symbol): Use last_function_start rather
+	than function_start_offset to find the real beginning of the
+	current function.  The latter is just the text section offset on
+	some systems, the former is always the real function start.
+
+2003-02-17  Andrew Cagney  <cagney@redhat.com>
+
+	* configure.in: Revert ${target} != ${host}.
+
+2003-02-17  Andrew Cagney  <ac131313@redhat.com>
+
+	* configure.in (Makefile): Use the test ${target} != ${host},
+	instead of the absence of the "nm.h" file, to determine of the
+	configuration non-native.
+	* configure: Regenerate.
+
+2003-02-14  Elena Zannoni  <ezannoni@redhat.com>
+
+	From Brian Ford  <ford@vss.fsi.com>
+
+	* cli/cli-decode.c (lookup_cmd_composition) [TUI]: Properly
+	conditionalize tui_active test.
+	(lookup_cmd_1): Ditto.
+
+2003-02-14  Mark Kettenis  <kettenis@gnu.org>
+
+	* configure.in: Add check for _etext.
+	* maint.c (maintenance_set_profile_cmd): Use etext if _etext isn't
+	available.
+	* config.in, configure: regenerated.
+
+2003-02-14  Daniel Jacobowitz  <drow@mvista.com>
+
+	* dwarf2read.c (dwarf2_get_pc_bounds): Offset addresses by base.
+
+2003-02-14  Andrew Cagney  <ac131313@redhat.com>
+
+	* main.c (tui_version): Delete variable.
+	(captured_main): When --tui, set interpreter_p to "tui" instead of
+	enabling tui_version.
+	* printcmd.c (display_command) [TUI]: Test tui_active instead of
+	tui_version.
+	* cli/cli-decode.c (lookup_cmd_composition): Ditto.
+	* cli/cli-cmds.c (disassemble_command): Ditto.
+	* defs.h (tui_version): Delete declaration.
+	* Makefile.in (SUBDIR_TUI_SRCS): Add "tui/tui-interp.c".
+	(tui-interp.o): Add rules.
+	(SUBDIR_TUI_OBS): Add "tui-interp.o".
+
+2003-02-14  Christopher Faylor  <cgf@redhat.com>
+
+	* win32-nat.c (register_loaded_dll): Correctly set address range for
+	just-loaded dll.
+
+2003-02-12  Jason Molenda  (jmolenda@apple.com)
+
+	* symmisc.c (print_objfile_statistics): Include information about
+	the number of psymtabs and symtabs in each object file.
+
+2003-02-13  Keith R Seitz  <keiths@redhat.com>
+
+	* main.h (struct captured_main_args): Add interpreter_p.
+	* main.c (captured_main): Initialize interpreter_p from context.
+	* gdb.c (main): Set interpreter_p argument.
+	* Makefile.in (gdb.o): Add dependency for interps.h.
+
+2003-02-12  Andrew Cagney  <ac131313@redhat.com>
+
+	* event-top.c (cli_command_loop): Delete declaration.
+	(_initialize_event_loop): Delete function setting event_loop_hook.
+	* event-top.h (cli_command_loop): Declare.  Update copyright.
+	(EVENT_TOP_H): Define.  Wrap header in #ifdef EVENT_TOP_H.
+	* interps.c (current_interp_command_loop): When event_loop_p, call
+	cli_command_loop.
+
+2003-02-12  Andrew Cagney  <ac131313@redhat.com>
+
+	* interps.h (interp_command_loop_ftype): Change return type to
+	void.
+
+2003-02-12  Michal Ludvig  <mludvig@suse.cz>
+
+	* x86-64-tdep.c (x86_64_extract_return_value)
+	(x86_64_store_return_value): Use regcache instead of regbuf.
+	(x86_64_gdbarch_init): Change related set_gdbarch_* functions.
+	* x86-64-linux-nat.c (fill_gregset): Use regcache.
+
+2003-02-11  Andrew Cagney  <ac131313@redhat.com>
+
+	* acinclude.m4 (no_tcl): SUBST TCL_CC_SEARCH_FLAGS.
+	* aclocal.m4: Regenerate.
+	* configure: Regenerate.
+
+	* Makefile.in (TCL): Use TCL_CC_SEARCH_FLAGS instead of
+	TCL_LD_SEARCH_FLAGS.
+
+2003-02-10  Michal Ludvig  <mludvig@suse.cz>
+
+	* dwarf2cfi.c: Reindented.
+
+2003-02-09  Andrew Cagney  <ac131313@redhat.com>
+
+	* interps.c (clear_interpreter_hooks): Convert function definition
+	to ISO C.
+
+2003-02-07  David Carlton  <carlton@math.stanford.edu>
+
+	* gdb_mbuild.sh: Delete extra shift after parsing '-f'.
+
+2003-02-07  Kevin Buettner  <kevinb@redhat.com>
+
+	* gdbtypes.h (struct main_type): Move ``length'' field from here...
+	(struct type): ...to here.
+	(TYPE_LENGTH): Adjust to reflect different location of ``length''
+	field.
+	* gdbtypes.c (make_qualified_type): Set length on newly created type.
+	(replace_type): Set length on all type variants for a given type.
+
+2003-02-07  Andrew Cagney  <ac131313@redhat.com>
+
+	* sol-thread.c, hpux-thread.c: Include "gdb_stat.h" instead of
+	<sys/stat.h>.
+	* Makefile.in (sol-thread.o, hpux-thread.o): Update dependencies.
+
+2003-02-06  Andrew Cagney  <ac131313@redhat.com>
+
+	* Makefile.in (symm-nat.o): Update dependencies.
+	(sparc-nat.o, procfs.o, proc-api.o, ppc-linux-nat.o): Ditto.
+	(lynx-nat.o, ia64-linux-nat.): Ditto.
+	* symm-nat.c, sparc-nat.c, procfs.c, proc-api.c: Include
+	"gdb_wait.h" instead of <wait.h> or <sys/wait.h>.
+	* ppc-linux-nat.c, lynx-nat.c, ia64-linux-nat.c: Ditto.
+
+	* Makefile.in (inflow_h): Define.
+	(procfs.o, inflow.o, procfs.o): Update dependencies.
+	* inftarg.c (child_stop): Delete extern declaration of
+	inferior_process_group.  Include "inflow.h".
+	* procfs.c (procfs_stop): Ditto.  Include "inflow.h".
+	* inflow.c (PROCESS_GROUP_TYPE): Move definitions from here ...
+	* inflow.h (PROCESS_GROUP_TYPE): ... to here.  New file.
+	(our_process_group, inferior_process_group): Extern declarations.
+
+	* procfs.c: Include "gdb_assert.h".
+
+	* linux-proc.c: Include "gdb_stat.h" instead of <sys/stat.h>.
+	* cp-valprint.c (cp_print_value_fields): Eliminate STREQN.
+	* jv-typeprint.c (java_type_print_base): Ditto.
+	* typeprint.c (typedef_print): Eliminate STREQ.
+	* cli/cli-script.c (define_command, define_command): Ditto.
+	* main.c (captured_main): Ditto.
+	* values.c (lookup_internalvar): Ditto.
+	* utils.c (safe_strerror, parse_escape): Eliminate assignment
+	within `if' conditional.
+	* linespec.c (decode_line_2): Ditto.
+	* cli/cli-dump.c (bfd_openr_with_cleanup): Ditto.
+	(bfd_openw_with_cleanup): Ditto.
+
+2003-02-07  Mark Kettenis  <kettenis@gnu.org>
+
+	* x86-64-tdep.c (x86_64_init_abi): Set extract_return_value to
+	legacy_extract_return_value and store_return_value to
+	legacy_return_value.
+
+2003-02-06  Raoul Gough  <RaoulGough@yahoo.co.uk>
+
+	* win32-nat.c (get_relocated_section_addrs): New function.  Find
+	section load addresses for symbol handling in relocated DLLs.
+	(solib_symbols_add): Open a bfd and call get_relocated_section_addrs.
+
+2003-02-05  Fred Fish  <fnf@intrinsity.com>
+
+	* remote-e7000.c (e7000_drain_command): Fix precedence problem with
+	'=' and '!='.
+	* rdi-share/ardi.c (wait_for_debug_message): Fix precedence problem
+	with '&' and '=='.
+	(angel_RDI_info): Ditto.
+	* infttrace.c (threads_continue_all_but_one): Fix precedence problem
+	with '&' and '!='.
+	(threads_continue_all_with_signals): Ditto.
+
+2003-02-05  Jim Ingham <jingham@apple.com>
+	    Keith Seitz  <keiths@redhat.com>
+	    Elena Zannoni  <ezannoni@redhat.com>
+	    Andrew Cagney  <ac131313@redhat.com>
+
+	* Makefile.in (SUBDIR_CLI_OBS): Add "cli-interp.o".
+	(SUBDIR_CLI_SRCS): Add "cli/cli-interp.c".
+	(SUBDIR_MI_OBS): Add "mi-interp.o".
+	(SUBDIR_MI_SRCS): Add "mi/mi-interp.c".
+	(SFILES): Add "interps.c".
+	(COMMON_OBS): Add "interps.o".
+	(interps_h, mi_main_h): Define.
+	(interps.o, cli-interp.o, mi-interp.o): Add dependencies.
+	(mi-main.o, main.o, event-top.o): Update dependencies.
+	* cli/cli-interp.c: New file.
+	* interps.h, interps.c: New files.
+	* top.c: (gdb_init): Don't install the default interpreter, handed
+	by captured_main.
+	* main.c: Include "interps.h".
+	(interpreter_p): Note that it should malloc'ed.
+	(captured_command_loop): Call current_interp_command_loop.
+	(captured_main): Initialize interpreter_p to INTERP_CONSOLE.  Use
+	xfree and xstrdup when updating interpreter_p.  Install the
+	default interpreter.  Add hack to stop mi1's copyright notice
+	being encoded.
+	* event-top.h (gdb_setup_readline): Declare.
+	(gdb_disable_readline): Declare.
+	* event-top.c: Include "interps.h".
+	(display_gdb_prompt): Call current_interp_display_prompt_p.
+	(gdb_setup_readline): Initialize gdb_stdout, gdb_stderr,
+	gdb_stdlog, and gdb_stdtarg.
+	(_initialize_event_loop): Don't call gdb_setup_readline.
+	* cli-out.c (cli_out_set_stream): New function.
+	* cli-out.h (cli_out_set_stream): Declare.
+
+2003-02-06  Mark Kettenis  <kettenis@gnu.org>
+
+	* configure.tgt (i[3456]86-*-sysv4.2*, i[3456]86-*-sysv4*,
+	i[3456]86-*-sysv5*, i[3456]86-*-sco3.2v5*): Remove.  These are all
+	handled fine by i[3456]86-*sco* and i[3456]86-sysv*.
+	* config/i386/i386sco5.mt, config/i386/i386v4.mt,
+	config/i386/i386v42mp.mt: Removed.
+
+2003-02-05  Mark Kettenis  <kettenis@gnu.org>
+
+	* configure.tgt (*-*-solaris*): Set gdb_osabi to
+	GDB_OSABI_SOLARIS.
+
+2003-02-05  Michael Chastain  <mec@shout.net>
+
+	* PROBLEMS (i[3456]86-*-linux*): Warn about binutils
+	2.12.1 and earlier versions.
+
+2003-02-05  Andrew Cagney  <ac131313@redhat.com>
+
+	Remove orphaned hosts, targets and files.
+	* config/i386/gdbserve.mt, config/m68k/nm-apollo68b.h: Delete.
+	* config/m68k/nm-hp300bsd.h, config/m68k/tm-apollo68b.h: Delete.
+	* config/m68k/tm-es1800.h, config/m68k/tm-hp300bsd.h: Delete.
+	* config/m68k/tm-mac.h, config/m68k/xm-apollo68b.h: Delete.
+	* config/pa/hpux1020.mt, config/pa/hpux11.mt: Delete.
+	* config/pa/hpux11w.mt, config/powerpc/gdbserve.mt: Delete.
+	* config/powerpc/ppcle-eabi.mt, config/powerpc/ppcle-sim.mt: Delete.
+	* config/powerpc/tm-ppc-sim.h, config/sparc/sp64sim.mt: Delete.
+	* config/sparc/tm-sp64sim.h: Delete.
+	* configure.host: Delete strongarm-*-*, xscale-*-*, and arm*-*-*
+	hosts.
+	* configure.tgt: Delete i[3456]86-*-sco3.2v4*, and
+	mips*-dec-mach3* targets.
+
+2003-02-04  Michael Chastain  <mec@shout.net>
+
+	* NEWS: Fix typo: sepcifying -> specifying.
+
+2003-02-04  Michael Chastain  <mec@shout.net>
+
+	* dwarfread.c: Add documentation on the state of dwarf-1,
+	looking towards obsoletion.
+
+2003-02-03  Michael Chastain  <mec@shout.net>
+
+	* config/djgpp/fnchange.lst: Add gdb/testsuite/gdb.c++/pr-1023.cc,
+	gdb/testsuite/gdb.c++/pr-1023.exp.
+
+2003-02-04  Andrew Cagney  <ac131313@redhat.com>
+
+	* values.c: Delete code conditional on IS_TRAPPED_INTERNALVAR.
+	* TODO: Delete reference to IS_TRAPPED_INTERNALVAR.
+
+	* utils.c (init_page_info): Delete reference to MPW in comments.
+	* main.c (captured_main): Delete #ifdef MPW.
+
+2003-02-04  Andrew Cagney  <ac131313@redhat.com>
+
+	* NEWS: Note that the m32r-*-elf* is obsolete.
+	* monitor.c (monitor_expect): Obsolete reference to m32r.
+	* configure.tgt: Mark m32r-*-elf* as obsolete.
+	* MAINTAINERS: Mark m32k as obsolete.
+	* m32r-rom.c: Obsolete file.
+	* config/m32r/m32r.mt: Obsolete file.
+	* config/m32r/tm-m32r.h: Obsolete file.
+	* m32r-stub.c: Obsolete file.
+	* m32r-tdep.c: Obsolete file.
+
+2003-02-04  Andrew Cagney  <ac131313@redhat.com>
+
+	* NEWS: Mention that the z8k-zilog-none is obsolete.
+	* MAINTAINERS: Mark z8k as obsolete.
+	* configure.tgt: Obsolete the z8k-*-coff* target.
+	* config/z8k/z8k.mt: Obsolete file.
+	* config/z8k/tm-z8k.h: Obsolete file.
+	* z8k-tdep.c: Obsolete file.
+
+2003-02-04  Andrew Cagney  <ac131313@redhat.com>
+
+	* NEWS: Mention that the mn10200-elf is obsolete.
+	* configure.tgt: Obsolete mn10200-*-* target.
+	* breakpoint.c (update_breakpoints_after_exec): Update comment to
+	mention that the mn10200 is obsolete.
+	* breakpoint.h: Ditto.
+	* MAINTAINERS: Mark the mn10200-elf as obsolete.
+	* config/mn10200/mn10200.mt: Obsolete file.
+	* config/mn10200/tm-mn10200.h: Obsolete file.
+	* mn10200-tdep.c: Obsolete file.
+
+2003-02-04  Andrew Cagney  <ac131313@redhat.com>
+
+	* MAINTAINERS: Mark h8500 as obsolete.
+	* configure.tgt (h8500-*-*): Mark h8500 code as obsolete.
+	* findvar.c (value_from_register): Ditto.
+	* h8500-tdep.c: Mark file as obsolete.
+	* config/h8500/h8500.mt: Ditto.
+	* config/h8500/tm-h8500.h: Ditto.
+	* NEWS: Mention that h8500 is obsolete.
+
+2003-02-04  David Carlton  <carlton@math.stanford.edu>
+
+	* objfiles.c (allocate_objfile): Always set name.  Add comment at
+	start of function.
+	* jv-lang.c (get_dynamics_objfile): Add comment.
+
+2003-02-04  David Carlton  <carlton@math.stanford.edu>
+
+	* symtab.h (SYMBOL_LINKAGE_NAME): Delete.
+	* printcmd.c (build_address_symbolic): Replace uses of
+	SYMBOL_LINKAGE_NAME by equivalent uses of SYMBOL_SOURCE_NAME,
+	SYMBOL_NAME, and asm_demangle.
+	Update copyright.
+
+2003-02-04  David Carlton  <carlton@math.stanford.edu>
+
+	* linespec.c (decode_compound): Extract code into
+	lookup_prefix_sym.
+	(lookup_prefix_sym): New function.
+
+2003-02-04  David Carlton  <carlton@math.stanford.edu>
+
+	* gdbtypes.h: Delete INTEGER_COERCION_BADNESS,
+	FLOAT_COERCION_BADNESS.
+	* gdbtypes.c (rank_one_type): Replace all uses of
+	INTEGER_COERCION_BADNESS by INTEGER_CONVERSION_BADNESS.
+
+2003-02-04  Jim Blandy  <jimb@redhat.com>
+
+	* dwarf2read.c (dwarf2_locate_sections): When we find a macro info
+	section, let dwarf_macinfo_section point to it, not
+	dwarf_loc_section.
+
+2003-02-04  Daniel Jacobowitz  <drow@mvista.com>
+
+	Pointed out by Anton Blanchard <anton@samba.org>.
+	* ppc-linux-tdep.c (insn_is_sigreturn): New function.
+	(ppc_linux_at_sigtramp_return_path): Use it.
+
+2003-02-04  Daniel Jacobowitz  <drow@mvista.com>
+
+	* defs.h (streq): Add prototype.
+	* utils.c (streq): New function.
+
+	* dwarf2read.c (new_symbol): Use SYMBOL_SET_NAMES instead of
+	SYMBOL_NAME and SYMBOL_INIT_DEMANGLED_NAME.
+	* mdebugread.c (new_symbol): Likewise.
+	* stabsread.c (define_symbol): Likewise.
+	* coffread.c (process_coff_symbol): Likewise.
+	* dwarfread.c (new_symbol): Likewise.
+
+	* minsyms.c (prim_record_minimal_symbol_and_info): Use
+	SYMBOL_SET_NAMES instead of setting SYMBOL_NAME.  Set the language
+	here.
+	(install_minimal_symbols): Don't set SYMBOL_LANGUAGE or call
+	SYMBOL_INIT_DEMANGLED_NAME.
+	* objfiles.c: Include "hashtab.h".
+	(allocate_objfile): Call htab_set_functions_ex for the
+	demangled_names_hash.
+	(free_objfile): Call htab_delete for the demangled_names_hash.
+	* objfiles.h (struct htab): Add declaration.
+	(struct objfile): Add demangled_names_hash.
+	* symfile.c: Include "hashtab.h".
+	(reread_symbols): Call htab_delete for the demangled_names_hash.
+	(add_psymbol_to_list): Use SYMBOL_SET_NAMES instead of putting
+	SYMBOL_NAME in the bcache.
+	* symtab.c: Include "hashtab.h".  Update comments.
+	(create_demangled_names_hash, symbol_set_names): New functions.
+	(symbol_find_demangled_name): New function, broken out from
+	symbol_init_demangled_names.
+	(symbol_init_demangled_names): Use it.
+	* symtab.h (SYMBOL_INIT_DEMANGLED_NAME): Add missing parentheses.
+	(SYMBOL_SET_NAMES): New macro.
+	(symbol_set_names): Add prototype.
+
+2003-02-03  Jim Blandy  <jimb@redhat.com>
+
+	Use a single, consistent representation for an empty minimal
+	symbol table in an objfile.
+	* objfiles.c (terminate_minimal_symbol_table): New function.
+	(allocate_objfile): Call it.
+	* objfiles.h (terminate_minimal_symbol_table): New declaration.
+	(ALL_MSYMBOLS): No need to test whether (objfile)->msymbols is
+	non-NULL.
+	* minsyms.c (lookup_minimal_symbol_by_pc_section): To see whether
+	objfile has minimal symbols, compare minimal_symbol_count to zero,
+	instead of comparing msymbols with NULL.
+	* objfiles.c (have_minimal_symbols): Same.
+	* solib-sunos.c (solib_add_common_symbols): Call
+	terminate_minimal_symbol_table.
+	* symfile.c (reread_symbols): Same.
+
+2003-02-03  Kevin Buettner  <kevinb@redhat.com>
+
+	* s390-tdep.c (s390_address_class_type_flags)
+	(s390_address_class_type_flags_to_name)
+	(s390_address_class_name_to_type_flags): New functions.
+	(s390_gdbarch_init): Define ADDRESS_CLASS_TYPE_FLAGS_TO_NAME,
+	ADDRESS_CLASS_NAME_TO_TYPE_FLAGS, and ADDRESS_CLASS_TYPE_FLAGS.
+
+2003-02-03  Michael Snyder  <msnyder@redhat.com>
+
+	* arm-tdep.c: Fix spell-o in comment.
+
+2003-02-03  Michal Ludvig  <mludvig@suse.cz>
+
+	* dwarf2cfi.c (pointer_encoding): Added new parameter.
+	* dwarf2cfi.c, dwarf2read.c: Changed all warnings and
+	error messages to contain BFD filename.
+
+2003-02-02  Elena Zannoni  <ezannoni@redhat.com>
+
+	Fix PR gdb/742 gdb/743 gdb/877
+	* disasm.c (dump_insns): Use make_cleanup_ui_out_tuple_begin_end.
+	(do_mixed_source_and_assembly): Use
+	make_cleanup_ui_out_tuple_begin_end and
+	make_cleanup_ui_out_tuple_begin_end.
+	(do_mixed_source_and_assembly): Ditto.
+	* thread.c (do_captured_list_thread_ids): Ditto.
+	* ui-out.h (ui_out_table_begin, ui_out_list_begin,
+	ui_out_tuple_begin, ui_out_table_end, ui_out_list_end,
+	ui_out_tuple_end): Delete prototypes.
+	* ui-out.c (ui_out_list_begin, ui_out_tuple_begin,
+	ui_out_list_end, ui_out_tuple_end): Delete.
+
+	From Kevin Buettner  <kevinb@redhat.com>:
+	* ui-out.h (make_cleanup_ui_out_table_begin_end): New function.
+	* ui-out.c (make_cleanup_ui_out_table_begin_end)
+	(do_cleanup_table_end):  New functions.
+	* breakpoint.c (print_it_typical, print_one_breakpoint, mention):
+	Use cleanups to invoke_ui_out_tuple_end().
+	(breakpoint_1): Use cleanup to invoke ui_out_table_end().
+	* cli/cli-setshow.c (cmd_show_list): Use
+	make_cleanup_ui_out_tuple_begin_end.
+
+2003-02-02  Andrew Cagney  <ac131313@redhat.com>
+
+	* frame.c (frame_unwind_register): New function.
+	(frame_unwind_unsigned_register): Use.
+	(frame_unwind_signed_register): Use.
+	(frame_read_register): New function.
+	* frame.h (frame_unwind_register): Declare.
+	(frame_read_register): Declare.
+
+	* d10v-tdep.c (d10v_frame_pop): Rewrite. Use regcache_cooked_write
+	and frame_unwind_register instead of read_memory, write_register
+	and deprecated_write_register_bytes.
+
+2003-02-02  Andrew Cagney  <ac131313@redhat.com>
+
+	* frame.h: Note that namelen can be negative.
+	* frame.c (frame_map_name_to_regnum): When LEN is negative, use
+	NAME's length.
+
+	* NEWS: Mention that the d10v's `regs' command is deprecated.
+	* d10v-tdep.c (d10v_gdbarch_init): Set print_registers_info.
+	(d10v_print_registers_info): New function.
+	(show_regs): Call d10v_print_registers_info.
+	(_initialize_d10v_tdep): Mark "show regs" command as deprecated.
+
+2003-02-02  Mark Kettenis  <kettenis@gnu.org>
+
+	* stack.c (print_frame_info): Restore call to annotate_frame_begin
+	lost in the previous patch.
+
+2003-02-01  Andrew Cagney  <ac131313@redhat.com>
+
+	From 2002-11-09 Jason Molenda (jason-cl@molenda.com)
+	* stack.c (print_frame_info_base): Output complete FRAME tuple
+	for synthesized frames.
+
+2003-02-02  Andrew Cagney  <ac131313@redhat.com>
+
+	* mips-nat.c (zerobuf): Delete.
+	(fetch_inferior_registers): Alloc local zerobuf.
+	(fetch_core_registers): Alloc local zerobuf.
+	* d10v-tdep.c (show_regs): Don't allocate a dynamic array using
+	MAX_REGISTER_RAW_SIZE or MAX_REGISTER_VIRTUAL_SIZE.
+	* thread-db.c (thread_db_store_registers): Ditto.
+	* sh-tdep.c (sh_do_register): Ditto.
+	* rom68k-rom.c (rom68k_supply_one_register): Ditto.
+	* remote-sim.c (gdbsim_store_register): Ditto.
+	* remote-mips.c (mips_wait, mips_fetch_registers): Ditto.
+	* remote-e7000.c (fetch_regs_from_dump): Ditto.
+	* monitor.c (monitor_supply_register): Ditto.
+	* mipsv4-nat.c (supply_gregset, supply_fpregset): Ditto.
+	* mips-nat.c (fetch_inferior_registers): Ditto.
+	* m68klinux-nat.c (fetch_register): Ditto.
+	* lynx-nat.c (fetch_inferior_registers): Ditto.
+	(fetch_inferior_registers): Ditto.
+	* irix4-nat.c (supply_gregset, supply_fpregset): Ditto.
+	* hpux-thread.c (hpux_thread_fetch_registers): Ditto.
+	(hpux_thread_store_registers): Ditto.
+	* hppah-nat.c (fetch_register): Ditto.
+	* hppab-nat.c (fetch_register): Ditto.
+	* hppa-tdep.c (pa_register_look_aside): Ditto.
+	(pa_print_fp_reg, pa_strcat_fp_reg): Ditto.
+	* dve3900-rom.c (fetch_bitmapped_register): Ditto.
+
+2003-02-01  Andrew Cagney  <ac131313@redhat.com>
+
+	* gdbarch.sh: Explictly specify all method levels.  When a
+	variable with an empty level, provide a non-multi-arch default.
+	(BELIEVE_PCC_PROMOTION_TYPE): Set level to empty.
+	* gdbarch.h: Re-generate.
+	* stabsread.c (BELIEVE_PCC_PROMOTION_TYPE): Delete.  Always defined.
+	* config/m68k/tm-sun3.h (BELIEVE_PCC_PROMOTION_TYPE): Define as 1
+
+2003-02-01  Andrew Cagney  <ac131313@redhat.com>
+
+	* defs.h (host_pointer_to_address): Delete declaration.
+	(address_to_host_pointer): Delete declaration.
+	* utils.c (host_pointer_to_address): Delete function.
+	(address_to_host_pointer): Delete function.
+	* procfs.c (procfs_address_to_host_pointer): New function.
+	* procfs.c (proc_set_watchpoint): Use.
+	(procfs_can_use_hw_breakpoint): Update comments.
+	* somsolib.c (hpux_address_to_host_pointer_hack): New function.
+	(som_solib_add): Use.
+	* hppa-tdep.c (hppa_pointer_to_address_hack): New function.
+	* hppa-tdep.c (unwind_command): Use.
+
+2003-02-01  Andrew Cagney  <ac131313@redhat.com>
+
+	* gdb_dirent.h: Mark up valid uses of <dirent.h>, d_namelen and
+	strlen d_name.
+
+	* main.c (captured_main): Delete #ifdef ADDITIONAL_OPTIONS,
+	ADDITIONAL_OPTION_CASES, and ADDITIONAL_OPTION_HANDLER code.
+	(print_gdb_help): Delete #ifdef ADDITIONAL_OPTION_HELP code.
+	* stabsread.c (DBX_PARM_SYMBOL_CLASS): Delete macro.
+	(define_symbol): Update.
+	* symfile.c (generic_load): Remove references to nindy.
+	* symtab.c: Remove references to nindy.
+
+2003-02-01  Andrew Cagney  <ac131313@redhat.com>
+
+	* infcmd.c (print_float_info): Delete code conditional on
+	FLOAT_INFO.
+	* config/nm-lynx.h: Delete #undef FLOAT_INFO.  Update copyright.
+	* config/m68k/nm-apollo68b.h: Ditto.
+	* config/i386/tm-ptx.h (FLOAT_INFO): Delete.  Update copyright.
+	* config/ns32k/nm-nbsd.h (FLOAT_INFO): Ditto.
+	* config/i386/tm-symmetry.h (FLOAT_INFO): Ditto.
+
+2003-02-01  Mark Kettenis  <kettenis@gnu.org>
+
+	* config/i386/tm-i386os9k.h: Removed.
+
+	* configure.host (i[3456]86-*-isc*): Set gdb_host to i386v.
+	Remove i[3456]86-*-sysv3.2* and i[3456]86-*-sysv32* entries since
+	they're identical to i[3456]86-*-sysv* now.
+	* config/i386/i386v32.mh: Removed.
+	* config/i386/xm-i386v32.h: Removed.
+	* config/i386/xm-i386sco.h (U_FPSTATE): Remove macro.
+
+	* config/i386/i386mk.mt, config/i386/i386mk.mh: Removed.
+
+	* config/i386/i386dgux.mh: Removed.
+	* configure.host (i[3456]86-*-dgux): Set gdb_host to i386v4.
+
+	* configure.in: Fix typo.
+	* configure: Regenerated.
+
+2003-01-31  David Carlton  <carlton@math.stanford.edu>
+
+	* dwarf2read.c (dwarf2_locate_sections): Set
+	dwarf_ranges_section.
+
+2003-01-31  Andrew Cagney  <ac131313@redhat.com>
+
+	* objc-exp.y, c-exp.y, f-exp.y: Remove PTR casts.
+	* utils.c: Update comments documenting legitimate uses of PTR.
+
+	* utils.c: Re-indent.
+
+	* config/djgpp/fnchange.lst: Delete nindy files.
+	* nindy-share/ttyflush.c, nindy-share/stop.h: Delete files.
+	* nindy-share/nindy.c, nindy-share/env.h: Delete files.
+	* nindy-share/coff.h, nindy-share/block_io.h: Delete files.
+	* nindy-share/b.out.h, nindy-share/VERSION: Delete files.
+	* nindy-share/README, nindy-share/Onindy.c: Delete files.
+	* nindy-tdep.c, nindy-share/Makefile: Delete files.
+	* Makefile.in (init.c): Remove nindy references.
+	(saber_gdb): Delete rule.
+	(ALLDEPFILES): Delete hp300ux-nat.c, nindy-tdep.c,
+	nindy-share/Onindy.c, nindy-share/nindy.c, nindy-share/ttyflush.c,
+	and a68v-nat.c.
+	(hp300ux-nat.o, a68v-nat.o, ptx4-nat.o): Delete rules.
+	(Onindy.o, nindy.o, ttyflush.o, nindy-tdep.o): Delete rules.
+	(HFILES_NO_SRCDIR): Delete nindy-share/b.out.h,
+	nindy-share/block_io.h, nindy-share/coff.h, nindy-share/env.h, and
+	nindy-share/stop.h.
+	* hp300ux-nat.c, a68v-nat.c, ptx4-nat.c: Delete files.
+	* saber.suppress: Delete file.
+
+2003-01-31  Daniel Jacobowitz  <drow@mvista.com>
+
+	* dbxread.c (stabs_data): New static variable.
+	(fill_symbuf): Support an in-memory buffer for stabs data.
+	(stabs_seek): New function.
+	(dbx_psymtab_to_symtab): Relocate the stabs data if necessary.
+	(read_ofile_symtab): Use stabs_seek.
+	(elfstab_build_psymtabs): Take an asection* instead of
+	an offset and size.  Relocate the stabs data if necessary.
+	Save the section* for dbx_psymtab_to_symtab.
+	* dwarf2read.c: Add section variables for each debug section.
+	(dwarf2_locate_sections): Fill them in.
+	(dwarf2_read_section): Take an asection* argument.
+	Relocate the section contents if necessary.
+	(dwarf2_build_psymtabs, dwarf2_build_psymtabs_easy): Update callers.
+	* dwarf2cfi.c (parse_frame_info): Take a section argument and pass
+	it to dwarf2_read_section.
+	(dwarf2_build_frame_info): Update callers.
+	* elfread.c (elf_symfile_read): Update call to
+	elfstab_build_psymtabs.
+	* gdb-stabs.h (struct dbx_symfile_info): Add stab_section.
+	(DBX_STAB_SECTION): New macro.
+	* stabsread.h (elfstab_build_psymtabs): Update prototype.
+	* symfile.c (symfile_dummy_outputs): New function.
+	(symfile_relocate_debug_section): New function.
+	* symfile.h (symfile_relocate_debug_section): Add prototype.
+
+2003-01-31  Richard Henderson  <rth@redhat.com>
+
+	* alpha-nat.c (REGISTER_PTRACE_ADDR): Merge into ...
+	(register_addr): ... here.  Support ALPHA_UNIQUE_REGNUM.
+	(fetch_elf_core_registers): Support ALPHA_UNIQUE_REGNUM.
+	* alpha-tdep.c (alpha_register_name): Add "unique".
+	* alpha-tdep.h (ALPHA_NUM_REGS): Increment.
+	(ALPHA_UNIQUE_REGNUM): New.
+	* config/alpha/nm-linux.h (ALPHA_UNIQUE_PTRACE_ADDR): New.
+
+2003-01-31  Andrew Cagney  <ac131313@redhat.com>
+
+	* README: Remove reference to Ericsson 1800 monitor.
+	* Makefile.in (remote-es.o): Delete rule.
+	(ALLDEPFILES): Delete remote-es.c.
+	* remote-es.c: Delete file.
+	* config/m68k/es1800.mt: Delete file.
+	* config/djgpp/fnchange.lst: Update.
+	* configure.tgt: Delete m68*-ericsson-* target.
+
+2003-01-31  Adam Fedor  <fedor@gnu.org>
+
+	* infrun.c (handle_inferior_event): Rename 'tmp' to real_stop_pc.
+	Remove duplicate/shadowing variable of same name.
+
+2003-01-30  Jim Blandy  <jimb@redhat.com>
+
+	* symfile.c (find_separate_debug_file): Assert that the objfile's
+	directory name we compute ends with a slash, and then assume that
+	that's so everywhere we use it.
+
+2003-01-30  Daniel Jacobowitz  <drow@mvista.com>
+
+	* valops.c (value_assign): Flush frame cache after stores to memory
+	also.
+
+2003-01-30  Andrew Cagney  <ac131313@redhat.com>
+
+	* Makefile.in (mon960-rom.o): Delete rule.
+	* mon960-rom.c: Delete file.
+
+2003-01-30  Andrew Cagney  <ac131313@redhat.com>
+
+	* d10v-tdep.c: Include "frame-unwind.h".
+	(d10v_gdbarch_init): Append d10v_frame_p to the unwind predicate
+	list.
+	(next_addr, uses_frame): Delete.
+	(struct d10v_unwind_cache): Define.
+	(prologue_find_regs): Add struct d10v_unwind_cache info parameter.
+	Use info instead of next_addr and uses_frame globals.
+	(d10v_frame_init_saved_regs): Delete function.
+	(d10v_init_extra_frame_info): Delete function.
+	(d10v_gdbarch_init): Do not initialize init_extra_frame_info,
+	frame_init_saved_regs or pop_frame, frame_chain, frame_chain_valid,
+	init_frame_pc or frame_saved_pc.
+	(d10v_pop_frame): Delete function.
+	(do_d10v_pop_frame): Delete function.
+	(d10v_frame_chain): Delete function.
+	(d10v_frame_chain_valid): Delete function.
+	(d10v_frame_pc_unwind): New function.
+	(d10v_frame_id_unwind): New function.
+	(saved_regs_unwinder): New function.
+	(d10v_frame_register_unwind): New function.
+	(d10v_frame_pop): New function.
+	(d10v_frame_unwind): New variable.
+	(d10v_frame_p): New function.
+	(d10v_frame_saved_pc): Delete function.
+	* Makefile.in (d10v-tdep.o): Update dependencies.
+
+2003-01-30  J. Brobecker  <brobecker@gnat.com>
+
+	* config/pa/tm-hppa64.h (CALL_DUMMY_LOCATION): Remove #undef
+	causing some regressions due to a change in the default value
+	for this macro.
+
+2003-01-29  Richard Henderson  <rth@redhat.com>
+	    Elena Zannoni  <ezannoni@redhat.com>
+	    Daniel Jacobowitz  <drow@mvista.com>
+
+	Fix PR gdb/961.
+	* dwarf2read.c	(dwarf_ranges_offset, dwarf_ranges_size): New
+	variables.
+	(RANGES_SECTION): New.
+	(dwarf_ranges_buffer): New variable.
+	(struct comp_unit_head): Add member "die".
+	(struct dwarf2_pinfo): Add dwarf_ranges_buffer, dwarf_ranges_size.
+	(DWARF_RANGES_BUFFER, DWARF_RANGES_SIZE): New.
+	(dwarf2_has_info): Init dwarf_ranges_offset and dwarf_ranges_size.
+	(dwarf2_locate_sections): Likewise.
+	(dwarf2_build_psymtabs): Read .debug_ranges.
+	(dwarf2_build_psymtabs_hard): Swap dwarf_ranges out.
+	(psymtab_to_symtab_1): Swap dwarf_ranges in.  Set cu_header.die.
+	(dwarf2_get_pc_bounds): New cu_header argument; adjust all callers.
+	Look for DW_AT_ranges and return the bounding box.
+
+2003-01-29  Brian Ford <ford@vss.fsi.com>
+
+	* win32-nat.c (cygwin_pid): Removed as unused.
+	(child_attach): Try fall back to Cygwin pid.
+
+2003-01-29  Jim Blandy  <jimb@redhat.com>
+
+	* objfiles.h (struct objfile): Doc fix.
+
+2003-01-29  Andrew Cagney  <ac131313@redhat.com>
+
+	* frame.c (frame_saved_regs_id_unwind): Assert FRAME_CHAIN_P.
+	(legacy_get_prev_frame): Assert FRAME_CHAIN_P.
+	(get_prev_frame): When FRAME_CHAIN_P, call legacy_get_prev_frame.
+	(frame_saved_regs_pc_unwind): Assert FRAME_SAVED_PC_P.
+	* gdbarch.sh (FRAME_CHAIN): Change to a function with predicate.
+	(FRAME_SAVED_PC): Change to a function with predicate.
+	* gdbarch.h, gdbarch.c: Re-generate.
+
+2003-01-28  Andrew Cagney  <ac131313@redhat.com>
+
+	* hppah-nat.c (child_pid_to_exec_file): Don't use boolean.
+
+	* complaints.c (complain): Delete function.
+	* complaints.h (struct deprecated_complaint): Delete definition.
+	(complain): Delete declaration.
+
+2003-01-28  Kevin Buettner  <kevinb@redhat.com>
+
+	* mips-tdep.c (mips_init_extra_frame_info): Return early for
+	dummy frames.
+
+2003-01-27  Andrew Cagney  <ac131313@redhat.com>
+
+	* sentinel-frame.h, sentinel-frame.c: New files.
+	* Makefile.in (frame.o): Update dependencies.
+	(SFILES): Add sentinel-frame.c.
+	(sentinel_frame_h): Define.
+	(COMMON_OBS): Add sentinel-frame.o.
+	(sentinel-frame.o): Specify dependencies.
+	* frame.c: Include "sentinel-frame.h".
+	(frame_register_unwind): Rewrite assuming that there is always a a
+	->next frame.
+	(frame_register, generic_unwind_get_saved_register): Ditto.
+	(frame_read_unsigned_register, frame_read_signed_register): Ditto.
+	(create_sentinel_frame, unwind_to_current_frame): New functions.
+	(get_current_frame): Rewrite using create_sentinel_frame and
+	unwind_to_current_frame.  When possible, always create a frame.
+	(create_new_frame): Set next to the sentinel frame.
+	(get_next_frame): Rewrite.  Don't go below the level 0 frame.
+	(deprecated_update_frame_pc_hack): Update the next frame's PC and
+	ID cache when necessary.
+	(frame_saved_regs_id_unwind): Use frame_relative_level.
+	(deprecated_generic_get_saved_register): Use frame_relative_level,
+	get_frame_saved_regs, get_frame_pc, get_frame_base and
+	get_next_frame.
+	(frame_saved_regs_register_unwind): Use get_frame_saved_regs and
+	frame_register.
+
+2003-01-27  Daniel Jacobowitz  <drow@mvista.com>
+
+	* gdb_indent.sh: Add -T bfd and -T asection to the indent arguments.
+
+2003-01-27  Daniel Jacobowitz  <drow@mvista.com>
+
+	* maint.c [! (HAVE_MONSTARTUP && HAVE__MCLEANUP)]
+	(maintenance_set_profile_cmd): Use error () instead of warning ().
+
+2003-01-27  Daniel Jacobowitz  <drow@mvista.com>
+
+	* configure.in: Check that -pg works if using --enable-profiling.
+	Check for monstartup and _mcleanup regardless of --enable-profiling.
+	* maint.c: Check for monstartup and _mcleanup before using them.
+	* config.in: Regenerated.
+	* configure: Regenerated.
+
+2003-01-24  Nick Clifton  <nickc@redhat.com>
+
+	* Add sh2e support:
+
+	2002-04-02  Elena Zannoni  <ezannoni@redhat.com>
+
+		* gdb/sh-tdep.c (sh_sh2e_register_name): New.
+		(sh2e_show_regs): New.
+		(sh_gdbarch_init): Handle bfd_mach_sh2e.
+		* config/sh/tm-sh.h: Added sh2e to comments.
+
+2003-01-23  Jim Blandy  <jimb@redhat.com>
+
+	* symfile.c (syms_from_objfile): Don't print the "(no debugging
+	symbols found)" message here; we haven't checked for a separate
+	debug info file yet, so we don't know yet.
+	(symbol_file_add_with_addrs_or_offsets): Print it here, after
+	we've looked everywhere.  Also, there's no need to print a special
+	message when we're loading the separate debug info file: the one
+	symbol_file_add prints is fine.
+
+2003-01-23  Alexander Larsson <alexl@redhat.com>
+	    Jim Blandy  <jimb@redhat.com>
+
+	Add support for executables whose debug info has been separated
+	out into a separate file, leaving only a link behind.
+	* objfiles.h (struct objfile): New fields: separate_debug_objfile
+	and separate_debug_objfile_backlink.
+	(put_objfile_before): New declaration.
+	* symfile.c: #include "filenames.h".
+	(symbol_file_add_with_addrs_or_offsets): If this objfile has its
+	debug info in a separate file, read that, too. Save the addrs
+	argument, so we can use it again to read the separated debug info;
+	syms_from_objfile modifies the table we pass it.
+	(reread_symbols): After re-reading an objfile, call
+	reread_separate_symbols to refresh its separate debug info
+	objfile, if it has one.
+	(reread_separate_symbols, find_separate_debug_file,
+	get_debug_link_info, separate_debug_file_exists): New functions.
+	(debug_file_directory): New global var.
+	(_initialize_symfile): Initialize debug_file_directory, and
+	provide the new `set debug-file-directory' command to let the user
+	change it.
+	* objfiles.c (free_objfile): If this objfile has its debug info in
+	a separate objfile, free that one too.  If this is itself a
+	separate debug info objfile, clear our parent's backlink.
+	(put_objfile_before): New function.
+	* utils.c (gnu_debuglink_crc32): New function.
+	* defs.h (gnu_debuglink_crc32): New declaration.
+	* Makefile.in (symfile.o): Note dependency on "filenames.h".
+	* configure.in: Handle --with-separate-debug-dir config option.
+	* acinclude.m4 (AC_DEFINE_DIR): New macro.
+	* acconfig.h (DEBUGDIR): New macro.
+	* configure, aclocal.m4, config.in: Regenerated.
+
+2003-01-22  Jim Blandy  <jimb@redhat.com>
+
+	* symfile.c (symbol_file_add_with_addrs_or_offsets): New function,
+	like the old symbol_file_add, but taking new arguments: you can
+	now pass in either a `struct section_addr_info' list to say where
+	each section is loaded, or a `struct section_offsets' table.  Pass
+	these new arguments through to syms_from_objfile as appropriate.
+	(symbol_file_add): Just call symbol_file_add_with_addrs_or_offsets,
+	with the appropriate quiescent values for the new arguments.
+
+	* symfile.c: #include "gdb_assert.h".
+	(syms_from_objfile): Add the ability to pass in a section offset
+	table directly, as an alternative to the section_addr_info table.
+	Document arguments better.
+	(symbol_file_add): Pass extra arguments to syms_from_objfile.
+	* symfile.h (syms_from_objfile): Update declaration.
+	* rs6000-nat.c (objfile_symbol_add): Pass new arguments to
+	syms_from_objfile.
+	* Makefile.in (symfile.o): List dependency on $(gdb_assert_h).
+
+2003-01-22  Daniel Jacobowitz  <drow@mvista.com>
+
+	Original patch by Tom Tromey <tromey@cygnus.com> and
+	Jason Molenda <jmolenda@apple.com>.
+	* Makefile.in (PROFILE_CFLAGS): Substitute from configure.
+	(INTERNAL_LDFLAGS): Don't include PROFILE_CFLAGS.
+	* NEWS: Mention profiling.
+	* configure.in (--enable-gdbtk): Fix typo.
+	(--enable-profiling): New.  Set PROFILE_CFLAGS.
+	* maint.c (maintenance_set_profile_cmd): Remove NOTYET.
+	Fill in function.
+	(profiling_state): New variable.
+	(mcleanup_wrapper): New function.
+	(_initialize_maint): Remove NOTYET, fix call to
+	add_setshow_boolean_cmd for "maint set profile".
+	* configure: Regenerated.
+
+2003-01-21  Martin M. Hunt  <hunt@redhat.com>
+
+	* Makefile.in (install-gdbtk): Install PNG images too.
+
+2003-01-21  Andrew Cagney  <ac131313@redhat.com>
+
+	* exec.c (text_start): Delete global variable.
+	(exec_file_attach): Make text_start local to the function.
+	* inferior.h (BEFORE_TEXT_END, AFTER_TEXT_END): Delete macros.
+	* valops.c (hand_function_call): Delete code that handles
+	BEFORE_TEXT_END and AFTER_TEXT_END.
+	* gdbarch.sh (CALL_DUMMY_LENGTH): Test call_dummy_length instead
+	of CALL_DUMMY_LOCATION.
+	* gdbarch.c: Regenerate.
+	* inferior.h (deprecated_pc_in_call_dummy_before_text_end)
+	(deprecated_pc_in_call_dummy_after_text_end): Delete declaration.
+	* blockframe.c (deprecated_pc_in_call_dummy_before_text_end)
+	(deprecated_pc_in_call_dummy_after_text_end): Delete functions.
+	(text_end): Delete extern declaration.
+
+2003-01-21  Andrew Cagney  <ac131313@redhat.com>
+
+	* frame.h (FRAME_OBSTACK_ZALLOC): Define.
+	* blockframe.c (backtrace_below_main): Move to "frame.c".
+	(frame_chain_valid): Delete check for backtrace_below_main.
+	(_initialize_blockframe): Delete initialization, move ``set
+	backtrace-below-main'' command to "frame.c".
+	(do_flush_frames_sfunc): Delete function.
+	* frame.c: Include "command.h" and "gdbcmd.h".
+	(frame_type_from_pc): New function.
+	(create_new_frame): Use frame_type_from_pc.
+	(legacy_get_prev_frame): New function.
+	(get_prev_frame): Rewrite.  When an old style frame, call
+	legacy_get_prev_frame.  Otherwize, unwind the PC first.
+	(_initialize_frame): Add ``set backtrace-below-main'' command.
+	* Makefile.in (frame.o): Update dependencies.
+
+2003-01-19  Andrew Cagney  <ac131313@redhat.com>
+
+	* config/pa/tm-hppa.h (DEPRECATED_DO_REGISTERS_INFO): Rename
+	DEPRECATED_REGISTERS_INFO.
+
+2003-01-19  Andrew Cagney  <ac131313@redhat.com>
+
+	* MAINTAINERS: Replace `Blanket Write Privs' with `Global
+	Maintainers'.  Update `Various Maintainers'.
+
+2003-01-19  Andrew Cagney  <ac131313@redhat.com>
+
+	* frame.c (frame_saved_regs_pop): Assert POP_FRAME_P.
+	* gdbarch.sh (POP_FRAME): Change to function with predicate.
+	Suppress actual parameters when `-'.
+	* gdbarch.h, gdbarch.c: Regenerate.
+
+2003-01-19  Andrew Cagney  <ac131313@redhat.com>
+
+	* d10v-tdep.c (d10v_frame_saved_pc, d10v_frame_chain): Restore
+	code handling dummy frames.
+
+2003-01-19  Andrew Cagney  <ac131313@redhat.com>
+
+	* frame-unwind.h (frame_unwind_pop_ftype): Declare.
+	(struct frame_unwind): Add field pop.
+	* frame.h (frame_pop): Declare.
+	* frame.c (frame_saved_regs_pop): New function.
+	(trad_frame_unwinder): Add frame_saved_regs_pop.
+	(frame_pop): New function.
+	* dummy-frame.c (dummy_frame_pop): New function.
+	(discard_innermost_dummy): New function.
+	(generic_pop_dummy_frame): Use discard_innermost_dummy.
+	(dummy_frame_unwind): Add dummy_frame_pop.
+	* infrun.c (normal_stop): Call frame_pop instead of POP_FRAME.
+	* valops.c (hand_function_call): Ditto.
+	* stack.c (return_command): Ditto.
+
+2003-01-18  Andrew Cagney  <ac131313@redhat.com>
+
+	* cris-tdep.c: Fix function declaration indentation.
+	* dwarfread.c, gdbcore.h, gdbtypes.h, i386v-nat.c: Ditto.
+	* mips-tdep.c, monitor.h, parse.c, proc-utils.h: Ditto.
+	* rs6000-nat.c, ser-go32.c, somread.c, stabsread.c: Ditto.
+	* symfile.h, symtab.h, target.c, target.h, value.h: Ditto.
+	* xcoffread.c, config/pa/tm-hppa.h: Ditto.
+	* config/sparc/tm-sp64.h, config/sparc/tm-sparc.h: Ditto.
+
+2003-01-18  Michael Chastain  <mec@shout.net>
+
+	* README (Unpacking and Installation -- quick overview):
+	Warn against ".../gdb-5.3/gdb/configure".
+
+2003-01-18  Andrew Cagney  <ac131313@redhat.com>
+
+	* dummy-frame.h (dummy_frame_id_unwind): Delete declaration.
+	(dummy_frame_pc_unwind, dummy_frame_register_unwind): Ditto.
+	(struct frame_unwind): Declare opaque.
+	(dummy_frame_p): Declare function.
+	* dummy-frame.c (dummy_frame_id_unwind): Make static.
+	(dummy_frame_pc_unwind, dummy_frame_register_unwind): Ditto.
+	* dummy-frame.c: Include "frame-unwind.h".
+	(dummy_frame_p): New function.
+	(dummy_frame_unwind): New variable.
+	* frame.c: Include "frame-unwind.h".
+	(frame_pc_unwind, frame_id_unwind, frame_register_unwind): Update
+	to use the new unwind field.
+	(set_unwind_by_pc): Delete function.
+	(create_new_frame, get_prev_frame): Set unwind field using
+	frame_unwind_find_by_pc.
+	(trad_frame_unwind, trad_frame_unwinder): New variables.
+	* frame.h (trad_frame_unwind): Declare variable.
+	(frame_id_unwind_ftype): Delete declaration.
+	(frame_pc_unwind_ftype, frame_register_unwind_ftype): Ditto.
+	(struct frame_unwind): Declare opaque.
+	(struct frame_info): Replace the fields id_unwind, pc_unwind and
+	register_unwind with a single unwind pointer.
+	* frame-unwind.h, frame-unwind.c: New files.
+	* Makefile.in (SFILES): Add frame-unwind.c.
+	(frame_unwind_h): Define.
+	(COMMON_OBS): Add frame-unwind.o.
+	(frame-unwind.o): Specify dependencies.
+	(frame.o, dummy-frame.o): Update dependencies.
+
+2003-01-18  Andrew Cagney  <ac131313@redhat.com>
+
+	* ada-valprint.c: Eliminate PTR.
+	* breakpoint.c, corelow.c, cris-tdep.c, dbxread.c: Ditto.
+	* defs.h, dve3900-rom.c, dwarf2read.c, dwarfread.c: Ditto.
+	* exec.c, hppa-tdep.c, hpread.c, infcmd.c, mdebugread.c: Ditto.
+	* objfiles.c, objfiles.h, ocd.c, remote-es.c: Ditto.
+	* remote-mips.c, remote-sds.c, remote-vx.c: Ditto.
+	* solib-svr4.c, solib.c, stack.c, symfile.c, symfile.h: Ditto.
+	* symmisc.c, v850ice.c, xcoffread.c, cli/cli-script.c: Ditto.
+
+2003-01-17  Andrew Cagney  <ac131313@redhat.com>
+
+	* main.c (captured_main): Don't use PTR.
+	* cp-valprint.c (cp_print_class_method): Replace STREQ with strcmp.
+	* gdbtypes.c (lookup_primitive_typename): Ditto.
+	(lookup_struct_elt_type): Ditto.
+	* f-valprint.c (info_common_command): Ditto.
+	(list_all_visible_commons): Ditto.
+	* jv-typeprint.c (java_type_print_base): Ditto.
+
+	* config/djgpp/fnchange.lst: Rename mi1-var-block.exp,
+	mi1-var-child.exp, mi1-var-cmd.exp and mi1-var-display.exp.
+	Rename opcodes/iq2000-desc.c and opcodes/iq2000-dis.c.  Rename
+	i386-interix-nat.c and i386-interix-tdep.c.  Rename
+	m68klinux-nat.c and m68klinux-tdep.c.  Rename
+	config/mips/tm-linux.h and config/mips/tm-linux64.h.  Rename
+	bfd/po/.cvsignore and opcodes/po/.cvsignore.  Rename
+	gdb/objc-exp.tab.c and gdb/ada-exp.tab.c
+	* main.c (captured_main): Use xfree, not free.
+
+2003-01-16  Andrew Cagney  <ac131313@redhat.com>
+
+	* frame.h (frame_id_unwind_ftype): Change type so that the frame's
+	ID back using a parameter.
+	* frame.c (frame_id_unwind): Update call.
+	(frame_saved_regs_id_unwind): Update.
+	* dummy-frame.c (dummy_frame_id_unwind): Update function.
+	* dummy-frame.h (struct frame_id): Add opaque declaration.
+	(dummy_frame_id_unwind): Update declaration.
+
+2003-01-15  Andrew Cagney  <ac131313@redhat.com>
+
+	* sparc-tdep.c: Delete reference to PRINT_REGISTER_HOOK.
+
+2003-01-15  Stephen P. Smith <ischis2@cox.net>
+
+	* MAINTAINERS (Stephen P. Smith): Updated email address.
+
+2003-01-14  Elena Zannoni  <ezannoni@redhat.com>
+
+	Fix PR gdb/898
+	* breakpoint.c (until_break_command): Add new argument.  Use it to
+	decide whether to stop only at the current frame or not.
+	* breakpoint.h (until_break_command): Update prototype.
+	* infcmd.c (until_command): Add new argument to until_break_command
+	call.
+	(advance_command): New function.
+	(_initialize_infcmd): Update help string for 'until' command.
+	Add new 'advance' command.
+
+2003-01-14  David Carlton  <carlton@math.stanford.edu>
+
+	* linespec.c (decode_line_1): Normalize comments.
+	(set_flags): Ditto.
+	(locate_first_half): Ditto.
+	(decode_compound): Ditto.
+	(symtab_from_filename): Ditto.
+	(decode_all_digits): Ditto.
+	(decode_dollar): Ditto.
+	(find_methods): Ditto.
+	(find_toplevel_char): Ditto.
+
+2003-01-13  Andrew Cagney  <ac131313@redhat.com>
+
+	* ax-gdb.c, c-valprint.c, charset.c, corefile.c: Update copyright.
+	* demangle.c, disasm.c, dwarf2cfi.c, dwarfread.c: Update copyright.
+	* elfread.c, eval.c, expprint.c, expression.h: Update copyright.
+	* f-typeprint.c, findvar.c, gcore.c, gdb_mbuild.sh: Update copyright.
+	* gdbtypes.h, gnu-v2-abi.c, inferior.h, inftarg.c: Update copyright.
+	* language.c, language.h, m32r-tdep.c: Update copyright.
+	* mn10200-tdep.c, scm-lang.c, scm-lang.h: Update copyright.
+	* somsolib.c, somsolib.h, symfile.c, symtab.h: Update copyright.
+	* thread-db.c, typeprint.c, utils.c, valarith.c: Update copyright.
+	* values.c, win32-nat.c, x86-64-linux-nat.c: Update copyright.
+	* x86-64-linux-tdep.c, z8k-tdep.c: Update copyright.
+	* cli/cli-decode.h, config/h8500/tm-h8500.h: Update copyright.
+
+2003-01-13  Elena Zannoni  <ezannoni@redhat.com>
+
+	* stabsread.h (process_later, resolve_cfront_continuation):
+	Obsolete.
+	Update copyright years.
+	* buildsym.c (start_subfile): Obsolete comment pertinent to Cfront.
+	Update copyright year.
+	* dbxread.c(struct cont_elem): Obsolete.
+	(process_later, process_now): Obsolete functions.
+	(read_dbx_symtab, read_ofile_symtab): Obsolete cfront support.
+	Update copyright year.
+	* gdbtypes.c (INIT_EXTRA, ADD_EXTRA): Obsolete macros.
+	(add_name, add_mangled_type, cfront_mangle_name): Obsolete functions.
+	* mdebugread.c (parse_type): Obsolete comment pertinent to Cfront.
+	(parse_partial_symbols): Obsolete cfront support.
+	* stabsread.c
+	(CFRONT_VISIBILITY_PRIVATE,CFRONT_VISIBILITY_PUBLIC): Obsolete
+	macros.
+	(get_substring, get_cfront_method_physname, msg_unknown_complaint,
+	read_cfront_baseclasses, read_cfront_member_functions,
+	resolve_cfront_continuation,read_cfront_static_fields,
+	copy_cfront_struct_fields): Obsolete functions.
+	(define_symbol, read_one_struct_field): Obsolete cfront support.
+	* xcoffread.c (scan_xcoff_symtab): Obsolete CFront support.
+	Update Copyright year.
+
+2003-01-13  Elena Zannoni  <ezannoni@redhat.com>
+
+	* stack.c (print_frame_info, print_stack_frame_base_stub,
+	print_stack_frame_base, show_and_print_stack_frame_stub,
+	show_and_print_stack_frame, print_only_stack_frame_stub,
+	print_only_stack_frame): Delete functions.
+	(print_stack_frame_stub): Call print_frame_info instead of
+	print_frame_info_base.
+	(print_frame_info_base): Rename to print_frame_info.
+	(backtrace_command_1): Call print_frame_info, instead of
+	print_frame_info_base.
+	(current_frame_command): Call print_stack_frame, instead of
+	print_only_stack_frame.
+	(frame_command): Call print_stack_frame, instead of
+	show_and_print_stack_frame.
+	(up_command): Ditto.
+	(down_command): Ditto.
+	* frame.h (print_only_stack_frame): Delete prototype.
+	* infrun.c (normal_stop): Call print_stack_frame, instead of
+	show_and_print_stack_frame.
+	* thread.c (info_threads_command): Call print_stack_frame, instead
+	of print_only_stack_frame.
+
+2003-01-13  Andrew Cagney  <ac131313@redhat.com>
+
+	* README (Graphical interface to GDB): Update URL.  Point at
+	gdb/links/.
+
+	* gdb_indent.sh: Update to version 2.2.9.  Warn when not exact
+	version match.
+
+2003-01-13  Daniel Jacobowitz  <drow@mvista.com>
+
+	* symtab.c (find_pc_sect_line): Don't consider end-of-function
+	lines.
+
+2003-01-13  Daniel Jacobowitz  <drow@mvista.com>
+
+	* thread-db.c (attach_thread): Prototype.
+	(struct private_thread_info): Remove lwpid.  Add thread handle (th),
+	thread information (ti), and valid flags (th_valid, ti_valid).
+	(attach_thread): Move target_pid_to_str call to after the thread
+	is added to GDB's list.  Initialize the cache.
+	(thread_get_info_callback, thread_db_map_id2thr)
+	(thread_db_get_info): New functions.
+	(thread_from_lwp, lwp_from_thread, thread_db_fetch_registers)
+	(thread_db_store_registers, thread_db_thread_alive)
+	(thread_db_get_thread_local_address): Use them.
+	(thread_db_pid_to_str): Likewise.  Return "Missing" instead
+	of calling error() for threads in unknown state.
+
+	(clear_lwpid_callback): New function.
+	(thread_db_resume): Use it to clear the cache.
+
+2003-01-13  Daniel Jacobowitz  <drow@mvista.com>
+
+	* lin-lwp.c (struct private_thread_info, find_lwp_callback): Remove.
+	(resume_callback): Remove dead code.
+
+2003-01-13  Andrew Cagney  <ac131313@redhat.com>
+
+	* gdbarch.sh (FRAME_INIT_SAVED_REGS): Change to function with
+	predicate.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* stack.c (frame_info): Only initialize the saved registers when
+	FRAME_INIT_SAVED_REGS_P.
+	* frame.c (frame_saved_regs_register_unwind): Assert
+	FRAME_INIT_SAVED_REGS_P.
+	(deprecated_generic_get_saved_register): Ditto.
+
+2003-01-13  Daniel Jacobowitz  <drow@mvista.com>
+
+	* source.c (openp): Squelch warning about "filename".
+
+2003-01-13  Daniel Jacobowitz  <drow@mvista.com>
+
+	* source.c (openp): If the file does not exist don't necessarily
+	search the path.
+
+2003-01-13  Daniel Jacobowitz  <drow@mvista.com>
+
+	Fix PR gdb/872.
+	* gdbtypes.c (init_type): Mark "char" as TYPE_FLAG_NOSIGN.
+	(integer_types_same_name_p): New function.
+	(rank_one_type): Use it.
+	* stabsread.c (read_range_type): Mark "char" as TYPE_FLAG_NOSIGN.
+
+2003-01-13  Daniel Jacobowitz  <drow@mvista.com>
+
+	* Makefile.in (TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE): New
+	variables.
+	(main.o): Custom rule which uses $(TARGET_SYSTEM_ROOT_DEFINE).
+	* configure.in: Add --with-sysroot.
+	* configure: Regenerated.
+	* main.c (gdb_sysroot): New variable.
+	(captured_main): Initialize gdb_sysroot.
+	* defs.h (gdb_sysroot): New extern declaration.
+	* solib.c (_initialize_solib): Initialize solib_absolute_prefix.
+
+2003-01-12  Michael Chastain  <mec@shout.net>
+
+	* config/djgpp/fnchange.lst: add gdb/ChangeLog-2002.
+
+2003-01-12  Michael Chastain  <mec@shout.net>
+
+	* top.c (print_gdb_version): Bump copyright year to 2003.
+
+2003-01-12  David Carlton  <carlton@bactrian.org>
+
+	* linespec.c (symtab_from_filename): Rename variable 's' to
+	'file_symtab'.
+
+2003-01-12  Andrew Cagney  <ac131313@redhat.com>
+
+	* d10v-tdep.c (d10v_init_extra_frame_info): Remove checks for a
+	dummy frame.
+	(d10v_frame_saved_pc, d10v_frame_chain): Ditto.
+
+2003-01-12  Andrew Cagney  <ac131313@redhat.com>
+
+	* d10v-tdep.c: Include "gdb_assert.h".
+	(d10v_store_return_value): Rewrite to match current interface.
+	(d10v_extract_struct_value_address): Ditto.
+	(d10v_extract_return_value): Ditto.
+	(d10v_gdbarch_init): Set store_restore_value,
+	extract_struct_value_address and extract_return_value.
+
+2003-01-12  J. Brobecker  <brobecker@gnat.com>
+
+	* hpread.c (set_namestring): New procedure replacing the
+	SET_NAMESTRING macro.
+	(hpread_build_psymtabs): Replace calls to SET_NAMESTRING
+	by calls to set_namestring.
+
+2003-01-11  J. Brobecker  <brobecker@gnat.com>
+
+	* hpread.c (SET_NAMESTRING): Remove an incorrect cast to fix
+	a compilation warning.
+	(hpread_process_one_debug_symbol): Likewise.
+
+2003-01-10  David Carlton  <carlton@math.stanford.edu>
+
+	* linespec.c (decode_line_1): Rename variable 's' to
+	'file_symtab'.
+	(decode_all_digits): Rename argument 's' to 'file_symtab'.
+	(decode_dollar): Ditto.
+	(decode_variable): Ditto.
+	(symbol_found): Ditto.
+
+2003-01-09  Michael Chastain  <mec@shout.net>
+
+	* config/djgpp/fnchange.lst: update file list for testsuite/gdb.c++.
+
+2003-01-07  Corinna Vinschen  <vinschen@redhat.com>
+
+	* win32-nat.c (set_process_privilege): New function.
+	(child_attach): Call set_process_privilege() to enable the
+	SE_DEBUG_NAME user privilege if available in process token.
+
+2003-01-10  J. Brobecker  <brobecker@gnat.com>
+
+	* hpread.c (hpread_process_one_debug_symbol): Fix a small
+	compilation error in the previous revision.
+
+2003-01-09  David Carlton  <carlton@math.stanford.edu>
+
+	* linespec.c: Update copyright.
+
+2003-01-09  Daniel Jacobowitz  <drow@mvista.com>
+
+	* lin-lwp.c (child_wait): Ignore exit statuses for processes other
+	than inferior_ptid.
+	(lin_lwp_wait): Ignore exit statuses for unknown LWPs.
+
+2003-01-09  Andrew Cagney  <ac131313@redhat.com>
+
+	* frame.h (frame_obstack_zalloc): Replace frame_obstack_alloc.
+	Update comments.
+	* frame.c (frame_obstack_zalloc): Replace frame_obstack_alloc.
+	(frame_saved_regs_zalloc): Update.
+	(frame_saved_regs_register_unwind): Update.
+	(create_new_frame): Update.
+	(get_prev_frame): Update.
+	(frame_extra_info_zalloc): Update.
+	(deprecated_get_frame_saved_regs): Update.
+	* dwarf2cfi.c (cfi_init_extra_frame_info): Update.
+	* cris-tdep.c: Update comment.
+
+	* somsolib.h: Fix function indentation.
+	* disasm.c, buildsym.c, buildsym.h: Eliminate PTR.
+	* gnu-v2-abi.c, f-typeprint.c, x86-64-linux-tdep.c: Eliminate STREQ.
+	* demangle.c, ax-gdb.c, c-valprint.c: Eliminate STREQ.
+	* alpha-osf1-tdep.c, corefile.c: Eliminate STREQ.
+	* somsolib.c, inftarg.c: Remove assignment in if conditional.
+
+	* infrun.c (follow_fork): Use ISO C definition.
+	* expprint.c (print_subexp): Use xfree instead of free.
+	* charset.c: Include "gdb_string.h" instead of <string.h>.
+	(register_iconv_charsets): Use ISO C definition.
+	(host_charset, target_charset): Ditto.
+	* Makefile.in (charset.o): Update dependencies.
+	(mi-cmd-env.o): Update dependencies.
+
+2003-01-08  Andrew Cagney  <cagney@redhat.com>
+
+	* alpha-linux-tdep.c (alpha_linux_sigcontext_addr): Use
+	get_frame_base.
+
+2003-01-08  Andrew Cagney  <ac131313@redhat.com>
+
+	* gdb_mbuild.sh: Add --keep option.  When specified, keep the
+	build directories.  Save edited gdb output in Mbuild.log.  If a
+	build fails, remove any final GDB executable.
+
+2003-01-08  Andrew Cagney  <ac131313@redhat.com>
+
+	* gdb_mbuild.sh: Edit the output of `maint print architecture'
+	replacing hex constants with function names and stripping leading
+	file name directory prefixes.
+
+2003-01-08  Andrew Cagney  <cagney@redhat.com>
+
+	* gcore.c, i386-linux-tdep.c: Use get_frame_pc, get_next_frame and
+	get_frame_base.
+
+2003-01-08  David Carlton  <carlton@math.stanford.edu>
+
+	* linespec.c (decode_line_1): Move code into decode_variable.
+	(decode_variable): New function.
+
+2003-01-08  Andrew Cagney  <ac131313@redhat.com>
+
+	* mn10300-tdep.c (analyze_dummy_frame): Fix typo.
+
+2003-01-08  Andrew Cagney  <cagney@redhat.com>
+
+	* cris-tdep.c (cris_frame_init_saved_regs): Use
+	get_frame_saved_regs and SIZEOF_FRAME_SAVED_REGS when copying a
+	saved_regs buffer.
+	* sh-tdep.c (sh_nofp_frame_init_saved_regs): Ditto.
+	(sh64_nofp_frame_init_saved_regs): Ditto.
+	(sh_fp_frame_init_saved_regs): Ditto.
+	* arm-tdep.c: Use deprecated_set_frame_saved_regs_hack.
+	* mips-tdep.c (mips_init_extra_frame_info): Ditto.
+	* mcore-tdep.c (analyze_dummy_frame): Ditto.
+	* mn10300-tdep.c (analyze_dummy_frame): Ditto.
+
+2003-01-08  Daniel Jacobowitz  <drow@mvista.com>
+
+	* minsyms.c (lookup_minimal_symbol): Update comment.
+	(lookup_minimal_symbol_text): Update comment.  Use the hash table.
+	(lookup_minimal_symbol_solib_trampoline): Likewise.
+
+2003-01-08  Andrew Cagney  <cagney@redhat.com>
+
+	* d10v-tdep.c (d10v_init_extra_frame_info): Use
+	frame_relative_level.
+
+	* alpha-tdep.c: Use get_frame_extra_info.
+	* arm-tdep.c, avr-tdep.c, cris-tdep.c, d10v-tdep.c: Ditto.
+	* h8300-tdep.c, ia64-tdep.c, m68hc11-tdep.c, mcore-tdep.c: Ditto.
+	* mips-tdep.c, mn10300-tdep.c, s390-tdep.c, sh-tdep.c: Ditto.
+	* sparc-tdep.c, xstormy16-tdep.c: Ditto.
+
+	* alpha-tdep.c: Use get_next_frame.
+	* arm-tdep.c, avr-tdep.c, cris-tdep.c, d10v-tdep.c: Ditto.
+	* dwarf2cfi.c, h8300-tdep.c, i386-tdep.c, ia64-tdep.c: Ditto.
+	* m68hc11-tdep.c, m68k-tdep.c, mcore-tdep.c: Ditto.
+	* mips-tdep.c, mn10200-tdep.c, mn10300-tdep.c: Ditto.
+	* ns32k-tdep.c, s390-tdep.c, sh-tdep.c, sparc-tdep.c: Ditto.
+	* v850-tdep.c, vax-tdep.c, x86-64-linux-tdep.c: Ditto.
+	* xstormy16-tdep.c: Ditto.
+
+2003-01-07  Andrew Cagney  <cagney@redhat.com>
+
+	* alpha-tdep.c: Use get_frame_base.
+	* arm-tdep.c, avr-tdep.c, cris-tdep.c, d10v-tdep.c: Ditto.
+	* h8300-tdep.c, i386-tdep.c, ia64-tdep.c, m68hc11-tdep.c: Ditto.
+	* m68k-tdep.c, mcore-tdep.c, mips-tdep.c, mn10200-tdep.c: Ditto.
+	* mn10300-tdep.c, ns32k-tdep.c, s390-tdep.c, sh-tdep.c: Ditto.
+	* sparc-tdep.c, v850-tdep.c, vax-tdep.c: Ditto.
+	* x86-64-linux-tdep.c, xstormy16-tdep.c: Ditto.
+	* config/h8500/tm-h8500.h, config/mn10200/tm-mn10200.h: Ditto.
+	* config/sparc/tm-sparc.h: Ditto.
+
+2003-01-07  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (deprecated_get_frame_context): New function.
+	(deprecated_set_frame_context): New function.
+	* frame.h (deprecated_get_frame_context): Declare.
+	(deprecated_set_frame_context): Declare.
+	* dwarf2cfi.c (UNWIND_CONTEXT): Use deprecated_get_frame_context.
+	(cfi_init_extra_frame_info): Use deprecated_set_frame_context.
+
+2003-01-07  Andrew Cagney  <cagney@redhat.com>
+
+	* frame.c (deprecated_set_frame_next_hack): New function.
+	(deprecated_set_frame_prev_hack): New function.
+	* frame.h (deprecated_set_frame_next_hack): Declare.
+	(deprecated_set_frame_prev_hack): Declare.
+	* mcore-tdep.c (analyze_dummy_frame): Use
+	deprecated_set_frame_next_hack and deprecated_set_frame_prev_hack.
+	* mn10300-tdep.c (analyze_dummy_frame): Ditto.
+
+2003-01-07  David Carlton  <carlton@math.stanford.edu>
+
+	* linespec.c (decode_line_1): Move code into decode_dollar.
+	(decode_dollar): New function.
+
+2003-01-07  Andrew Cagney  <cagney@redhat.com>
+
+	* arm-tdep.c (arm_init_extra_frame_info): Use
+	deprecated_update_frame_base_hack.
+	* xstormy16-tdep.c (xstormy16_scan_prologue): Ditto.
+	* mn10300-tdep.c (analyze_dummy_frame): Ditto.
+	(fix_frame_pointer): Ditto.
+	(mn10300_analyze_prologue): Ditto.
+
+2003-01-07  Andrew Cagney  <cagney@redhat.com>
+
+	* xstormy16-tdep.c (xstormy16_init_extra_frame_info): Allocate
+	extra_info using frame_extra_info_zalloc.
+	* sparc-tdep.c (sparc_init_extra_frame_info): Ditto.
+	* sh-tdep.c (sh_init_extra_frame_info): Ditto.
+	(sh64_init_extra_frame_info): Ditto.
+	* mn10300-tdep.c (mn10300_init_extra_frame_info): Ditto.
+	* s390-tdep.c (s390_init_extra_frame_info): Ditto.
+	* mips-tdep.c (mips_init_extra_frame_info): Ditto.
+	* mcore-tdep.c (mcore_init_extra_frame_info): Ditto.
+	* frv-tdep.c (frv_init_extra_frame_info): Ditto.
+	* m68hc11-tdep.c (m68hc11_init_extra_frame_info): Ditto.
+	* ia64-tdep.c (ia64_init_extra_frame_info): Ditto.
+	* h8300-tdep.c (h8300_init_extra_frame_info): Ditto.
+	* d10v-tdep.c (d10v_init_extra_frame_info): Ditto.
+	* cris-tdep.c (cris_init_extra_frame_info): Ditto.
+	* arm-tdep.c (arm_init_extra_frame_info): Ditto.
+	* alpha-tdep.c (alpha_init_extra_frame_info): Ditto.
+
+	* mn10300-tdep.c (analyze_dummy_frame): Use
+	deprecated_set_frame_extra_info_hack.
+	* mcore-tdep.c (analyze_dummy_frame): Ditto.
+
+2003-01-07  J. Brobecker  <brobecker@gnat.com>
+
+	* mdebugread.c (parse_symbol): Skip stProc entries which storage
+	class is not scText. These do not define "real" procedures.
+	(parse_partial_symbols): Likewise.
+
+2003-01-06  Michael Snyder  <msnyder@redhat.com>
+
+	* lin-lwp.c: Added or elaborated on "debug lin-lwp" info.
+
+2003-01-06  Andrew Cagney  <ac131313@redhat.com>
+
+	* frame.h (deprecated_frame_xmalloc_with_cleanup): Declare.
+	* frame.c (deprecated_frame_xmalloc_with_cleanup): New function.
+	* arm-tdep.c (arm_frame_chain): Allocate caller_fi using
+	deprecated_frame_xmalloc_with_cleanup.
+	* m32r-tdep.c (m32r_virtual_frame_pointer): Allocate `fi' using
+	deprecated_frame_xmalloc.
+	* mcore-tdep.c (analyze_dummy_frame): Ditto for dummy.
+	* mn10200-tdep.c (mn10200_frame_chain): Ditto for dummy_frame.
+
+2003-01-06  Andrew Cagney  <cagney@redhat.com>
+
+	* x86-64-linux-tdep.c: Include "osabi.h".
+	* Makefile.in (x86-64-linux-tdep.o): Update dependencies.
+
+	* sparc-tdep.c (sparc_dump_tdep): Fix typo, match -> mach.
+
+2003-01-06  Andrew Cagney  <cagney@redhat.com>
+
+	* MAINTAINERS (Target Instruction Set Architectures): Update
+	arm-elf.  Can be built with -Werror, has been multiarched.
+
+	* value.h (unpack_long): Make buffer parameter constant.
+	(unpack_double, unpack_pointer, unpack_field_as_long): Ditto.
+	* scm-lang.h (scm_parse): Ditto.
+	* defs.h (extract_typed_address, extract_address): Ditto.
+	(extract_long_unsigned_integer): Ditto.
+	* inferior.h (unsigned_pointer_to_address): Ditto.
+	(signed_pointer_to_address): Ditto.
+	* gdbarch.sh (POINTER_TO_ADDRESS): Ditto.
+	* gdbarch.h, gdbarch.c: Regenerate.
+	* findvar.c (extract_long_unsigned_integer): Update.
+	(extract_address): Update.
+	(extract_typed_address): Update.
+	(unsigned_pointer_to_address): Update.
+	* values.c (unpack_long): Update.
+	(unpack_double): Update.
+	(unpack_pointer): Update.
+	(unpack_field_as_long): Update.
+	* d10v-tdep.c (d10v_pointer_to_address): Update.
+	* avr-tdep.c (avr_pointer_to_address): Update.
+	* scm-lang.c (scm_unpack): Update.
+	* findvar.c (signed_pointer_to_address): Update.
+
+2003-01-06  Michal Ludvig  <mludvig@suse.cz>
+
+	* x86-64-linux-nat.c (i386_sse_regnum_p): Deleted. Not needed anymore
+	since it is in i386-tdep.c.
+
+2003-01-06  J. Brobecker  <brobecker@gnat.com>
+
+	* alpha-tdep.c (alpha_gdbarch_init): Fix a small compilation
+	failure introduced in the previous change.
+
+2003-01-05  Michael Chastain  <mec@shout.net>
+
+	* README: Remove references to deleted remote-*.c files:
+	remote-adapt.c, remote-eb.c, remote-mm.c, remote-nindy.c,
+	remote-nrom.c, remote-os9k.c, remote-udi.c.
+
+2003-01-05  Mark Kettenis  <kettenis@gnu.org>
+
+	* i386-tdep.c (i386_get_longjmp_target): Make usable on x86-64.
+	* x86-64-tdep.c (x86_64_init_abi): Remove FIXME about
+	i386_get_longjmp_target.
+
+2003-01-05  Andrew Cagney  <ac131313@redhat.com>
+
+	* arm-tdep.c (prologue_cache): Change to a pointer.
+	(_initialize_arm_tdep): Allocate prologue_cache.
+	(check_prologue_cache): Update.
+	(save_prologue_cache): Update.
+	(arm_gdbarch_init): Update.
+
+2003-01-04  Daniel Jacobowitz  <drow@mvista.com>
+
+	* stabsread.c (update_method_name_from_physname): Call complaint()
+	instead of error.
+
+2003-01-04  Daniel Jacobowitz  <drow@mvista.com>
+
+	* arm-tdep.c (arm_frame_chain_valid):  Remove unnecessary test.
+	* d10v-tdep.c (d10v_frame_chain_valid): Remove unnecessary tests.
+	* hppa-tdep.c (hppa_frame_chain_valid): Remove unnecessary test.
+
+	* blockframe.c: Include "gdbcmd.h" and "command.h".
+	(backtrace_below_main): New variable.
+	(file_frame_chain_valid, func_frame_chain_valid)
+	(nonnull_frame_chain_valid, generic_file_frame_chain_valid)
+	(generic_func_frame_chain_valid): Remove functions.
+	(frame_chain_valid, do_flush_frames_sfunc): New functions.
+	(_initialize_blockframe): New function.
+	* Makefile.in (blockframe.o): Update dependencies.
+	* frame.c (frame_saved_regs_id_unwind, get_prev_frame): Remove FIXME
+	comment.  Call frame_chain_valid ().
+	* frame.h: Remove old prototypes.  Add prototype for
+	frame_chain_valid and update comments to match.
+	* gdbarch.sh: Change FRAME_CHAIN_VALID into a predicated function.
+	Remove old comment.
+	* gdbarch.h: Regenerated.
+	* gdbarch.c: Regenerated.
+
+	* alpha-tdep.c (alpha_gdbarch_init): Don't call
+	set_gdbarch_frame_chain_valid.
+	* avr-tdep.c (avr_gdbarch_init): Likewise.
+	* cris-tdep.c (cris_gdbarch_init): Likewise.
+	* frv-tdep.c (frv_gdbarch_init): Likewise.
+	* h8300-tdep.c (h8300_gdbarch_init): Likewise.
+	* i386-tdep.c (i386_svr4_init_abi): Likewise.
+	(i386_nw_init_abi): Likewise.
+	(i386_gdbarch_init): Likewise.
+	* ia64-tdep.c (ia64_gdbarch_init): Likewise.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise.
+	* m68k-tdep.c (m68k_gdbarch_init): Likewise.
+	* mcore-tdep.c (mcore_gdbarch_init): Likewise.
+	* mips-tdep.c (mips_gdbarch_init): Likewise.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
+	* ns32k-tdep.c (ns32k_gdbarch_init): Likewise.
+	* ppcnbsd-tdep.c (ppcnbsd_init_abi): Likewise.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
+	* s390-tdep.c (s390_gdbarch_init): Likewise.
+	* sh-tdep.c (sh_gdbarch_init): Likewise.
+	* sparc-tdep.c (sparc_gdbarch_init): Likewise.
+	* v850-tdep.c (v850_gdbarch_init): Likewise.
+	* vax-tdep.c (vax_gdbarch_init): Likewise.
+	* x86-64-tdep.c (x86_64_init_abi): Likewise.
+
+	* config/m32r/tm-m32r.h (FRAME_CHAIN_VALID): Don't define.
+	* config/m68k/tm-apollo68b.h (FRAME_CHAIN_VALID): Likewise.
+	* config/m68k/tm-m68kv4.h (FRAME_CHAIN_VALID): Likewise.
+	* config/m68k/tm-monitor.h (FRAME_CHAIN_VALID): Likewise.
+	* config/m68k/tm-os68k.h (FRAME_CHAIN_VALID): Likewise.
+	* config/m68k/tm-vx68.h (FRAME_CHAIN_VALID): Likewise.
+	* config/mn10200/tm-mn10200.h (FRAME_CHAIN_VALID): Likewise.
+	* config/sparc/tm-sparclite.h (FRAME_CHAIN_VALID): Likewise.
+
+2002-01-04  Daniel Jacobowitz  <drow@mvista.com>
+
+	* Makefile.in (acconfig_h): Remove incorrect macro.
+	(config_h): Define.
+	(osabi.o): Update dependencies.
+	* configure.tgt: Set gdb_osabi based on target triplet.
+	* configure.in: Define GDB_OSABI_DEFAULT based on gdb_osabi.
+	* configure: Regenerated.
+	* config.in: Regenerated.
+	* osabi.c: Include "arch-utils.h", "gdbcmd.h", and "command.h".
+	(GDB_OSABI_DEFAULT): Define if not already defined.
+	(user_osabi_state, user_selected_osabi, gdb_osabi_available_names)
+	(set_osabi_string): New variables.
+	(gdbarch_register_osabi): Add new OS ABI to
+	gdb_osabi_available_names.
+	(gdbarch_lookup_osabi): Honor specified and default OS ABIs.
+	(set_osabi, show_osabi): New functions.
+	(_initialize_gdb_osabi): Add "set osabi" and "show osabi" commands.
+
+2003-01-04  Daniel Jacobowitz  <drow@mvista.com>
+
+	* arch-utils.c (gdbarch_info_init): Set osabi to
+	GDB_OSABI_UNINITIALIZED.
+	* gdbarch.sh: Add osabi to struct gdbarch and to struct
+	gdbarch_info.  Include "osabi.h" in gdbarch.c.  Check osabi
+	in gdbarch_list_lookup_by_info and in gdbarch_update_p.
+	* gdbarch.c: Regenerated.
+	* gdbarch.h: Regenerated.
+	* osabi.c (gdbarch_lookup_osabi): Return GDB_OSABI_UNINITIALIZED if
+	there's no BFD.
+	(gdbarch_init_osabi): Remove osabi argument; use info.osabi.
+	* osabi.h (enum gdb_osabi): Move to defs.h.
+	(gdbarch_init_osabi): Update prototype.
+	* defs.h (enum gdb_osabi): Moved here.
+	* Makefile.in: Update dependencies.
+
+	* alpha-tdep.h: Don't include "osabi.h".
+	(struct gdbarch_tdep): Remove osabi member.
+	* alpha-tdep.c: Include "osabi.h".
+	(alpha_gdbarch_init): Don't call gdbarch_lookup_osabi.  Don't
+	iterate over arches.  Update call to gdbarch_init_osabi.
+	(alpha_dump_tdep): Don't dump osabi.
+	* alpha-linux-tdep.c: Include "osabi.h".
+	* alpha-osf1-tdep.c: Include "osabi.h".
+	* alphafbsd-tdep.c: Include "osabi.h".
+	* alphanbsd-tdep.c: Include "osabi.h".
+
+	* arm-tdep.h: Don't include "osabi.h".
+	(struct gdbarch_tdep): Remove osabi member.
+	* arm-tdep.c: Include "osabi.h".
+	(arm_gdbarch_init): Don't call gdbarch_lookup_osabi.  Don't
+	iterate over arches.  Update call to gdbarch_init_osabi.
+	(arm_dump_tdep): Don't dump osabi.
+	* arm-linux-tdep.c: Include "osabi.h".
+	* armnbsd-tdep.c: Include "osabi.h".
+
+	* hppa-tdep.c (hppa_gdbarch_init): Don't call gdbarch_lookup_osabi.
+	Update call to gdbarch_init_osabi.
+
+	* i386-tdep.h: Don't include "osabi.h".
+	(struct gdbarch_tdep): Remove osabi member.
+	* i386-tdep.c: Include "osabi.h".
+	(i386_gdbarch_init): Don't call gdbarch_lookup_osabi.  Don't
+	iterate over arches.  Update call to gdbarch_init_osabi.
+	(i386_dump_tdep): Don't dump osabi.
+	* i386-linux-tdep.c: Include "osabi.h".
+	* i386-sol2-tdep.c: Include "osabi.h".
+	* i386bsd-tdep.c: Include "osabi.h".
+	* i386gnu-tdep.c: Include "osabi.h".
+	* i386ly-tdep.c: Include "osabi.h".
+	* i386nbsd-tdep.c: Include "osabi.h".
+	* i386obsd-tdep.c: Include "osabi.h".
+
+	* mips-tdep.c (struct gdbarch_tdep): Remove osabi member.
+	(mips_gdbarch_init): Don't call gdbarch_lookup_osabi.  Don't
+	check osabi when iterating over arches.  Update call to
+	gdbarch_init_osabi.
+	(mips_dump_tdep): Don't dump osabi.
+
+	* ns32k-tdep.h: Don't include "osabi.h".
+	(struct gdbarch_tdep): Remove.
+	* ns32k-tdep.c (ns32k_gdbarch_init): Don't call
+	gdbarch_lookup_osabi.  Don't iterate over arches.  Don't
+	allocate tdep.  Update call to gdbarch_init_osabi.
+	(ns32k_dump_tdep): Remove.
+	(_initialize_ns32k_tdep): Update call to gdbarch_register.
+	* ns32knbsd-tdep.c: Include "osabi.h".
+
+	* ppc-tdep.h: Don't include "osabi.h".
+	(struct gdbarch_tdep): Remove osabi member.
+	* rs6000-tdep.c: Include "osabi.h".
+	(rs6000_gdbarch_init): Don't call gdbarch_lookup_osabi.  Don't check
+	osabi when iterating over arches.  Update call to
+	gdbarch_init_osabi.
+	(rs6000_dump_tdep): Don't dump osabi.
+	* ppc-linux-tdep.c: Include "osabi.h".
+	* ppcnbsd-tdep.c: Include "osabi.h".
+
+	* sh-tdep.h: Don't include "osabi.h".
+	(struct gdbarch_tdep): Remove osabi member.
+	* sh-tdep.c: Include "osabi.h".
+	(sh_gdbarch_init): Don't call gdbarch_lookup_osabi.  Don't
+	iterate over arches.  Update call to gdbarch_init_osabi.
+	(sh_dump_tdep): Don't dump osabi.
+	* shnbsd-tdep.c: Include "osabi.h".
+
+	* sparc-tdep.c: Include "osabi.h".
+	(sparc_gdbarch_init): Don't call gdbarch_lookup_osabi.  Don't
+	iterate over arches.  Update call to gdbarch_init_osabi.
+	(sparc_dump_tdep): Don't dump osabi.  Do dump the rest of the
+	tdep structure.
+
+	* vax-tdep.h: Don't include "osabi.h".
+	(struct gdbarch_tdep): Remove.
+	* vax-tdep.c: Include "osabi.h".
+	(vax_gdbarch_init): Don't call gdbarch_lookup_osabi.  Don't
+	iterate over arches.  Don't allocate tdep.  Update call
+	to gdbarch_init_osabi.
+	(vax_dump_tdep): Remove.
+	(_initialize_vax_tdep): Update call to gdbarch_register.
+
+2003-01-04  Daniel Jacobowitz  <drow@mvista.com>
+
+	* breakpoint.c (insert_breakpoints): Skip disabled breakpoints
+	entirely.
+	(breakpoint_re_set_one): Don't fetch the value for a disabled
+	watchpoint.
+
+2003-01-04  Daniel Jacobowitz  <drow@mvista.com>
+
+	* buildsym.h (processing_hp_compilation): Remove obsolete variable.
+	* gdbarch.sh Remove include of "value.h" in gdbarch.h.
+	(COERCE_FLOAT_TO_DOUBLE): Remove.
+	* gdbarch.c: Regenerate.
+	* gdbarch.h: Regenerate.
+	* Makefile.in: Remove value_h from gdbarch_h.
+	* valops.c (coerce_float_to_double): New variable.
+	(default_coerce_float_to_double): Remove.
+	(standard_coerce_float_to_double): Remove.
+	(value_arg_coerce): Use coerce_float_to_double.
+	(_initialize_valops): Add "set coerce-float-to-double".
+	* value.h (default_coerce_float_to_double): Remove prototype.
+	(standard_coerce_float_to_double): Remove prototype.
+
+	* hpread.c (hpread_process_one_debug_symbol): Mark C++ functions as
+	prototyped.
+	* mdebugread.c (parse_symbol): Likewise.
+	* stabsread.c (define_symbol): Mark all functions as prototyped.
+
+	* hppa-tdep.c (hppa_coerce_float_to_double): Remove.
+	* alpha-tdep.c (alpha_gdbarch_init): Remove call to
+	set_gdbarch_coerce_float_to_double.
+	* arm-tdep.c (arm_gdbarch_init): Likewise.
+	* frv-tdep.c (frv_gdbarch_init): Likewise.
+	* h8300-tdep.c (h8300_gdbarch_init): Likewise (commented out).
+	* i386-sol2-tdep.c (i386_sol2_init_abi): Likewise.
+	* mips-tdep.c (mips_gdbarch_init): Likewise.
+	(mips_coerce_float_to_double): Remove.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
+	(rs6000_coerce_float_to_double): Remove.
+	* s390-tdep.c (s390_gdbarch_init): Likewise.
+	* sh-tdep.c (sh_gdbarch_init): Likewise.
+	(sh_coerce_float_to_double): Remove.
+	* sparc-tdep.c (sparc_gdbarch_init): Likewise.
+	(sparc_coerce_float_to_double): Remove.
+	* v850-tdep.c (v850_gdbarch_init): Likewise.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
+	* config/m32r/tm-m32r.h (COERCE_FLOAT_TO_DOUBLE): Remove.
+	* config/pa/tm-hppa.h: (COERCE_FLOAT_TO_DOUBLE): Remove.
+	(hppa_coerce_float_to_double): Remove prototype.
+	* config/sparc/tm-sparc.h (COERCE_FLOAT_TO_DOUBLE): Remove.
+
+2003-01-04  Daniel Jacobowitz  <drow@mvista.com>
+
+	* regformats/reg-m68k.dat: Remove fpcode and fpflags.
+
+2003-01-04  Daniel Jacobowitz  <drow@mvista.com>
+
+	Suggested by Stewart Brown <sb24@avaya.com>:
+	* c-typeprint.c (c_type_print_varspec_prefix): Pass value of show
+	in recursive calls.  Handle TYPE_CODE_TYPEDEF.
+	(c_type_print_varspec_suffix): Likewise.
+
+2003-01-04  Mark Kettenis  <kettenis@gnu.org>
+
+	* configure.in: Don't set and AC_SUBST SUBDIRS.
+	* configure: Regenerated.
+
+	* configure.in: Remove code dealing with shared libraries.
+	* Makefile.in: Remove HLDFLAGS and HLDENV.
+	* configure: Regenerated.
+
+2003-01-04  Andrew Cagney  <ac131313@redhat.com>
+
+	* frame.c (deprecated_frame_xmalloc): New function.
+	(deprecated_set_frame_saved_regs_hack): New function.
+	(deprecated_set_frame_extra_info_hack): New function.
+	* frame.h (deprecated_frame_xmalloc): Declare.
+	(deprecated_set_frame_saved_regs_hack): Declare.
+	(deprecated_set_frame_extra_info_hack): Declare.
+
+2003-01-04  Mark Kettenis  <kettenis@gnu.org>
+
+	* configure.in: Move code that provides the --enable-gdbtk option
+	right after the code that handles the --enable-tui option, and
+	polish it somewhat.
+	* configure: Regenerated.
+
+	* configure.in: Call AC_GNU_SOURCE.  Check for pread64 using
+	AC_CHECK_FUNCS and remove the old check for pread64.
+	* acinclude.m4 (AC_GNU_SOURCE): New macro.
+	* acconfig.h (_GNU_SOURCE): Add.
+	(HAVE_PREAD64): Remove.
+	* configure, aclocal.m4, config.in: Regenerated.
+
+2003-01-03  Andrew Cagney  <ac131313@redhat.com>
+
+	* alpha-tdep.c: Use get_frame_saved_regs.
+	* arm-tdep.c, avr-tdep.c, cris-tdep.c, d10v-tdep.c: Ditto.
+	* h8300-tdep.c, i386-tdep.c, ia64-tdep.c, m68hc11-tdep.c: Ditto.
+	* m68k-tdep.c, mcore-tdep.c, mips-tdep.c, mn10300-tdep.c: Ditto.
+	* ns32k-tdep.c, s390-tdep.c, sh-tdep.c, v850-tdep.c: Ditto.
+	* vax-tdep.c, xstormy16-tdep.c: Ditto.
+
+2003-01-03  Mark Kettenis  <kettenis@gnu.org>
+
+	* configure.in: Remove all use of the SUBDIRS variable; add
+	directories using the AC_CONFIG_SUBDIRS macro instead.  Polish
+	code providing the --enable-multi-ice option, and move it right in
+	front of the code that checks whether gdbserver is supported.
+	Polish that too.
+	* configure: Regenerated.
+	* Makefile.in (SUBDIRS): Substitute @subdirs@ instead of
+	@SUBDIRS@.
+
+2003-01-03  Andrew Cagney  <cagney@redhat.com>
+
+	* alpha-tdep.c: Use deprecated_update_frame_base_hack.
+	* avr-tdep.c, cris-tdep.c: Ditto.
+	* mcore-tdep.c, mips-tdep.c, mn10200-tdep.c: Ditto.
+	* sh-tdep.c, sparc-tdep.c, v850-tdep.c: Ditto.
+
+2003-01-03  Mark Kettenis  <kettenis@gnu.org>
+
+	* configure.in: Remove --enable-netrom option.
+	* configure: Regenerated.
+
+2003-01-03  Mark Kettenis  <kettenis@gnu.org>
+
+	* cli/cli-decode.h: Don't include "gdb_regex.h"; provide a forward
+	declaration for `struct re_pattern_buffer' instead.
+	* Makefile.in (cli_decode_h): Remove $(gdb_regex_h).
+
+2003-01-03  J. Brobecker  <brobecker@gnat.com>
+
+	* mdebugread.c (parse_symbol): Count until the stEnd matching
+	the structure name.
+
+2003-01-02  Mark Kettenis  <kettenis@gnu.org>
+
+	* configure.in: Remove --with-cpu option.
+	subscripts.  Remove evil changequotes here.
+	* acconfig.h (TARGET_CPU_DEFAULT): Remove.
+	* config.in, configure: Regenerated.
+
+	* acconfig.h (DEFAULT_BFD_ARCH, DEFAULT_BFD_VEC): Remove.
+	* configure.in: Cleanup section that sources GDB and BFD configure
+	subscripts.  Remove evil changequotes here.
+	* config.in, configure: Regenerated.
+
+2003-01-02  Andrew Cagney  <ac131313@redhat.com>
+
+	* arm-tdep.c: Use get_frame_pc and deprecated_update_frame_pc_hack
+	frame accessor methods.
+	* alpha-tdep.c, avr-tdep.c, cris-tdep.c, d10v-tdep.c: Ditto.
+	* dwarf2cfi.c, h8300-tdep.c, i386-tdep.c, ia64-tdep.c: Ditto.
+	* m68hc11-tdep.c, m68k-tdep.c, mcore-tdep.c, mips-tdep.c: Ditto.
+	* mn10200-tdep.c, mn10300-tdep.c, ns32k-tdep.c: Ditto.
+	* s390-tdep.c, sh-tdep.c, sparc-tdep.c, v850-tdep.c: Ditto.
+	* vax-tdep.c, x86-64-linux-tdep.c, xstormy16-tdep.c: Ditto.
+	* z8k-tdep.c: Ditto.
+
+2003-01-02  Mark Kettenis  <kettenis@gnu.org>
+
+	* configure.in: Remove UI_OUT configuration code.
+	* ada-lang.c: Update assuming UI_OUT is always true.
+	* Makefile.in (UIOUT_CFLAGS): Remove.
+	* configure: Regenerated.
+	* TODO: Remove blurb about elimination of -DUI_OUT.
+
+	* configure.in: Move code that provides the --enable-gdbcli,
+	--enable-gdbmi options right before the code that handles the
+	--enable-tui option.  Polish a bit.
+	* configure: Regenerated.
+
+	* configure.in: Rewrite check for GNU regex and the
+	--without-included regex option, and move it into the "Checks for
+	library functions" section.  This makes us use the system regex
+	again by default on systems with version 2 of the GNU C library.
+	This was apparently broken.
+	* gdb_regex.h [!USE_INCLUDED_REGEX] (_REGEX_RE_COMP): Define.
+	* acconfig.h (USE_INCLUDED_REGEX): Remove.
+	* config.in, configure: Regenerated.
+
+	* configure.in: Move code that provides the --enable-tui option
+	before the "Checks for libraries" section.  Polish the code
+	somewhat and set need_curses to yes if we build the TUI.  Rewrite
+	code that looks for a library providing termcap functionality to
+	match more closely what's done in the Readline library, and move
+	it into to the "Checks for libraries" section.
+	* configure: Regenerated.
+	* Makefile.in (TERMCAP): Remove variable.
+	* config/i386/go32.mh (TERMCAP): Remove variable.
+
+2003-01-02  Andrew Cagney  <ac131313@redhat.com>
+
+	* MAINTAINERS: Mention gdb_mbuild.sh.
+	* gdb_mbuild.sh: Rewrite.
+
+2003-01-02  Mark Kettenis  <kettenis@gnu.org>
+
+	* configure.in: Fix typo in last change.
+	* config.in, configure: Regenerated.
+
+2003-01-02  Andrew Cagney  <ac131313@redhat.com>
+
+	* valarith.c (value_binop): Delete obsolete code and comments.
+	* configure.host: Ditto.
+	* buildsym.h (make_blockvector): Ditto.
+	* buildsym.c (make_blockvector): Ditto.
+	* defs.h (enum language): Ditto.
+	(chill_demangle): Ditto.
+	* elfread.c (elf_symtab_read): Ditto.
+	* dwarfread.c (CHILL_PRODUCER): Ditto.
+	(set_cu_language): Ditto.
+	(handle_producer): Ditto.
+	* expprint.c (print_subexp): Ditto.
+	* gdbtypes.c (chill_varying_type): Ditto.
+	* gdbtypes.h (builtin_type_chill_bool): Ditto.
+	(builtin_type_chill_char, builtin_type_chill_long): Ditto.
+	(builtin_type_chill_ulong, builtin_type_chill_real): Ditto.
+	(chill_varying_type): Ditto.
+	* language.h (_LANG_chill): Ditto.
+	* language.c (binop_result_type, integral_type): Ditto.
+	(character_type, string_type, structured_type): Ditto.
+	(lang_bool_type, binop_type_check): Ditto.
+	* stabsread.h (os9k_stabs): Ditto.
+	* stabsread.c (os9k_type_vector, dbx_lookup_type): Ditto.
+	(define_symbol, read_type, read_struct_fields): Ditto.
+	(read_array_type, read_enum_type, read_huge_number): Ditto.
+	(read_range_type, start_stabs): Ditto.
+	* symfile.c (init_filename_language_table): Ditto.
+	(add_psymbol_with_dem_name_to_list): Ditto.
+	* symtab.c (symbol_init_language_specific): Ditto.
+	(symbol_init_demangled_name, symbol_demangled_name): Ditto.
+	* symtab.h (struct general_symbol_info): Ditto.
+	(SYMBOL_CHILL_DEMANGLED_NAME): Ditto.
+	* typeprint.c (typedef_print): Ditto.
+	* utils.c (fprintf_symbol_filtered): Ditto.
+	* valops.c (value_cast, search_struct_field, value_slice): Delete
+	obsolete code.
+	(varying_to_slice): Delete function.
+	* value.h (COERCE_VARYING_ARRAY): Delete obsolete macro contents.
+	(varying_to_slice): Delete declaration.
+	* MAINTAINERS: Update.
+
+2003-01-02  Mark Kettenis  <kettenis@gnu.org>
+
+	* configure.in: Reorganize "Checks for library functions section"
+	a bit.  Remove check for `btowc' and `isascii' functions.
+	* configure: Regenerated.
+
+	* acconfig.h (_MSE_INT_H): Remove.
+	* configure.in: Create "Checks for header files" section, and move
+	appropriate tests there.  Don't check for objlist.h, wchar.h,
+	wctype.h and asm/debugreg.h.  Rewrite Solaris 2.[78] <curses.h>
+	misdetection fix.  Also add "Checks for types", "Checks for
+	compiler characteristics" and "Checks for library functions"
+	sections.
+	* config.in, configure: Regenerated.
+
+	* configure.in: Create "Checks for programs" section, and move
+	appropriate tests there.
+
+2003-01-01  Mark Kettenis  <kettenis@gnu.org>
+
+	* configure.in: Create "Checks for libraries" section, and move
+	appropriate tests there.  Cleanup check for wctype in libw.  Use
+	AC_SEARCH_LIBS to see whether we need libsocket.
+	* configure: Regenerated.
+
+For older changes see ChangeLog-2002
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/gdb/config/sparc/linux64.mh b/gdb/config/sparc/linux64.mh
new file mode 100644
index 0000000..c1472de
--- /dev/null
+++ b/gdb/config/sparc/linux64.mh
@@ -0,0 +1,11 @@
+# Host: GNU/Linux UltraSPARC
+NAT_FILE= nm-linux.h
+NATDEPFILES= sparc-nat.o sparc64-nat.o sparc-sol2-nat.o sparc64-linux-nat.o \
+	corelow.o core-regset.o \
+	fork-child.o infptrace.o inftarg.o \
+	proc-service.o thread-db.o lin-lwp.o \
+	linux-proc.o gcore.o linux-nat.o
+
+# The dynamically loaded libthread_db needs access to symbols in the
+# gdb executable.
+LOADLIBES = -ldl -rdynamic
diff --git a/gdb/config/sparc/linux64.mt b/gdb/config/sparc/linux64.mt
new file mode 100644
index 0000000..4121314
--- /dev/null
+++ b/gdb/config/sparc/linux64.mt
@@ -0,0 +1,5 @@
+# Target: GNU/Linux UltraSPARC
+TDEPFILES= sparc64-tdep.o sparc64-sol2-tdep.o sparc64-linux-tdep.o \
+	sparc-tdep.o sparc-sol2-tdep.o sparc-linux-tdep.o \
+	solib.o solib-svr4.o solib-legacy.o
+TM_FILE= tm-linux.h
diff --git a/gdb/config/sparc/nm-sol2.h b/gdb/config/sparc/nm-sol2.h
new file mode 100644
index 0000000..bc9de3f
--- /dev/null
+++ b/gdb/config/sparc/nm-sol2.h
@@ -0,0 +1,65 @@
+/* Native-dependent definitions for Solaris SPARC.
+
+   Copyright 2003 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+#ifndef NM_SOL2_H
+#define NM_SOL2_H
+
+#define GDB_GREGSET_T prgregset_t
+#define GDB_FPREGSET_T prfpregset_t
+
+/* Shared library support.  */
+
+#include "solib.h"
+
+/* Hardware wactchpoints.  */
+
+/* Solaris 2.6 and above can do HW watchpoints.  */
+#ifdef NEW_PROC_API
+
+#define TARGET_HAS_HARDWARE_WATCHPOINTS
+
+/* The man page for proc(4) on Solaris 2.6 and up says that the system
+   can support "thousands" of hardware watchpoints, but gives no
+   method for finding out how many; It doesn't say anything about the
+   allowed size for the watched area either.  So we just tell GDB
+   'yes'.  */
+#define TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT(SIZE) 1
+
+/* When a hardware watchpoint fires off the PC will be left at the
+   instruction following the one which caused the watchpoint.  It will
+   *NOT* be necessary for GDB to step over the watchpoint.  */
+#define HAVE_CONTINUABLE_WATCHPOINT 1
+
+extern int procfs_stopped_by_watchpoint (ptid_t);
+#define STOPPED_BY_WATCHPOINT(W) \
+  procfs_stopped_by_watchpoint(inferior_ptid)
+
+/* Use these macros for watchpoint insertion/deletion.  TYPE can be 0
+   (write watch), 1 (read watch), 2 (access watch (read/write).  */
+
+extern int procfs_set_watchpoint (ptid_t, CORE_ADDR, int, int, int);
+#define target_insert_watchpoint(ADDR, LEN, TYPE) \
+        procfs_set_watchpoint (inferior_ptid, ADDR, LEN, TYPE, 1)
+#define target_remove_watchpoint(ADDR, LEN, TYPE) \
+        procfs_set_watchpoint (inferior_ptid, ADDR, 0, 0, 0)
+
+#endif /* NEW_PROC_API */
+
+#endif /* nm-sol2.h */
diff --git a/gdb/config/sparc/obsd.mt b/gdb/config/sparc/obsd.mt
new file mode 100644
index 0000000..800cb04
--- /dev/null
+++ b/gdb/config/sparc/obsd.mt
@@ -0,0 +1,4 @@
+# Target: OpenBSD/sparc
+TDEPFILES= sparc-tdep.o sparcnbsd-tdep.o sparcobsd-tdep.o nbsd-tdep.o \
+	corelow.o solib.o solib-svr4.o
+TM_FILE= tm-nbsd.h
diff --git a/gdb/config/sparc/obsd64.mt b/gdb/config/sparc/obsd64.mt
new file mode 100644
index 0000000..a692817
--- /dev/null
+++ b/gdb/config/sparc/obsd64.mt
@@ -0,0 +1,5 @@
+# Target: OpenBSD/sparc64
+TDEPFILES= sparc64-tdep.o sparc64nbsd-tdep.o sparc64obsd-tdep.o \
+	sparc-tdep.o sparcnbsd-tdep.o nbsd-tdep.o \
+	corelow.o solib.o solib-svr4.o
+TM_FILE= tm-nbsd.h
diff --git a/gdb/config/sparc/sol2-64.mt b/gdb/config/sparc/sol2-64.mt
new file mode 100644
index 0000000..92f8489
--- /dev/null
+++ b/gdb/config/sparc/sol2-64.mt
@@ -0,0 +1,3 @@
+# Target: Solaris UltraSPARC
+TDEPFILES= sparc64-tdep.o sparc64-sol2-tdep.o sparc-tdep.o sparc-sol2-tdep.o
+TM_FILE= tm-sol2.h
diff --git a/gdb/config/sparc/sol2.mh b/gdb/config/sparc/sol2.mh
new file mode 100644
index 0000000..735b9ee
--- /dev/null
+++ b/gdb/config/sparc/sol2.mh
@@ -0,0 +1,6 @@
+# Host: Solaris SPARC & UltraSPARC
+NAT_FILE= nm-sol2.h
+NATDEPFILES= sparc-sol2-nat.o \
+	corelow.o core-regset.o fork-child.o gcore.o \
+	procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o \
+	solib.o solib-svr4.o solib-legacy.o
diff --git a/gdb/config/sparc/sol2.mt b/gdb/config/sparc/sol2.mt
new file mode 100644
index 0000000..4037956
--- /dev/null
+++ b/gdb/config/sparc/sol2.mt
@@ -0,0 +1,3 @@
+# Target: Solaris SPARC
+TDEPFILES= sparc-tdep.o sparc-sol2-tdep.o
+TM_FILE= tm-sol2.h
diff --git a/gdb/config/sparc/sparc.mt b/gdb/config/sparc/sparc.mt
new file mode 100644
index 0000000..ea78c97
--- /dev/null
+++ b/gdb/config/sparc/sparc.mt
@@ -0,0 +1,2 @@
+# Target: SPARC
+TDEPFILES= sparc-tdep.o
diff --git a/gdb/config/sparc/sparc64.mt b/gdb/config/sparc/sparc64.mt
new file mode 100644
index 0000000..b1082be
--- /dev/null
+++ b/gdb/config/sparc/sparc64.mt
@@ -0,0 +1,2 @@
+# Target: UltraSPARC
+TDEPFILES= sparc-tdep.o sparc64-tdep.o
diff --git a/gdb/config/sparc/tm-sol2.h b/gdb/config/sparc/tm-sol2.h
new file mode 100644
index 0000000..d111c1a
--- /dev/null
+++ b/gdb/config/sparc/tm-sol2.h
@@ -0,0 +1,40 @@
+/* Target-dependent definitions for Solaris SPARC.
+
+   Copyright 2003 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+#ifndef TM_SOL2_H
+#define TM_SOL2_H
+
+#define GDB_MULTI_ARCH GDB_MULTI_ARCH_TM
+
+/* The Sun compilers (Sun ONE Studio, Forte Developer, Sun WorkShop,
+   SunPRO) compiler puts out 0 instead of the address in N_SO stabs.
+   Starting with SunPRO 3.0, the compiler does this for N_FUN stabs
+   too.  */
+#define SOFUN_ADDRESS_MAYBE_MISSING
+
+/* The Sun compilers also do "globalization"; see the comment in
+   sparc-tdep.c for more information.  */
+extern char *sparc_stabs_unglobalize_name (char *name);
+#define STATIC_TRANSFORM_NAME(name) \
+  sparc_stabs_unglobalize_name (name)
+#define IS_STATIC_TRANSFORM_NAME(name) \
+  ((name) != sparc_stabs_unglobalize_name (name))
+
+#endif /* tm-sol2.h */
diff --git a/gdb/config/sparc/tm-vxworks.h b/gdb/config/sparc/tm-vxworks.h
new file mode 100644
index 0000000..7b04748
--- /dev/null
+++ b/gdb/config/sparc/tm-vxworks.h
@@ -0,0 +1,31 @@
+/* Target-dependent defenitions for VxWorks SPARC.
+
+   Copyright 1993, 1999, 2004 Free Software Foundation, Inc.
+   Contributed by Cygnus Support.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef TM_VXWORKS_H
+#define TM_VXWORKS_H
+
+#define GDB_MULTI_ARCH GDB_MULTI_ARCH_TM
+
+/* Get generic VxWorks definitions.  */
+#include "config/tm-vxworks.h"
+
+#endif /* tm-vxworks.h */
diff --git a/gdb/config/sparc/vxworks.mt b/gdb/config/sparc/vxworks.mt
new file mode 100644
index 0000000..175f92e
--- /dev/null
+++ b/gdb/config/sparc/vxworks.mt
@@ -0,0 +1,4 @@
+# Target: VxWorks SPARC
+TDEPFILES= sparc-tdep.o \
+	remote-vx.o remote-vxsparc.o xdr_ld.o xdr_ptrace.o xdr_rdb.o
+TM_FILE= tm-vxworks.h
diff --git a/gdb/mi/ChangeLog-1999-2003 b/gdb/mi/ChangeLog-1999-2003
new file mode 100644
index 0000000..4821597
--- /dev/null
+++ b/gdb/mi/ChangeLog-1999-2003
@@ -0,0 +1,2180 @@
+2003-11-06  Andrew Cagney  <cagney@redhat.com>
+
+	* mi-cmd-var.c (mi_cmd_var_set_format): Replace STREQN with
+	strncmp.
+
+2003-10-24  Andrew Cagney  <cagney@redhat.com>
+
+	* tui-out.c: Fix "fortunatly"[sic].
+
+2003-10-02  Andrew Cagney  <cagney@redhat.com>
+
+	* mi-main.c: Rename REGISTER_RAW_SIZE to
+	DEPRECATED_REGISTER_RAW_SIZE.
+
+2003-09-30  Andrew Cagney  <cagney@redhat.com>
+
+	* mi-main.c: Rename REGISTER_VIRTUAL_SIZE to
+	DEPRECATED_REGISTER_VIRTUAL_SIZE.
+
+2003-09-17  Andrew Cagney  <cagney@redhat.com>
+
+	* mi-main.c: Rename REGISTER_BYTE to DEPRECATED_REGISTER_BYTE.
+
+2003-09-10  Elena Zannoni  <ezannoni@redhat.com>
+
+	* mi-main.c (mi_setup_architecture_data): Don't use
+	DEPRECATED_REGISTER_BYTES because some architecture don't set it
+	and its default is 0. 
+
+2003-08-08  Andrew Cagney  <cagney@redhat.com>
+
+	* mi-main.c (captured_mi_execute_command): Add "mi2" and "mi3" to
+	interpreters that hack around CLI.
+	* mi-interp.c (mi3_command_loop): New function.
+	(mi_interpreter_resume): Check for "mi3", default to "mi2".
+
+2003-08-07  Andrew Cagney  <cagney@redhat.com>
+
+	* mi-interp.c (_initialize_mi_interp): Register "mi2" and "mi3".
+	Make "mi" select "mi2".
+
+2003-08-05  Andrew Cagney  <cagney@redhat.com>
+
+	* mi-cmd-env.c (env_execute_cli_command): Use an explicit "%s %s"
+	when constructing the run command.
+	(mi_cmd_env_cd, mi_cmd_env_path, mi_cmd_env_dir): Simplify command
+	string removing the "%s".
+
+2003-08-04  Andrew Cagney  <cagney@redhat.com>
+
+	* mi-cmds.h (struct mi_cli): Define.
+	(struct mi_cmd): Change type of "cli" to "struct mi_cli".
+	* mi-cmds.c (mi_cmds): Update table.
+	* mi-parse.c (mi_parse): Update.
+	* mi-main.c (mi_execute_cli_command): Add "args_p" parameter, make
+	others constant.
+	(mi_cmd_execute): Update call.
+	(captured_mi_execute_command): Ditto.
+
+2003-08-04  David Carlton  <carlton@kealia.com>
+
+	* mi-main.c (mi_error_last_message): Add "%s" second argument to
+	xasprintf call.
+
+2003-06-28  Daniel Jacobowitz  <drow@mvista.com>
+
+	* mi-out.c (mi_ui_out_impl): Add NULL for redirect member.
+
+2003-06-17  Daniel Jacobowitz  <drow@mvista.com>
+
+        * mi-cmds.c (mi_cmds): Add "-target-disconnect".
+
+2003-06-11  David Carlton  <carlton@bactrian.org>
+
+	* mi-cmd-stack.c: Include dictionary.h.
+	(list_args_or_locals): Update use of ALL_BLOCK_SYMBOLS.
+
+2003-06-11  Andrew Cagney  <cagney@redhat.com>
+
+	* mi-main.c (get_register): Replace REGISTER_CONVERTIBLE with
+	DEPRECATED_REGISTER_CONVERTIBLE.
+
+2003-06-08  Andrew Cagney  <cagney@redhat.com>
+
+	* mi-parse.c (_initialize_mi_parse): Delete function.
+	* mi-main.c: Include "mi-main.h".
+	* mi-interp.c (_initialize_mi_interp): Add declaration.
+	* mi-cmd-stack.c: Include "stack.h".
+	(select_frame_command_wrapper): Delete extern declaration.
+	(mi_cmd_stack_select_frame): Replace select_frame_command_wrapper
+	with select_frame_command.
+
+2003-05-16  Andrew Cagney  <cagney@redhat.com>
+
+	* mi-main.c (mi_setup_architecture_data): 
+
+2003-05-12  Elena Zannoni  <ezannoni@redhat.com>
+
+	* mi-mi-cmd-stack.c (list_args_or_locals): Rename VAR_NAMESPACE to
+	VAR_DOMAIN.
+
+2003-05-11  Andrew Cagney  <cagney@redhat.com>
+
+	* mi-symbol-cmds.c: Rename "mi-cmd-symbol.c", avoid 8.3 problem.
+
+2003-05-08  Andrew Cagney  <cagney@redhat.com>
+
+	* mi-main.c (register_changed_p): Use MAX_REGISTER_SIZE instead of
+	MAX_REGISTER_RAW_SIZE.
+
+2003-05-08  Andrew Cagney  <cagney@redhat.com>
+
+	* mi-main.c (get_register): Use MAX_REGISTER_SIZE.
+
+2003-05-05  Andrew Cagney  <cagney@redhat.com>
+
+	* mi-main.c (mi_cmd_data_write_register_values): Replace
+	REGISTER_SIZE with DEPRECATED_REGISTER_SIZE.
+
+2003-05-03  J. Brobecker  <brobecker@gnat.com>
+
+	From  Thierry Schneider  <tpschneider1@yahoo.com>:
+	* mi-cmds.h (mi_cmd_symbol_list_lines): Add declaration.
+	* mi-cmds.c (mi_cmds): Add entry for new MI command.
+	* mi-cmd-symbol.c (mi_cmd_symbol_list_lines): New source file
+	for all symbol-related commands.
+
+2003-04-02  Bob Rossi  <bob_rossi@cox.net>
+
+	* mi-cmd-file.c: New file to implement mi file commands.
+	* mi-getopt.c (mi_valid_noargs): Added mi_valid_noargs to verify 
+        if a set of parameters passed to an MI function has no arguments
+	* mi-getopt.h (mi_valid_noargs): Declare.
+	* mi-cmds.c (mi_cmds): Added -file-list-exec-source-file command.
+	* mi-cmds.h (mi_cmd_file_list_exec_source_file): Declare.
+
+2003-03-27  Andrew Cagney  <cagney@redhat.com>
+
+	* gdbmi.texinfo: Delete file.  Contents moved to
+	../doc/gdb.texinfo.
+
+2003-03-12  Andrew Cagney  <cagney@redhat.com>
+
+	* mi-main.c (get_register): Use frame_register instead of
+	get_saved_register.
+
+2003-03-08  Andrew Cagney  <cagney@redhat.com>
+
+	* mi-out.c: Update copyright.
+	(mi_out_data): Define typedef.  Use instead of ui_out_data.
+
+2003-03-01  Andrew Cagney  <cagney@redhat.com>
+
+	* mi-main.c (get_register): Use register_type instead of
+	REGISTER_VIRTUAL_TYPE.
+
+2003-02-25  David Carlton  <carlton@math.stanford.edu>
+
+	* mi-cmd-stack.c: Replace all instances of SYMBOL_NAME with
+	DEPRECATED_SYMBOL_NAME.  Update copyright.
+
+2003-02-21  Daniel Jacobowitz  <drow@mvista.com>
+
+	* mi-cmd-stack.c (list_args_or_locals): Handle LOC_COMPUTED and
+	LOC_COMPUTED_ARG.
+
+2003-02-19  David Carlton  <carlton@math.stanford.edu>
+
+	* mi-cmd-stack.c: #include "block.h"
+
+2003-02-09  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-interp.c (mi_remove_notify_hooks): Convert function
+	definition to ISO C.
+
+2003-02-06  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-cmd-env.c: Include "gdb_stat.h" instead of <sys/stat.h>.
+
+2003-02-04  Jim Ingham <jingham@apple.com>
+	    Keith Seitz  <keiths@redhat.com>
+            Elena Zannoni  <ezannoni@redhat.com>
+            Andrew Cagney  <ac131313@redhat.com>
+	
+	* mi-main.h: New file.
+	* mi-interp.c: New file.
+	* mi-main.c: Include "interps.h".
+	(mi_error_message): Make global.
+	(mi_input): Delete static function, moved to "mi-interp.c".
+	(mi_execute_command, mi_execute_command_wrapper): Ditto.
+	(mi_command_loop, mi1_command_loop, mi2_command_loop): Ditto.
+	(mi_load_progress): Make non-static.
+	(mi_error_last_message): New function.
+	(captured_mi_execute_command): If the interpreter changed, don't
+	print anything.
+	(mi_load_progress): Use current_interp_named_p.
+	(mi_init_ui): Delete function.
+	(_initialize_mi_main): Don't install the mi interpreter, handled
+	by "mi-interp.c".
+	(mi_exec_async_cli_cmd_continuation): Make static.
+	* mi-console.h (mi_console_file_new): Add `quote' parameter.
+	* mi-console.c (struct mi_console_file): Add `quote'.
+	(mi_console_file_new): Add `quote' parameter.  Initialize `quote'.
+	(mi_console_raw_packet): Only quote the output when `quote'.
+	* mi-cmds.h (mi_cmd_interpreter_exec): Declare.
+	(mi_error_message, mi_error_last_message): Declare.
+	(mi_execute_command): Declare.
+	* mi-cmds.c: Add `interpreter-exec' command.
+
+2003-02-04  Andrew Cagney  <ac131313@redhat.com>
+
+	From Keith Seitz <keiths@redhat.com>:
+	* gdbmi.texinfo (GDB/MI Miscellaneous Commands): Document the
+	interpreter-exec command.
+
+2003-02-02  Andrew Cagney  <ac131313@redhat.com>
+
+	From 2002-11-10 Jason Molenda (jason-cl@molenda.com):
+        * mi-cmd-var.c (mi_cmd_var_list_children): CHILDREN field is
+        now a list; still a tuple when in mi1.
+        * gdbmi.texinfo: Update var-list-children example.
+
+2003-01-13  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-cmd-env.c: Update copyright.
+
+2003-01-13  Elena Zannoni  <ezannoni@redhat.com>
+
+	* mi-main.c (mi_cmd_exec_return): Use print_stack_frame instead of
+	show_and_print_stack_frame.
+
+2003-01-09  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-cmd-env.c: Include "gdb_string.h" instead of <string.h>.
+	Move all includes to after "defs.h".
+
+2002-12-13  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* mi-cmds.c (-environment-directory) Change to use mi_cmd_env_dir,
+	(-environment-cd): Change to use mi_cmd_env_cd,.
+	(-environment-pwd): Change to use mi_cmd_env_pwd.
+	(-environment-path): Change to use mi_cmd_env_path.
+	* mi-cmds.h (mi_cmd_env_cd, mi_cmd_env_dir): New prototypes.
+	(mi_cmd_env_path, mi_cmd_env_pwd): Ditto.
+	* mi-cmd-env.c: New file.  Part of fix for PR gdb/741.
+	* gdbmi.texinfo (environment-cd): Update output and example.
+	(environment-pwd): Ditto.
+	(environment-dir): Update output, description, and examples.
+	(environment-path): Ditto.
+
+2002-11-29  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi/mi-cmd-stack.c, mi/mi-main.c: Update to use
+	deprecated_selected_frame.
+
+2002-11-13  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-main.c (mi_cmd_data_write_register_values): Use
+	deprecated_write_register_bytes instead of write_register_bytes.
+
+2002-11-11  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* gdbmi.texinfo (-var-assign): Add comments about interaction
+	with -var-update and add an example.  Part of fix for gdb/702.
+
+2002-11-08  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* mi-main.c (mi_command_loop): Initialize raw_stdout and gdb_stdout 
+	only if mi version is <= 1.
+	(mi_init_ui): Initialize raw_stdout and gdb_stdout if mi version 
+	is > 1 so startup message is treated as console output.  This is 
+	part of fix for PR gdb/604.
+
+2002-11-06  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* mi-cmd-var.c (mi_cmd_var_create): Change the function used to 
+	parse the frame addr from parse_and_eval_address() to 
+	string_to_core_addr().  This is a fix for PR gdb/494.
+
+2002-10-23  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* mi-cmd-var.c: Change all remaining occurrences of ui_out_tuple_begin 
+	to make_cleanup_ui_out_tuple_begin_end.  Change all remaining 
+	occurrences of ui_out_list_begin to make_cleanup_ui_out_list_begin_end.
+	Use do_cleanups instead of ui_out_list_end or ui_out_tuple_end.  This 
+	is a fix for PR gdb/680.
+	* mi-cmd-stack.c: Ditto.
+	* mi-main.c: Ditto.
+
+2002-10-22  Keith Seitz  <keiths@redhat.com>
+
+	* mi-main.c (mi_cmd_thread_select): Only return MI_CMD_CAUGHT_ERROR
+	when we really did catch an error(). If we got GDB_RC_FAIL, return
+	MI_CMD_ERROR instead.
+
+2002-10-03  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* gdbmi.texinfo: Fix examples that show frames to remove
+	extraneous blank in level field.  Part of fix for PR gdb/192.
+        
+2002-10-03  Jeff Johnston  <jjohnstn@redhat.com>
+        
+	* mi-cmd-var.c (mi_cmd_var_update): Fix for PR gdb/672.  For m2, 
+	output list begin and end for "changelist" rather than tuple begin/end.
+	(varobj_update_one): For m2, add tuple begin and end for varobj 
+	update output.
+
+2002-10-02  Elena Zannoni  <ezannoni@redhat.com>
+
+	* mi-main.c (mi_cmd_exec_return): Don't use
+	return_command_wrapper, use return_command instead.
+	(mi_cmd_exec_interrupt): Don't use
+	interrupt_target_command_wrapper, use interrupt_target_command
+	instead.
+	(return_command_wrapper, interrupt_target_command_wrapper):
+	Delete.
+	Include frame.h.
+
+2002-10-01  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-main.c (mi2_command_loop): New function.
+	(mi0_command_loop): Delete function.
+	(_initialize_mi_main): Recognize, and default to, "mi2".  Do not
+	recognize "mi0".
+	* mi-out.c (mi_table_begin): Remove mi0 code.
+	(mi_table_body, mi_table_end): Ditto.
+	(mi_table_header, mi_open, mi_close): Ditto.
+
+2002-09-29  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-out.c (mi_version): New function.
+	* mi-out.h (mi_version): Declare.
+
+2002-09-27  Andrew Cagney  <ac131313@redhat.com>
+
+	From 2002-07-12 Mo DeJong <supermo@bayarea.net>
+	* gdbmi.texinfo (var-evaluate-expression): Note that
+	var-list-children must be invoked before child variable
+	values can be evaluated.
+
+2002-09-26  Elena Zannoni  <ezannoni@redhat.com>
+
+        * mi-cmd-disas.c (dump_insns): Add text only output for CLI.
+        (do_mixed_source_and_assembly): Ditto.
+
+2002-09-11  Keith Seitz  <keiths@redhat.com>
+
+	* mi-main.c (mi_cmd_data_list_register_names): Use cleanups
+	for the uiout list. Do the cleanups when returning an error.
+	(mi_cmd_data_list_changed_registers): Ditto.
+	(mi_cmd_data_list_register_values): Use cleanups for the uiout list
+	and tuples. Do the cleanups when returning errors.
+
+2002-07-29  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-cmd-var.c: Include "gdb_string.h".
+	* mi-cmd-disas.c: Ditto.
+
+2002-06-17  Keith Seitz  <keiths@redhat.com>
+
+	* gdbmi.texinfo: Update command examples with real MI behavior.
+
+2002-05-20  Keith Seitz  <keiths@redhat.com>
+
+	* mi-main.c (captured_mi_execute_command): Add uiout parameter.
+	"data" is now a structure which is used to pass data to/from this
+	function to mi_execute_command.
+	Modify function to comply with requirements from catch_exceptions.
+	Store real return result and command's return result in data.
+	(mi_execute_command): Use catch_exceptions.
+	Use enum to handle actions to be performed instead of overloading
+	catch_errors return result and the mi return result.
+
+2002-04-14  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-main.c (mi_cmd_exec_return): 
+
+2002-04-09  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-main.c (register_changed_p): Use frame_register_read instead
+	of read_relative_register_raw_bytes.
+	(get_register): Delete out-of-date comment.
+
+2002-04-07  Elena Zannoni  <ezannoni@redhat.com>
+
+        * mi-cmd-disas.c: Run through indent.
+
+2002-04-07  Elena Zannoni  <ezannoni@redhat.com>
+
+        * mi-cmd-disas.c (dump_insns): New function.
+        (do_mixed_source_and_assembly): New function.
+        (do_assembly_only): New function.
+        (do_disassembly): New function.
+        (mi_cmd_disassemble): Rewrite using smaller, more modular
+        functions.
+
+2002-04-05  Jim Blandy  <jimb@redhat.com>
+
+	* mi-cmd-stack.c (list_args_or_locals): Pass new arg to
+	get_frame_block.  (See entry in gdb/ChangeLog.)
+
+2002-04-05  Elena Zannoni  <ezannoni@redhat.com>
+
+	* mi-cmd-disas.c (mi_cmd_disassemble): Use TARGET_PRINT_INSN
+	instead of tm_print_insn.
+	Update copyright year.
+
+2002-04-04  Daniel Jacobowitz  <drow@mvista.com>
+
+	* mi-cmd-disas.c (mi_cmd_disassemble): Skip end-of-function
+	markers in the line table.
+
+2002-03-15  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-main.c (XMALLOC): Delete macro.
+	* mi-out.c (XMALLOC): Ditto.
+	* mi-parse.c (XMALLOC): Ditto.
+	* mi-console.c (XMALLOC): Ditto.
+	* mi-cmd-var.c (XMALLOC): Ditto.
+	* mi-cmd-break.c (XMALLOC): Ditto.
+	
+	* mi/mi-cmd-var.c, mi/mi-console.c, mi/mi-out.c: Update copyright
+	* mi/mi-parse.c: Ditto.
+
+2002-02-24  Andrew Cagney  <ac131313@redhat.com>
+
+	From wiz at danbala:
+	* gdbmi.texinfo: Fix grammar and typos.
+	Fix PR gdb/287.
+
+2002-02-03  Jim Blandy  <jimb@redhat.com>
+
+	* mi-cmd-stack.c (list_args_or_locals): Move declaration of
+	print_me inside the loop body, so it gets re-initialized every
+	iteration.  The cases for the different symbol kinds leave
+	print_me unchanged if they don't want the symbol printed.
+
+2002-01-22  Andrew Cagney  <ac131313@redhat.com>
+
+	* gdbmi.texinfo: Remove makeinfo 3.12 hacks.
+
+2002-01-21  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-cmd-stack.c: Remove #else clause of #ifdef UI_OUT.
+	* mi-cmd-break.c: Ditto.
+	* mi-main.c: Ditto.
+
+2001-12-30  Eli Zaretskii  <eliz@is.elta.co.il>
+
+	* gdbmi.texinfo: Fix the application of GFDL in the Copyright notice.
+
+2001-10-12  Daniel Jacobowitz  <drow@mvista.com>
+
+	* mi-cmd-stack.c (list_args_or_locals): Use ALL_BLOCK_SYMBOLS.
+
+2001-09-18  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-main.c (mi_cmd_thread_select): Pass uiout to
+	gdb_thread_select.
+	(mi_cmd_thread_list_ids): Pass uiout to gdb_list_thread_ids.
+
+	* mi-cmd-break.c (breakpoint_notify): Pass uiout to
+	gdb_breakpoint_query.
+
+2001-08-17  Keith Seitz  <keiths@redhat.com>
+
+	* mi-cmd-var.c (varobj_update_one): Update call to
+	varobj_update to reflect recent api change.
+
+2001-07-26  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-main.c: Include "gdb.h".
+	* mi-cmd-break.c: Include "gdb.h".
+
+2001-07-12  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-main.c (mi_execute_command): Flush output after ``(gdb)''
+	prompt.  Bug reported by David Whedon.
+	(mi_execute_async_cli_command): Ditto.
+	(mi_exec_async_cli_cmd_continuation): Ditto.
+	(mi_command_loop): Ditto.
+
+2001-07-10  Mark Kettenis  <kettenis@gnu.org>
+
+	* mi-out.c (mi_out_new): Initialize suppress_ouput field of newly
+	created `struct ui_out_data'.
+
+2001-07-09  Kevin Buettner  <kevinb@redhat.com>
+
+	* mi-main.c (register_changed_p, get_register): Use alloca()
+	to allocate space previously allocated via gcc's
+	variable-length array extension.
+	(mi_cmd_data_write_register_values, mi_cmd_data_write_memory):
+	Change type of ``buffer'' to ``void *''.  Don't cast return value
+	from xmalloc().  Add a cleanup to free the xmalloc'd buffer.
+
+2001-07-07  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-main.c (mi_cmd_data_evaluate_expression): Replace value_ptr
+	with `struct value *'.
+
+2001-07-08  Kevin Buettner  <kevinb@redhat.com>
+
+	* mi-out.c (mi_table_header, mi_field_int, mi_field_skip)
+	(mi_field_string) Make function declarators match earlier
+	declarations.
+
+2001-07-04  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-out.c (mi_ui_out_impl): Initialize is_mi_like_p to one.
+
+2001-06-27  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-out.c (mi_table_begin): Include nr_cols and nr_rows in mi1
+	table output.
+	* mi-out.c (mi_table_begin): Only suppress output when mi0. Change
+	the header to a list.
+	(mi_table_body): For mi1, close the header list and open a table
+	body list.
+	(mi_table_end): For mi1, close the body list.
+	(mi_table_header): For mi1, output a tuple containing all the
+	header information.
+	(mi_open, mi_close): Reverse logic of mi_version test.
+	* gdbmi.texinfo (GDB/MI Breakpoint Table Commands): Update.
+
+2001-06-26  Andrew Cagney  <ac131313@redhat.com>
+
+	* gdbmi.texinfo (GDB/MI Output Syntax): Delete reference to query
+	packet.
+
+2001-06-26  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-cmd-stack.c (list_args_or_locals): Output a list of "args" or
+	"locals" entries.
+	* gdbmi.texinfo (stack-list-locals, stack-list-arguments)
+	(exec-interrupt, target-select, thread-select): Update
+	documentation.
+
+2001-06-26  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-cmd-stack.c (mi_cmd_stack_list_frames): Output a list of
+	"stack" entries.
+	(mi_cmd_stack_list_args): Ditto for "stack-args".
+	* gdbmi.texinfo (stack-list-frames, stack-list-arguments): Update
+	documentation.
+	(GDB/MI Stack Manipulation Commands): Fix section title.  Was
+	Stack Manipulation Commands in GDB/MI.
+
+2001-06-25  Andrew Cagney  <ac131313@redhat.com>
+
+	* gdbmi.texinfo: Update output examples that contain stop reason
+	output, change the args=.... to a list.
+	(exec-return): Ditto.
+
+2001-06-25  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-main.c (mi_cmd_data_read_memory): Output the memory contents
+	- memory and data - as a list.
+	* gdbmi.texinfo (data-read-memory): Update documentation.
+
+2001-06-25  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-main.c (mi_cmd_data_list_register_values): Output a list of
+	register values.
+	* gdbmi.texinfo (data-list-register-values): Update documentation.
+
+2001-06-25  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-main.c (mi_cmd_data_list_register_names): Output a list of
+	register names.
+	(mi_cmd_data_list_register_names): Include the pseudo registers.
+	(mi_cmd_data_list_register_names): Don't leave holes in the list,
+	output "" for NULL registers.
+	* gdbmi.texinfo (data-list-register-names): Update documentation.
+
+2001-06-23  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-main.c (mi_cmd_data_list_changed_registers): Output a list of
+	register numbers.
+	* gdbmi.texinfo (data-list-changed-registers): Update
+	documentation.
+	
+2001-06-23  Andrew Cagney  <ac131313@redhat.com>
+
+	* gdbmi.texinfo (data-disassemble): Update documentation of
+	output.  Produces a list of instructions and a list of source
+	lines.
+
+2001-06-22  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-cmd-disas.c (mi_cmd_disassemble): For "-data-disassemble",
+	output a list instead of a tupple.
+
+2001-06-21  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-out.c (struct ui_out_data): Replace field first_header with
+	suppress_output.
+	(mi_begin, mi_end): Check suppress_header.
+	(mi_field_int, mi_field_skip): Ditto.
+	(mi_field_string, mi_field_fmt): Ditto.
+	(mi_table_begin): When nr_rows is zero, set suppress_header else,
+	output the start of the header.
+	(mi_table_body): Clear suppress header.
+
+2001-06-21  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-out.c (mi_open): For lists, when mi_version > 0, use ``[''.
+	(mi_close): Ditto for ``]''.
+
+2001-06-20  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-out.c (mi_table_header): Add parameter ``col_name''.
+
+2001-06-18  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-out.c: Include "gdb_assert.h".
+	(mi_table_begin): Add parameter ``nr_rows''.
+
+2001-06-18  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-main.c: Use strncmp as the "mi" test.  Allow "mi", "mi0" and
+	"mi1".
+	(mi_command_loop): Add parameter mi_version, pass to mi_out_new.
+	(mi1_command_loop, mi0_command_loop): New functions.
+	(_initialize_mi_main): Recognize "mi", "mi0" and "mi1".
+	* mi-out.c (mi_out_new): Add parameter mi_version.
+	(struct ui_out_data): Add field mi_version.
+	* mi-out.h (mi_out_new): Update.
+
+2001-06-07  Andrew Cagney  <ac131313@redhat.com>
+
+	* gdbmi.texinfo (GDB/MI Output Syntax): Add tuples and lists to
+	syntax.
+	(GDB/MI Draft Changes to Output Syntax): Delete section.
+	
+Mon Jun 11 17:22:25 2001  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-out.c: Fix typo. s/supress/suppress/.
+
+2001-06-09  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-out.c (mi_table_end, mi_table_begin, mi_begin, mi_end): Move
+	supress_field_separator updates from here.
+	(mi_open, mi_close): To here.
+	(mi_open): Add parameter name. Output a field_separator.
+	(mi_table_begin): Update.
+	(mi_table_header): Update.
+	(mi_begin): Update.
+
+2001-06-09  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-out.c (mi_table_begin): Make char* parameters constant.
+	(mi_table_header): Ditto.
+	(mi_field_int): Ditto.
+	(mi_field_skip): Ditto.
+	(mi_field_string): Ditto.
+	(mi_field_fmt): Ditto.
+	(mi_text): Ditto.
+	(mi_message): Ditto.
+
+2001-05-12  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-out.c (mi_close, mi_open): Output ``[]'' when a list.
+
+Fri May 11 13:55:07 2001  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-cmd-var.c: Replace ui_out_list_begin, ui_out_list_end and
+ 	make_cleanup_ui_out_list_end with ui_out_tupple_begin,
+ 	ui_out_tupple_end and make_cleanup_ui_out_tupple_begin_end.
+	* mi-cmd-stack.c: Ditto.
+	* mi-cmd-disas.c: Ditto.
+	* mi-main.c: Ditto.
+
+2001-05-10  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-out.c (mi_open, mi_close): Replace list_open and list_close.
+	(mi_table_begin): Update.
+	(mi_table_header): Update.
+	(mi_begin): Update.
+	(mi_table_body): Update.
+	(mi_table_end): Update.
+	(mi_end): Update.
+
+Thu May 10 16:28:13 2001  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_execute_async_cli_command): Always initialize
+ 	old_cleanups.
+
+2001-05-08  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-out.c (mi_begin, mi_end): Replace mi_list_begin and
+	mi_list_end.
+	(mi_ui_out_impl): Update.
+
+2001-03-28  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-main.c (mi_cmd_data_read_memory): Use xcalloc.
+
+2001-03-26  Eli Zaretskii  <eliz@is.elta.co.il>
+
+	* gdbmi.texinfo: Update copyright.  Change Permissions to GFDL.
+
+2001-03-20  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-cmd-disas.c (mi_cmd_disassemble): Initialize ``file_string''
+	and ``line_num''.  Consolidate declaration of argument variables.
+
+2001-03-19  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-out.h: Remove #ifdef __STDC__.
+
+2001-03-08  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-main.c (mi_cmd_data_list_register_names): Use NUM_REGS, not
+	ARCH_NUM_REGS.
+	(mi_cmd_data_list_changed_registers): Ditto.
+	(mi_cmd_data_list_register_values): Ditto.
+	(mi_cmd_data_write_register_values): Ditto.
+
+2001-03-06  Kevin Buettner  <kevinb@redhat.com>
+
+	* gdbmi.texinfo, mi-cmd-disas.c, mi-cmd-stack.c, mi-cmd-var.c,
+	mi-cmds.c, mi-cmds.h, mi-console.c, mi-console.h, mi-getopt.c,
+	mi-getopt.h, mi-out.c, mi-out.h, mi-parse.c, mi-parse.h: 
+	Update/correct copyright notices.
+
+Wed Feb  7 19:50:37 2001  Andrew Cagney  <cagney@redhat.com>
+
+	* mi-getopt.c: Add __FILE__ and __LINE__ parameter to calls to
+ 	internal_error.
+	* mi-console.c: Ditto.
+	* mi-cmds.c: Ditto.
+	* mi-cmd-break.c: Ditto.
+
+2001-01-27  Fernando Nasser  <fnasser@redhat.com>
+
+	From Momchil Velikov  <velco@fadata.bg>
+	* mi-cmd-disas.c (gdb_dis_asm_read_memory): Add missing memory
+	attributes argument in the call to `xfer_memory'.
+
+2000-12-14  Kevin Buettner  <kevinb@redhat.com>
+
+	* mi-cmd-disas.c, mi-cmd-var.c, mi-console.c, mi-main.c,
+	mi-parse.c: Replace occurrences of free() with xfree().
+
+Fri Nov 17 16:07:23 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c: Replace asprintf with xasprintf.
+	* mi-cmd-var.c (mi_cmd_var_create): Ditto.
+
+2000-10-16  Eli Zaretskii  <eliz@is.elta.co.il>
+
+	* gdbmi.texinfo (GDB/MI Variable Objects): Dimensions of
+	multitable changed to "@columnfractions .4 .6".  Suggested by
+	Dmitry Sivachenko <dima@Chg.RU>.
+
+2000-08-23  Eli Zaretskii  <eliz@is.elta.co.il>
+
+	* gdbmi.texinfo: Change flathead -> @sc{gdb/mi}.
+	Fix typos and markup mistakes (from Dmitry S.
+	Sivachenko <dima@Chg.RU>).
+
+2000-07-24  Eli Zaretskii  <eliz@is.elta.co.il>
+
+	* gdbmi.texinfo: Change GDB -> @value{GDBN}, and
+	(gdb) -> (@value{GDBP}).  Fix a few typos and some markup.  From
+	Dmitry S. Sivachenko <dima@Chg.RU>.
+
+Tue May 16 14:13:41 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_cmd_execute): Use free_current_contents.
+	(free_and_reset): Delete.
+
+Mon May 15 16:17:56 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_cmd_data_assign, mi_cmd_data_evaluate_expression),
+ 	mi-cmd-var.c (mi_cmd_var_create, mi_cmd_var_delete): Delete
+ 	make_cleanup_func casts. Not needed.
+
+2000-05-07  Eli Zaretskii  <eliz@is.elta.co.il>
+
+	* gdbmi.texinfo: Lots of typos and grammar fixes from Brian
+        Youmans <3diff@flib.gnu.ai.mit.edu>.
+
+Wed Apr 26 18:35:19 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* gdbmi.texinfo (GDB/MI Output Syntax v2.0): Convert Draft 2.0
+ 	Output Syntax into a new section.  Cross reference.
+	(menu): Fix tipo. GDB/MI Compatibility with CLI.
+
+2000-04-23  Eli Zaretskii  <eliz@is.elta.co.il>
+
+	* gdbmi.texinfo: Lots of changes, to include this document as part
+	of the GDB manual.
+
+2000-03-13  James Ingham  <jingham@leda.cygnus.com>
+
+	* mi-cmd-var.c (mi_cmd_var_create): Add special frame cookie "@"
+	to indicate an "USE_CURRENT_FRAME" variable.
+	(varobj_update_one): Add "in_scope" and "type_changed" to the
+	result.
+
+2000-03-06  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-cmds.h: Export mi_cmd_data_write_register_values.
+	
+	* mi-cmds.c (mi_cmds): Implement data-write-register-values with
+ 	mi_cmd_data_write_register_values.
+
+	* mi-main.c (mi_cmd_data_write_register_values): New
+ 	function. Write a value into a register.
+
+2000-03-06  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* gdbmi.texinfo: Update data-disassemble documentation.
+
+2000-03-01  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-cmd-disas.c (mi_cmd_disassemble): Use
+ 	ui_out_field_core_addr() instead of print_address_numeric(), to
+ 	maintain consistency throughout MI.
+
+Wed Feb 23 17:09:39 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-cmd-break.c, mi-cmd-disas.c, mi-cmd-stack.c, mi-cmd-var.c,
+ 	mi-cmds.c, mi-cmds.h, mi-console.c, mi-console.h, mi-getopt.c,
+ 	mi-getopt.h, mi-main.c, mi-out.c, mi-out.h, mi-parse.c,
+ 	mi-parse.h: Update copyright information.
+
+Wed Feb 23 13:31:16 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-cmd-disas.c (gdb_dis_asm_read_memory): Change LEN to unsigned
+ 	long.  Match ../include/dis-asm.h change.
+
+Wed Feb 23 10:30:55 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* gdbmi.texinfo: Update copyright - FSF.  Update version
+ 	information.
+
+	mi-cmd-break.c, mi-cmd-disas.c, mi-cmd-stack.c, mi-cmd-var.c,
+ 	mi-cmds.h, mi-main.c, mi-parse.c, mi-parse.h: Re-format using GNU
+ 	indent.
+
+2000-02-21  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c: Add include of gdbcore.h for write_memory()
+ 	prototype.
+
+2000-02-18  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-cmd-disas.c (mi_cmd_disassemble): Change syntax of
+ 	command. Now use options.  
+	Instead of printing the symbolic address of instructions via
+ 	print_address_symbolic(), use build_address_symbolic() and format
+ 	properly for output.
+	(gdb_do_disassmble): Delete.
+
+2000-02-18  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-cmd-disas.c (mi_cmd_disassemble): 
+
+2000-02-17  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (mi_cmd_data_write_memory): New function. Write a
+ 	value into target memory.
+
+	* mi-cmds.h (mi_cmd_data_write_memory): Export. 
+
+	* mi-cmds.c (mi_cmds): Hook up data-write-memory to
+ 	mi_cmd_data_write_memory().
+
+2000-02-17  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (mi_cmd_target_download): Correct error message to
+ 	report right function name.
+	(mi_cmd_target_select): Add doing exec cleanups at end.
+	(mi_cmd_data_read_memory): Correct typo.
+	(mi_cmd_execute): Do not simply free last_async_command, but reset
+ 	it to NULL as well.
+	(free_and_reset): New function, free the argument and set it to
+ 	NULL.
+	(mi_cmd_target_select_continuation): Delete prototype.
+	
+Tue Feb  1 00:17:12 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-cmd-disas.c, mi-cmds.h, mi-console.c, mi-console.h,
+ 	mi-main.c, mi-out.c, mi-out.h: Update to reflect rename of
+ 	gdb-file / GDB_FILE to ui-file / ``struct ui_file''.
+	
+Mon Jan 31 18:33:28 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_command_loop): Delete reference to
+ 	fputs_unfiltered_hook.
+
+2000-01-27  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-cmds.c (mi_cmds): Update entries for
+ 	mi_cmd_data_list_register_names,
+ 	mi_cmd_data_list_changed_registers,
+ 	mi_cmd_data_list_register_values.
+
+	* mi-cmds.h (mi_cmd_data_list_register_names,
+ 	mi_cmd_data_list_changed_registers,
+ 	mi_cmd_data_list_register_values): Update to mi_cmd_argv_ftype.
+
+	* mi-main.c (mi_cmd_data_list_register_names,
+ 	mi_cmd_data_list_changed_registers,
+ 	mi_cmd_data_list_register_values): Update to use argc, argv
+ 	parameters.
+	
+2000-01-27  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (mi_cmd_data_read_memory): Correct the computation of
+ 	next-row.
+
+2000-01-27  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-cmd-var.c (mi_cmd_var_create): Test for NULL type.
+	(mi_cmd_var_set_format, mi_cmd_var_show_format,
+	mi_cmd_var_info_num_children, mi_cmd_var_list_children,
+	mi_cmd_var_info_type, mi_cmd_var_info_expression,
+	mi_cmd_var_show_attributes, mi_cmd_var_evaluate_expression,
+	mi_cmd_var_assign, mi_cmd_var_update): Prevent possibility of memory
+	leak on error.
+
+2000-01-27  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-out.c (mi_field_string): Test for NULL string pointer.
+
+2000-01-17  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-cmd-stack.c (mi_cmd_stack_list_frames): Call
+ 	print_frmae_info() with the correct arguments.
+
+	* mi-main.c (mi_cmd_exec_return): Call
+ 	show_and_print_stack_frame() with LOC_AND_ADDRESS, so it does the
+ 	right thing.  Update Copyright.
+
+2000-01-13  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c: Move disassemble commands from here.
+
+	* mi-cmd-disas.c: To here. New file.
+
+2000-01-13  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-cmd-stack.c: Remove include of mi-out.h.
+
+	* mi-main.c (mi_cmd_disassemble): Update function to use argc/argv
+ 	interface.
+
+	* mi-cmds.h: Ditto.
+
+	* mi-cmds.c: Ditto.
+
+2000-01-12  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* gdbmi.texinfo: Update stack commands descriptions.
+	Add thread commands descriptions and examples.
+
+	* mi-main.c (mi_cmd_thread_list_ids): Fix typo.
+
+2000-01-12  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (mi_cmd_thread_list_ids): New function, print a list
+ 	of currently known threads ids, and the total number of threads.
+	(mi_cmd_thread_select): New function. Switch current thread.
+
+	* mi-cmds.c (mi_cmds): Implement thread-list-ids by
+ 	mi_cmd_thread_list_ids, and thread-select by mi_cmd_thread_select.
+
+	* mi-cmds.h (mi_cmd_thread_select, mi_cmd_thread_list_ids): Export.
+
+2000-01-11  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c: Move stack commands from here.
+
+	* mi-cmd-stack.c: To here. New file.
+
+2000-01-07  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (list_args_or_locals): Add a new paramter, the frame
+ 	for which to display args or locals. Don't use selected_frame
+ 	anymore, use the new parameter instead. Return void instead of
+ 	mi_cmd_result, let callers do so.
+	(mi_cmd_stack_list_args): Change interface. Now accept low and
+ 	high frame numbers to display args for a range of frames. Without
+ 	these two, display args for the whole stack.
+	(mi_cmd_stack_list_locals): Adapt to new interface for
+ 	list_args_or_locals.
+
+2000-01-06  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (mi_cmd_stack_info_depth, mi_cmd_stack_list_args,
+ 	mi_cmd_stack_list_frames, mi_cmd_stack_list_locals,
+ 	mi_cmd_stack_select_frame): Change to use argv type of parameters.
+
+	* mi-cmds.c (mi_cmds): Change stack-info-depth,
+ 	stack-list-arguments, stack-list-frames, stack-list-locals,
+ 	stack-select-frame to use argv parameters.
+
+	* mi-cmds.h (mi_cmd_stack_info_depth, mi_cmd_stack_list_args,
+ 	mi_cmd_stack_list_frames, mi_cmd_stack_list_locals,
+ 	mi_cmd_stack_select_frame): Update definitions.
+
+Tue Jan  4 12:38:54 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_command_loop): Force the MI interface to use seven
+ 	bit strings.
+	* gdbmi.texinfo: Make it clear that a quoted C string is seven
+ 	bit.
+
+Thu Dec 30 14:15:22 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-getopt.c (mi_getopt): Rewrite.  Allow long options.
+	* mi-getopt.h (struct mi_opt): Declare.
+	(mi_getopt): Update.
+
+	* mi-main.c (mi_cmd_data_read_memory), mi-cmd-break.c
+ 	(mi_cmd_break_insert, mi_cmd_break_watch): Update.
+
+Wed Dec 29 23:38:35 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-cmd-break.c (mi_cmd_break_insert): Add support for -c
+ 	<condition>, -i <ignore-count> and -p <thread>.
+	(breakpoint_notify): New function.
+	(mi_cmd_break_insert): Wrap GDB call with callback hooks so that
+ 	MI is notified when ever a breakpoint is created.
+
+	* gdbmi.texinfo: Update.
+
+Fri Dec 24 11:23:22 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (gdb_do_disassemble): Strip out more useless #ifdef
+ 	UI_OUTs.
+
+1999-12-23  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (gdb_do_disassemble): Fix output. Lines that have no
+ 	assembly instructions must still be outputted, to keep the source
+ 	line numbering correct.
+	Remove #ifdef UI_OUT's, they are useless.
+
+1999-12-17  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (gdb_do_disassemble): Don't print a new list in mixed
+ 	mode, every time. Just do it when we actually encounter a new
+ 	source line.
+
+1999-12-17  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-cmd-var.c (mi_cmd_var_list_children): Add test for C++ pseudo
+	variable objects (private, public, protected) as these do not have
+        a type and the -var-list-children operation was dumping core.
+	
+Fri Dec 17 20:23:33 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* gdbmi.texinfo: Document recommended syntax for options.
+
+	* mi-main.c (mi_cmd_data_read_memory): Add support for ``-o
+ 	<offset>''.
+	* gdbmi.texinfo: Document.
+	
+Wed Dec 15 17:43:08 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-getopt.h (mi_getopt): Change optarg to a char pointer. Check
+ 	optind.
+  	* mi-cmd-break.c (mi_cmd_break_insert): Update.
+
+	* mi-main.c (mi_cmd_data_read_memory): Add fields "next-row-addr",
+ 	"prev-row-addr", "next-page-addr", "prev-page-addr" and a per row
+ 	"addr".
+	* gdbmi.texinfo: Update.
+
+Wed Dec 15 01:05:40 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-cmds.h (mi_cmd_result): Add MI_CMD_CAUGHT_ERROR for when the
+ 	error is caught.
+
+	* mi-main.c (captured_mi_execute_command): When
+ 	MI_CMD_CAUGHT_ERROR return 0 rethrowing the eror.
+
+1999-12-13  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-cmd-break.c (mi_cmd_break_insert): Remove unused var.
+
+	* mi-cmd-var.c (mi_cmd_var_update): Remove unused variables.
+
+Mon Dec 13 18:43:36 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-parse.c (mi_parse): Quote the command when printing it.
+	(mi_parse_argv): Fix handling of quoted strings. Was not
+ 	de-quoting them.
+	(mi_parse_argv): Make static.
+
+Mon Dec 13 18:30:03 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-cmds.h (mi_cmd_break_insert, mi_cmd_break_watch): Change type
+ 	to mi_cmd_argv_ftype.
+	* mi-cmds.c (mi_cmds): Update.
+	* mi-cmd-break.c (mi_cmd_break_insert, mi_cmd_break_watch): Change
+ 	to new style of arguments with argc and argv.  Parse arguments
+ 	using mi_getopt.
+
+	* mi-cmd-break.c (mi_cmd_break_insert): Wrap body in #ifdef UI_OUT
+ 	to avoid non-ui compile problems.
+
+Mon Dec 13 15:08:36 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-getopt.h, mi-getopt.c: New files. Similar to getopt but with
+ 	well defined semantics.
+	
+Mon Dec 13 14:22:21 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_cmd_break_insert, mi_cmd_break_watch, enum
+ 	wp_type, enum bp_type): Move from here.
+	* mi-cmd-break.c: To here.  New file.
+	(mi_cmd_break_insert, mi_cmd_break_insert, mi_cmd_break_watch):
+ 	Use error to report problems.
+
+1999-12-09  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* gdbmi.texinfo: Update description of exec-interrupt.
+
+	* mi-main.c (mi_cmd_exec_interrupt): If the program is not
+ 	executing, don't try to interrupt it, but error out instead.  Make
+ 	sure previous_async_command is not null before duplicating it into
+ 	last_async_command.
+
+	* gdbmi.texinfo: Add examples for data-evaluate-expression.
+
+1999-12-08  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-cmd-var.c (mi_cmd_var_assign, mi_cmd_var_create,
+ 	mi_cmd_var_delete, mi_cmd_var_evaluate_expression,
+ 	mi_cmd_var_info_expression, mi_cmd_var_info_num_children,
+ 	mi_cmd_var_info_type, mi_cmd_var_list_children,
+ 	mi_cmd_var_set_format, mi_cmd_var_show_attributes,
+ 	mi_cmd_var_show_format, mi_cmd_var_update): Change to use new
+ 	style of arguments with argc and argv.
+	(next_arg): Delete.
+	(which_var): Delete.
+
+	* mi-cmds.c (mi_cmds): Update entries for mi_cmd_var_assign,
+ 	mi_cmd_var_create, mi_cmd_var_delete,
+ 	mi_cmd_var_evaluate_expression, mi_cmd_var_info_expression,
+ 	mi_cmd_var_info_num_children, mi_cmd_var_info_type,
+ 	mi_cmd_var_list_children, mi_cmd_var_set_format,
+ 	mi_cmd_var_show_attributes, mi_cmd_var_show_format,
+ 	mi_cmd_var_update.
+
+	* mi-cmds.h (mi_cmd_var_assign, mi_cmd_var_create,
+ 	mi_cmd_var_delete, mi_cmd_var_evaluate_expression,
+ 	mi_cmd_var_info_expression, mi_cmd_var_info_num_children,
+ 	mi_cmd_var_info_type, mi_cmd_var_list_children,
+ 	mi_cmd_var_set_format, mi_cmd_var_show_attributes,
+ 	mi_cmd_var_show_format, mi_cmd_var_update): Update declarations.
+
+1999-12-08  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* gdbmi.texinfo: Comment out -data-assign command.  * mi-main.c
+ 	(mi_cmd_data_assign): Do not use, comment out.  * mi-cmds.h
+ 	(mi_cmd_data_assign): Remove.  * mi-cmds.c: Remove -data-assign
+ 	command from MI interface.
+
+1999-12-07  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-parse.c (mi_parse): Add '\n' at end of error messages, so
+ 	that prompt comes out on new line.
+
+	* gdbmi.texinfo: Update disassembly command output.
+
+1999-12-06  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (gdb_do_disassemble): Update output for UI_OUT case.
+
+1999-12-02  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* gdbmi.texinfo: Update exec-until output, including the reason
+ 	for stopping.
+
+Thu Dec  2 17:17:22 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-cmds.c: Include <string.h> for memset.
+
+1999-12-01  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (mi_cmd_exec_return): ifdef the references to
+ 	return_command_wrapper().
+	
+1999-12-01  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (mi_cmd_gdb_exit, mi_cmd_exec_interrupt,
+ 	mi_cmd_target_select, mi_execute_async_cli_command,
+ 	mi_exec_async_cli_cmd_continuation, mi_load_progress): Don't print
+ 	last_async_command if it is NULL.
+	(mi_cmd_exec_return): 
+
+1999-12-01  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (mi_cmd_exec_return): Reimplement using
+ 	return_command() instead of mi_execute_async_cli_command().
+
+1999-12-01  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-cmds.h: Export mi_cmd_data_assign and
+ 	mi_cmd_data_evaluate_expression.
+
+	* mi-cmds.c (mi_cmds): Hook data-assign to mi_cmd_data_assign and
+ 	data-evaluate-expression to mi_cmd_data_evaluate_expression.
+
+	* mi-main.c (mi_cmd_data_assign): New function. Implement
+ 	data-assign command.
+	(mi_cmd_data_evaluate_expression): New function. Implement
+ 	data-evaluate-expression command.
+
+1999-12-01  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* gdbmi.texinfo: Fix some texinfo formatting errors.
+
+1999-12-01  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* gdbmi.texinfo: Update data-list-register-values description.
+
+	* mi-cmds.h: Export mi_cmd_data_list_register_values.
+
+	* mi-cmds.c (mi_cmds): Hook data-list-register-values to
+ 	mi_cmd_data_list_register_values.
+
+	* mi-main.c (mi_cmd_data_list_register_values): New
+ 	function. Implements the -data-list-register-values command.
+	(get_register): New function. Output the contents of a given
+ 	register.
+
+Wed Dec  1 20:27:22 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_execute_async_cli_command): Append missing "\n"
+ 	for synchronous stopped message.
+
+1999-11-30  James Ingham  <jingham@leda.cygnus.com>
+
+	* gdbmi.texinfo: Fix obvious typo in @end statement.
+
+Wed Dec  1 12:36:27 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-cmd-var.c: Include "value.h".
+	* mi-console.c: Include <string.h>.
+
+Wed Dec  1 00:21:03 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (captured_mi_execute_command): For a CLI command, pass
+ 	"%s" to mi_execute_cli_command to stop core dumps.
+	(captured_mi_execute_command): Echo CLI commands on gdb_stdlog.
+
+Wed Dec  1 00:10:07 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* gdbmi.texinfo: Explain NR-BYTES and ADDR.
+
+Tue Nov 30 23:31:57 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-cmd-var.c (mi_cmd_var_create, mi_cmd_var_delete,
+ 	mi_cmd_var_set_format, mi_cmd_var_show_format,
+ 	mi_cmd_var_info_num_children, mi_cmd_var_list_children,
+ 	mi_cmd_var_info_type, mi_cmd_var_info_expression,
+ 	mi_cmd_var_show_attributes, mi_cmd_var_evaluate_expression,
+ 	mi_cmd_var_assign, mi_cmd_var_update, varobj_update_one, next_arg,
+ 	which_var): New file.  Move varobj commands to here from
+ 	mi-main.c.
+
+	* mi-console.h, mi-console.c (mi_console_file_new,
+ 	mi_console_file_delete, mi_console_file_fputs,
+ 	mi_console_raw_packet, mi_console_file_flush): New files. Move
+ 	mi_console_file to here from mi-main.c.
+
+Tue Nov 30 19:37:25 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (captured_mi_execute_command): Use fputstr_unfiltered
+ 	when printing error messages.
+	(mi_cmd_execute): Ditto.
+
+1999-11-29  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* gdbmi.texinfo: Describe -data-list-changed-registers,
+ 	-data-list-register-names. Add examples for
+ 	-exec-next-instruction, exec-step-instruction, -exec-run,
+ 	-exec-until.  Format examples for -data-read-memory.
+	update example for -target-download.
+	
+1999-11-29  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* gdbmi.texinfo: Remove mentioning of inaccurate watchpoint hit
+ 	count.
+	
+Mon Nov 29 19:28:55 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_execute_async_cli_command): Return ``enum
+ 	mi_cmd_cmd_result''.  mi_cmd_exec_run, mi_cmd_exec_next,
+ 	mi_cmd_exec_step, mi_cmd_exec_step_instruction,
+ 	mi_cmd_exec_finish, mi_cmd_exec_until, mi_cmd_exec_return,
+ 	mi_cmd_exec_continue): Update call.
+	(mi_execute_async_cli_command): When target is synchronous, fake
+ 	asynchronous behavour (ulgh).  Allows tests to be run on built-in
+ 	simulator and native targets.
+
+Mon Nov 29 15:15:16 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-cmds.h (mi_cmd_gdb_exit), mi-cmds.c (mi_cmds), mi-main.c
+ 	(mi_cmd_gdb_exit): Change function signature to mi_cmd_argv_ftype.
+
+1999-11-28  Andew Cagney  <cagney@rat-in-a-hat.cygnus.com>
+
+	* mi-parse.c: Include <ctype.h> and <string.h>
+
+1999-11-26  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* gdbmi.texinfo: Added watchpoint command descriptions and
+ 	examples.
+
+	* mi-main.c (mi_load_progress): Add parameter for total sent so far.
+	Print it as well.
+	
+Fri Nov 26 10:17:49 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* gdbmi.texinfo (section Output Syntax): For lists, the <string>
+ 	part of a <result> is optional.  Clarify syntax.
+	(appendix Proposed v2.0 Output Syntax): New section. Provide
+ 	record of discussion of possible changes to syntax.
+
+Wed Nov 24 19:41:35 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_cmd_data_read_memory): Simplify.  Fix coredump
+ 	when arguments were bad.
+	(mi_cmd_execute): Change parameter to ``struct mi_parse''.  Handle
+ 	case of argv_func as well as args_func.
+	(captured_mi_execute_command): Update.
+
+	* mi-cmds.c (struct mi_cmd): Add field for mi_cmd_argv_ftype.
+	(mi_cmds): Update mi_cmd_data_read_memory.
+	(mi_lookup): Return 
+
+	* mi-cmds.h (mi_cmd_args_ftype): Rename mi_cmd_ftype. Make all
+ 	functions of type this type.
+	(mi_cmd_argv_ftype): Declare.
+	(mi_cmd_data_read_memory): Change type to mi_cmd_argv_fytpe.
+	(struct mi_cmd): Move declaration to here from mi-cmds.c.
+	(mi_lookup): Return a pointer to ``struct mi_cmd''.
+	
+Wed Nov 24 15:03:34 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-parse.c (mi_parse): Initialize TOKEN when a CLI command.
+
+	* gdbmi.texinfo: Allow a <token> before a CLI command.
+
+	* mi-parse.h (struct mi_parse): Declare.
+	(mi_parse): Change to return a ``struct mi_parse''.
+	(enum mi_command_type): Delete PARSE_ERROR.
+
+	* mi-main.c (struct mi_execute_command_context): Delete.
+	(captured_mi_execute_command): Update
+	(mi_execute_command): Update.  Check for mi_parse returning NULL.
+
+Wed Nov 24 12:57:14 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-parse.h: Remove const, from cmd parameter.  Causes cascading
+ 	warnings.
+
+Wed Nov 24 15:03:34 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-parse.c (mi_parse): New function.  Move parse code to here.
+	* mi-main.c (parse): From here. Delete.
+
+Wed Nov 24 12:57:14 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-parse.c, mi-parse.h: New files. Implement mi_parse_env.
+
+Wed Nov 24 11:24:05 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-out.c (mi_field_string): Make string parameter constant.
+
+1999-11-23  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-cmds.h (mi_cmd_target_download): Export. 
+
+	* mi-cmds.c (mi_cmds): Add mi_cmd_target_download.
+
+	* mi-main.c: Include <sys/time.h>.
+	(mi_cmd_target_download): New function, implement the
+ 	target-download command.
+	(mi_load_progress): New function. Called via the
+ 	show_load_progress hook. Prints updates every 0.5 secs.
+	(mi_command_loop): Initialize the show_load_progress hook.
+
+1999-11-22  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (mi_cmd_exec_until): New function. Implement until
+ 	command.
+	(mi_cmd_exec_step_instruction): New function. Implement stepi
+ 	command.
+	(mi_cmd_exec_next_instruction): New function. Implement nexti
+ 	command.
+	
+	* mi-cmds.c (mi_cmds): Add mi_cmd_exec_step_instruction,
+ 	mi_cmd_exec_next_instruction, mi_cmd_exec_until.
+
+	* mi-cmds.h (mi_cmd_exec_step_instruction,
+ 	mi_cmd_exec_next_instruction, mi_cmd_exec_until): Export.
+	
+Tue Nov 23 00:30:37 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi/gdbmi.texinfo: Document -data-read-memory.
+	
+	* mi-main.c (mi_cmd_data_read_memory): Fix off-by-one check of
+ 	argc.
+	(mi_cmd_data_read_memory): Label the output table with "memory".
+
+Thu Nov 18 18:15:53 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_cmd_exec_interrupt, mi_cmd_break_insert,
+ 	mi_cmd_break_watch, mi_cmd_disassemble, mi_cmd_execute): Replace
+ 	strdup with xstrdup.
+
+Thu Nov 18 20:50:09 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_cmd_data_read_memory): New function.  Implement
+ 	data-read-memory.
+
+	* mi-cmds.h, mi-cmds.c: Add mi_cmd_data_read_memory.
+	* mi-cmds.c (mi_cmds): Ditto.
+
+1999-11-11  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-cmds.h (mi_cmd_break_watch): Export.
+
+	* mi-cmds.c (mi_cmds): Hook up break-watch to function
+ 	mi_cmd_break_watch.
+
+	* mi-main.c (wp_type): New enumeration for the possible types of
+ 	watchpoints.
+	(mi_cmd_break_watch): New function, implements the break-watch
+ 	command.
+
+1999-11-11  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (mi_cmd_break_insert): Handle case in which the command is
+	just a -break-insert w/o args.
+
+Fri Nov 12 00:01:52 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-out.c (mi_field_string): Always quote the string.
+
+1999-11-10  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-cmds.h(mi_cmd_data_list_changed_registers,
+ 	mi_cmd_data_list_register_names): Export.
+
+	* mi-cmds.c (mi_cmds): Hook up data-list-changed-registers to
+ 	mi_cmd_data_list_changed_registers and data-list-register-names to
+ 	mi_cmd_data_list_register_names.
+
+	* mi-main.c (mi_cmd_data_list_changed_registers): New function,
+ 	implements the data-list-changed-registers command.
+	(mi_cmd_data_list_register_names): New function, implements the
+ 	data-list-register-names command.
+	(register_changed_p): New function. Decide whether the register
+ 	contents have changed.
+	(setup_architecture_data): New function. Initialize registers
+ 	memory.
+	(_initialize_mi_main): Call setup_architecture_data(), and
+ 	register_gdbarch_swap().
+
+Wed Nov 10 18:35:08 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_execute_command): Correctly quote error messages.
+
+Wed Nov 10 11:05:14 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi/gdbmi.texinfo: Delete <stream-output>.  Replaced by
+ 	<c-string>.
+
+	* mi-main.c (mi_console_raw_packet): Always quote console output.
+
+Tue Nov  9 17:53:05 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_console_file_new), mi-out.c (mi_out_new): Replace
+ 	the tui_file with a mem_file. Ya!
+	
+	* mi-out.c (do_write): New function, wrapper to gdb_file_write.
+	(mi_out_put): Pass do_write to gdb_file_put.
+
+	* mi-main.c (mi_console_file_flush): Rewrite.  Use
+ 	mi_console_raw_packet to send data to the console.
+	(mi_console_raw_packet): New function. Correctly
+ 	create quoted C string packets.
+
+1999-11-08  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-cmds.c (mi_cmds): Break-insert is now implemented by
+ 	mi_cmd_break_insert.
+	* mi-cmds.h (mi_cmd_break_insert): Export. 
+	* mi-main.c (bp_type): New enumeration.
+	(mi_cmd_break_insert): New function. Implements all flavors of
+ 	breakpoint insertion.
+
+Mon Nov  8 17:49:17 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_console_file_flush): Replace gdb_file_get_strbuf
+ 	with tui_file_get_strbuf.
+
+Fri Nov  5 17:06:07 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_console_file_delete, mi_console_file_fputs,
+ 	mi_console_file_flush): Call internal_error instead of error.
+
+Thu Nov  4 19:53:32 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (captured_mi_execute_command): New function.
+	(mi_execute_command): Rewrite.  Replace SET_TOP_LEVEL() with call
+ 	to captured_mi_execute_command via catch_errors.
+
+Thu Nov  4 20:33:58 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (clean): Delete.
+	(mi_command_loop): Delete extern declaration of
+ 	mi_execute_command.
+
+1999-10-28  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (mi_cmd_stack_select_frame): Conditionalize the body
+ 	on UI_OUT, because select_frame_command_wrapper is only defined if
+ 	UI_OUT is.
+	(mi_cmd_exec_interrupt): Conditionalize the body on UI_OUT,
+ 	because interrupt_target_command_wrapper is only defined if UI_OUT is.
+
+	* mi-cmds.c (mi_cmds): Implement command exec-interrupt by
+ 	mi_cmd_exec_interrupt.  
+
+	* mi-main.c (mi_cmd_exec_interrupt): New function. Implements
+ 	exec-interrupt command.
+	(mi_cmd_execute): If the target is running save execution command
+ 	token in previous_async_command. If the command is not 'interrupt' 
+	and the target is running, reject it.
+	(clean): New function. Free the arg and reset it to NULL.
+
+	* mi-cmds.h (mi_cmd_exec_interrupt):Export.
+
+1999-10-28  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-cmds.c (mi_cmds): Implement command stack-select-frame by
+ 	mi_cmd_stack_select_frame.  
+
+	* mi-main.c (mi_cmd_stack_select_frame): New function. Implements
+ 	stack-select-frame command.
+
+	* mi-cmds.h (mi_cmd_select_frame):Export.
+
+1999-10-26  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-cmds.c (mi_cmds): Implement commands stack-list-locals and
+ 	stack-list-arguments by mi_cmd_stack_list_locals and
+ 	mi_cmd_stack_list_args.
+
+	* mi-main.c (mi_cmd_stack_list_locals): New function. Implements
+ 	stack-list-locals command.
+	(mi_cmd_stack_list_args): New function. Implements
+ 	stack-list-arguments command.
+	(list_args_or_locals): New function. Do all the work for the
+	listing of locals or arguments.
+
+	* mi-cmds.h (mi_cmd_stack_list_args,mi_cmd_stack_list_locals) :
+ 	Export.
+
+1999-10-25  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-cmds.c (mi_cmds): Add new command stack-info-depth.
+
+	* mi-main.c (mi_cmd_stack_info_depth): New function. Implements
+ 	the stack-info-depth command.
+	* mi-cmds.h (mi_cmd_stack_info_depth): Export.
+
+
+1999-10-22  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (mi_execute_command): Handle MI_CMD_ERROR case
+ 	properly, for command that return error code and don't set
+ 	mi_error_message.
+
+	* mi-cmds.c (mi_cmds): Hook stack-list-frames command to
+ 	mi_cmd_stack_list_frames function.
+	* mi-cmds.h (mi_cmd_stack_list_frames): Export.
+	
+	* mi-main.c (mi_execute_command): Deal with a return code of
+ 	MI_CMD_ERROR from the execution of mi commands.
+	(mi_error_message): Static string variable, to contain the error
+ 	message from mi commands.
+	(mi_cmd_stack_list_frames): New function. Prints a backtrace.
+
+1999-10-18  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (mi_cmd_disassemble): Handle the new command line
+ 	parameter that specifies the number of disassembly lines to be
+ 	displayed.
+	(gdb_do_disassemble): Add new parameter. Count the number of lines
+ 	that have been displayed, and stop when limit is reached.
+
+Wed Oct 13 18:04:13 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_command_loop): Don't initialize ``flush_hook''.
+
+1999-10-13  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi/gdbmi.texinfo: More reformatting of the grammars.
+
+1999-10-12  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi/gdbmi.texinfo: More TeX formatting.
+
+1999-10-11  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi/gdbmi.texinfo: First pass completed. All commands should have
+	some comments/info.
+	Escape '@' output special char.
+	Reformat for TeX.
+
+1999-10-08  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi/gdbmi.texinfo: Filled in part of file command section, and
+ 	stack section.
+
+1999-10-07  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi/gdbmi.texinfo: Filled in some sections about execution
+ 	commands.
+
+Tue Oct  5 15:27:28 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-cmds.h: Sort table
+	* mi-cmds.c: Ditto.
+	(MI_TABLE_SIZE): Increase to 251.
+
+1999-10-04  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-main.c (mi_cmd_var_create, mi_cmd_var_delete): Add missing
+	cleanups.
+	
+1999-10-04  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-main.c (next_arg): Returns lenght as well.
+	(which_var, mi_cmd_var_create, mi_cmd_var_delete,
+	mi_cmd_var_set_format, mi_cmd_var_update): Do not modify the input
+	string, use allocated storage instead.
+	(mi_cmd_var_assign): Adjust call to next_arg() to include new
+	argument.
+
+1999-10-04  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-main.c (mi_execute_command): Fix handling of errors.
+
+1999-10-04  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-out.c (mi_out_new): Call tui_sfileopen() instead of
+        deprecated gdb_file_init_astream().
+	* mi-main.c (mi_console_file_new): Ditto.
+
+Mon Oct  4 15:17:29 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-cmds.h: Sort function declarations.
+ 	(mi_lookup): Add extern.
+
+	* mi-cmds.c (mi_lookup): Delete dead code.
+	(build_table): Call  internal_error instead of error.
+	(build_table): Send trace output to gdb_stdlog.
+
+1999-10-01  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (mi_execute_async_cli_command): Don't do the cleanups
+ 	if target_executing is null.
+
+1999-09-28  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (async_p): Change var name to event_loop_p.
+
+Mon Sep 27 15:11:00 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_execute_async_cli_command, mi_execute_command):
+ 	Replace target_has_async with function target_can_async_p.
+
+Sun Sep 26 00:12:52 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_cmd_target_select_continuation): Delete function.
+	(mi_cmd_target_select): Simplify.  target-connect is guarenteed to
+ 	be synchronous.
+
+Sun Sep 26 00:12:52 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-cmds.h (mi_cmd_ftype): Replace mi_impl_ftype.
+	(enum mi_cmd_result): Define.
+	* mi-cmds.c (struct mi_cmd): Update.
+	(mi_lookup): Update.
+	* mi-main.c (mi_cmd_execute): Update.
+
+	* mi-main.c (mi_cmd_gdb_exit, mi_cmd_exec_run, mi_cmd_exec_next,
+ 	mi_cmd_exec_step, mi_cmd_target_select, mi_cmd_exec_continue,
+ 	mi_cmd_exec_return, mi_cmd_exec_finish, mi_cmd_disassemble,
+ 	mi_cmd_var_create, mi_cmd_var_delete, mi_cmd_var_set_format,
+ 	mi_cmd_var_show_format, mi_cmd_var_info_num_children,
+ 	mi_cmd_var_list_children, mi_cmd_var_info_type,
+ 	mi_cmd_var_info_expression, mi_cmd_var_show_attributes,
+ 	mi_cmd_var_evaluate_expression, mi_cmd_var_update): Update.
+  	Return MI_CMD_DONE.
+
+1999-09-22  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-main.c (mi_cmd_var_create): Use paddr() to format address
+	on trace output.
+
+1999-09-21  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-main.c (mi_cmd_var_create): Test for varobjdebug before
+	printing trace and send it to gdb_stdlog.
+
+Mon Sep 20 13:41:04 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* Makefile.in (mi-out.o): Add dependency list.
+	* mi-out.c: Include "mi-out.h".
+
+1999-09-18  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (_initialize_mi_main): Events on stadin are now
+ 	handled by stdin_event_handler.
+
+1999-09-17  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-cmds.c (mi_cmds): Add var-* commands.
+
+1999-09-17  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-main.c (mi_cmd_var_create, mi_cmd_var_delete,
+	mi_cmd_var_set_format, mi_cmd_var_show_format,
+	mi_cmd_var_info_num_children, mi_cmd_var_list_children,
+	mi_cmd_var_info_type, mi_cmd_var_info_expression,
+	mi_cmd_var_show_attributes, mi_cmd_var_evaluate_expression,
+	mi_cmd_var_assign, mi_cmd_var_update, varobj_update_one,
+	which_var, next_arg): New functions.  Implement the -var-*
+	commands.
+	* mi-cmds.h: Add prototypes for the above.
+
+1999-09-14  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-cmds.c (mi_cmds): Add detach command.
+
+1999-09-09  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-cmds.c (lookup_table): Fix typo.
+
+1999-09-09  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-cmds.c (mi_cmds): Fix typo and missing command.
+
+1999-09-09  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-main.c: Properly align function prototypes.
+	(mi_cmd_target_select): Proper check for NULL value.
+
+1999-09-09  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-main.c (mi_execute_async_cli_command): Fix for native targets
+	that do not have async yet.
+
+1999-09-01  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (mi_cmd_disassemble): Remove unused var.
+	(gdb_do_disassemble): Ditto.
+
+1999-08-30  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c: Replace all the occurrences of 'asynch' in variable
+ 	or function names with 'async' to make it consistent with the rest
+ 	of gdb.
+
+Mon Aug 30 18:16:39 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c: #include <ctype.h> for isspace().
+
+1999-08-27  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (gdb_do_disassemble): This function returns void, not
+ 	int.
+
+1999-08-26  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (mi_cmd_disassemble): Don't use atoi() on the high
+ 	address string, just treat it same as address low.
+	(gdb_do_disassemble): Parse high_address string before seeing if
+ 	it is zero.
+
+1999-08-25  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (mi_cmd_disassemble): New function to produce
+ 	disassembly output for mi.
+	(gdb_dis_asm_read_memory): New function. Read the disassembly from
+ 	the executable file, instead of target memory.
+	(compare_lines): New function. Compare order of disassembly lines.
+	(gdb_do_disassemble): New function. Do the real job of getting the
+ 	assembly code out.
+
+	* mi-cmds.c (mi_cmds): Do data-disassemble mi command via the
+ 	mi_cmd_disassemble function.
+
+	* mi-cmds.h: Export new function mi_cmd_disassemble.
+
+Wed Aug 25 15:58:31 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_command_loop): Remove references to ui-hooks.
+
+1999-08-21  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (mi_execute_asynch_cli_command): Fix the incorrect
+	usage of strcat(): allocate enough space for the string.
+
+1999-08-13  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	From Christopher Faylor <cgf@cygnus.com>
+	* mi-main.c (mi_execute_command): Make sure we flush all the
+ 	output after each command.
+
+1999-08-10  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (_initialize_mi_main): Remove casting in call to
+ 	add_file_handler.
+
+Sun Aug  8 17:20:57 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_cmd_target_select, mi_execute_asynch_cli_command):
+ 	Replace call to fatal with call to internal_error.
+
+1999-07-26  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-main.c (mi_cmd_execute): Add return code.
+	(mi_execute_command): Make appropriate changes when calling the
+	function mentioned above.
+	(mi_cmd_gdb_exit, mi_cmd_target_select,
+	mi_cmd_target_select_continuation, mi_execute_command,
+	mi_exec_asynch_cli_cmd, mi_exec_asynch_cli_cmd_continuation):
+	Print token, prefix, class and output (if any) in one single group
+	of statements.
+	(mi_execute_command, mi_cmd_execute): Fix error prefix.
+	(mi_cmd_execute): Use exec cleanup for token.
+	* mi-out.c (mi_out_rewind): New function.
+	* mi-out.h: Prototype for the above.
+
+1999-07-16  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-main.c (mi_cmd_gdb_exit): Use buffer for exit message.
+	(mi_cmd_execute): Route error messages to correct file.
+	(mi_execute_asynch_cli_command): Insert line feed after running
+	message.
+
+1999-07-16  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-out.h (mi_out_buffered): Add extern declaration.
+	* mi-out.c (mi_out_buffered): New function. Insert a string at the
+	current buffer position.
+	* mi-main.c (mi_cmd_target_select, mi_execute_command,
+	mi_cmd_execute, mi_execute_asynch_cli_command): Use the above
+	function instead of printing to raw_stdout.
+	(mi_cmd_target_select, mi_cmd_target_select_continuation,
+	mi_execute_command, mi_cmd_execute, mi_execute_cli_command,
+	mi_exec_asynch_cli_cmd_continuation): Fix handling of token and
+	prefix.
+	(mi_execute_cli_command): Remove parameter no longer needed.
+
+1999-07-15  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c (mi_cmd_target_select_continuation): Print the numeric
+ 	token when we are connected.
+	(mi_execute_command): Don't print the token now, do it later.
+	(mi_execute_cli_command): Add a new parameter for the numeric
+ 	token.  Print the token, the prefix and the class after the
+ 	command has executed, not before.
+	(mi_execute_asynch_cli_command): Don't print an extra blank line.
+
+1999-07-15  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-main.c (mi_gdb_exit): Add \n at the end.
+
+1999-07-15  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-main.c (mi_cmd_execute): New function. Dispatch a mi operation.
+	(mi_execute_command): Use the above.
+
+1999-07-15  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-main.c: Fix identation.
+
+1999-07-15  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-main.c: Include target.h and inferior.h.
+	(mi_cmd_target_select): New function to execute the target-select
+ 	mi operation.
+	(mi_cmd_target_select_continuation): New function. Continuation
+ 	for the target-select operation.
+	(mi_execute_command): In case of an MI command which requires
+ 	asynchronous execution, do not try to display the result now. If
+ 	the execution has to look synchronous don't display the "(gdb)"
+ 	prompt.
+	(mi_execute_asynch_cli_command): Invoke real asynchronous
+ 	commands, set up exec_cleanups, and continuations.
+	(mi_exec_asynch_cli_cmd_continuation): New function. Continuation
+ 	for all the MI execution commands except 'target-select'.
+	(mi_execute_command): Handle null commands by exiting gdb, instead
+ 	of core dumping.
+
+	* mi-cmds.c (mi_cmds): Hook up -target-select operation to new mi
+ 	function.
+
+	* mi-cmds.h (mi_cmd_target_select): Add extern declaration.
+
+Thu Jul 15 10:31:39 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (struct mi_console_file): Add field ``prefix''.
+	(mi_console_file_new): Add argument prefix.  Initialize prefix
+ 	field.
+	(mi_console_file_flush): Use ``prefix'' instead of "~" as the
+ 	prefix string.
+	(mi_command_loop): Update stream output prefixes. gdb_stdout ==
+ 	"~", gdb_stderr / gdb_stdlog == "&", gdb_stdtarg == "@".
+
+1999-07-13  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-main.c (ui_out_data): New field first_header. Fix output when
+	no breakpoints are found.
+	(mi_table_begin, mi_table_body, mi_table_header): Test for
+	first_header.
+	(mi_table_end): Test for supress_field_separator.
+	(mi_message): Remove messages from MI output.
+
+1999-06-30  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-cmds.c (mi_cmds[]): Delete gdb-cli operation.
+	* mi-main.c (parse): Remove ifdefs for cli commands parsing.
+	(mi-execute-command): Ditto.
+
+Mon Jun 28 13:06:52 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-out.h: New file.
+	(mi_out_new, mi_out_put): Move mi specific delcarations to here.
+	* ui-out.h: From here.
+
+	* mi-main.c: Include "mi-out.h".
+
+1999-06-25  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* top.c (print_gdb_version): Add the word HEADLESS when output
+	follows headless format.
+	(print_command_lines): Fix typo.
+
+1999-06-25  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* event-loop.h: Export input_fd.  
+	* mi-main.c (mi_command_loop): Use the event loop if running
+ 	asynchronously.
+	(mi_execute_command_wrapper): New function.
+	(_initialize_mi-main): Set things up for running asynchronously.
+
+1999-06-18  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+        * mi-cmds.c (mi_lookup): Deleted.
+        (lookup_table): New function. Replaces old mi_lookup() for local
+        use.
+        (mi_lookup): New function. External interface for command table
+        searchs.
+        (build_table): New definition.
+        (mi_cmds[]): Add several command implementations and the gdb-cli
+        special operation.
+        (mi_cmd_execute): Deleted.
+        * mi-cmds.h: Add type definition for command implementation
+        function pointers, add declaration for new implementation
+        functions and a declaration for mi_lookup().
+        * mi-main.c (mi_execute_asynch_cli_command): New
+        function. Captures code that was repeated for all asynch
+        operations.
+        (mi_cmd_exec_*): Use the above new function.
+        (mi_gdb_cmd_exit): Fix the output, printing something appropriate.
+        (mi_cmd_exec_finish): New operation implementation function.
+        (mi_cmd_exec_return): Ditto.
+        (parse): Prepare to remove cli commands.
+        (mi_execute_command): Fix the output and change the way mi-cmds is
+        used.
+
+1999-06-18  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+        * mi-out.c (mi_table_begin): Add missing field separator call.
+
+Thu Jun 17 21:05:40 1999  Fernando Nasser  <fnasser@tofu.to.cygnus.com>
+
+	* breakpoint.c (breakpoint_1): Remove space in breakpoint table
+	id.
+	(mention): Use ui_out for last new line (forgotten).
+
+1999-06-16  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-main.c (mi_console_file_flush): Prevent prefix printing when
+	buffer empty; change prefix to '~'.
+	(mi_cmd_exec_*): Prefix normal output with '^' instead of
+	','; remove unwanted new lines before "stopped".
+
+1999-06-16  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-cmds.c (struct mi_cmds): Updated entries for -exec-continue
+	and exec-next operations.
+	(mi_cmd_execute): New text for error messages.
+	* mi-cmds.h: Add declaration for mi_cmd_exec_next and
+	mi_cmd_exec_continue.
+	* mi-main.c (mi_cmd_exec_next): New function. Implements exec-next
+	operation.
+	(mi_cmd_exec_continue): New function. Implements exec-continue
+	operation.
+	(mi_execute_comand): Add missing space to prompt.
+	(mi_cmd_exec_run): Ditto.
+	(mi_cmd_exec_step): Ditto.
+	* mi-out.c (mi_out_new): Add flags argument to ui_out_new call.
+	(ui_list_end): Reset supress_field_separator flag.
+
+Sat Jun 12 11:49:10 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-cmds.h. mi-cmds.c (exec step): Command implemented by
+ 	mi_cmd_exec_step instead of cli call.
+	* mi-main.c (mi_cmd_exec_step): New function.
+
+	* mi-cmds.h. mi-cmds.c (exec run): Command implemented by
+ 	mi_cmd_exec_run instead of cli call.
+	* mi-main.c (mi_cmd_exec_run): New function.
+
+	* mi-cmds.h. mi-cmds.c (gdb exit): Command implemented by
+ 	mi_cmd_gdb_exit instead of quit_force.
+	* mi-main.c (mi_cmd_gdb_exit): New function.
+
+Sat Jun 12 11:33:23 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_command_loop): Pass mi_input to
+ 	simplified_command_loop.
+	(mi_input): New function.  Calls gdb_readline with no prompt.
+
+Sat Jun 12 11:19:02 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_console_file_fputs): Re-implement.  Use a buffer
+ 	to accumulate output.
+
+	* mi-main.c (struct mi_console_file): Add a buffer.
+	(mi_console_file_new): Create a buffer.
+	(mi_console_file_flush): New function.
+
+Sat Jun 12 10:59:39 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-cmds.h (raw_stdout): Declare.  Will be moved later.
+	* mi-cmds.c (mi_cmd_execute): Send error messages to RAW stdout.
+	(mi_cmds): Sort by class.
+
+	* mi-main.c (raw_stdout): Make global.
+	* mi-main.c: Remove #ifdef UI_OUT.  File assumes UI_OUT is
+ 	present.
+	* mi-main.c: Include "gdb_string.h".
+	(mi_out_put): Delete declaration.
+
+1999-06-11  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-main.c: Add pre-processor test for UI_OUT.
+	(mi_execute_command): Add pre-processor test for UI_OUT.
+
+Fri Jun 11 23:11:41 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (raw_stdout): New variable.
+	(mi_execute_command): Write mi-out direct to raw_stdout.
+	(mi_command_loop): Create raw_stdout. Attach gdb_stdout to the
+ 	console.
+	(mi_console_file_fputs, mi_console_file_delete,
+ 	mi_console_file_new): New functions.
+	(struct mi_console_file): Declare.
+
+Fri Jun 11 18:34:33 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c (mi_execute_command): Call mi_out_put to display the
+ 	result.
+	* mi-out.c (mi_out_put): New function.
+	* ui-out.h (mi_out_put): Add declare.  Will move later.
+	* Makefile.in (mi-cmds.o, mi-main.o): Add dependency on ui-out.h.
+
+	* mi-out.c (mi_field_string, mi_field_fmt, mi_message, mi_flush,
+ 	out_field_fmt, list_open, list_close): Replace gdb_stdout with
+ 	data->buffer.
+	(field_separator, list_open, list_close): Add uiout parameter.
+	(mi_table_begin, mi_table_body, mi_table_end, mi_list_begin,
+ 	mi_list_end, mi_field_string, mi_field_fmt, out_field_fmt,
+ 	out_field_fmt): Update.
+
+	* mi-out.c (mi_out_new): Initialize supress_field_separator.
+	(supress_field_separator): Move into mi-out local data object.
+	(mi_table_begin, mi_list_begin, field_separator): Update.
+
+Fri Jun 11 16:08:37 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-out.c (mi_out_new): New function, replace init_mi_out.
+	* mi-main.c (mi_command_loop): Call mi_out_new().
+
+	* ui-out.h (mi_out_new): Add declaration.  Will move later.
+	(mi_ui_out_impl): Delete.
+
+Wed Jun  9 16:42:16 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-main.c: Include "ui-hooks.h".
+ 	(mi_init_ui, mi_command_loop): New functions.
+	(_initialize_mi_main): Install ``mi'' as the interpreter when
+ 	selected.
+
+Mon Jun  7 18:43:43 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	From Fernando Nasser  <fnasser@totem.to.cygnus.com>
+	* mi-cmds.c (build_table): Clean up error message.
+	* mi-cmds.c (mi_cmd_execute), mi-main.c (mi_execute_command): Only
+ 	print debug information when mi_debug_p.
+	* mi-cmds.h (mi_debug_p), mi-main.c: Global, control debug messages.
+	
+Thu Jun  3 00:44:52 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+  	From Fernando Nasser  <fnasser@totem.to.cygnus.com>:
+	* mi-cmds.c: Add CLI definitions for "exec-arguments",
+ 	"exec-next", "gdb-exit", "break-list", "break-info", "exec-step"
+ 	and "stack-list-frames" to mi_cmds.
+	(struct mi_command): Add ``from_tty'' argument to func.
+	* mi-cmds.h (quit_force): Declare.
+
+1999-05-31  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-out.c (mi_table_end): Remove unwanted "\n".
+
+Thu May 27 14:59:06 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* top.c: Include "ui-hooks.h".
+	(call_interp_loop): Tempoary.  Pass mi_execute_command to
+ 	simplified_command_loop.  Initialize gdb_stdout & gdb_stderr to
+ 	stdio gdb_file streams.  Force all hooks to null.
+
+	* mi-cmds.h, mi-main.c, mi-cmds.c: New files.
+	* Makefile.in (SFILES): Add mi-main.c, mi-cmds.c
+	(COMMON_OBS): Add mi-main.o, mi-cmds.o.
+	(mi_cmds_h): Define.
+
+Wed May 26 12:39:49 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* top.c (call_interp_loop): Hack.  Add extern declaration for
+ 	mi_ui_out_impl.
+
+1999-05-25  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-out.c: New table syntax.
+
+Mon May 24 16:16:29 1999  Andrew Cagney  <cagney@amy.cygnus.com>
+
+	mi-out.c (_initialize_mi_out): Add external declaration.
+
+1999-05-21  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-out.c (mi_table_begin): Added missing parameter.
+
+1999-05-21  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-out.c: Changed table markers and added table id.
+
+1999-05-21  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* mi-out.c: New file. Implements low-level ui-out primitives for
+	CLI-based interaction.
+
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/gdb/sparc-linux-tdep.c b/gdb/sparc-linux-tdep.c
new file mode 100644
index 0000000..13875af
--- /dev/null
+++ b/gdb/sparc-linux-tdep.c
@@ -0,0 +1,311 @@
+/* Target-dependent code for GNU/Linux SPARC.
+
+   Copyright 2003 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+#include "floatformat.h"
+#include "frame.h"
+#include "frame-unwind.h"
+#include "gdbarch.h"
+#include "gdbcore.h"
+#include "osabi.h"
+#include "regcache.h"
+#include "solib-svr4.h"
+#include "symtab.h"
+#include "trad-frame.h"
+
+#include "gdb_assert.h"
+#include "gdb_string.h"
+
+#include "sparc-tdep.h"
+
+/* Recognizing signal handler frames.  */
+
+/* GNU/Linux has two flavors of signals.  Normal signal handlers, and
+   "realtime" (RT) signals.  The RT signals can provide additional
+   information to the signal handler if the SA_SIGINFO flag is set
+   when establishing a signal handler using `sigaction'.  It is not
+   unlikely that future versions of GNU/Linux will support SA_SIGINFO
+   for normal signals too.  */
+
+/* When the sparc Linux kernel calls a signal handler and the
+   SA_RESTORER flag isn't set, the return address points to a bit of
+   code on the stack.  This function returns whether the PC appears to
+   be within this bit of code.
+
+   The instruction sequence for normal signals is
+	mov __NR_sigreturn, %g1		! hex: 0x821020d8
+	ta  0x10			! hex: 0x91d02010
+
+   Checking for the code sequence should be somewhat reliable, because
+   the effect is to call the system call sigreturn.  This is unlikely
+   to occur anywhere other than a signal trampoline.
+
+   It kind of sucks that we have to read memory from the process in
+   order to identify a signal trampoline, but there doesn't seem to be
+   any other way.  However, sparc32_linux_pc_in_sigtramp arranges to
+   only call us if no function name could be identified, which should
+   be the case since the code is on the stack.  */
+
+#define LINUX32_SIGTRAMP_INSN0	0x821020d8	/* mov __NR_sigreturn, %g1 */
+#define LINUX32_SIGTRAMP_INSN1	0x91d02010	/* ta  0x10 */
+
+/* The instruction sequence for RT signals is
+       mov __NR_rt_sigreturn, %g1	! hex: 0x82102065
+       ta  {0x10,0x6d}			! hex: 0x91d02010 or 0x91d0206d
+
+   The effect is to call the system call rt_sigreturn.  The trap number
+   is variable based upon whether this is a 32-bit or 64-bit sparc binary.
+   Note that 64-bit binaries only use this RT signal return method.  */
+
+#define LINUX32_RT_SIGTRAMP_INSN0	0x82102065
+#define LINUX32_RT_SIGTRAMP_INSN1	0x91d02010
+
+/* If PC is in a sigtramp routine consisting of the instructions INSN0
+   and INSN1, return the address of the start of the routine.
+   Otherwise, return 0.  */
+
+CORE_ADDR
+sparc_linux_sigtramp_start (CORE_ADDR pc, ULONGEST insn0, ULONGEST insn1)
+{
+  ULONGEST word0, word1;
+  char buf[8];			/* Two instructions.  */
+
+  /* We only recognize a signal trampoline if PC is at the start of
+     one of the instructions.  We optimize for finding the PC at the
+     start of the instruction sequence, as will be the case when the
+     trampoline is not the first frame on the stack.  We assume that
+     in the case where the PC is not at the start of the instruction
+     sequence, there will be a few trailing readable bytes on the
+     stack.  */
+
+  if (read_memory_nobpt (pc, buf, sizeof buf) != 0)
+    return 0;
+
+  word0 = extract_unsigned_integer (buf, 4);
+  if (word0 != insn0)
+    {
+      if (word0 != insn1)
+	return 0;
+
+      pc -= 4;
+      if (read_memory_nobpt (pc, buf, sizeof buf) != 0)
+	return 0;
+
+      word0 = extract_unsigned_integer (buf, 4);
+    }
+
+  word1 = extract_unsigned_integer (buf + 4, 4);
+  if (word0 != insn0 || word1 != insn1)
+    return 0;
+
+  return pc;
+}
+
+static CORE_ADDR
+sparc32_linux_sigtramp_start (CORE_ADDR pc)
+{
+  return sparc_linux_sigtramp_start (pc, LINUX32_SIGTRAMP_INSN0,
+				     LINUX32_SIGTRAMP_INSN1);
+}
+
+static CORE_ADDR
+sparc32_linux_rt_sigtramp_start (CORE_ADDR pc)
+{
+  return sparc_linux_sigtramp_start (pc, LINUX32_RT_SIGTRAMP_INSN0,
+				     LINUX32_RT_SIGTRAMP_INSN1);
+}
+
+static int
+sparc32_linux_pc_in_sigtramp (CORE_ADDR pc, char *name)
+{
+  /* If we have NAME, we can optimize the search.  The trampolines are
+     named __restore and __restore_rt.  However, they aren't dynamically
+     exported from the shared C library, so the trampoline may appear to
+     be part of the preceding function.  This should always be sigaction,
+     __sigaction, or __libc_sigaction (all aliases to the same function).  */
+  if (name == NULL || strstr (name, "sigaction") != NULL)
+    return (sparc32_linux_sigtramp_start (pc) != 0
+	    || sparc32_linux_rt_sigtramp_start (pc) != 0);
+
+  return (strcmp ("__restore", name) == 0
+	  || strcmp ("__restore_rt", name) == 0);
+}
+
+static struct sparc_frame_cache *
+sparc32_linux_sigtramp_frame_cache (struct frame_info *next_frame,
+				    void **this_cache)
+{
+  struct sparc_frame_cache *cache;
+  CORE_ADDR sigcontext_addr, addr;
+  int regnum;
+
+  if (*this_cache)
+    return *this_cache;
+
+  cache = sparc32_frame_cache (next_frame, this_cache);
+  gdb_assert (cache == *this_cache);
+
+  /* ??? What about signal trampolines that aren't frameless?  */
+  regnum = SPARC_SP_REGNUM;
+  cache->base = frame_unwind_register_unsigned (next_frame, regnum);
+
+  regnum = SPARC_O1_REGNUM;
+  sigcontext_addr = frame_unwind_register_unsigned (next_frame, regnum);
+
+  cache->pc = frame_pc_unwind (next_frame);
+  addr = sparc32_linux_sigtramp_start (cache->pc);
+  if (addr == 0)
+    {
+      /* If this is a RT signal trampoline, adjust SIGCONTEXT_ADDR
+         accordingly.  */
+      addr = sparc32_linux_rt_sigtramp_start (cache->pc);
+      if (addr)
+	sigcontext_addr += 128;
+      else
+	addr = frame_func_unwind (next_frame);
+    }
+  cache->pc = addr;
+
+  cache->saved_regs = trad_frame_alloc_saved_regs (next_frame);
+
+  cache->saved_regs[SPARC32_PSR_REGNUM].addr = sigcontext_addr + 0;
+  cache->saved_regs[SPARC32_PC_REGNUM].addr = sigcontext_addr + 4;
+  cache->saved_regs[SPARC32_NPC_REGNUM].addr = sigcontext_addr + 8;
+  cache->saved_regs[SPARC32_Y_REGNUM].addr = sigcontext_addr + 12;
+
+  /* Since %g0 is always zero, keep the identity encoding.  */
+  for (regnum = SPARC_G1_REGNUM, addr = sigcontext_addr + 20;
+       regnum <= SPARC_O7_REGNUM; regnum++, addr += 4)
+    cache->saved_regs[regnum].addr = addr;
+
+  for (regnum = SPARC_L0_REGNUM, addr = cache->base;
+       regnum <= SPARC_I7_REGNUM; regnum++, addr += 4)
+    cache->saved_regs[regnum].addr = addr;
+
+  return cache;
+}
+
+static void
+sparc32_linux_sigtramp_frame_this_id (struct frame_info *next_frame,
+				      void **this_cache,
+				      struct frame_id *this_id)
+{
+  struct sparc_frame_cache *cache =
+    sparc32_linux_sigtramp_frame_cache (next_frame, this_cache);
+
+  (*this_id) = frame_id_build (cache->base, cache->pc);
+}
+
+static void
+sparc32_linux_sigtramp_frame_prev_register (struct frame_info *next_frame,
+					    void **this_cache,
+					    int regnum, int *optimizedp,
+					    enum lval_type *lvalp,
+					    CORE_ADDR *addrp,
+					    int *realnump, void *valuep)
+{
+  struct sparc_frame_cache *cache =
+    sparc32_linux_sigtramp_frame_cache (next_frame, this_cache);
+
+  trad_frame_prev_register (next_frame, cache->saved_regs, regnum,
+			    optimizedp, lvalp, addrp, realnump, valuep);
+}
+
+static const struct frame_unwind sparc32_linux_sigtramp_frame_unwind =
+{
+  SIGTRAMP_FRAME,
+  sparc32_linux_sigtramp_frame_this_id,
+  sparc32_linux_sigtramp_frame_prev_register
+};
+
+static const struct frame_unwind *
+sparc32_linux_sigtramp_frame_sniffer (struct frame_info *next_frame)
+{
+  CORE_ADDR pc = frame_pc_unwind (next_frame);
+  char *name;
+
+  find_pc_partial_function (pc, &name, NULL, NULL);
+  if (sparc32_linux_pc_in_sigtramp (pc, name))
+    return &sparc32_linux_sigtramp_frame_unwind;
+
+  return NULL;
+}
+
+
+static struct link_map_offsets *
+sparc32_linux_svr4_fetch_link_map_offsets (void)
+{
+  static struct link_map_offsets lmo;
+  static struct link_map_offsets *lmp = NULL;
+
+  if (lmp == NULL)
+    {
+      lmp = &lmo;
+
+      /* Everything we need is in the first 8 bytes.  */
+      lmo.r_debug_size = 8;
+      lmo.r_map_offset = 4;
+      lmo.r_map_size   = 4;
+
+      /* Everything we need is in the first 20 bytes.  */
+      lmo.link_map_size = 20;
+      lmo.l_addr_offset = 0;
+      lmo.l_addr_size   = 4;
+      lmo.l_name_offset = 4;
+      lmo.l_name_size   = 4;
+      lmo.l_next_offset = 12;
+      lmo.l_next_size   = 4;
+      lmo.l_prev_offset = 16;
+      lmo.l_prev_size   = 4;
+    }
+
+  return lmp;
+}
+
+static void
+sparc32_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+  /* GNU/Linux is very similar to Solaris ...  */
+  sparc32_sol2_init_abi (info, gdbarch);
+
+  /* ... but doesn't have kernel-assisted single-stepping support.  */
+  set_gdbarch_software_single_step (gdbarch, sparc_software_single_step);
+
+  /* GNU/Linux doesn't support the 128-bit `long double' from the psABI.  */
+  set_gdbarch_long_double_bit (gdbarch, 64);
+  set_gdbarch_long_double_format (gdbarch, &floatformat_ieee_double_big);
+
+  set_gdbarch_pc_in_sigtramp (gdbarch, sparc32_linux_pc_in_sigtramp);
+  frame_unwind_append_sniffer (gdbarch, sparc32_linux_sigtramp_frame_sniffer);
+
+  set_solib_svr4_fetch_link_map_offsets
+    (gdbarch, sparc32_linux_svr4_fetch_link_map_offsets);
+}
+
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern void _initialize_sparc_linux_tdep (void);
+
+void
+_initialize_sparc_linux_tdep (void)
+{
+  gdbarch_register_osabi (bfd_arch_sparc, 0, GDB_OSABI_LINUX,
+			  sparc32_linux_init_abi);
+}
diff --git a/gdb/sparc-nat.h b/gdb/sparc-nat.h
new file mode 100644
index 0000000..8f99b1e
--- /dev/null
+++ b/gdb/sparc-nat.h
@@ -0,0 +1,40 @@
+/* Native-dependent code for SPARC.
+
+   Copyright 2003 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef SPARC_NAT_H
+#define SPARC_NAT_H 1
+
+struct sparc_gregset;
+
+extern const struct sparc_gregset *sparc_gregset;
+extern void (*sparc_supply_gregset) (const struct sparc_gregset *,
+				     struct regcache *, int , const void *);
+extern void (*sparc_collect_gregset) (const struct sparc_gregset *,
+				      const struct regcache *, int, void *);
+extern void (*sparc_supply_fpregset) (struct regcache *, int , const void *);
+extern void (*sparc_collect_fpregset) (const struct regcache *, int , void *);
+extern int (*sparc_gregset_supplies_p) (int);
+extern int (*sparc_fpregset_supplies_p) (int);
+
+extern int sparc32_gregset_supplies_p (int regnum);
+extern int sparc32_fpregset_supplies_p (int regnum);
+
+#endif /* sparc-nat.h */
diff --git a/gdb/sparc-sol2-nat.c b/gdb/sparc-sol2-nat.c
new file mode 100644
index 0000000..61ca712
--- /dev/null
+++ b/gdb/sparc-sol2-nat.c
@@ -0,0 +1,98 @@
+/* Native-dependent code for Solaris SPARC.
+
+   Copyright 2003, 2004 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+#include "regcache.h"
+
+#include <sys/procfs.h>
+#include "gregset.h"
+
+#include "sparc-tdep.h"
+
+/* This file provids the (temporary) glue between the Solaris SPARC
+   target dependent code and the machine independent SVR4 /proc
+   support.  */
+
+/* Solaris 7 (Solaris 2.7, SunOS 5.7) and up support two process data
+   models, the traditional 32-bit data model (ILP32) and the 64-bit
+   data model (LP64).  The format of /proc depends on the data model
+   of the observer (the controlling process, GDB in our case).  The
+   Solaris header files conveniently define PR_MODEL_NATIVE to the
+   data model of the controlling process.  If its value is
+   PR_MODEL_LP64, we know that GDB is being compiled as a 64-bit
+   program.
+
+   GNU/Linux uses the same formats as Solaris for its core files (but
+   not for ptrace(2)).  The GNU/Linux headers don't define
+   PR_MODEL_NATIVE though.  Therefore we rely on the __arch64__ define
+   provided by GCC to determine the appropriate data model.
+
+   Note that a 32-bit GDB won't be able to debug a 64-bit target
+   process using /proc on Solaris.  */
+
+#if (defined (__arch64__) || \
+     (defined (PR_MODEL_NATIVE) && (PR_MODEL_NATIVE == PR_MODEL_LP64)))
+
+#include "sparc64-tdep.h"
+
+#define sparc_supply_gregset sparc64_supply_gregset
+#define sparc_supply_fpregset sparc64_supply_fpregset
+#define sparc_collect_gregset sparc64_collect_gregset
+#define sparc_collect_fpregset sparc64_collect_fpregset
+
+#define sparc_sol2_gregset sparc64_sol2_gregset
+#define sparc_sol2_fpregset sparc64_sol2_fpregset
+
+#else
+
+#define sparc_supply_gregset sparc32_supply_gregset
+#define sparc_supply_fpregset sparc32_supply_fpregset
+#define sparc_collect_gregset sparc32_collect_gregset
+#define sparc_collect_fpregset sparc32_collect_fpregset
+
+#define sparc_sol2_gregset sparc32_sol2_gregset
+#define sparc_sol2_fpregset sparc32_sol2_fpregset
+
+#endif
+
+void
+supply_gregset (prgregset_t *gregs)
+{
+  sparc_supply_gregset (&sparc_sol2_gregset, current_regcache, -1, gregs);
+}
+
+void
+supply_fpregset (prfpregset_t *fpregs)
+{
+  sparc_supply_fpregset (current_regcache, -1, fpregs);
+}
+
+void
+fill_gregset (prgregset_t *gregs, int regnum)
+{
+  sparc_collect_gregset (&sparc_sol2_gregset, current_regcache, regnum, gregs);
+}
+
+void
+fill_fpregset (prfpregset_t *fpregs, int regnum)
+{
+  sparc_collect_fpregset (current_regcache, regnum, fpregs);
+}
diff --git a/gdb/sparc-sol2-tdep.c b/gdb/sparc-sol2-tdep.c
new file mode 100644
index 0000000..5f65b78
--- /dev/null
+++ b/gdb/sparc-sol2-tdep.c
@@ -0,0 +1,201 @@
+/* Target-dependent code for Solaris SPARC.
+
+   Copyright 2003 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+#include "frame.h"
+#include "frame-unwind.h"
+#include "gdbcore.h"
+#include "symtab.h"
+#include "objfiles.h"
+#include "osabi.h"
+#include "regcache.h"
+#include "target.h"
+#include "trad-frame.h"
+
+#include "gdb_assert.h"
+#include "gdb_string.h"
+
+#include "sparc-tdep.h"
+
+/* From <sys/regset.h>.  */
+const struct sparc_gregset sparc32_sol2_gregset =
+{
+  32 * 4,			/* %psr */
+  33 * 4,			/* %pc */
+  34 * 4,			/* %npc */
+  35 * 4,			/* %y */
+  36 * 4,			/* %wim */
+  37 * 4,			/* %tbr */
+  1 * 4,			/* %g1 */
+  16 * 4,			/* %l0 */
+};
+
+
+/* The Solaris signal trampolines reside in libc.  For normal signals,
+   the function `sigacthandler' is used.  This signal trampoline will
+   call the signal handler using the System V calling convention,
+   where the third argument is a pointer to an instance of
+   `ucontext_t', which has a member `uc_mcontext' that contains the
+   saved registers.  Incidentally, the kernel passes the `ucontext_t'
+   pointer as the third argument of the signal trampoline too, and
+   `sigacthandler' simply passes it on. However, if you link your
+   program with "-L/usr/ucblib -R/usr/ucblib -lucb", the function
+   `ucbsigvechandler' will be used, which invokes the using the BSD
+   convention, where the third argument is a pointer to an instance of
+   `struct sigcontext'.  It is the `ucbsigvechandler' function that
+   converts the `ucontext_t' to a `sigcontext', and back.  Unless the
+   signal handler modifies the `struct sigcontext' we can safely
+   ignore this.  */
+
+int
+sparc_sol2_pc_in_sigtramp (CORE_ADDR pc, char *name)
+{
+  return (name && (strcmp (name, "sigacthandler") == 0
+		   || strcmp (name, "ucbsigvechandler") == 0));
+}
+
+static struct sparc_frame_cache *
+sparc32_sol2_sigtramp_frame_cache (struct frame_info *next_frame,
+				   void **this_cache)
+{
+  struct sparc_frame_cache *cache;
+  CORE_ADDR mcontext_addr, addr;
+  int regnum;
+
+  if (*this_cache)
+    return *this_cache;
+
+  cache = sparc_frame_cache (next_frame, this_cache);
+  gdb_assert (cache == *this_cache);
+
+  cache->saved_regs = trad_frame_alloc_saved_regs (next_frame);
+
+  /* The third argument is a pointer to an instance of `ucontext_t',
+     which has a member `uc_mcontext' that contains the saved
+     registers.  */
+  regnum = (cache->frameless_p ? SPARC_O2_REGNUM : SPARC_I2_REGNUM);
+  mcontext_addr = frame_unwind_register_unsigned (next_frame, regnum) + 40;
+
+  cache->saved_regs[SPARC32_PSR_REGNUM].addr = mcontext_addr + 0 * 4;
+  cache->saved_regs[SPARC32_PC_REGNUM].addr = mcontext_addr + 1 * 4;
+  cache->saved_regs[SPARC32_NPC_REGNUM].addr = mcontext_addr + 2 * 4;
+  cache->saved_regs[SPARC32_Y_REGNUM].addr = mcontext_addr + 3 * 4;
+
+  /* Since %g0 is always zero, keep the identity encoding.  */
+  for (regnum = SPARC_G1_REGNUM, addr = mcontext_addr + 4 * 4;
+       regnum <= SPARC_O7_REGNUM; regnum++, addr += 4)
+    cache->saved_regs[regnum].addr = addr;
+
+  if (get_frame_memory_unsigned (next_frame, mcontext_addr + 19 * 4, 4))
+    {
+      /* The register windows haven't been flushed.  */
+      for (regnum = SPARC_L0_REGNUM; regnum <= SPARC_I7_REGNUM; regnum++)
+	trad_frame_set_unknown (cache->saved_regs, regnum);
+    }
+  else
+    {
+      addr = cache->saved_regs[SPARC_SP_REGNUM].addr;
+      addr = get_frame_memory_unsigned (next_frame, addr, 4);
+      for (regnum = SPARC_L0_REGNUM;
+	   regnum <= SPARC_I7_REGNUM; regnum++, addr += 4)
+	cache->saved_regs[regnum].addr = addr;
+    }
+
+  return cache;
+}
+
+static void
+sparc32_sol2_sigtramp_frame_this_id (struct frame_info *next_frame,
+				     void **this_cache,
+				     struct frame_id *this_id)
+{
+  struct sparc_frame_cache *cache =
+    sparc32_sol2_sigtramp_frame_cache (next_frame, this_cache);
+
+  (*this_id) = frame_id_build (cache->base, cache->pc);
+}
+
+static void
+sparc32_sol2_sigtramp_frame_prev_register (struct frame_info *next_frame,
+					   void **this_cache,
+					   int regnum, int *optimizedp,
+					   enum lval_type *lvalp,
+					   CORE_ADDR *addrp,
+					   int *realnump, void *valuep)
+{
+  struct sparc_frame_cache *cache =
+    sparc32_sol2_sigtramp_frame_cache (next_frame, this_cache);
+
+  trad_frame_prev_register (next_frame, cache->saved_regs, regnum,
+			    optimizedp, lvalp, addrp, realnump, valuep);
+}
+
+static const struct frame_unwind sparc32_sol2_sigtramp_frame_unwind =
+{
+  SIGTRAMP_FRAME,
+  sparc32_sol2_sigtramp_frame_this_id,
+  sparc32_sol2_sigtramp_frame_prev_register
+};
+
+static const struct frame_unwind *
+sparc32_sol2_sigtramp_frame_sniffer (struct frame_info *next_frame)
+{
+  CORE_ADDR pc = frame_pc_unwind (next_frame);
+  char *name;
+
+  find_pc_partial_function (pc, &name, NULL, NULL);
+  if (sparc_sol2_pc_in_sigtramp (pc, name))
+    return &sparc32_sol2_sigtramp_frame_unwind;
+
+  return NULL;
+}
+
+
+void
+sparc32_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+  /* Solaris has SVR4-style shared libraries...  */
+  set_gdbarch_in_solib_call_trampoline (gdbarch, in_plt_section);
+  set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
+
+  /* ...which means that we need some special handling when doing
+     prologue analysis.  */
+  tdep->plt_entry_size = 12;
+
+  /* Solaris has kernel-assisted single-stepping support.  */
+  set_gdbarch_software_single_step (gdbarch, NULL);
+
+  set_gdbarch_pc_in_sigtramp (gdbarch, sparc_sol2_pc_in_sigtramp);
+  frame_unwind_append_sniffer (gdbarch, sparc32_sol2_sigtramp_frame_sniffer);
+}
+
+
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+void _initialize_sparc_sol2_tdep (void);
+
+void
+_initialize_sparc_sol2_tdep (void)
+{
+  gdbarch_register_osabi (bfd_arch_sparc, 0,
+			  GDB_OSABI_SOLARIS, sparc32_sol2_init_abi);
+}
diff --git a/gdb/sparc64-linux-nat.c b/gdb/sparc64-linux-nat.c
new file mode 100644
index 0000000..56ee293
--- /dev/null
+++ b/gdb/sparc64-linux-nat.c
@@ -0,0 +1,48 @@
+/* Native-dependent code for GNU/Linux UltraSPARC.
+
+   Copyright 2003 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+
+#include "sparc64-tdep.h"
+#include "sparc-nat.h"
+
+static const struct sparc_gregset sparc64_linux_ptrace_gregset =
+{
+  16 * 8,			/* "tstate" */
+  17 * 8,			/* %pc */
+  18 * 8,			/* %npc */
+  19 * 8,			/* %y */
+  -1,				/* %wim */
+  -1,				/* %tbr */
+  0 * 8,			/* %g1 */
+  -1,				/* %l0 */
+  4				/* sizeof (%y) */
+};
+
+
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+void _initialize_sparc64_linux_nat (void);
+
+void
+_initialize_sparc64_linux_nat (void)
+{
+  sparc_gregset = &sparc64_linux_ptrace_gregset;
+}
diff --git a/gdb/sparc64-linux-tdep.c b/gdb/sparc64-linux-tdep.c
new file mode 100644
index 0000000..cd78557
--- /dev/null
+++ b/gdb/sparc64-linux-tdep.c
@@ -0,0 +1,82 @@
+/* Target-dependent code for GNU/Linux UltraSPARC.
+
+   Copyright 2003 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+#include "gdbarch.h"
+#include "osabi.h"
+#include "solib-svr4.h"
+
+#include "sparc64-tdep.h"
+
+static struct link_map_offsets *
+sparc64_linux_svr4_fetch_link_map_offsets (void)
+{
+  static struct link_map_offsets lmo;
+  static struct link_map_offsets *lmp = NULL;
+
+  if (lmp == NULL)
+    {
+      lmp = &lmo;
+
+      /* Everything we need is in the first 16 bytes.  */
+      lmo.r_debug_size = 16;
+      lmo.r_map_offset = 8;
+      lmo.r_map_size   = 8;
+
+      /* Everything we need is in the first 40 bytes.  */
+      lmo.link_map_size = 40;
+      lmo.l_addr_offset = 0;
+      lmo.l_addr_size   = 8;
+      lmo.l_name_offset = 8;
+      lmo.l_name_size   = 8;
+      lmo.l_next_offset = 24;
+      lmo.l_next_size   = 8;
+      lmo.l_prev_offset = 32;
+      lmo.l_prev_size   = 8;
+    }
+
+  return lmp;
+}
+
+static void
+sparc64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+  /* GNU/Linux is very similar to Solaris ...  */
+  sparc64_sol2_init_abi (info, gdbarch);
+
+  /* ... but doesn't have kernel-assisted single-stepping support.  */
+  set_gdbarch_software_single_step (gdbarch, sparc_software_single_step);
+
+  set_solib_svr4_fetch_link_map_offsets
+    (gdbarch, sparc64_linux_svr4_fetch_link_map_offsets);
+}
+
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern void _initialize_sparc64_linux_tdep (void);
+
+void
+_initialize_sparc64_linux_tdep (void)
+{
+  gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9,
+			  GDB_OSABI_LINUX, sparc64_linux_init_abi);
+}
diff --git a/gdb/sparc64-nat.c b/gdb/sparc64-nat.c
new file mode 100644
index 0000000..40a8b3b
--- /dev/null
+++ b/gdb/sparc64-nat.c
@@ -0,0 +1,87 @@
+/* Native-dependent code for GNU/Linux UltraSPARC.
+
+   Copyright 2003 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+#include "gdbarch.h"
+
+#include "sparc64-tdep.h"
+#include "sparc-nat.h"
+
+/* Determine whether `gregset_t' contains register REGNUM.  */
+
+static int
+sparc64_gregset_supplies_p (int regnum)
+{
+  if (gdbarch_ptr_bit (current_gdbarch) == 32)
+    return sparc32_gregset_supplies_p (regnum);
+
+  /* Integer registers.  */
+  if ((regnum >= SPARC_G1_REGNUM && regnum <= SPARC_G7_REGNUM)
+      || (regnum >= SPARC_O0_REGNUM && regnum <= SPARC_O7_REGNUM)
+      || (regnum >= SPARC_L0_REGNUM && regnum <= SPARC_L7_REGNUM)
+      || (regnum >= SPARC_I0_REGNUM && regnum <= SPARC_I7_REGNUM))
+    return 1;
+
+  /* Control registers.  */
+  if (regnum == SPARC64_PC_REGNUM
+      || regnum == SPARC64_NPC_REGNUM
+      || regnum == SPARC64_STATE_REGNUM
+      || regnum == SPARC64_Y_REGNUM
+      || regnum == SPARC64_FPRS_REGNUM)
+    return 1;
+
+  return 0;
+}
+
+/* Determine whether `fpregset_t' contains register REGNUM.  */
+
+static int
+sparc64_fpregset_supplies_p (int regnum)
+{
+  if (gdbarch_ptr_bit (current_gdbarch) == 32)
+    return sparc32_fpregset_supplies_p (regnum);
+
+  /* Floating-point registers.  */
+  if ((regnum >= SPARC_F0_REGNUM && regnum <= SPARC_F31_REGNUM)
+      || (regnum >= SPARC64_F32_REGNUM && regnum <= SPARC64_F62_REGNUM))
+    return 1;
+
+  /* Control registers.  */
+  if (regnum == SPARC64_FSR_REGNUM)
+    return 1;
+
+  return 0;
+}
+
+
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+void _initialize_sparc64_nat (void);
+
+void
+_initialize_sparc64_nat (void)
+{
+  sparc_supply_gregset = sparc64_supply_gregset;
+  sparc_collect_gregset = sparc64_collect_gregset;
+  sparc_supply_fpregset = sparc64_supply_fpregset;
+  sparc_collect_fpregset = sparc64_collect_fpregset;
+  sparc_gregset_supplies_p = sparc64_gregset_supplies_p;
+  sparc_fpregset_supplies_p = sparc64_fpregset_supplies_p;
+}
diff --git a/gdb/sparc64-sol2-tdep.c b/gdb/sparc64-sol2-tdep.c
new file mode 100644
index 0000000..079f3c5
--- /dev/null
+++ b/gdb/sparc64-sol2-tdep.c
@@ -0,0 +1,182 @@
+/* Target-dependent code for Solaris UltraSPARC.
+
+   Copyright 2003, 2004 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+#include "frame.h"
+#include "frame-unwind.h"
+#include "gdbarch.h"
+#include "symtab.h"
+#include "objfiles.h"
+#include "osabi.h"
+#include "trad-frame.h"
+
+#include "gdb_assert.h"
+
+#include "sparc64-tdep.h"
+
+/* From <sys/regset.h>.  */
+const struct sparc_gregset sparc64_sol2_gregset =
+{
+  32 * 8,			/* "tstate" */
+  33 * 8,			/* %pc */
+  34 * 8,			/* %npc */
+  35 * 8,			/* %y */
+  -1,				/* %wim */
+  -1,				/* %tbr */
+  1 * 8,			/* %g1 */
+  16 * 8,			/* %l0 */
+  8				/* sizeof (%y) */
+};
+
+
+static struct sparc_frame_cache *
+sparc64_sol2_sigtramp_frame_cache (struct frame_info *next_frame,
+				   void **this_cache)
+{
+  struct sparc_frame_cache *cache;
+  CORE_ADDR mcontext_addr, addr;
+  int regnum;
+
+  if (*this_cache)
+    return *this_cache;
+
+  cache = sparc_frame_cache (next_frame, this_cache);
+  gdb_assert (cache == *this_cache);
+
+  cache->saved_regs = trad_frame_alloc_saved_regs (next_frame);
+
+  /* The third argument is a pointer to an instance of `ucontext_t',
+     which has a member `uc_mcontext' that contains the saved
+     registers.  */
+  regnum = (cache->frameless_p ? SPARC_O2_REGNUM : SPARC_I2_REGNUM);
+  mcontext_addr = frame_unwind_register_unsigned (next_frame, regnum) + 64;
+
+  cache->saved_regs[SPARC64_CCR_REGNUM].addr = mcontext_addr + 0 * 8;
+  cache->saved_regs[SPARC64_PC_REGNUM].addr = mcontext_addr + 1 * 8;
+  cache->saved_regs[SPARC64_NPC_REGNUM].addr = mcontext_addr + 2 * 8;
+  cache->saved_regs[SPARC64_Y_REGNUM].addr = mcontext_addr + 3 * 8;
+  cache->saved_regs[SPARC64_ASI_REGNUM].addr = mcontext_addr + 19 * 8; 
+  cache->saved_regs[SPARC64_FPRS_REGNUM].addr = mcontext_addr + 20 * 8;
+
+  /* Since %g0 is always zero, keep the identity encoding.  */
+  for (regnum = SPARC_G1_REGNUM, addr = mcontext_addr + 4 * 8;
+       regnum <= SPARC_O7_REGNUM; regnum++, addr += 8)
+    cache->saved_regs[regnum].addr = addr;
+
+  if (get_frame_memory_unsigned (next_frame, mcontext_addr + 21 * 8, 8))
+    {
+      /* The register windows haven't been flushed.  */
+      for (regnum = SPARC_L0_REGNUM; regnum <= SPARC_I7_REGNUM; regnum++)
+	trad_frame_set_unknown (cache->saved_regs, regnum);
+    }
+  else
+    {
+      CORE_ADDR sp;
+
+      addr = cache->saved_regs[SPARC_SP_REGNUM].addr;
+      sp = get_frame_memory_unsigned (next_frame, addr, 8);
+      for (regnum = SPARC_L0_REGNUM, addr = sp + BIAS;
+	   regnum <= SPARC_I7_REGNUM; regnum++, addr += 8)
+	cache->saved_regs[regnum].addr = addr;
+    }
+
+  return cache;
+}
+
+static void
+sparc64_sol2_sigtramp_frame_this_id (struct frame_info *next_frame,
+				     void **this_cache,
+				     struct frame_id *this_id)
+{
+  struct sparc_frame_cache *cache =
+    sparc64_sol2_sigtramp_frame_cache (next_frame, this_cache);
+
+  (*this_id) = frame_id_build (cache->base, cache->pc);
+}
+
+static void
+sparc64_sol2_sigtramp_frame_prev_register (struct frame_info *next_frame,
+					   void **this_cache,
+					   int regnum, int *optimizedp,
+					   enum lval_type *lvalp,
+					   CORE_ADDR *addrp,
+					   int *realnump, void *valuep)
+{
+  struct sparc_frame_cache *cache =
+    sparc64_sol2_sigtramp_frame_cache (next_frame, this_cache);
+
+  trad_frame_prev_register (next_frame, cache->saved_regs, regnum,
+			    optimizedp, lvalp, addrp, realnump, valuep);
+}
+
+static const struct frame_unwind sparc64_sol2_sigtramp_frame_unwind =
+{
+  SIGTRAMP_FRAME,
+  sparc64_sol2_sigtramp_frame_this_id,
+  sparc64_sol2_sigtramp_frame_prev_register
+};
+
+static const struct frame_unwind *
+sparc64_sol2_sigtramp_frame_sniffer (struct frame_info *next_frame)
+{
+  CORE_ADDR pc = frame_pc_unwind (next_frame);
+  char *name;
+
+  find_pc_partial_function (pc, &name, NULL, NULL);
+  if (sparc_sol2_pc_in_sigtramp (pc, name))
+    return &sparc64_sol2_sigtramp_frame_unwind;
+
+  return NULL;
+}
+
+
+void
+sparc64_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+  set_gdbarch_pc_in_sigtramp (gdbarch, sparc_sol2_pc_in_sigtramp);
+  frame_unwind_append_sniffer (gdbarch, sparc64_sol2_sigtramp_frame_sniffer);
+
+  sparc64_init_abi (info, gdbarch);
+
+  /* Solaris has SVR4-style shared libraries...  */
+  set_gdbarch_in_solib_call_trampoline (gdbarch, in_plt_section);
+  set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
+
+  /* ...which means that we need some special handling when doing
+     prologue analysis.  */
+  tdep->plt_entry_size = 16;
+
+  /* Solaris has kernel-assisted single-stepping support.  */
+  set_gdbarch_software_single_step (gdbarch, NULL);
+}
+
+
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+void _initialize_sparc64_sol2_tdep (void);
+
+void
+_initialize_sparc64_sol2_tdep (void)
+{
+  gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9,
+			  GDB_OSABI_SOLARIS, sparc64_sol2_init_abi);
+}
diff --git a/gdb/sparc64nbsd-tdep.c b/gdb/sparc64nbsd-tdep.c
new file mode 100644
index 0000000..8e79870
--- /dev/null
+++ b/gdb/sparc64nbsd-tdep.c
@@ -0,0 +1,256 @@
+/* Target-dependent code for NetBSD/sparc64.
+
+   Copyright 2002, 2003, 2004 Free Software Foundation, Inc.
+   Based on code contributed by Wasabi Systems, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+#include "frame.h"
+#include "frame-unwind.h"
+#include "gdbcore.h"
+#include "osabi.h"
+#include "regcache.h"
+#include "regset.h"
+#include "symtab.h"
+#include "solib-svr4.h"
+#include "trad-frame.h"
+
+#include "gdb_assert.h"
+#include "gdb_string.h"
+
+#include "sparc64-tdep.h"
+#include "nbsd-tdep.h"
+
+/* From <machine/reg.h>.  */
+const struct sparc_gregset sparc64nbsd_gregset =
+{
+  0 * 8,			/* "tstate" */
+  1 * 8,			/* %pc */
+  2 * 8,			/* %npc */
+  3 * 8,			/* %y */
+  -1,				/* %fprs */
+  -1,
+  5 * 8,			/* %g1 */
+  -1,				/* %l0 */
+  4				/* sizeof (%y) */
+};
+
+
+static void
+sparc64nbsd_supply_gregset (const struct regset *regset,
+			    struct regcache *regcache,
+			    int regnum, const void *gregs, size_t len)
+{
+  sparc64_supply_gregset (regset->descr, regcache, regnum, gregs);
+}
+
+static void
+sparc64nbsd_supply_fpregset (const struct regset *regset,
+			     struct regcache *regcache,
+			     int regnum, const void *fpregs, size_t len)
+{
+  sparc64_supply_fpregset (regcache, regnum, fpregs);
+}
+
+
+/* Signal trampolines.  */
+
+/* The following variables describe the location of an on-stack signal
+   trampoline.  The current values correspond to the memory layout for
+   NetBSD 1.3 and up.  These shouldn't be necessary for NetBSD 2.0 and
+   up, since NetBSD uses signal trampolines provided by libc now.  */
+
+static const CORE_ADDR sparc64nbsd_sigtramp_start = 0xffffffffffffdee4ULL;
+static const CORE_ADDR sparc64nbsd_sigtramp_end = 0xffffffffffffe000ULL;
+
+static int
+sparc64nbsd_pc_in_sigtramp (CORE_ADDR pc, char *name)
+{
+  if (pc >= sparc64nbsd_sigtramp_start && pc < sparc64nbsd_sigtramp_end)
+    return 1;
+
+  return nbsd_pc_in_sigtramp (pc, name);
+}
+
+struct trad_frame_saved_reg *
+sparc64nbsd_sigcontext_saved_regs (CORE_ADDR sigcontext_addr,
+				   struct frame_info *next_frame)
+{
+  struct trad_frame_saved_reg *saved_regs;
+  CORE_ADDR addr, sp;
+  int regnum, delta;
+
+  saved_regs = trad_frame_alloc_saved_regs (next_frame);
+
+  /* The registers are saved in bits and pieces scattered all over the
+     place.  The code below records their location on the assumption
+     that the part of the signal trampoline that saves the state has
+     been executed.  */
+
+  saved_regs[SPARC_SP_REGNUM].addr = sigcontext_addr + 8;
+  saved_regs[SPARC64_PC_REGNUM].addr = sigcontext_addr + 16;
+  saved_regs[SPARC64_NPC_REGNUM].addr = sigcontext_addr + 24;
+  saved_regs[SPARC64_STATE_REGNUM].addr = sigcontext_addr + 32;
+  saved_regs[SPARC_G1_REGNUM].addr = sigcontext_addr + 40;
+  saved_regs[SPARC_O0_REGNUM].addr = sigcontext_addr + 48;
+
+  /* The remaining `global' registers and %y are saved in the `local'
+     registers.  */
+  delta = SPARC_L0_REGNUM - SPARC_G0_REGNUM;
+  for (regnum = SPARC_G2_REGNUM; regnum <= SPARC_G7_REGNUM; regnum++)
+    saved_regs[regnum].realreg = regnum + delta;
+  saved_regs[SPARC64_Y_REGNUM].realreg = SPARC_L1_REGNUM;
+
+  /* The remaining `out' registers can be found in the current frame's
+     `in' registers.  */
+  delta = SPARC_I0_REGNUM - SPARC_O0_REGNUM;
+  for (regnum = SPARC_O1_REGNUM; regnum <= SPARC_O5_REGNUM; regnum++)
+    saved_regs[regnum].realreg = regnum + delta;
+  saved_regs[SPARC_O7_REGNUM].realreg = SPARC_I7_REGNUM;
+
+  /* The `local' and `in' registers have been saved in the register
+     save area.  */
+  addr = saved_regs[SPARC_SP_REGNUM].addr;
+  sp = get_frame_memory_unsigned (next_frame, addr, 8);
+  for (regnum = SPARC_L0_REGNUM, addr = sp + BIAS;
+       regnum <= SPARC_I7_REGNUM; regnum++, addr += 8)
+    saved_regs[regnum].addr = addr;
+
+  /* TODO: Handle the floating-point registers.  */
+
+  return saved_regs;
+}
+
+static struct sparc_frame_cache *
+sparc64nbsd_sigcontext_frame_cache (struct frame_info *next_frame,
+				    void **this_cache)
+{
+  struct sparc_frame_cache *cache;
+  CORE_ADDR addr;
+
+  if (*this_cache)
+    return *this_cache;
+
+  cache = sparc_frame_cache (next_frame, this_cache);
+  gdb_assert (cache == *this_cache);
+
+  /* If we couldn't find the frame's function, we're probably dealing
+     with an on-stack signal trampoline.  */
+  if (cache->pc == 0)
+    {
+      cache->pc = sparc64nbsd_sigtramp_start;
+
+      /* Since we couldn't find the frame's function, the cache was
+         initialized under the assumption that we're frameless.  */
+      cache->frameless_p = 0;
+      addr = frame_unwind_register_unsigned (next_frame, SPARC_FP_REGNUM);
+      cache->base = addr;
+    }
+
+  /* We find the appropriate instance of `struct sigcontext' at a
+     fixed offset in the signal frame.  */
+  addr = cache->base + BIAS + 128 + 8;
+  cache->saved_regs = sparc64nbsd_sigcontext_saved_regs (addr, next_frame);
+
+  return cache;
+}
+
+static void
+sparc64nbsd_sigcontext_frame_this_id (struct frame_info *next_frame,
+				      void **this_cache,
+				      struct frame_id *this_id)
+{
+  struct sparc_frame_cache *cache =
+    sparc64nbsd_sigcontext_frame_cache (next_frame, this_cache);
+
+  (*this_id) = frame_id_build (cache->base, cache->pc);
+}
+
+static void
+sparc64nbsd_sigcontext_frame_prev_register (struct frame_info *next_frame,
+					    void **this_cache,
+					    int regnum, int *optimizedp,
+					    enum lval_type *lvalp,
+					    CORE_ADDR *addrp,
+					    int *realnump, void *valuep)
+{
+  struct sparc_frame_cache *cache =
+    sparc64nbsd_sigcontext_frame_cache (next_frame, this_cache);
+
+  trad_frame_prev_register (next_frame, cache->saved_regs, regnum,
+			    optimizedp, lvalp, addrp, realnump, valuep);
+}
+
+static const struct frame_unwind sparc64nbsd_sigcontext_frame_unwind =
+{
+  SIGTRAMP_FRAME,
+  sparc64nbsd_sigcontext_frame_this_id,
+  sparc64nbsd_sigcontext_frame_prev_register
+};
+
+static const struct frame_unwind *
+sparc64nbsd_sigtramp_frame_sniffer (struct frame_info *next_frame)
+{
+  CORE_ADDR pc = frame_pc_unwind (next_frame);
+  char *name;
+
+  find_pc_partial_function (pc, &name, NULL, NULL);
+  if (sparc64nbsd_pc_in_sigtramp (pc, name))
+    {
+      if (name == NULL || strncmp (name, "__sigtramp_sigcontext", 21))
+	return &sparc64nbsd_sigcontext_frame_unwind;
+    }
+
+  return NULL;
+}
+
+
+static void
+sparc64nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+  tdep->gregset = XMALLOC (struct regset);
+  tdep->gregset->descr = &sparc64nbsd_gregset;
+  tdep->gregset->supply_regset = sparc64nbsd_supply_gregset;
+  tdep->sizeof_gregset = 160;
+
+  tdep->fpregset = XMALLOC (struct regset);
+  tdep->fpregset->supply_regset = sparc64nbsd_supply_fpregset;
+  tdep->sizeof_fpregset = 272;
+
+  set_gdbarch_pc_in_sigtramp (gdbarch, sparc64nbsd_pc_in_sigtramp);
+  frame_unwind_append_sniffer (gdbarch, sparc64nbsd_sigtramp_frame_sniffer);
+
+  sparc64_init_abi (info, gdbarch);
+
+  set_solib_svr4_fetch_link_map_offsets
+    (gdbarch, nbsd_lp64_solib_svr4_fetch_link_map_offsets);
+}
+
+
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+void _initialize_sparc64nbsd_tdep (void);
+
+void
+_initialize_sparc64nbsd_tdep (void)
+{
+  gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9,
+			  GDB_OSABI_NETBSD_ELF, sparc64nbsd_init_abi);
+}
diff --git a/gdb/sparc64obsd-tdep.c b/gdb/sparc64obsd-tdep.c
new file mode 100644
index 0000000..190a46b
--- /dev/null
+++ b/gdb/sparc64obsd-tdep.c
@@ -0,0 +1,210 @@
+/* Target-dependent code for OpenBSD/sparc64.
+
+   Copyright 2004 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+#include "frame.h"
+#include "frame-unwind.h"
+#include "osabi.h"
+#include "regset.h"
+#include "symtab.h"
+#include "solib-svr4.h"
+#include "trad-frame.h"
+
+#include "gdb_assert.h"
+
+#include "sparc64-tdep.h"
+#include "nbsd-tdep.h"
+
+/* OpenBSD uses the traditional NetBSD core file format, even for
+   ports that use ELF.  The core files don't use multiple register
+   sets.  Instead, the general-purpose and floating-point registers
+   are lumped together in a single section.  Unlike on NetBSD, OpenBSD
+   uses a different layout for its general-purpose registers than the
+   layout used for ptrace(2).  */
+
+/* From <machine/reg.h>.  */
+const struct sparc_gregset sparc64obsd_core_gregset =
+{
+  0 * 8,			/* "tstate" */
+  1 * 8,			/* %pc */
+  2 * 8,			/* %npc */
+  3 * 8,			/* %y */
+  -1,				/* %fprs */
+  -1,
+  7 * 8,			/* %g1 */
+  22 * 8,			/* %l0 */
+  4				/* sizeof (%y) */
+};
+
+static void
+sparc64obsd_supply_gregset (const struct regset *regset,
+			    struct regcache *regcache,
+			    int regnum, const void *gregs, size_t len)
+{
+  const char *regs = gregs;
+
+  sparc64_supply_gregset (regset->descr, regcache, regnum, regs);
+  sparc64_supply_fpregset (regcache, regnum, regs + 288);
+}
+
+
+/* Signal trampolines.  */
+
+/* The OpenBSD kernel maps the signal trampoline at some random
+   location in user space, which means that the traditional BSD way of
+   detecting it won't work.
+
+   The signal trampoline will be mapped at an address that is page
+   aligned.  We recognize the signal trampoline by the looking for the
+   sigreturn system call.  */
+
+static const int sparc64obsd_page_size = 8192;
+
+static int
+sparc64obsd_pc_in_sigtramp (CORE_ADDR pc, char *name)
+{
+  CORE_ADDR start_pc = (pc & ~(sparc64obsd_page_size - 1));
+  unsigned long insn;
+
+  if (name)
+    return 0;
+
+  /* Check for "restore %g0, SYS_sigreturn, %g1".  */
+  insn = sparc_fetch_instruction (start_pc + 0xe8);
+  if (insn != 0x83e82067)
+    return 0;
+
+  /* Check for "t ST_SYSCALL".  */
+  insn = sparc_fetch_instruction (start_pc + 0xf0);
+  if (insn != 0x91d02000)
+    return 0;
+
+  return 1;
+}
+
+static struct sparc_frame_cache *
+sparc64obsd_frame_cache (struct frame_info *next_frame, void **this_cache)
+{
+  struct sparc_frame_cache *cache;
+  CORE_ADDR addr;
+
+  if (*this_cache)
+    return *this_cache;
+
+  cache = sparc_frame_cache (next_frame, this_cache);
+  gdb_assert (cache == *this_cache);
+
+  /* If we couldn't find the frame's function, we're probably dealing
+     with an on-stack signal trampoline.  */
+  if (cache->pc == 0)
+    {
+      cache->pc = frame_pc_unwind (next_frame);
+      cache->pc &= ~(sparc64obsd_page_size - 1);
+
+      /* Since we couldn't find the frame's function, the cache was
+         initialized under the assumption that we're frameless.  */
+      cache->frameless_p = 0;
+      addr = frame_unwind_register_unsigned (next_frame, SPARC_FP_REGNUM);
+      cache->base = addr;
+    }
+
+  /* We find the appropriate instance of `struct sigcontext' at a
+     fixed offset in the signal frame.  */
+  addr = cache->base + BIAS + 128 + 16;
+  cache->saved_regs = sparc64nbsd_sigcontext_saved_regs (addr, next_frame);
+
+  return cache;
+}
+
+static void
+sparc64obsd_frame_this_id (struct frame_info *next_frame, void **this_cache,
+			   struct frame_id *this_id)
+{
+  struct sparc_frame_cache *cache =
+    sparc64obsd_frame_cache (next_frame, this_cache);
+
+  (*this_id) = frame_id_build (cache->base, cache->pc);
+}
+
+static void
+sparc64obsd_frame_prev_register (struct frame_info *next_frame,
+				 void **this_cache,
+				 int regnum, int *optimizedp,
+				 enum lval_type *lvalp, CORE_ADDR *addrp,
+				 int *realnump, void *valuep)
+{
+  struct sparc_frame_cache *cache =
+    sparc64obsd_frame_cache (next_frame, this_cache);
+
+  trad_frame_prev_register (next_frame, cache->saved_regs, regnum,
+			    optimizedp, lvalp, addrp, realnump, valuep);
+}
+
+static const struct frame_unwind sparc64obsd_frame_unwind =
+{
+  SIGTRAMP_FRAME,
+  sparc64obsd_frame_this_id,
+  sparc64obsd_frame_prev_register
+};
+
+static const struct frame_unwind *
+sparc64obsd_sigtramp_frame_sniffer (struct frame_info *next_frame)
+{
+  CORE_ADDR pc = frame_pc_unwind (next_frame);
+  char *name;
+
+  find_pc_partial_function (pc, &name, NULL, NULL);
+  if (sparc64obsd_pc_in_sigtramp (pc, name))
+    return &sparc64obsd_frame_unwind;
+
+  return NULL;
+}
+
+
+static void
+sparc64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+  tdep->gregset = XMALLOC (struct regset);
+  tdep->gregset->descr = &sparc64obsd_core_gregset;
+  tdep->gregset->supply_regset = sparc64obsd_supply_gregset;
+  tdep->sizeof_gregset = 832;
+
+  set_gdbarch_pc_in_sigtramp (gdbarch, sparc64obsd_pc_in_sigtramp);
+  frame_unwind_append_sniffer (gdbarch, sparc64obsd_sigtramp_frame_sniffer);
+
+  sparc64_init_abi (info, gdbarch);
+
+  set_solib_svr4_fetch_link_map_offsets
+    (gdbarch, nbsd_lp64_solib_svr4_fetch_link_map_offsets);
+}
+
+
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+void _initialize_sparc64obsd_tdep (void);
+
+void
+_initialize_sparc64obsd_tdep (void)
+{
+  gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9,
+			  GDB_OSABI_OPENBSD_ELF, sparc64obsd_init_abi);
+}
diff --git a/gdb/sparcobsd-tdep.c b/gdb/sparcobsd-tdep.c
new file mode 100644
index 0000000..108e255
--- /dev/null
+++ b/gdb/sparcobsd-tdep.c
@@ -0,0 +1,171 @@
+/* Target-dependent code for OpenBSD/sparc.
+
+   Copyright 2004 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+#include "floatformat.h"
+#include "frame.h"
+#include "frame-unwind.h"
+#include "osabi.h"
+#include "solib-svr4.h"
+#include "symtab.h"
+#include "trad-frame.h"
+
+#include "gdb_assert.h"
+
+#include "sparc-tdep.h"
+#include "nbsd-tdep.h"
+
+/* Signal trampolines.  */
+
+/* The OpenBSD kernel maps the signal trampoline at some random
+   location in user space, which means that the traditional BSD way of
+   detecting it won't work.
+
+   The signal trampoline will be mapped at an address that is page
+   aligned.  We recognize the signal trampoline by the looking for the
+   sigreturn system call.  */
+
+static const int sparc32obsd_page_size = 4096;
+
+static int
+sparc32obsd_pc_in_sigtramp (CORE_ADDR pc, char *name)
+{
+  CORE_ADDR start_pc = (pc & ~(sparc32obsd_page_size - 1));
+  unsigned long insn;
+
+  if (name)
+    return 0;
+
+  /* Check for "restore %g0, SYS_sigreturn, %g1".  */
+  insn = sparc_fetch_instruction (start_pc + 0xec);
+  if (insn != 0x83e82067)
+    return 0;
+
+  /* Check for "t ST_SYSCALL".  */
+  insn = sparc_fetch_instruction (start_pc + 0xf4);
+  if (insn != 0x91d02000)
+    return 0;
+
+  return 1;
+}
+
+static struct sparc_frame_cache *
+sparc32obsd_frame_cache (struct frame_info *next_frame, void **this_cache)
+{
+  struct sparc_frame_cache *cache;
+  CORE_ADDR addr;
+
+  if (*this_cache)
+    return *this_cache;
+
+  cache = sparc_frame_cache (next_frame, this_cache);
+  gdb_assert (cache == *this_cache);
+
+  /* If we couldn't find the frame's function, we're probably dealing
+     with an on-stack signal trampoline.  */
+  if (cache->pc == 0)
+    {
+      cache->pc = frame_pc_unwind (next_frame);
+      cache->pc &= ~(sparc32obsd_page_size - 1);
+
+      /* Since we couldn't find the frame's function, the cache was
+         initialized under the assumption that we're frameless.  */
+      cache->frameless_p = 0;
+      addr = frame_unwind_register_unsigned (next_frame, SPARC_FP_REGNUM);
+      cache->base = addr;
+    }
+
+  cache->saved_regs = sparc32nbsd_sigcontext_saved_regs (next_frame);
+
+  return cache;
+}
+
+static void
+sparc32obsd_frame_this_id (struct frame_info *next_frame, void **this_cache,
+			   struct frame_id *this_id)
+{
+  struct sparc_frame_cache *cache =
+    sparc32obsd_frame_cache (next_frame, this_cache);
+
+  (*this_id) = frame_id_build (cache->base, cache->pc);
+}
+
+static void
+sparc32obsd_frame_prev_register (struct frame_info *next_frame,
+				 void **this_cache,
+				 int regnum, int *optimizedp,
+				 enum lval_type *lvalp, CORE_ADDR *addrp,
+				 int *realnump, void *valuep)
+{
+  struct sparc_frame_cache *cache =
+    sparc32obsd_frame_cache (next_frame, this_cache);
+
+  trad_frame_prev_register (next_frame, cache->saved_regs, regnum,
+			    optimizedp, lvalp, addrp, realnump, valuep);
+}
+
+static const struct frame_unwind sparc32obsd_frame_unwind =
+{
+  SIGTRAMP_FRAME,
+  sparc32obsd_frame_this_id,
+  sparc32obsd_frame_prev_register
+};
+
+static const struct frame_unwind *
+sparc32obsd_sigtramp_frame_sniffer (struct frame_info *next_frame)
+{
+  CORE_ADDR pc = frame_pc_unwind (next_frame);
+  char *name;
+
+  find_pc_partial_function (pc, &name, NULL, NULL);
+  if (sparc32obsd_pc_in_sigtramp (pc, name))
+    return &sparc32obsd_frame_unwind;
+
+  return NULL;
+}
+
+
+static void
+sparc32obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+  struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
+  /* OpenBSD doesn't support the 128-bit `long double' from the psABI.  */
+  set_gdbarch_long_double_bit (gdbarch, 64);
+  set_gdbarch_long_double_format (gdbarch, &floatformat_ieee_double_big);
+
+  set_gdbarch_pc_in_sigtramp (gdbarch, sparc32obsd_pc_in_sigtramp);
+  frame_unwind_append_sniffer (gdbarch, sparc32obsd_sigtramp_frame_sniffer);
+
+  set_solib_svr4_fetch_link_map_offsets
+    (gdbarch, nbsd_ilp32_solib_svr4_fetch_link_map_offsets);
+}
+
+
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+void _initialize_sparc32obsd_tdep (void);
+
+void
+_initialize_sparc32obsd_tdep (void)
+{
+  gdbarch_register_osabi (bfd_arch_sparc, 0, GDB_OSABI_OPENBSD_ELF,
+			  sparc32obsd_init_abi);
+}
diff --git a/gdb/testsuite/gdb.base/gdb1476.c b/gdb/testsuite/gdb.base/gdb1476.c
new file mode 100644
index 0000000..c3f4376
--- /dev/null
+++ b/gdb/testsuite/gdb.base/gdb1476.c
@@ -0,0 +1,12 @@
+void x()
+{
+  void (*fp)() = 0;
+  fp();
+}
+
+int
+main()
+{
+  x();
+  return 0;
+}
diff --git a/gdb/testsuite/gdb.base/gdb1476.exp b/gdb/testsuite/gdb.base/gdb1476.exp
new file mode 100644
index 0000000..b88b2de
--- /dev/null
+++ b/gdb/testsuite/gdb.base/gdb1476.exp
@@ -0,0 +1,72 @@
+# Copyright 2004 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-gdb@gnu.org
+
+# This file is part of the gdb testsuite.
+
+if $tracelevel {
+    strace $tracelevel
+}
+
+# Testcase for backtrace/gdb1476.
+
+set prms_id 0
+set bug_id 0
+
+set testfile "gdb1476"
+set srcfile ${testfile}.c
+set binfile ${objdir}/${subdir}/${testfile}
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
+    gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
+}
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load ${binfile}
+
+#
+# Run to `main' where we begin our tests.
+#
+
+if ![runto_main] then {
+    gdb_suppress_tests
+}
+
+# If we can examine what's at memory address 0, it is possible that we
+# could also execute it.  This could probably make us run away,
+# executing random code, which could have all sorts of ill effects,
+# especially on targets without an MMU.  Don't run the tests in that
+# case.
+
+send_gdb "x 0\n"
+gdb_expect {
+    -re "0x0:.*Cannot access memory at address 0x0.*$gdb_prompt $" { }
+    -re "0x0:.*Error accessing memory address 0x0.*$gdb_prompt $" { }
+    -re ".*$gdb_prompt $" {
+	untested "Memory at address 0 is possibly executable"
+	return
+    }
+}
+
+gdb_test "continue" "Program received signal SIGSEGV.*" \
+	"continue to null pointer call"
+
+gdb_test "backtrace 10" \
+	"#0\[ \t\]*0x0* in .*\r\n#1\[ \t\]*$hex in x.*\r\n#2\[ \t\]*$hex in main.*" \
+	"backtrace from null pointer call"
diff --git a/gdb/testsuite/gdb.base/sepdebug.c b/gdb/testsuite/gdb.base/sepdebug.c
new file mode 100644
index 0000000..adb6921
--- /dev/null
+++ b/gdb/testsuite/gdb.base/sepdebug.c
@@ -0,0 +1,150 @@
+/* Copyright 1994, 1995, 1999, 2002, 2003, 2004  Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+ 
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+ 
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
+
+   Please email any bugs, comments, and/or additions to this file to:
+   bug-gdb@prep.ai.mit.edu  */
+
+#ifdef vxworks
+
+#  include <stdio.h>
+
+/* VxWorks does not supply atoi.  */
+static int
+atoi (z)
+     char *z;
+{
+  int i = 0;
+
+  while (*z >= '0' && *z <= '9')
+    i = i * 10 + (*z++ - '0');
+  return i;
+}
+
+/* I don't know of any way to pass an array to VxWorks.  This function
+   can be called directly from gdb.  */
+
+vxmain (arg)
+char *arg;
+{
+  char *argv[2];
+
+  argv[0] = "";
+  argv[1] = arg;
+  main (2, argv, (char **) 0);
+}
+
+#else /* ! vxworks */
+#  include <stdio.h>
+#  include <stdlib.h>
+#endif /* ! vxworks */
+
+/*
+ * The following functions do nothing useful.  They are included simply
+ * as places to try setting breakpoints at.  They are explicitly
+ * "one-line functions" to verify that this case works (some versions
+ * of gcc have or have had problems with this).
+ */
+
+#ifdef PROTOTYPES
+int marker1 (void) { return (0); }
+int marker2 (int a) { return (1); } /* set breakpoint 8 here */
+void marker3 (char *a, char *b) {}
+void marker4 (long d) {} /* set breakpoint 14 here */
+#else
+int marker1 () { return (0); }
+int marker2 (a) int a; { return (1); } /* set breakpoint 9 here */
+void marker3 (a, b) char *a, *b; {}
+void marker4 (d) long d; {}  /* set breakpoint 13 here */
+#endif
+
+/*
+ *	This simple classical example of recursion is useful for
+ *	testing stack backtraces and such.
+ */
+
+#ifdef PROTOTYPES
+int factorial(int);
+
+int
+main (int argc, char **argv, char **envp)
+#else
+int
+main (argc, argv, envp)
+int argc;
+char *argv[], **envp;
+#endif
+{
+#ifdef usestubs
+    set_debug_traps();  /* set breakpoint 5 here */
+    breakpoint();
+#endif
+    if (argc == 12345) {  /* an unlikely value < 2^16, in case uninited */ /* set breakpoint 6 here */
+	fprintf (stderr, "usage:  factorial <number>\n");
+	return 1;
+    }
+    printf ("%d\n", factorial (atoi ("6")));  /* set breakpoint 1 here */
+    /* set breakpoint 12 here */
+    marker1 ();  /* set breakpoint 11 here */
+    marker2 (43);
+    marker3 ("stack", "trace");
+    marker4 (177601976L);
+    argc = (argc == 12345); /* This is silly, but we can step off of it */ /* set breakpoint 2 here */
+    return argc;  /* set breakpoint 10 here */
+}
+
+#ifdef PROTOTYPES
+int factorial (int value)
+#else
+int factorial (value)
+int value;
+#endif
+{
+  if (value > 1) {  /* set breakpoint 7 here */
+	value *= factorial (value - 1);
+    }
+    return (value);
+}
+
+#ifdef PROTOTYPES
+int multi_line_if_conditional (int a, int b, int c)
+#else
+int multi_line_if_conditional (a, b, c)
+  int a, b, c;
+#endif
+{
+  if (a    /* set breakpoint 3 here */
+      && b
+      && c)
+    return 0;
+  else
+    return 1;
+}
+
+#ifdef PROTOTYPES
+int multi_line_while_conditional (int a, int b, int c)
+#else
+int multi_line_while_conditional (a, b, c)
+  int a, b, c;
+#endif
+{
+  while (a /* set breakpoint 4 here */
+      && b
+      && c)
+    {
+      a--, b--, c--;
+    }
+  return 0;
+}
diff --git a/gdb/testsuite/gdb.base/sepdebug.exp b/gdb/testsuite/gdb.base/sepdebug.exp
new file mode 100644
index 0000000..1028dab
--- /dev/null
+++ b/gdb/testsuite/gdb.base/sepdebug.exp
@@ -0,0 +1,987 @@
+#   Copyright 1988, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2002, 2003, 2004
+#   Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-gdb@prep.ai.mit.edu
+
+# Based on break.exp, written by Rob Savoye. (rob@cygnus.com)
+# Modified to test gdb's handling of separate debug info files.
+
+# This file has two parts. The first is testing that gdb behaves
+# normally after reading in an executable and its corresponding
+# separate debug file. The second moves the .debug file to a different
+# location and tests the "set debug-file-directory" command.
+
+
+if $tracelevel then {
+    strace $tracelevel
+}
+
+#
+# test running programs
+#
+set prms_id 0
+set bug_id 0
+
+set testfile "sepdebug"
+set srcfile ${testfile}.c
+set binfile ${objdir}/${subdir}/${testfile}
+
+if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-w}] != "" } {
+    gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
+}
+
+# FIXME: this is nasty. We need to check for the stabs debug format.
+# To do this we must run gdb on the unstripped executable, list 'main'
+# (as to have a default source file), use get_debug_format (which does
+# 'info source') and then see if the debug info is stabs. If so, we
+# bail out.  We cannot do this any other way because get_debug_format
+# finds out the debug format using gdb itself, and in case of stabs we
+# get an error loading the program if it is already stripped.  An
+# alternative would be to find out the debug info from the flags
+# passed to dejagnu when the test is run.
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load ${binfile}
+gdb_test "list main" "" ""
+get_debug_format
+if { [test_debug_format "stabs"] } then {
+    # the separate debug info feature doesn't work well in binutils with stabs.
+    # It produces a corrupted debug info only file, and gdb chokes on it.
+    # It is almost impossible to capture the failing message out of gdb,
+    # because it happens inside gdb_load. At that point any error message
+    # is intercepted by dejagnu itself, and, because of the error threshold,
+    # any faulty test result is changed into an UNRESOLVED. 
+    # (see dejagnu/lib/framework.exp)
+    unsupported "no separate debug info handling with stabs"
+    return -1
+} elseif { [test_debug_format "unknown"] } then {
+    # gdb doesn't know what the debug format is. We are out of luck here. 
+    unsupported "unknown debugging format"
+    return -1
+}
+gdb_exit
+
+# Note: the procedure gdb_gnu_strip_debug will produce an executable called
+# ${binfile}, which is just like the executable ($binfile) but without
+# the debuginfo. Instead $binfile has a .gnudebuglink section which contains
+# the name of a debuginfo only file. This file will be stored in the
+# gdb.base/.debug subdirectory.
+
+if [gdb_gnu_strip_debug $binfile] {
+    # check that you have a recent version of strip and objcopy installed
+    unsupported "cannot produce separate debug info files"
+    return -1
+}
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load ${binfile}
+
+if [target_info exists gdb_stub] {
+    gdb_step_for_stub;
+}
+#
+# test simple breakpoint setting commands
+#
+
+# Test deleting all breakpoints when there are none installed,
+# GDB should not prompt for confirmation.
+# Note that gdb-init.exp provides a "delete_breakpoints" proc
+# for general use elsewhere.
+
+send_gdb "delete breakpoints\n"
+gdb_expect {
+     -re "Delete all breakpoints.*$" {
+	    send_gdb "y\n"
+	    gdb_expect {
+		-re "$gdb_prompt $" {
+		    fail "Delete all breakpoints when none (unexpected prompt)"
+		}
+		timeout	{ fail "Delete all breakpoints when none (timeout after unexpected prompt)" }
+	    }
+	}
+     -re ".*$gdb_prompt $"       { pass "Delete all breakpoints when none" }
+    timeout	            { fail "Delete all breakpoints when none (timeout)" }
+}
+
+#
+# test break at function
+#
+gdb_test "break main" \
+    "Breakpoint.*at.* file .*$srcfile, line.*" \
+    "breakpoint function"
+
+#
+# test break at quoted function
+#
+gdb_test "break \"marker2\"" \
+    "Breakpoint.*at.* file .*$srcfile, line.*" \
+    "breakpoint quoted function"
+
+#
+# test break at function in file
+#
+gdb_test "break $srcfile:factorial" \
+    "Breakpoint.*at.* file .*$srcfile, line.*" \
+    "breakpoint function in file"
+
+set bp_location1 [gdb_get_line_number "set breakpoint 1 here"]
+
+#
+# test break at line number
+#
+# Note that the default source file is the last one whose source text
+# was printed.  For native debugging, before we've executed the
+# program, this is the file containing main, but for remote debugging,
+# it's wherever the processor was stopped when we connected to the
+# board.  So, to be sure, we do a list command.
+#
+gdb_test "list main" \
+    ".*main \\(argc, argv, envp\\).*" \
+    "use `list' to establish default source file"
+gdb_test "break $bp_location1" \
+    "Breakpoint.*at.* file .*$srcfile, line $bp_location1\\." \
+    "breakpoint line number"
+
+#
+# test duplicate breakpoint
+#
+gdb_test "break $bp_location1" \
+    "Note: breakpoint \[0-9\]+ also set at pc.*Breakpoint \[0-9\]+ at.* file .*$srcfile, line $bp_location1\\." \
+    "breakpoint duplicate"
+
+set bp_location2 [gdb_get_line_number "set breakpoint 2 here"]
+
+#
+# test break at line number in file
+#
+gdb_test "break $srcfile:$bp_location2" \
+    "Breakpoint.*at.* file .*$srcfile, line $bp_location2\\." \
+    "breakpoint line number in file"
+
+set bp_location3 [gdb_get_line_number "set breakpoint 3 here"]
+set bp_location4 [gdb_get_line_number "set breakpoint 4 here"]
+
+#
+# Test putting a break at the start of a multi-line if conditional.
+# Verify the breakpoint was put at the start of the conditional.
+#
+gdb_test "break multi_line_if_conditional" \
+    "Breakpoint.*at.* file .*$srcfile, line $bp_location3\\." \
+    "breakpoint at start of multi line if conditional"
+
+gdb_test "break multi_line_while_conditional" \
+    "Breakpoint.*at.* file .*$srcfile, line $bp_location4\\." \
+    "breakpoint at start of multi line while conditional"
+
+set bp_location5 [gdb_get_line_number "set breakpoint 5 here"]
+set bp_location6 [gdb_get_line_number "set breakpoint 6 here"]
+
+#
+# check to see what breakpoints are set
+#
+if [target_info exists gdb_stub] {
+    set main_line $bp_location5
+} else {
+    set main_line $bp_location6
+}
+
+set bp_location7 [gdb_get_line_number "set breakpoint 7 here"]
+set bp_location8 [gdb_get_line_number "set breakpoint 8 here"]
+set bp_location9 [gdb_get_line_number "set breakpoint 9 here"]
+
+gdb_test "info break" \
+    "Num Type\[ \]+Disp Enb Address\[ \]+What.*
+\[0-9\]+\[\t \]+breakpoint     keep y.* in main at .*$srcfile:$main_line.*
+\[0-9\]+\[\t \]+breakpoint     keep y.* in marker2 at .*$srcfile:($bp_location8|$bp_location9).*
+\[0-9\]+\[\t \]+breakpoint     keep y.* in factorial at .*$srcfile:$bp_location7.*
+\[0-9\]+\[\t \]+breakpoint     keep y.* in main at .*$srcfile:$bp_location1.*
+\[0-9\]+\[\t \]+breakpoint     keep y.* in main at .*$srcfile:$bp_location1.*
+\[0-9\]+\[\t \]+breakpoint     keep y.* in main at .*$srcfile:$bp_location2.*
+\[0-9\]+\[\t \]+breakpoint     keep y.* in multi_line_if_conditional at .*$srcfile:$bp_location3.*
+\[0-9\]+\[\t \]+breakpoint     keep y.* in multi_line_while_conditional at .*$srcfile:$bp_location4" \
+    "breakpoint info"
+
+# FIXME: The rest of this test doesn't work with anything that can't
+# handle arguments.
+# Huh? There doesn't *appear* to be anything that passes arguments
+# below.
+if [istarget "mips-idt-*"] then {
+    return
+}
+
+#
+# run until the breakpoint at main is hit. For non-stubs-using targets.
+#
+if ![target_info exists use_gdb_stub] {
+  if [istarget "*-*-vxworks*"] then {
+    send_gdb "run vxmain \"2\"\n"
+    set timeout 120
+    verbose "Timeout is now $timeout seconds" 2
+  } else {
+	send_gdb "run\n"
+  }
+  gdb_expect {
+    -re "The program .* has been started already.*y or n. $" {
+	send_gdb "y\n"
+	exp_continue
+    }
+    -re "Starting program.*Breakpoint \[0-9\]+,.*main .*argc.*argv.* at .*$srcfile:$bp_location6.*$bp_location6\[\t \]+if .argc.* \{.*$gdb_prompt $"\
+	                    { pass "run until function breakpoint" }
+    -re ".*$gdb_prompt $"       { fail "run until function breakpoint" }
+    timeout	            { fail "run until function breakpoint (timeout)" }
+  }
+} else {
+    if ![target_info exists gdb_stub] {
+	gdb_test continue ".*Continuing\\..*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.*, envp=.*\\) at .*$srcfile:$bp_location6.*$bp_location6\[\t \]+if .argc.*\{.*" "stub continue"
+    }
+}
+
+#
+# run until the breakpoint at a line number
+#
+gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.*, envp=.*\\) at .*$srcfile:$bp_location1.*$bp_location1\[\t \]+printf.*factorial.*" \
+			"run until breakpoint set at a line number"
+
+#
+# Run until the breakpoint set in a function in a file
+#
+for {set i 6} {$i >= 1} {incr i -1} {
+	gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, factorial \\(value=$i\\) at .*$srcfile:$bp_location7.*$bp_location7\[\t \]+.*if .value > 1. \{.*" \
+			"run until file:function($i) breakpoint"
+}
+
+#
+# Run until the breakpoint set at a quoted function
+#
+gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, (0x\[0-9a-f\]+ in )?marker2 \\(a=43\\) at .*$srcfile:($bp_location8|$bp_location9).*" \
+		"run until quoted breakpoint"
+#
+# run until the file:function breakpoint at a line number in a file
+#
+gdb_test continue "Continuing\\..*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.*, envp=.*\\) at .*$srcfile:$bp_location2.*$bp_location2\[\t \]+argc = \\(argc == 12345\\);.*" \
+		"run until file:linenum breakpoint"
+
+# Test break at offset +1
+set bp_location10 [gdb_get_line_number "set breakpoint 10 here"]
+
+gdb_test "break +1" \
+    "Breakpoint.*at.* file .*$srcfile, line $bp_location10\\." \
+    "breakpoint offset +1"
+
+# Check to see if breakpoint is hit when stepped onto
+
+gdb_test "step" \
+    ".*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.*, envp=.*\\) at .*$srcfile:$bp_location10.*$bp_location10\[\t \]+return argc;.*breakpoint 10 here.*" \
+    "step onto breakpoint"
+
+#
+# delete all breakpoints so we can start over, course this can be a test too
+#
+delete_breakpoints
+
+#
+# test temporary breakpoint at function
+#
+
+gdb_test "tbreak main" "Breakpoint.*at.* file .*$srcfile, line.*" "Temporary breakpoint function"
+
+#
+# test break at function in file
+#
+
+gdb_test "tbreak $srcfile:factorial" "Breakpoint.*at.* file .*$srcfile, line.*" \
+	"Temporary breakpoint function in file"
+
+#
+# test break at line number
+#
+send_gdb "tbreak $bp_location1\n"
+gdb_expect {
+    -re "Breakpoint.*at.* file .*$srcfile, line $bp_location1.*$gdb_prompt $" { pass "Temporary breakpoint line number #1" }
+	-re ".*$gdb_prompt $"   { pass "Temporary breakpoint line number #1" }
+	timeout	    { fail "breakpoint line number #1 (timeout)" }
+}
+
+gdb_test "tbreak $bp_location6" "Breakpoint.*at.* file .*$srcfile, line $bp_location6.*" "Temporary breakpoint line number #2"
+
+#
+# test break at line number in file
+#
+send_gdb "tbreak $srcfile:$bp_location2\n"
+gdb_expect {
+    -re "Breakpoint.*at.* file .*$srcfile, line $bp_location2.*$gdb_prompt $" { pass "Temporary breakpoint line number in file #1" }
+	-re ".*$gdb_prompt $"   { pass "Temporary breakpoint line number in file #1" }
+	timeout	    { fail "Temporary breakpoint line number in file #1 (timeout)" }
+}
+
+set bp_location11 [gdb_get_line_number "set breakpoint 11 here"]
+gdb_test  "tbreak $srcfile:$bp_location11" "Breakpoint.*at.* file .*$srcfile, line $bp_location11.*" "Temporary breakpoint line number in file #2"
+
+#
+# check to see what breakpoints are set (temporary this time)
+#
+gdb_test "info break" "Num Type.*Disp Enb Address.*What.*\[\r\n\]
+\[0-9\]+\[\t \]+breakpoint     del.*y.*in main at .*$srcfile:$main_line.*\[\r\n\]
+\[0-9\]+\[\t \]+breakpoint     del.*y.*in factorial at .*$srcfile:$bp_location7.*\[\r\n\]
+\[0-9\]+\[\t \]+breakpoint     del.*y.*in main at .*$srcfile:$bp_location1.*\[\r\n\]
+\[0-9\]+\[\t \]+breakpoint     del.*y.*in main at .*$srcfile:$bp_location6.*\[\r\n\]
+\[0-9\]+\[\t \]+breakpoint     del.*y.*in main at .*$srcfile:$bp_location2.*\[\r\n\]
+\[0-9\]+\[\t \]+breakpoint     del.*y.*in main at .*$srcfile:$bp_location11.*" \
+    "Temporary breakpoint info"
+
+
+#***********
+
+# Verify that catchpoints for fork, vfork and exec don't trigger
+# inappropriately.  (There are no calls to those system functions
+# in this test program.)
+#
+if ![runto_main] then { fail "break tests suppressed" }
+
+send_gdb "catch\n"
+gdb_expect {
+  -re "Catch requires an event name.*$gdb_prompt $"\
+          {pass "catch requires an event name"}
+  -re "$gdb_prompt $"\
+          {fail "catch requires an event name"}
+  timeout {fail "(timeout) catch requires an event name"}
+}
+
+
+set name "set catch fork, never expected to trigger"
+send_gdb "catch fork\n"
+gdb_expect {
+  -re "Catchpoint \[0-9\]* .fork..*$gdb_prompt $"
+          {pass $name}
+  -re "Catch of fork not yet implemented.*$gdb_prompt $"
+	  {pass $name}
+  -re "$gdb_prompt $"
+          {fail $name}
+  timeout {fail "(timeout) $name"}
+}
+
+
+set name "set catch vfork, never expected to trigger"
+send_gdb "catch vfork\n"
+
+# If we are on HP-UX 10.20, we expect an error message to be
+# printed if we type "catch vfork" at the gdb gdb_prompt.  This is
+# because on HP-UX 10.20, we cannot catch vfork events.
+
+if [istarget "hppa*-hp-hpux10.20"] then {
+    gdb_expect {
+	-re "Catch of vfork events not supported on HP-UX 10.20..*$gdb_prompt $"
+		{pass $name}
+	-re "$gdb_prompt $"
+		{fail $name}
+	timeout {fail "(timeout) $name"}
+    }
+} else {
+    gdb_expect {
+	-re "Catchpoint \[0-9\]* .vfork..*$gdb_prompt $"
+		{pass $name}
+	-re "Catch of vfork not yet implemented.*$gdb_prompt $"
+		{pass $name}
+	-re "$gdb_prompt $"
+		{fail $name}
+	timeout {fail "(timeout) $name"}
+    }
+}
+
+set name "set catch exec, never expected to trigger"
+send_gdb "catch exec\n"
+gdb_expect {
+  -re "Catchpoint \[0-9\]* .exec..*$gdb_prompt $"
+          {pass $name}
+  -re "Catch of exec not yet implemented.*$gdb_prompt $"
+	  {pass $name}
+  -re "$gdb_prompt $" {fail $name}
+  timeout {fail "(timeout) $name"}
+}
+
+# Verify that GDB responds gracefully when asked to set a breakpoint
+# on a nonexistent source line.
+#
+send_gdb "break 999\n"
+gdb_expect {
+  -re "No line 999 in file .*$gdb_prompt $"\
+          {pass "break on non-existent source line"}
+  -re "$gdb_prompt $"\
+          {fail "break on non-existent source line"}
+  timeout {fail "(timeout) break on non-existent source line"}
+}
+
+# Run to the desired default location. If not positioned here, the
+# tests below don't work.
+#
+gdb_test "until $bp_location1" "main .* at .*:$bp_location1.*" "until bp_location1"
+
+
+# Verify that GDB allows one to just say "break", which is treated
+# as the "default" breakpoint.  Note that GDB gets cute when printing
+# the informational message about other breakpoints at the same
+# location.  We'll hit that bird with this stone too.
+#
+send_gdb "break\n"
+gdb_expect {
+  -re "Breakpoint \[0-9\]*.*$gdb_prompt $"\
+          {pass "break on default location, 1st time"}
+  -re "$gdb_prompt $"\
+          {fail "break on default location, 1st time"}
+  timeout {fail "(timeout) break on default location, 1st time"}
+}
+
+send_gdb "break\n"
+gdb_expect {
+  -re "Note: breakpoint \[0-9\]* also set at .*Breakpoint \[0-9\]*.*$gdb_prompt $"\
+          {pass "break on default location, 2nd time"}
+  -re "$gdb_prompt $"\
+          {fail "break on default location, 2nd time"}
+  timeout {fail "(timeout) break on default location, 2nd time"}
+}
+
+send_gdb "break\n"
+gdb_expect {
+  -re "Note: breakpoints \[0-9\]* and \[0-9\]* also set at .*Breakpoint \[0-9\]*.*$gdb_prompt $"\
+          {pass "break on default location, 3rd time"}
+  -re "$gdb_prompt $"\
+          {fail "break on default location, 3rd time"}
+  timeout {fail "(timeout) break on default location, 3rd time"}
+}
+
+send_gdb "break\n"
+gdb_expect {
+  -re "Note: breakpoints \[0-9\]*, \[0-9\]* and \[0-9\]* also set at .*Breakpoint \[0-9\]*.*$gdb_prompt $"\
+          {pass "break on default location, 4th time"}
+  -re "$gdb_prompt $"\
+          {fail "break on default location, 4th time"}
+  timeout {fail "(timeout) break on default location, 4th time"}
+}
+
+# Verify that a "silent" breakpoint can be set, and that GDB is indeed
+# "silent" about its triggering.
+#
+if ![runto_main] then { fail "break tests suppressed" }
+
+send_gdb "break $bp_location1\n"
+gdb_expect {
+  -re "Breakpoint (\[0-9\]*) at .*, line $bp_location1.*$gdb_prompt $"\
+          {pass "set to-be-silent break bp_location1"}
+  -re "$gdb_prompt $"\
+          {fail "set to-be-silent break bp_location1"}
+  timeout {fail "(timeout) set to-be-silent break bp_location1"}
+}
+
+send_gdb "commands $expect_out(1,string)\n"
+send_gdb "silent\n"
+send_gdb "end\n"
+gdb_expect {
+  -re ".*$gdb_prompt $"\
+          {pass "set silent break bp_location1"}
+  timeout {fail "(timeout) set silent break bp_location1"}
+}
+
+send_gdb "info break $expect_out(1,string)\n"
+gdb_expect {
+  -re "\[0-9\]*\[ \t\]*breakpoint.*:$bp_location1\r\n\[ \t\]*silent.*$gdb_prompt $"\
+          {pass "info silent break bp_location1"}
+  -re "$gdb_prompt $"\
+          {fail "info silent break bp_location1"}
+  timeout {fail "(timeout) info silent break bp_location1"}
+}
+send_gdb "continue\n"
+gdb_expect {
+  -re "Continuing.\r\n$gdb_prompt $"\
+          {pass "hit silent break bp_location1"}
+  -re "$gdb_prompt $"\
+          {fail "hit silent break bp_location1"}
+  timeout {fail "(timeout) hit silent break bp_location1"}
+}
+send_gdb "bt\n"
+gdb_expect {
+  -re "#0  main .* at .*:$bp_location1.*$gdb_prompt $"\
+          {pass "stopped for silent break bp_location1"}
+  -re "$gdb_prompt $"\
+          {fail "stopped for silent break bp_location1"}
+  timeout {fail "(timeout) stopped for silent break bp_location1"}
+}
+
+# Verify that GDB can at least parse a breakpoint with the
+# "thread" keyword.  (We won't attempt to test here that a
+# thread-specific breakpoint really triggers appropriately.
+# The gdb.threads subdirectory contains tests for that.)
+#
+set bp_location12 [gdb_get_line_number "set breakpoint 12 here"]
+send_gdb "break $bp_location12 thread 999\n"
+gdb_expect {
+  -re "Unknown thread 999.*$gdb_prompt $"\
+          {pass "thread-specific breakpoint on non-existent thread disallowed"}
+  -re "$gdb_prompt $"\
+          {fail "thread-specific breakpoint on non-existent thread disallowed"}
+  timeout {fail "(timeout) thread-specific breakpoint on non-existent thread disallowed"}
+}
+send_gdb "break $bp_location12 thread foo\n"
+gdb_expect {
+  -re "Junk after thread keyword..*$gdb_prompt $"\
+          {pass "thread-specific breakpoint on bogus thread ID disallowed"}
+  -re "$gdb_prompt $"\
+          {fail "thread-specific breakpoint on bogus thread ID disallowed"}
+  timeout {fail "(timeout) thread-specific breakpoint on bogus thread ID disallowed"}
+}
+
+# Verify that GDB responds gracefully to a breakpoint command with
+# trailing garbage.
+#
+send_gdb "break $bp_location12 foo\n"
+gdb_expect {
+  -re "Junk at end of arguments..*$gdb_prompt $"\
+          {pass "breakpoint with trailing garbage disallowed"}
+  -re "$gdb_prompt $"\
+          {fail "breakpoint with trailing garbage disallowed"}
+  timeout {fail "(timeout) breakpoint with trailing garbage disallowed"}
+}
+
+# Verify that GDB responds gracefully to a "clear" command that has
+# no matching breakpoint.  (First, get us off the current source line,
+# which we know has a breakpoint.)
+#
+send_gdb "next\n"
+gdb_expect {
+  -re ".*$gdb_prompt $"\
+          {pass "step over breakpoint"}
+  timeout {fail "(timeout) step over breakpoint"}
+}
+send_gdb "clear 81\n"
+gdb_expect {
+  -re "No breakpoint at 81..*$gdb_prompt $"\
+          {pass "clear line has no breakpoint disallowed"}
+  -re "$gdb_prompt $"\
+          {fail "clear line has no breakpoint disallowed"}
+  timeout {fail "(timeout) clear line has no breakpoint disallowed"}
+}
+send_gdb "clear\n"
+gdb_expect {
+  -re "No breakpoint at this line..*$gdb_prompt $"\
+          {pass "clear current line has no breakpoint disallowed"}
+  -re "$gdb_prompt $"\
+          {fail "clear current line has no breakpoint disallowed"}
+  timeout {fail "(timeout) clear current line has no breakpoint disallowed"}
+}
+
+# Verify that we can set and clear multiple breakpoints.
+#
+# We don't test that it deletes the correct breakpoints.  We do at
+# least test that it deletes more than one breakpoint.
+#
+gdb_test "break marker3" "Breakpoint.*at.*" "break marker3 #1"
+gdb_test "break marker3" "Breakpoint.*at.*" "break marker3 #2"
+gdb_test "clear marker3" {Deleted breakpoints [0-9]+ [0-9]+.*}
+
+# Verify that a breakpoint can be set via a convenience variable.
+#
+send_gdb "set \$foo=$bp_location11\n"
+gdb_expect {
+  -re "$gdb_prompt $"\
+          {pass "set convenience variable \$foo to bp_location11"}
+  timeout {fail "(timeout) set convenience variable \$foo to bp_location11"}
+}
+send_gdb "break \$foo\n"
+gdb_expect {
+  -re "Breakpoint (\[0-9\]*) at .*, line $bp_location11.*$gdb_prompt $"\
+          {pass "set breakpoint via convenience variable"}
+  -re "$gdb_prompt $"\
+          {fail "set breakpoint via convenience variable"}
+  timeout {fail "(timeout) set breakpoint via convenience variable"}
+}
+
+# Verify that GDB responds gracefully to an attempt to set a
+# breakpoint via a convenience variable whose type is not integer.
+#
+send_gdb "set \$foo=81.5\n"
+gdb_expect {
+  -re "$gdb_prompt $"\
+          {pass "set convenience variable \$foo to 81.5"}
+  timeout {fail "(timeout) set convenience variable \$foo to 81.5"}
+}
+send_gdb "break \$foo\n"
+gdb_expect {
+  -re "Convenience variables used in line specs must have integer values..*$gdb_prompt $"\
+          {pass "set breakpoint via non-integer convenience variable disallowed"}
+  -re "$gdb_prompt $"\
+          {fail "set breakpoint via non-integer convenience variable disallowed"}
+  timeout {fail "(timeout) set breakpoint via non-integer convenience variable disallowed"}
+}
+
+# Verify that we can set and trigger a breakpoint in a user-called function.
+#
+send_gdb "break marker2\n"
+gdb_expect {
+    -re "Breakpoint (\[0-9\]*) at .*, line ($bp_location8|$bp_location9).*$gdb_prompt $"\
+          {pass "set breakpoint on to-be-called function"}
+  -re "$gdb_prompt $"\
+          {fail "set breakpoint on to-be-called function"}
+  timeout {fail "(timeout) set breakpoint on to-be-called function"}
+}
+send_gdb "print marker2(99)\n"
+gdb_expect {
+  -re "The program being debugged stopped while in a function called from GDB.\r\nWhen the function .marker2. is done executing, GDB will silently\r\nstop .instead of continuing to evaluate the expression containing\r\nthe function call...*$gdb_prompt $"\
+          {pass "hit breakpoint on called function"}
+  -re "$gdb_prompt $"\
+          {fail "hit breakpoint on called function"}
+  timeout {fail "(timeout) hit breakpoint on called function"}
+}
+
+# As long as we're stopped (breakpointed) in a called function,
+# verify that we can successfully backtrace & such from here.
+#
+# In this and the following test, the _sr4export check apparently is needed
+# for hppa*-*-hpux.
+#
+send_gdb "bt\n"
+gdb_expect {
+    -re "#0\[ \t\]*($hex in )?marker2.*:($bp_location8|$bp_location9)\r\n#1.*_sr4export.*$gdb_prompt $"\
+            {pass "backtrace while in called function"}
+    -re "#0\[ \t\]*($hex in )?marker2.*:($bp_location8|$bp_location9)\r\n#1.*function called from gdb.*$gdb_prompt $"\
+	    {pass "backtrace while in called function"}
+    -re "$gdb_prompt $"\
+            {fail "backtrace while in called function"}
+    timeout {fail "(timeout) backtrace while in called function"}
+}
+
+# Return from the called function.  For remote targets, it's important to do
+# this before runto_main, which otherwise may silently stop on the dummy
+# breakpoint inserted by GDB at the program's entry point.
+#
+send_gdb "finish\n"
+gdb_expect {
+    -re "Run till exit from .*marker2.* at .*($bp_location8|$bp_location9)\r\n.* in _sr4export.*$gdb_prompt $"\
+            {pass "finish from called function"}
+    -re "Run till exit from .*marker2.* at .*($bp_location8|$bp_location9)\r\n.*function called from gdb.*$gdb_prompt $"\
+            {pass "finish from called function"}
+    -re "Run till exit from .*marker2.* at .*($bp_location8|$bp_location9)\r\n.*Value returned.*$gdb_prompt $"\
+            {pass "finish from called function"}
+    -re "$gdb_prompt $"\
+            {fail "finish from called function"}
+    timeout {fail "(timeout) finish from called function"}
+}
+
+# Verify that GDB responds gracefully to a "finish" command with
+# arguments.
+#
+if ![runto_main] then { fail "break tests suppressed" }
+
+send_gdb "finish 123\n"
+gdb_expect {
+  -re "The \"finish\" command does not take any arguments.\r\n$gdb_prompt $"\
+          {pass "finish with arguments disallowed"}
+  -re "$gdb_prompt $"\
+          {fail "finish with arguments disallowed"}
+  timeout {fail "(timeout) finish with arguments disallowed"}
+}
+
+# Verify that GDB responds gracefully to a request to "finish" from
+# the outermost frame.  On a stub that never exits, this will just
+# run to the stubs routine, so we don't get this error...  Thus the 
+# second condition.
+#
+
+send_gdb "finish\n"
+gdb_expect {
+  -re "\"finish\" not meaningful in the outermost frame.\r\n$gdb_prompt $"\
+          {pass "finish from outermost frame disallowed"}
+  -re "Run till exit from.*\r\n$gdb_prompt $" {
+     pass "finish from outermost frame disallowed"
+  }
+  -re "$gdb_prompt $"\
+          {fail "finish from outermost frame disallowed"}
+  timeout {fail "(timeout) finish from outermost frame disallowed"}
+}
+
+# Verify that we can explicitly ask GDB to stop on all shared library
+# events, and that it does so.
+#
+if [istarget "hppa*-*-hpux*"] then {
+  if ![runto_main] then { fail "break tests suppressed" }
+
+  send_gdb "set stop-on-solib-events 1\n"
+  gdb_expect {
+    -re "$gdb_prompt $"\
+            {pass "set stop-on-solib-events"}
+    timeout {fail "(timeout) set stop-on-solib-events"}
+  }
+
+  send_gdb "run\n"
+  gdb_expect {
+    -re ".*Start it from the beginning.*y or n. $"\
+            {send_gdb "y\n"
+             gdb_expect {
+               -re ".*Stopped due to shared library event.*$gdb_prompt $"\
+                       {pass "triggered stop-on-solib-events"}
+               -re "$gdb_prompt $"\
+                       {fail "triggered stop-on-solib-events"}
+               timeout {fail "(timeout) triggered stop-on-solib-events"}
+             }
+            }
+    -re "$gdb_prompt $"\
+            {fail "rerun for stop-on-solib-events"}
+    timeout {fail "(timeout) rerun for stop-on-solib-events"}
+  }
+
+  send_gdb "set stop-on-solib-events 0\n"
+  gdb_expect {
+    -re "$gdb_prompt $"\
+            {pass "reset stop-on-solib-events"}
+    timeout {fail "(timeout) reset stop-on-solib-events"}
+  }
+}
+
+# Hardware breakpoints are unsupported on HP-UX.  Verify that GDB
+# gracefully responds to requests to create them.
+#
+if [istarget "hppa*-*-hpux*"] then {
+  if ![runto_main] then { fail "break tests suppressed" }
+
+  send_gdb "hbreak\n"
+  gdb_expect {
+    -re "No hardware breakpoint support in the target.*$gdb_prompt $"\
+            {pass "hw breaks disallowed"}
+    -re "$gdb_prompt $"\
+            {fail "hw breaks disallowed"}
+    timeout {fail "(timeout) hw breaks disallowed"}
+  }
+
+  send_gdb "thbreak\n"
+  gdb_expect {
+    -re "No hardware breakpoint support in the target.*$gdb_prompt $"\
+            {pass "temporary hw breaks disallowed"}
+    -re "$gdb_prompt $"\
+            {fail "temporary hw breaks disallowed"}
+    timeout {fail "(timeout) temporary hw breaks disallowed"}
+  }
+}
+
+#********
+
+
+#
+# Test "next" over recursive function call.
+#
+
+proc test_next_with_recursion {} { 
+    global gdb_prompt
+    global decimal
+    global binfile
+
+    if [target_info exists use_gdb_stub] {
+	# Reload the program.
+	delete_breakpoints
+	gdb_load ${binfile};
+    } else {
+	# FIXME: should be using runto
+	gdb_test "kill" "" "kill program" "Kill the program being debugged.*y or n. $" "y"
+
+	delete_breakpoints
+    }
+
+    gdb_test "break factorial" "Breakpoint $decimal at .*" "break at factorial"
+
+    # Run until we call factorial with 6
+
+    if [istarget "*-*-vxworks*"] then {
+	send_gdb "run vxmain \"6\"\n"
+    } else {
+	gdb_run_cmd
+    }
+    gdb_expect {
+	-re "Break.* factorial .value=6. .*$gdb_prompt $" {}
+	-re ".*$gdb_prompt $" {
+	    fail "run to factorial(6)";
+	    gdb_suppress_tests;
+	}
+	timeout { fail "run to factorial(6) (timeout)" ; gdb_suppress_tests }
+    }
+
+    # Continue until we call factorial recursively with 5.
+
+    if [gdb_test "continue" \
+	"Continuing.*Break.* factorial .value=5. .*" \
+	"continue to factorial(5)"] then { gdb_suppress_tests }
+
+    # Do a backtrace just to confirm how many levels deep we are.
+
+    if [gdb_test "backtrace" \
+	"#0\[ \t\]+ factorial .value=5..*" \
+	"backtrace from factorial(5)"] then { gdb_suppress_tests }
+
+    # Now a "next" should position us at the recursive call, which
+    # we will be performing with 4.
+
+    if [gdb_test "next" \
+	".* factorial .value - 1.;.*" \
+	"next to recursive call"] then { gdb_suppress_tests }
+
+    # Disable the breakpoint at the entry to factorial by deleting them all.
+    # The "next" should run until we return to the next line from this
+    # recursive call to factorial with 4.
+    # Buggy versions of gdb will stop instead at the innermost frame on
+    # the line where we are trying to "next" to.
+
+    delete_breakpoints
+
+    if [istarget "mips*tx39-*"] {
+	set timeout 60
+    }
+    # We used to set timeout here for all other targets as well.  This
+    # is almost certainly wrong.  The proper timeout depends on the
+    # target system in use, and how we communicate with it, so there
+    # is no single value appropriate for all targets.  The timeout
+    # should be established by the Dejagnu config file(s) for the
+    # board, and respected by the test suite.
+    #
+    # For example, if I'm running GDB over an SSH tunnel talking to a
+    # portmaster in California talking to an ancient 68k board running
+    # a crummy ROM monitor (a situation I can only wish were
+    # hypothetical), then I need a large timeout.  But that's not the
+    # kind of knowledge that belongs in this file.
+
+    gdb_test next "\[0-9\]*\[\t \]+return \\(value\\);.*" \
+	    "next over recursive call"
+
+    # OK, we should be back in the same stack frame we started from.
+    # Do a backtrace just to confirm.
+
+    set result [gdb_test "backtrace" \
+	    "#0\[ \t\]+ factorial .value=120.*\r\n#1\[ \t\]+ \[0-9a-fx\]+ in factorial .value=6..*" \
+	    "backtrace from factorial(5.1)"]
+    if { $result != 0 } { gdb_suppress_tests }
+
+    if [target_info exists gdb,noresults] { gdb_suppress_tests }
+  gdb_continue_to_end "recursive next test"
+   gdb_stop_suppressing_tests;
+}
+
+test_next_with_recursion
+
+
+#********
+
+# now move the .debug file to a different location so that we can test
+# the "set debug-file-directory" command.
+  
+remote_exec build "mv ${objdir}/${subdir}/.debug/${testfile}.debug ${objdir}/${subdir}"
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_test "set debug-file-directory ${objdir}/${subdir}" ".*" "set separate debug location"
+gdb_load ${binfile}
+
+if [target_info exists gdb_stub] {
+    gdb_step_for_stub;
+}
+
+#
+# test break at function
+#
+gdb_test "break main" \
+    "Breakpoint.*at.* file .*$srcfile, line.*" \
+    "breakpoint function, optimized file"
+
+#
+# test break at function
+#
+gdb_test "break marker4" \
+    "Breakpoint.*at.* file .*$srcfile, line.*" \
+    "breakpoint small function, optimized file"
+
+#
+# run until the breakpoint at main is hit. For non-stubs-using targets.
+#
+if ![target_info exists use_gdb_stub] {
+  if [istarget "*-*-vxworks*"] then {
+    send_gdb "run vxmain \"2\"\n"
+    set timeout 120
+    verbose "Timeout is now $timeout seconds" 2
+  } else {
+	send_gdb "run\n"
+  }
+  gdb_expect {
+    -re "The program .* has been started already.*y or n. $" {
+	send_gdb "y\n"
+	exp_continue
+    }
+    -re "Starting program.*Breakpoint \[0-9\]+,.*main .*argc.*argv.* at .*$srcfile:$bp_location6.*$bp_location6\[\t \]+if .argc.* \{.*$gdb_prompt $"\
+	                    { pass "run until function breakpoint, optimized file" }
+    -re "Starting program.*Breakpoint \[0-9\]+,.*main .*argc.*argv.* at .*$gdb_prompt $"\
+	                    { pass "run until function breakpoint, optimized file (code motion)" }
+    -re ".*$gdb_prompt $"       { fail "run until function breakpoint, optimized file" }
+    timeout	            { fail "run until function breakpoint, optimized file (timeout)" }
+  }
+} else {
+    if ![target_info exists gdb_stub] {
+	gdb_test continue ".*Continuing\\..*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.*, envp=.*\\) at .*$srcfile:$bp_location6.*$bp_location6\[\t \]+if .argc.*\{.*" "stub continue, optimized file"
+    }
+}
+
+#
+# run until the breakpoint at a small function
+#
+
+#
+# Add a second pass pattern.  The behavior differs here between stabs
+# and dwarf for one-line functions.  Stabs preserves two line symbols
+# (one before the prologue and one after) with the same line number, 
+# but dwarf regards these as duplicates and discards one of them.
+# Therefore the address after the prologue (where the breakpoint is)
+# has no exactly matching line symbol, and GDB reports the breakpoint
+# as if it were in the middle of a line rather than at the beginning.
+
+set bp_location13 [gdb_get_line_number "set breakpoint 13 here"]
+set bp_location14 [gdb_get_line_number "set breakpoint 14 here"]
+send_gdb "continue\n"
+gdb_expect {
+    -re "Breakpoint $decimal, marker4 \\(d=177601976\\) at .*$srcfile:$bp_location13\[\r\n\]+$bp_location13\[\t \]+void marker4.*" {
+	pass "run until breakpoint set at small function, optimized file"
+    }
+    -re "Breakpoint $decimal, $hex in marker4 \\(d=177601976\\) at .*$srcfile:$bp_location13\[\r\n\]+$bp_location13\[\t \]+void marker4.*" {
+	pass "run until breakpoint set at small function, optimized file"
+    }
+    -re "Breakpoint $decimal, marker4 \\(d=177601976\\) at .*$srcfile:$bp_location14\[\r\n\]+$bp_location14\[\t \]+void marker4.*" {
+        # marker4() is defined at line 46 when compiled with -DPROTOTYPES
+	pass "run until breakpoint set at small function, optimized file (line bp_location14)"
+    }
+    -re ".*$gdb_prompt " {
+	fail "run until breakpoint set at small function, optimized file"
+    }
+    timeout {
+	fail "run until breakpoint set at small function, optimized file (timeout)"
+    }
+}
+
+
+# Reset the default arguments for VxWorks
+if [istarget "*-*-vxworks*"] {
+    set timeout 10
+    verbose "Timeout is now $timeout seconds" 2
+    send_gdb "set args main\n"
+    gdb_expect -re ".*$gdb_prompt $" {}
+}
diff --git a/gdb/testsuite/gdb.cp/bs15503.cc b/gdb/testsuite/gdb.cp/bs15503.cc
new file mode 100644
index 0000000..aec5a0b
--- /dev/null
+++ b/gdb/testsuite/gdb.cp/bs15503.cc
@@ -0,0 +1,74 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 1992, 2004 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+ 
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+   Please email any bugs, comments, and/or additions to this file to:
+   bug-gdb@prep.ai.mit.edu  */
+
+#include <string>
+#include <iostream>
+using namespace std;
+
+template <class T>
+class StringTest {
+public:
+   virtual void runTest();
+   void testFunction();
+};
+
+template <class T>
+void StringTest<T>:: runTest() {
+   testFunction ();
+}
+
+template <class T>
+void StringTest <T>::testFunction() {
+   // initialize s with string literal
+   cout << "in StringTest" << endl;
+   string s("I am a shot string");
+   cout << s << endl;
+
+   // insert 'r' to fix "shot"
+   s.insert(s.begin()+10,'r' );
+   cout << s << endl;
+
+   // concatenate another string
+   s += "and now a longer string";
+   cout << s << endl;
+
+   // find position where blank needs to be inserted
+   string::size_type spos = s.find("and");
+   s.insert(spos, " ");
+   cout << s << endl;
+
+   // erase the concatenated part
+   s.erase(spos);
+   cout << s << endl;
+}
+
+int main() {
+   StringTest<wchar_t> ts;
+   ts.runTest();
+}
+
+/* output:
+I am a shot string
+I am a short string
+I am a short stringand now a longer string
+I am a short string and now a longer string
+I am a short string
+*/
diff --git a/gdb/testsuite/gdb.cp/bs15503.exp b/gdb/testsuite/gdb.cp/bs15503.exp
new file mode 100644
index 0000000..9b6095b
--- /dev/null
+++ b/gdb/testsuite/gdb.cp/bs15503.exp
@@ -0,0 +1,100 @@
+# Copyright 1992, 2004 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+# Test case for CLLbs15503
+# This file was written by Sue Kimura (sue_kimura@hp.com)
+# Rewritten by Michael Chastain (mec.gnu@mindspring.com)
+
+if $tracelevel {
+    strace $tracelevel
+}
+
+set testfile "bs15503"
+set srcfile ${testfile}.cc
+set binfile ${objdir}/${subdir}/${testfile}
+
+if [get_compiler_info ${binfile}] {
+    return -1
+}
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable "debug c++"] != "" } {
+    perror "Couldn't compile ${srcfile}"
+    return -1
+}
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load ${binfile}
+
+if ![runto_main] then {
+    perror "couldn't run to breakpoint"
+    continue
+}
+
+# Set breakpoint on template function
+
+gdb_test "break StringTest<wchar_t>::testFunction" \
+    "Breakpoint $decimal at $hex: file .*${srcfile}, line $decimal."
+
+gdb_test "continue" \
+    ".*Breakpoint $decimal, StringTest<wchar_t>::testFunction \\(this=$hex\\).*" \
+    "continue to StringTest<wchar_t>"
+
+# Run to some random point in the middle of the function.
+
+gdb_breakpoint [gdb_get_line_number "find position where blank needs to be inserted"]
+gdb_continue_to_breakpoint "find position where blank needs to be inserted"
+
+# Call some string methods.
+
+gdb_test "print s.length()"		"\\$\[0-9\]+ = 42"
+gdb_test "print s\[0\]"			"\\$\[0-9\]+ =.* 'I'"
+gdb_test "print s\[s.length()-1\]"	"\\$\[0-9\]+ =.* 'g'"
+gdb_test "print (const char *) s" \
+    "\\$\[0-9\]+ = $hex \"I am a short stringand now a longer string\""
+
+# TODO: tests that do not work with gcc 2.95.3
+# -- chastain 2004-01-07
+# 
+# gdb_test "print s.compare(s)"		"\\$\[0-9\]+ = 0"
+# gdb_test "print s.compare(\"AAA\")"     "\\$\[0-9\]+ = 1"
+# gdb_test "print s.compare(\"ZZZ\")"     "\\$\[0-9\]+ = -1"
+
+# TODO: tests that do not work with gcc 2.95.3 and gcc 3.3.2.
+# cannot call overloaded non-member operator.  -- chastain 2004-01-07
+# 
+# gdb_test "print s == s"			"\\$\[0-9\]+ = true"
+# gdb_test "print s > "AAA"			"\\$\[0-9\]+ = true"
+# gdb_test "print s < "ZZZ"			"\\$\[0-9\]+ = true"
+
+# TODO crash gdb!  This is going to be a great test!
+# -- chastain 2004-01-07
+# 
+# gdb_test "print s == \"I am a short stringand now a longer string\"" \
+#     "\\$\[0-9\]+ = "true"
+
+gdb_test "print (const char *) s.substr(0,4)"	"\\$\[0-9\]+ = $hex \"I am\""
+gdb_test "print (const char *) (s=s.substr(0,4))" \
+    "\\$\[0-9\]+ = $hex \"I am\""
+
+# TODO: cannot call overloaded non-member operator again.
+# -- chastain 2004-01-07
+# 
+# gdb_test "print (const char *) (s + s)" \
+#    "\\$\[0-9\]+ = $hex \"I amI am\""
+# gdb_test "print (const char *) (s + \" \" + s)" \
+#    "\\$\[0-9\]+ = $hex \"I am I am\""
diff --git a/gdb/testsuite/gdb.cp/exception.cc b/gdb/testsuite/gdb.cp/exception.cc
new file mode 100644
index 0000000..4134fbc
--- /dev/null
+++ b/gdb/testsuite/gdb.cp/exception.cc
@@ -0,0 +1,69 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 1997, 1998, 2004 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+ 
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+   Please email any bugs, comments, and/or additions to this file to:
+   bug-gdb@prep.ai.mit.edu  */
+
+// Test file for exception handling support.
+
+#include <iostream>
+using namespace std;
+
+int foo (int i)
+{
+  if (i < 32)
+    throw (int) 13;
+  else
+    return i * 2;
+}
+
+extern "C" int bar (int k, unsigned long eharg, int flag);
+    
+int bar (int k, unsigned long eharg, int flag)
+{
+  cout << "k is " << k << " eharg is " << eharg << " flag is " << flag << endl;
+  return 1;
+}
+
+int main()
+{
+  int j;
+
+  try {
+    j = foo (20);
+  }
+  catch (int x) {
+    cout << "Got an except " << x << endl;
+  }
+  
+  try {
+    try {
+      j = foo (20);
+    }
+    catch (int x) {
+      cout << "Got an except " << x << endl;
+      throw;
+    }
+  }
+  catch (int y) {
+    cout << "Got an except (rethrown) " << y << endl;
+  }
+
+  // Not caught 
+  foo (20);
+}
diff --git a/gdb/testsuite/gdb.cp/exception.exp b/gdb/testsuite/gdb.cp/exception.exp
new file mode 100644
index 0000000..d921ead
--- /dev/null
+++ b/gdb/testsuite/gdb.cp/exception.exp
@@ -0,0 +1,222 @@
+# Copyright 1997, 1998, 2004 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-gdb@prep.ai.mit.edu
+
+# This file is part of the gdb testsuite.
+# tests for exception-handling support
+# Written by Satish Pai <pai@apollo.hp.com> 1997-07-23
+# Rewritten by Michael Chastain <mec.gnu@mindspring.com> 2004-01-08
+
+# This file used to have two copies of the tests with different
+# compiler flags for hp-ux.  Instead, the user should set CXXOPTS
+# or run runtest with --target_board unix/gdb:debug_flags="..."
+# to choose the compiler flags.
+#
+# The interesting compiler flags are: "aCC +A -Wl,-a,-archive" .
+# Static-linked executables use a different mechanism to get the
+# address of the notification hook in the C++ support library.
+
+# TODO: this file is not ready for production yet.  If you are working
+# on C++ exception support for gdb, you can take out the "continue"
+# statement and try your luck.  -- chastain 2004-01-09
+
+# TODO: this file has many absolute line numbers.
+# Replace them with gdb_get_line_number.
+
+set ws	"\[\r\n\t \]+"
+set nl	"\[\r\n\]+"
+
+if $tracelevel then {
+    strace $tracelevel
+}
+
+set testfile "exception"
+set srcfile ${testfile}.cc
+set binfile ${objdir}/${subdir}/${testfile}
+ 
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
+     gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
+}
+
+# Start with a fresh gdb
+
+set prms_id 0
+set bug_id 0
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load ${binfile}
+
+if ![runto_main] then {
+    perror "couldn't run to breakpoint"
+    continue
+}
+
+# As I said before, this test script is not ready yet!
+
+continue
+
+# Set a catch catchpoint
+
+gdb_test "catch catch" "Catchpoint \[0-9\]+ \\(catch\\)"
+
+# Set a throw catchpoint
+
+gdb_test "catch throw" "Catchpoint \[0-9\]+ \\(throw\\)" \
+    "catch throw (static executable)"
+
+# The catchpoints should be listed in the list of breakpoints.
+
+set re_head	"Num${ws}Type${ws}Disp${ws}Enb${ws}Address${ws}What"
+set re_1_main   "1${ws}breakpoint${ws}keep${ws}y${ws}$hex${ws}in main.*breakpoint already hit.*"
+set re_2_catch	"2${ws}catch catch${ws}keep${ws}y${ws}$hex${ws}exception catch"
+set re_3_catch	"3${ws}catch throw${ws}keep${ws}y${ws}$hex${ws}exception throw"
+set re_2_bp	"2${ws}breakpoint${ws}keep${ws}y${ws}$hex${ws}exception catch"
+set re_3_bp	"3${ws}breakpoint${ws}keep${ws}y${ws}$hex${ws}exception throw"
+
+set name "info breakpoints"
+gdb_test_multiple "info breakpoints" $name {
+    -re "$re_head${ws}$re_1_main${ws}$re_2_catch${ws}$re_3_catch\r\n$gdb_prompt $" {
+	pass $name
+    }
+    -re "$re_head${ws}$re_1_main${ws}$re_2_bp${ws}$re_3_bp\r\n$gdb_prompt $" {
+	# TODO: gdb HEAD 2004-01-08 does this.  Is this okay?
+	unresolved $name
+    }
+}
+
+# Some targets support "info catch".
+# Some do not.
+
+set name "info catch"
+gdb_test_multiple "info catch" $name {
+    -re "Info catch not supported with this target/compiler combination.\r\n$gdb_prompt $" {
+	unsupported $name
+    }
+    -re "No catches.\r\n$gdb_prompt $" {
+	# TODO: gdb HEAD 2004-01-08 does this.  Is this okay?
+	unresolved $name
+    }
+}
+
+# Get the first exception thrown
+       
+set name "continue to first throw"
+gdb_test_multiple "continue" $name {
+    -re "Continuing.${ws}Catchpoint \[0-9\]+ \\(exception thrown\\), throw location.*${srcfile}:30, catch location .*${srcfile}:50\r\n$gdb_prompt $" {
+	pass $name
+    }
+    -re "Continuing.${ws}Catchpoint \[0-9\]+ \\(exception thrown\\)\r\n.*\r\n$gdb_prompt $" {
+	# TODO: gdb HEAD 2004-01-08 does this.  Is this okay?
+	unresolved $name
+    }
+}
+
+# Backtrace from the throw point.
+# This should get to user code.
+
+set name "backtrace after first throw"
+gdb_test_multiple "backtrace" $name {
+    -re ".*#\[0-9\]+${ws}$hex in foo \\(i=20\\) at .*${srcfile}:30\r\n#\[0-9\]+${ws}$hex in main \\((void|)\\) at .*${srcfile}:48\r\n$gdb_prompt $" {
+	pass $name
+    }
+}
+
+# Continue to the catch.
+
+set name "continue to first catch"
+gdb_test_multiple "continue" $name {
+    -re "Continuing.${ws}Catchpoint \[0-9\]+ \\(exception caught\\), throw location.*${srcfile}:30, catch location .*${srcfile}:50\r\n$gdb_prompt $" {
+	pass $name
+    }
+    -re "Continuing.${ws}Catchpoint \[0-9\]+ \\(exception caught\\)\r\n.*\r\n$gdb_prompt $" {
+	# TODO: gdb HEAD 2004-01-08 does this.  Is this okay?
+	unresolved $name
+    }
+}
+
+# Backtrace from the catch point.
+# This should get to user code.
+
+set name "backtrace after first catch"
+gdb_test_multiple "backtrace" $name {
+    -re ".*#\[0-9\]+${ws}$hex in main \\((void|)\\) at .*$srcfile:50\r\n$gdb_prompt $" {
+	pass $name
+    }
+}
+
+# Continue to second throw.
+
+set name "continue to second throw"
+gdb_test_multiple "continue" $name {
+    -re "Continuing.${ws}Got an except 13${ws}Catchpoint \[0-9\]+ \\(exception thrown\\), throw location.*${srcfile}:30, catch location .*${srcfile}:58\r\n$gdb_prompt $" {
+	pass $name
+    }
+    -re "Continuing.${ws}Got an except 13${ws}Catchpoint \[0-9\]+ \\(exception thrown\\)\r\n.*\r\n$gdb_prompt $" {
+	# TODO: gdb HEAD 2004-01-08 does this.  Is this okay?
+	unresolved $name
+    }
+}
+
+# Backtrace from the throw point.
+# This should get to user code.
+
+set name "backtrace after second throw"
+gdb_test_multiple "backtrace" $name {
+    -re ".*#\[0-9\]+${ws}$hex in foo \\(i=20\\) at .*${srcfile}:30\r\n#\[0-9\]+${ws}$hex in main \\((void|)\\) at .*${srcfile}:56\r\n$gdb_prompt $" {
+	pass $name
+    }
+}
+
+# Continue to second catch.
+
+set name "continue to second catch"
+gdb_test_multiple "continue" $name {
+    -re "Continuing.${ws}Catchpoint \[0-9\]+ \\(exception caught\\), throw location.*${srcfile}:30, catch location .*${srcfile}:58\r\n$gdb_prompt $" {
+	pass $name
+    }
+    -re "Continuing.${ws}Catchpoint \[0-9\]+ \\(exception caught\\)\r\n.*\r\n$gdb_prompt $" {
+	# TODO: gdb HEAD 2004-01-08 does this.  Is this okay?
+	unresolved $name
+    }
+}
+
+# Backtrace from the catch point.
+# This should get to user code.
+
+set name "backtrace after second catch"
+gdb_test_multiple "backtrace" $name {
+    -re ".*#\[0-9\]+${ws}$hex in main \\((void|)\\) at .*$srcfile:58\r\n$gdb_prompt $" {
+	pass $name
+    }
+}
+
+# That is all for now.
+# 
+# The original code had:
+#
+#    continue to re-throw ; backtrace
+#    continue to catch    ; backtrace
+#    continue to throw out of main
+#
+# The problem is that "re-throw" does not show a throw; only a catch.
+# I do not know if this is because of a bug, or because the generated
+# code is optimized for a throw into the same function.
+#
+# -- chastain 2004-01-09
diff --git a/gdb/testsuite/gdb.mi/ChangeLog-1999-2003 b/gdb/testsuite/gdb.mi/ChangeLog-1999-2003
new file mode 100644
index 0000000..6f263c3
--- /dev/null
+++ b/gdb/testsuite/gdb.mi/ChangeLog-1999-2003
@@ -0,0 +1,768 @@
+2003-08-07  Andrew Cagney  <cagney@redhat.com>
+
+	* mi2-basics.exp: Copy base MI .exp file, set MIFLAGS to -i=mi2.
+	* mi2-break.exp, mi2-cli.exp, mi2-console.exp: Ditto.
+	* mi2-disassemble.exp, mi2-eval.exp, mi2-file.exp: Ditto.
+	* mi2-hack-cli.exp, mi2-pthreads.exp, mi2-read-memory.exp: Ditto.
+	* mi2-regs.exp, mi2-return.exp, mi2-simplerun.exp: Ditto.
+	* mi2-stack.exp, mi2-stepi.exp, mi2-syn-frame.exp: Ditto.
+	* mi2-until.exp, mi2-var-block.exp, mi2-var-child.exp: Ditto.
+	* mi2-var-cmd.exp, mi2-var-display.exp, mi2-watch.exp: Ditto.
+
+2003-05-03  J. Brobecker  <brobecker@gnat.com>
+
+	From Thierry Schneider  <tpschneider1@yahoo.com>:
+	* mi1-symbol.exp (-symbol-list-lines): New test file to
+	validate all symbol-related commands
+
+2003-04-08  Andrew Cagney  <cagney@redhat.com>
+
+	* gdb792.exp: Skip when C++.
+
+2003-02-23  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* mi-syn-frame.exp: Don't run this test when gdb,nosignals is set.
+
+2002-12-13  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* mi-basics.exp: Change tests for -environment-directory.  Also add
+	tests for -environment-cd, -environment-pwd, and -environment-path.
+	Part of fix for PR gdb/741.
+
+2002-11-05  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* gdb792.cc: New file to test patch for PR gdb/792.
+	* gdb792.exp: Ditto.
+
+2002-11-04  Elena Zannoni  <ezannoni@redhat.com>
+
+        * mi-console.exp: Use mi_runto, mi_run_to_main, mi_next_to,
+	mi_step_to wherever possible.  Update copyright notices.
+	* mi-disassemble.exp: Ditto.
+	* mi-eval.exp: Ditto.
+	* mi-read-memory.exp: Ditto.
+	* mi-regs.exp: Ditto.
+	* mi-return.exp: Ditto.
+	* mi-stack.exp: Ditto.
+	* mi-stepi.exp: Ditto.
+	* mi-var-block.exp: Ditto.
+	* mi-var-cmd.exp: Ditto.
+	* mi-watch.exp: Ditto.
+	* mi1-console.exp: Ditto.
+	* mi1-disassemble.exp: Ditto.
+	* mi1-eval.exp: Ditto.
+	* mi1-read-memory.exp: Ditto.
+	* mi1-regs.exp: Ditto.
+	* mi1-return.exp: Ditto.
+	* mi1-stack.exp: Ditto.
+	* mi1-stepi.exp: Ditto.
+	* mi1-var-block.exp: Ditto.
+	* mi1-var-cmd.exp: Ditto.
+        * mi1-watch.exp: Ditto.
+
+2002-10-23  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* mi-var-cmd.exp: Add tests to verify that a -var-assign that changes
+	a value shows up in the changelist of a -var-update.  Part of fix
+	for gdb/702.
+	* mi1-var-cmd.exp: Ditto.
+
+2002-10-03  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* mi-return.exp: Change expected frame output to remove extraneous
+	space in level field when frame level is single digit.  Part of
+	fix for PR gdb/192.
+	* mi-stack.exp: Ditto.
+	* mi1-return.exp: Ditto.
+	* mi1-stack.exp: Ditto.
+
+2002-10-03  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* mi-var-block.exp: Change expected output from -var-update
+	command to expect list format for "changelist".  Fix for
+	PR gdb/672.
+	* mi-var-cmd.exp: Ditto.
+	* mi-var-child: Ditto.
+
+2002-09-25  Keith Seitz  <keiths@redhat.com>
+
+	* mi-pthreads.exp (get_mi_thread_list): Check if expect_out
+	exists before using it.
+	(check_mi_and_console_threads): Likewise.
+	* gdb669.exp (get_mi_thread_list): Likewise.
+	(check_mi_and_console_threads): Likewise.
+
+2002-09-24  Keith Seitz  <keiths@redhat.com>
+
+	* configure.in: Add config header.
+	Check for pthread.h.
+	* configure: Regenerate.
+	* config.in: New file.
+	* pthreads.c: New file.
+	* mi-pthreads.exp: New file to test thread functionality.
+	* gdb669.exp: New file.
+
+2002-09-17  Keith Seitz  <keiths@redhat.com>
+
+	* mi-var-cmd.exp: Add tests to check when varobj pinned to a
+	selected frame changes type.
+
+2002-09-17  Keith Seitz  <keiths@redhat.com>
+
+	* mi-console.exp: Update copyright.
+	* mi-var-block.exp: Likewise.
+	* mi-var-cmd.exp: Likewise.
+	* mi-var-display.exp: Likewise.
+	* mi0-console.exp: Likewise.
+	* mi0-var-child.exp: Likewise.
+	* mi0-var-cmd.exp: Likewise.
+	* mi0-var-display.exp: Likewise.
+
+2002-09-16  Keith Seitz  <keiths@redhat.com>
+
+	* gdb701.exp: New file for testing varobj target type bug.
+	* gdb701.c: New file.
+
+2002-09-13  Keith Seitz  <keiths@redhat.com>
+
+	* mi-var-child.exp: Use mi_step_to and mi_execute_to instead
+	of a bunch of repeated send_gdb/gdb_expect statements.
+	Fix line numbers.
+
+2002-09-10  Keith Seitz  <keiths@redhat.com>
+
+	* mi-simplerun.exp (test_controlled_execution): Follow renaming of
+	mi_run_to to mi_execute_to.
+	* mi-var-cmd.exp: Likewise.
+	* mi0-simplerun.exp: Likewise.
+	* mi0-var-cmd.exp: Likewise.
+
+2002-09-03  Keith Seitz  <keiths@redhat.com>
+
+	* gdb680.exp: New file to test to check for uiout list/tuple
+	nesting bug.
+
+2002-03-04  Michael Chastain  <mec@shout.net>
+
+	* mi-var-cmd.exp: In test "create local variable func",
+	accommodate gcc v3 function signature.
+	* mi0-var-cmd-exp: Ditto.
+
+2002-02-05  Jim Blandy  <jimb@redhat.com>
+
+	* mi-regs.exp: Various cleanups for SPARC-only tests.
+	(test_breakpoints_creation_and_listing): Format of breakpoint
+	table has changed.
+	(sparc_register_tests): Expand floating-point number regexp to
+	recognize NaN values, too.  Replace ineffectual single backslash
+	before a hyphen with a double backslash.  Don't check the exact
+	numbers of the registers which have changed, since there's no way
+	to know which registers changed, exactly; just check that the
+	result is well-formed.
+	* mi0-regs.exp: (sparc_register_tests): Same as for
+	sparc_register_tests in mi-regs.exp.
+
+	* mi-var-child.exp ("get children of struct_declarations", "get
+	children of struct_declarations.s2.u2.u1s2", "get children of
+	weird"): Tolerate argument types when they appear in function
+	types.  (Dwarf 2 includes prototype info; STABS does not.)
+	* mi0-var-child.exp: Same.
+
+2001-12-19  Keith Seitz  <keiths@redhat.com>
+
+	* mi-var-display.exp: char* variables have a child. Update all
+	occurences.
+	* mi0-var-display.exp: Likewise.
+
+2001-08-29  Andrew Cagney  <cagney@redhat.com>
+
+	* mi-var-cmd.exp, mi0-var-cmd.exp: Variable lpcharacter has one
+	child.  Soften floating point tests.
+
+2001-08-09  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi0-var-block.exp, mi0-stack.exp, mi0-simplerun.exp,
+	mi0-regs.exp, mi0-watch.exp, mi0-stepi.exp, mi0-until.exp,
+	mi0-return.exp, mi0-read-memory.exp, mi0-eval.exp,
+	mi0-disassemble.exp, mi0-console.exp, mi-watch.exp,
+	mi-var-display.exp, mi-var-cmd.exp, mi-var-child.exp,
+	mi-until.exp, mi-var-block.exp, mi-stepi.exp, mi-stack.exp,
+	mi-simplerun.exp, mi-return.exp, mi-regs.exp, mi-read-memory.exp,
+	mi-disassemble.exp, mi-eval.exp, mi-console.exp: Replace pattern
+	matching thread=0 with one to also match thread=1.
+	Fix PR gdb/190.
+
+2001-08-18  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi0-until.exp, mi-until.exp, mi0-stepi.exp, mi-stepi.exp,
+	mi-simplerun.exp, mi0-simplerun.exp, mi0-return.exp,
+	mi-return.exp, mi0-console.exp, mi-console.exp: Recognize an
+	unexpected run-to-main response. Report as a fail.
+
+2001-06-27  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-disassemble.exp: Update to accept mi1 breakpoint tables.
+	* mi-basics.exp: Ditto.
+	* mi-simplerun.exp: Ditto.
+	* mi-watch.exp: Ditto. Add check for full header.
+	* mi-break.exp: Ditto. Add check for full header.
+
+2001-06-26  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-stack.exp: Update.  Output for args=... and
+	locals=... changed to a list.
+	
+2001-06-26  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-stack.exp: Update. Output for stack=..., args=... and
+	stack-args=... changed to a list.
+
+2001-06-25  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-console.exp: Update args=... part of stop-reason
+	patterns. Output changed to a list of arguments.
+	* mi-disassemble.exp: Ditto.
+	* mi-simplerun.exp: Ditto.
+	* mi-return.exp: Ditto.
+	* mi-read-memory.exp: Ditto.
+	* mi-eval.exp: Ditto.
+	* mi-watch.exp: Ditto.
+	* mi-var-display.exp: Ditto.
+	* mi-var-cmd.exp: Ditto.
+	* mi-var-child.exp: Ditto.
+	* mi-var-block.exp: Ditto.
+	* mi-until.exp: Ditto.
+	* mi-stepi.exp: Ditto.
+	* mi-stack.exp: Ditto.
+	* mi-regs.exp: Ditto.
+
+2001-06-25  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-read-memory.exp: Update patterns matching data-read-memory.
+	Outputs a list.
+
+2001-06-25  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-regs.exp: Update patterns matching register-values.  Outputs a
+	list.
+
+2001-06-25  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-regs.exp: Update patters matching register-names.  Now
+	outputs a list.
+
+2001-06-25  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-regs.exp: Update patterns matching changed-registers.  Now
+	outputs a list.
+
+2001-06-23  Andrew Cagney  <ac131313@redhat.com>
+
+	* ChangeLog-mi: Rename to ChangeLog.
+	* mi-basics.exp: Remove local emacs variable defining
+	change-log-default-name.
+	* mi-break.exp, mi-console.exp, mi-disassemble.exp: Ditto.
+	* mi-eval.exp, mi-hack-cli.exp, mi-read-memory.exp: Ditto.
+	* mi-regs.exp, mi-return.exp, mi-simplerun.exp: Ditto.
+	* mi-stack.exp, mi-stepi.exp, mi-until.exp: Ditto.
+	* mi-var-block.exp, mi-var-child.exp, mi-var-cmd.exp: Ditto.
+	* mi-var-display.exp, mi-watch.exp, mi0-basics.exp: Ditto.
+	* mi0-break.exp, mi0-console.exp, mi0-disassemble.exp: Ditto.
+	* mi0-eval.exp, mi0-hack-cli.exp, mi0-read-memory.exp: Ditto.
+	* mi0-regs.exp, mi0-return.exp, mi0-simplerun.exp: Ditto.
+	* mi0-stack.exp, mi0-stepi.exp, mi0-until.exp: Ditto.
+	* mi0-var-block.exp, mi0-var-child.exp, mi0-var-cmd.exp: Ditto.
+	* mi0-var-display.exp, mi0-watch.exp: Ditto.
+
+2001-06-23  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-disassemble.exp: Update patterns matching data-disassemble
+	output.  Now produces a list of instructions and a list of
+	source/assembly lines.
+
+2001-06-18  Andrew Cagney  <ac131313@redhat.com>
+
+	* mi-basics.exp, mi-break.exp, mi-console.exp, mi-disassemble.exp,
+	mi-eval.exp, mi-hack-cli.exp, mi-read-memory.exp, mi-regs.exp,
+	mi-return.exp, mi-simplerun.exp, mi-stack.exp, mi-stepi.exp,
+	mi-until.exp, mi-var-block.exp, mi-var-child.exp, mi-var-cmd.exp,
+	mi-var-display.exp, mi-watch.exp, mi0-basics.exp, mi0-break.exp,
+	mi0-console.exp, mi0-disassemble.exp, mi0-eval.exp,
+	mi0-hack-cli.exp, mi0-read-memory.exp, mi0-regs.exp,
+	mi0-return.exp, mi0-simplerun.exp, mi0-stack.exp, mi0-stepi.exp,
+	mi0-until.exp, mi0-var-block.exp, mi0-var-child.exp,
+	mi0-var-cmd.exp, mi0-var-display.exp, mi0-watch.exp: Use MIFLAGS
+	to explictly select an interpreter.
+
+2001-06-16  Andrew Cagney  <ac131313@redhat.com>
+
+	MI0 was the never enabled MI interface included in GDB 5.0.
+	* mi0-basics.exp: Copy mi-basics.exp.
+	* mi0-break.exp: Copy mi-break.exp.
+	* mi0-console.exp: Copy mi-console.exp.
+	* mi0-disassemble.exp: Copy mi-disassemble.exp.
+	* mi0-eval.exp: Copy mi-eval.exp.
+	* mi0-hack-cli.exp: Copy mi-hack-cli.exp.
+	* mi0-read-memory.exp: Copy mi-read-memory.exp.
+	* mi0-regs.exp: Copy mi-regs.exp.
+	* mi0-return.exp: Copy mi-return.exp.
+	* mi0-simplerun.exp: Copy mi-simplerun.exp.
+	* mi0-stack.exp: Copy mi-stack.exp.
+	* mi0-stepi.exp: Copy mi-stepi.exp.
+	* mi0-until.exp: Copy mi-until.exp.
+	* mi0-var-block.exp: Copy mi-var-block.exp.
+	* mi0-var-child.exp: Copy mi-var-child.exp.
+	* mi0-var-cmd.exp: Copy mi-var-cmd.exp.
+	* mi0-var-display.exp: Copy mi-var-display.exp.
+	* mi0-watch.exp: Copy mi-watch.exp.
+	
+2001-05-11  Fernando Nasser  <fnasser@redhat.com>
+
+	* mi-var-child.exp: Adjust for the fact that now (char *) can be
+	dereferenced.
+
+2001-03-06  Kevin Buettner  <kevinb@redhat.com>
+
+	* mi-basics.exp, mi-break.exp, mi-disassemble.exp,
+	mi-eval.exp, mi-hack-cli.exp, mi-read-memory.exp, mi-regs.exp,
+	mi-return.exp, mi-simplerun.exp, mi-stack.exp, mi-stepi.exp,
+	mi-until.exp, mi-watch.exp: Update/correct copyright notices.
+
+2001-01-20  Mark Kettenis  <kettenis@gnu.org>
+
+	* mi-support.exp (mi_gdb_start): Skip mi tests if -i flag is
+	recognized (i.e. if GDB was compiled with UI_OUT, but the mi
+	interpreter wasn't recognized (because it wasn't compiled in).
+
+Tue Apr 18 15:36:07 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* Makefile.in (clean mostlyclean): Do not delete $(MISCELLANEOUS).
+
+Tue Mar 14 15:54:57 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* basics.c: Add EMACS local variable pointing change-log at this
+ 	file.
+	* Makefile.in: Ditto
+
+2000-03-13  James Ingham  <jingham@leda.cygnus.com>
+
+	* mi-var-block.exp: The error report from varobj_create changed
+	since I am now trapping parse_exp_1 errors.  Change the tests to
+	match the new error message.
+	* mi-var-child.exp: Ditto.
+	* mi-var-cmd.exp: Ditto.
+
+2000-03-06  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-disassemble.exp: Don't assume numbers for the offset
+ 	values. They can be different depending on the architecture.
+
+	* mi-watch.exp (test_watchpoint_triggering): In same cases the
+ 	type can be 'hw wathcpoint' not just 'watchpoint'. Adjust for that.
+
+	* basics.c (callee4): Make the function return something,
+ 	otherwise the return value is undefined.
+
+2000-03-06  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-basics.exp: Comment out test for a still unimplemented operation.
+
+	* mi-disassemble.exp: Rewrite most of the tests to conform to new
+ 	disassemble interface.
+
+Sat Mar  4 13:55:08 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	From Fri 3 Mar 2000 Peter Schauer:
+	* mi-support.exp (mi_gdb_start): When GDB doesn't recongize -i=mi
+ 	option, assume no MI support present.
+
+2000-02-01  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-support.exp (mi_gdb_start): Update to recognize start up
+ 	message with 'UI_OUT' instead of 'HEADLESS'.
+
+2000-01-27  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-regs.exp (test_running_the_program): Add global var 'hex'.
+
+	* mi-stack.exp, mi-stepi.exp, mi-until.exp, mi-watch.exp,
+ 	mi-var-display.exp, mi-var-cmd.exp, mi-var-child.exp,
+ 	mi-var-block.exp: Update all stopped messages.
+
+2000-01-17  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-console.exp, mi-disassemble.exp, mi-eval.exp,
+ 	mi-read-memory.exp, mi-regs.exp, mi-return.exp, mi-simplerun.exp:
+ 	Update stopped messages, update copyright.
+	
+	* mi-disassemble.exp: Update error messages output.
+	
+	* mi-support.exp (proc mi_step): Make gdb do a 'step' command, not
+ 	a 'next'. Update stopped message.
+	(proc mi_next): Update stop message.
+	(proc mi_run_to_main): Update stopped message.
+	Update copyright.
+
+2000-01-11  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-simplerun.exp: Remove stack frames tests from here, to:
+
+	* mi-stack.exp: New file, tests for stack commands.
+
+	* mi-support.exp (mi_run_to_main, mi_next, mi_step) : Update to
+ 	include thread-id in stopped message.
+
+	* mi-regs.exp: Update break-insert output.
+
+	* (mi-console.exp, mi-disassemble.exp, mi-eval.exp,
+ 	mi-read-memory.exp, mi-regs.exp, mi-return.exp, mi-simplerun.exp,
+ 	mi-stepi.exp, mi-until.exp, mi-var-block.exp, mi-var-child.exp,
+ 	mi-var-cmd.exp, mi-var-display.exp, mi-watch.exp): Update stopped
+ 	message to include thread-id.
+
+Wed Dec 29 22:06:05 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-watch.exp, mi-var-display.exp, mi-var-cmd.exp,
+ 	mi-var-child.exp, mi-var-block.exp, mi-until.exp, mi-stepi.exp,
+ 	mi-simplerun.exp, mi-return.exp, mi-support.exp, mi-eval.exp,
+ 	mi-console.exp, mi-disassemble.exp, mi-break.exp: Update to
+ 	reflect extended output from -break-insert command.
+	
+	* mi-break.exp (test_rbreak_creation_and_listing): XFAIL regexp
+ 	tests.  -r flag broken by above.
+	
+Sun Dec 19 19:28:13 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* cpp_variable.cc, cpp_variable.h, c_variable.c: Delete.
+
+Fri Dec 17 20:59:55 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-read-memory.exp: Test of ``-o <offset>'' now works.
+
+1999-12-16  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-var-cmd.exp: Fix 2 tests outputs.
+
+	* mi-var-child.exp: Add many more tests.
+
+	* mi-var-display.exp: Add many more tests.
+
+	* var-cmd.c: Change type of incr_a parameter to char.
+
+1999-12-15  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-var-block.exp: Set up xfails fro known problems.
+
+	* mi-var-display.exp: Set up printing of values of 'e' and 'anone'
+ 	as xfails.
+
+	* mi-var-child.exp: Fix typos.
+
+1999-12-15  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-var-child.exp: Space was missing before ``[10]''.
+
+Wed Dec 15 19:23:38 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-read-memory.exp: Add test for ``-o <offset>''.  Update checks
+ 	and match next-row et.al.
+
+1999-12-14  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-var-display.exp : New file. Tests for format and type, with
+ 	unions, structs and enums.
+	
+	* mi-var-cmd.exp: Add some var-assign tests.
+
+1999-12-14 Elena Zannoni <ezannoni@kwikemart.cygnus.com> 
+
+	* mi-var-cmd.exp, mi-var-block.exp, mi-var-child.exp: New files
+ 	some tests for -var* commands.
+
+	* var-cmd.c: New source file for var-* commands tests.
+	* gdb.mi/Makefile.in (PROGS): Add var-cmd.
+	
+Mon Dec 13 18:06:09 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-break.exp: Fix quoting.  Changed "srcfile.c":6 to
+ 	"\"srcfile.c\":6".
+	* mi-simplerun.exp: Fix quoting.
+
+Sat Dec 11 21:33:37 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-simplerun.exp (exec-finish): Fix return value was zero,
+ 	should have been three.
+
+	* mi-disassemble.exp: Reduce number of wild card matches in
+ 	* patterns.  Remove all numeric constants.
+
+1999-12-09  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-eval.exp: New file. Some initial tests for
+ 	-data-evaluate-expression.
+
+1999-12-09  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* c_variable.c, cpp_variable.cc, cpp_variable.h: New files.  Used
+	for testing "var" operations.
+	* Makefile.in: Add reference to the above files.
+
+1999-12-08  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-regs.exp: Fix test for format 'N' for
+ 	data-list-register-values.
+
+1999-12-07  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-disassemble.exp: Update expected output. Break test of
+ 	disassembly in mixed mode into 2 functions.
+
+	* mi-regs.exp: Initial register tests. Works only on sparc right
+ 	now.
+
+1999-12-02  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-stepi.exp: New file. Tests exec-step-instruction and
+ 	exec-next-instruction.
+	* mi-until.exp: New file. Tests exec-until.
+	* until.c: New file.
+	* mi-return.exp: New file. Tests exec-return.
+
+Thu Dec  2 09:38:23 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-hack-cli.exp: New test.  Check the hacked up access to the
+ 	CLI.
+
+Wed Dec  1 16:47:40 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-basics.exp: Delete calls to mi_delete_breakpoints,
+ 	mi_gdb_reinitialize_dir and mi_gdb_load.  This test is checking
+ 	that these can work.
+
+	* mi-support.exp (mi_step, mi_next, mi_run_to_main): New
+	procedures.
+
+	* mi-read-memory.exp, mi-read-memory.c: New files.  Test
+ 	data-read-memory command.
+	
+Tue Nov 30 23:54:16 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-support.exp: Don't start SID until after GDB has been started
+ 	and verified.
+	
+Tue Nov 30 22:21:33 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-support.exp (mi_uncatched_gdb_exit): When SID, call sid_exit.
+	(mi_gdb_start): When SID, call sid_start.
+	(mi_gdb_start): Add MIFLAGS to spawn-GDB command.  Check for
+ 	HEADLESS gdb.  Return non-zero when GDB fails to start.
+	(mi_gdb_load): When SID or SIM, download program.
+	(mi_run_cmd): Don't do download here.  Assume target supports the
+ 	00-exec-run command.
+	(skip_mi_tests, setup_gdbmi, unset_gdbmi): Delete.  Merged into
+ 	mi_gdb_start.
+
+	* mi-basics.exp, mi-break.exp, mi-console.exp, mi-disassemble.exp,
+ 	mi-simplerun.exp, mi-watch.exp: Update.  Check status from
+ 	mi_gdb_start indicating that GDB started correctly.
+
+Tue Nov 30 15:22:08 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-support.exp (setup_gdbmi, unset_gdbmi): New
+ 	procedures.  Setup/unset dejagnu for mi tests.
+	* mi-basics.exp, mi-console.exp, mi-simplerun.exp, mi-break.exp,
+ 	mi-disassemble.exp, mi-watch.exp: Update.
+
+1999-11-29  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-simplerun.exp (test_running_the_program): Remove XFAIL. The
+ 	output is fixed now.
+	(test_program_termination): Update output pattern.
+
+Tue Nov 30 00:19:10 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-console.c, mi-console.exp: New files. Test console output.
+
+Mon Nov 29 17:59:13 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-support.exp (mi_run_command): Check for exec-run command
+ 	failure due to MI not having an active target.
+	(mi_run_command): Check for and handle a builtin simulator target.
+	(mi_run_command): Don't check/handle for ``The program has been
+ 	started already'', not a valid MI response.
+	
+	* mi-simplerun.exp (test_running_the_program): Update all patterns
+ 	to match async output.
+	(test_running_the_program): Mark ``step to callee4'' as XFAIL.  MI
+ 	output contains {,reason="end-stepping-range"}+.
+
+	* mi-simplerun.exp: Limit the timeout for ``step to callee4'' to
+ 	30 seconds.
+
+Mon Nov 29 17:30:00 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* mi-support.exp (skip_mi_tests): Print UNTESTED when MI interface
+ 	isn't available.  Start/stop instead of assuming GDB is running.
+	(MIFLAGS): Define.
+	* mi-simplerun.exp, mi-disassemble.exp, mi-break.exp,
+ 	mi-basics.exp, mi-watch.exp: Update.
+
+1999-11-26  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* mi-simplerun.exp: Move break-insert {-t, -r} from here.
+	* mi-break.exp: To here. New file.
+	* mi-watch.exp: New file. Tests for watchpoints.
+
+Wed Nov 24 17:42:07 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* gdb.mi/ChangeLog-mi: MI entries moved to here.
+
+Wed Nov 24 17:31:04 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* gdb.mi/mi-basics.exp, gdb.mi/mi-disassemble.exp,
+ 	gdb.mi/mi-simplerun.exp: Print warning message when test isn't
+ 	run.
+
+1999-11-23  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* gdb.mi/mi-simplerun.exp: Update output of break-list to account for
+	"times" field.
+
+1999-11-05  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* gdb.mi/mi-simplerun.exp: Add tests for temporary breakpoints
+	and bp based on regular expressions.
+	* gdb.mi/mi-disassemble.exp: Fix typo.
+
+1999-11-04  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* gdb.mi/mi-disassemble.exp: Update output of execution commands
+ 	to reflect new 'reason' field.
+	* gdb.mi/mi-simplerun.exp: Ditto.
+
+1999-10-25  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* gdb.mi/mi-simplerun.exp: Add more stack-list-frames tests.
+
+	* gdb.mi/mi-disassemble.exp: Update 'run to main' output.  
+
+	* gdb.mi/mi-simplerun.exp: Update execution commands
+ 	output. Update backtrace output.
+	
+1999-10-18  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* gdb.mi/mi-disassemble.exp: Add new tests for the new
+	disassembly command parameter, number of lines.
+
+Mon Oct 11 13:57:21 1999  Andrew Cagney  <cagney@amy.cygnus.com>
+
+	* lib/mi-support.exp: Break complicated gdb_expect containing
+ 	exp_continue into a while within an expect.  Don't attempt a start
+ 	more than three times.  Check return value from gdb_load.
+	
+1999-10-06  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	* gdb.mi/mi-disassemble.exp: New file.
+
+Wed Oct  6 12:05:58 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* lib/mi-support.exp (mi_run_cmd): Give up after two restart
+ 	attempts.
+
+1999-09290  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* gdb.mi/mi-basics.exp: Update to current syntax and output formats.
+	* gdb.mi/mi-simplerun.exp: Ditto.
+	* lib/mi-support.exp (mi_delete_breakpoints): Ditto.
+
+1999-06-30  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* gdb.mi/basics.c (main): Fix return code.  Add a print "Hello,
+	World".
+	* gdb.mi/mi-basics.exp: Fix message texts and numbering.
+	* gdb.mi/mi-simplerun.exp: Ditto. Also, add new tests and improve
+	some patterns.
+
+1999-06-30  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* lib/mi-support.exp (mi_gdb_reinitialize_dir): Remove query as an
+	acceptable response to the environment-dir command.
+
+1999-06-30  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* lib/mi-support.exp (mi_delete_breakpoints): Remove references to
+	gdb-cli.
+	(mi_run_cmd): Ditto.
+
+1999-06-25  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* lib/mi-support.exp (skip_mi_tests): Use gdb-version to check for
+	headless output format.
+
+1999-06-24  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* gdb.mi/mi-simplerun.exp (test_controlled_execution): Add global
+	spec for hex.
+
+1999-06-24  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* lib/mi-support.exp (mi_run_cmd): Fix pattern and add a timeout
+ 	clause.
+
+1999-06-24  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* lib/mi-support.exp: Use mi_gdb_prompt instead of a modified
+	gdb_prompt.  Remove uneeded loading of libgloss.
+	(mi_gdb_exit): Remove prompt argument.
+	(mi_uncatched_gdb_exit): Ditto.
+	(mi_run_cmd): New proc. MI version of gdb_run.
+	(skip_mi_tests): New proc. Check if gdb is capable of producing
+	headless formatted output.
+	* gdb.mi/mi-basics.exp: Use mi_gdb_prompt instead of a modified
+	gdb_prompt.  Eliminate parameter to mi_gdb_exit (as a result of
+	the above).  Test for skip_mi_tests before running.
+	Note: The above changes are interelated (need each other).
+	* gdb.mi/mi-simplerun.exp: Same changes as for mi-basics.exe
+	above.
+	(test_breakpoint_creation_and_listing): Remove insertion of
+	breakpoint at callee1 (and renumber tokens). Add tests for
+	break-list, break-disable and break-info.
+	(test_running_the_program): Use mi_run_cmd so it can run on remote
+	targets.
+	(test_controlled_execution): Fix broken test.
+	(test_program_termination): Test implemented.
+	* gdb.mi/basic.c (main): Small change to allow for testing of both
+	exec-next and exec-step operations.
+
+1999-06-22  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+        * lib/mi-support.exp (mi_gdb_test): New proc.  MI version of gdb_test.
+        * gdb.mi/mi-basics.exp: Use the above instead of gdb_test.
+        * gdb.mi/mi-simplerun.exp: Ditto.
+
+1999-06-22  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+        * gdb.mi/mi-simplerun.exp: New file. Tests simple debugging tasks. 
+        * gdb.mi/mi-basics.exp: Remove tests moved to above new file.
+        * lib/mi-support.exp: New file.  Support procedures for mi tests.
+
+1999-06-08  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* gdb.mi/mi-basics.exp: Skip all tests if the MI interpreter is
+	not active.
+
+1999-06-03  Fernando Nasser  <fnasser@totem.to.cygnus.com>
+
+	* gdb.mi: New directory.
+	* configure.in: Configure it.
+	* configure: Regenerate.
+	* gdb.mi/{Makefile.in,configure.in,configure}: New files.
+	* gdb.mi/{mi-basics.exp,basics.c,testcmds}: New files.
+
+
+Local Variables:
+mode: indented-text
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/gdb/tui/ChangeLog-1998-2003 b/gdb/tui/ChangeLog-1998-2003
new file mode 100644
index 0000000..fc5886c
--- /dev/null
+++ b/gdb/tui/ChangeLog-1998-2003
@@ -0,0 +1,1217 @@
+2003-09-27  Andrew Cagney  <cagney@redhat.com>
+
+	* tuiRegs.c: Rename REGISTER_RAW_SIZE to
+	DEPRECATED_REGISTER_RAW_SIZE.
+
+2003-09-13  Andrew Cagney  <cagney@redhat.com>
+
+	* tui.h (struct ui_file): Add opaque declaration.
+
+2003-08-04  Daniel Jacobowitz  <drow@mvista.com>
+
+	* tui-interp.c: Include "cli-out.h".
+	(tui_resume): Update tui_old_uiout's stream to gdb_stdout.
+
+2003-07-24  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tui.c (tui_rl_other_window): New function to switch the TUI active
+	window and give focus to a next window.
+	(tui_initialize_readline): Bind it to c-x o.
+	(tui_rl_next_keymap): Activate TUI mode when entering SingleKey mode.
+
+2003-07-23  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tui.c (tui_enable): Call tuiRefreshAll to make sure the window
+	is accurate.
+
+2003-07-23  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tui-interp.c (tui_resume): Enable tui when we expected it.
+	(tui_suspend): Remember in which TUI mode we are.
+	(_initialize_tui_interp): Use the tui interpreter even when no
+	other interpreter was set and define in which TUI mode to start.
+
+2003-06-28  Daniel Jacobowitz  <drow@mvista.com>
+
+	* tui-out.c (tui_ui_out_impl): Add NULL for redirect member.
+
+2003-06-22  Daniel Jacobowitz  <drow@mvista.com>
+
+	* tui-hooks.c: Update include order.
+	* tui.c: Likewise.
+	* tuiCommand.c: Likewise.
+	* tuiData.c: Likewise.
+	* tuiDataWin.c: Likewise.
+	* tuiDisassem.c: Likewise.
+	* tuiGeneralWin.c: Likewise.
+	* tuiIO.c: Likewise.
+	* tuiLayout.c: Likewise.
+	* tuiRegs.c: Likewise.
+	* tuiSource.c: Likewise.
+	* tuiSourceWin.c: Likewise.
+	* tuiStack.c: Likewise.
+	* tuiWin.c: Likewise.
+
+2003-06-12  Andreas Schwab  <schwab@suse.de>
+
+	* tuiSource.c (tuiVerticalSourceScroll): Use get_frame_pc.
+	* tuiSourceWin.c (tuiHorizontalSourceScroll): Likewise.
+	* tuiStack.c (tui_get_function_from_frame): Likewise.
+	(tuiShowFrameInfo): Likewise.
+	* tuiWin.c (_makeVisibleWithNewHeight): Likewise.
+	* tui-hooks.c (tui_selected_frame_level_changed_hook): Likewise.
+	* tuiDisassem.c (tuiVerticalDisassemScroll): Likewise.
+	Include "disasm.h".
+
+2003-05-08  Andrew Cagney  <cagney@redhat.com>
+
+	* tuiRegs.c: Use MAX_REGISTER_SIZE instead of
+	MAX_REGISTER_RAW_SIZE.
+
+2003-05-03  Andrew Cagney  <cagney@redhat.com>
+
+	* tuiDisassem.c (tui_disassemble): Call gdb_print_insn, instead of
+	TARGET_PRINT_INSN.  Do not initialize a disassemble_info object.
+
+2003-04-30  Andrew Cagney  <cagney@redhat.com>
+
+	* tuiDisassem.c (tui_disassemble): Use
+	"deprecated_tm_print_insn_info" instead of TARGET_PRINT_INSN_INFO,
+	add comment.
+
+2003-03-14  Andrew Cagney  <cagney@redhat.com>
+
+	* tuiRegs.c (_tuiGetRegisterRawValue): Use frame_read_register,
+	instead of get_saved_register.
+
+2003-03-13  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tui-out.c (tui_out_data): Fix typedef.
+
+2003-03-08  Andrew Cagney  <cagney@redhat.com>
+
+	* tui-out.c: Update copyright.
+	(tui_out_data): Define typedef.  Use instead of ui_out_data.
+
+2003-02-14  Andrew Cagney  <ac131313@redhat.com>
+
+	* tui.c (tui_enable, tui_disable): Don't modify tui_version.
+	(tui_is_window_visible, tui_get_command_dimension): Test
+	tui_active instead of tui_version.
+	* tuiData.h (tui_version): Delete declaration.
+	* tui-hooks.c (tui_init_hook, tui_event_loop): Delete function,
+	moved to "tui-interp.c".
+	(tui_exit, tui_command_loop): Ditto.
+	(_initialize_tui): Don't initialize init_ui_hook.  Initialize
+	target_new_objfile_hook.
+	* tui-interp.c: New file.
+
+2003-02-12  Andrew Cagney  <ac131313@redhat.com>
+
+	* tuiIO.c (tui_prep_terminal): Add one notused parameter.
+	* tui.c (tui_rl_switch_mode): Add two notused parameters.
+	(tui_rl_change_windows, tui_rl_next_keymap): Ditto.
+	(tui_rl_delete_other_windows): Ditto.
+	(tui_rl_change_windows, tui_rl_delete_other_windows): Update
+	calls.
+
+2002-12-08  Elena Zannoni  <ezannoni@redhat.com>
+
+       Import of readline 4.3.
+       Fix PR gdb/675
+       * tuiWin.c: Include readline/readline.h.
+       (tui_update_gdb_sizes): Use accessor function rl_get_screen_size.
+       (tuiResizeAll): Ditto.
+
+2002-12-06  Elena Zannoni  <ezannoni@redhat.com>
+
+	* tuiStack.c (tuiShowFrameInfo): Fix typo.
+
+2002-11-29  Andrew Cagney  <ac131313@redhat.com>
+
+	* tui/tui-hooks.c: Update to use deprecated_selected_frame.
+	* tui/tui.c, tui/tuiDisassem.c, tui/tuiRegs.c: Ditto.
+	* tui/tuiSource.c, tui/tuiSourceWin.c, tui/tuiWin.c: Ditto.
+
+2002-11-28  Andrew Cagney  <ac131313@redhat.com>
+
+	* tuiStack.c (tuiShowFrameInfo): Use find_frame_sal instead of
+	find_pc_line.
+
+2002-11-23  Andrew Cagney  <ac131313@redhat.com>
+
+	* tuiStack.c (tuiShowFrameInfo): Use get_frame_type instead of
+	deprecated_frame_in_dummy.  Fix coding style.
+
+2002-11-21  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tui-hooks.c (tui_init_hook): Don't enable the TUI if a specific
+	interpreter is installed.
+
+2002-11-18  Andrew Cagney  <ac131313@redhat.com>
+
+	* tuiStack.c (tuiShowFrameInfo): Use get_frame_type instead of
+	signal_handler_caller.
+	
+2002-11-10  Andrew Cagney  <ac131313@redhat.com>
+
+	* tuiStack.c (tuiShowFrameInfo): Replace frame_in_dummy with
+	deprecated_frame_in_dummy.
+
+2002-10-26  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiIO.c (tui_prep_terminal): Save the prompt registered in readline.
+	(tui_redisplay_readline): Use the last saved prompt.
+	(tui_rl_saved_prompt): New.
+
+2002-10-25  Stephane Carrez  <stcarrez@nerim.fr>
+
+	Fix PR gdb/787
+	* tuiWin.c (ACS_LRCORNER, ACS_LLCORNER, ACS_ULCORNER, ACS_URCORNER,
+	ACS_HLINE, ACS_VLINE): Define if they don't exist.
+
+2002-10-25  Stephane Carrez  <stcarrez@nerim.fr>
+
+	Fix PR gdb/478
+	* tuiIO.c (tui_initialize_io): Use setvbuf since this is portable.
+
+2002-10-02  Elena Zannoni  <ezannoni@redhat.com>
+
+	* tui-hooks.c (selected_frame_level_changed_hook): Use the one
+	exported from frame.h.
+
+2002-09-29  Elena Zannoni  <ezannoni@redhat.com>
+
+	* tui.c (tui_show_source): Don't access current_source_symtab, use
+	accessor function instead.  Include source.h and symtab.h
+	* tuiDisassem.c (tuiShowDisassemAndUpdateSource,
+	tuiVerticalDisassemScroll): Use accessor functions for current
+	source line and symtab.  Include source.h.
+	* tuiLayout.c (_extractDisplayStartAddr): Use accessor functions
+	for current source line and symtab.  Include source.h.
+	* tuiWin.c (_makeVisibleWithNewHeight): Ditto.
+	* tuiSourceWin.c (tuiUpdateSourceWindowAsIs,
+	tuiHorizontalSourceScroll): Ditto.
+	* tuiSource.c (tuiVerticalSourceScroll): Ditto.
+
+2002-09-13  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tui.c (tui_rl_switch_mode): Remove unecessary TUI switch printfs.
+	(tui_initialize_readline): Allow to use space to leave SingleKey
+	to enter one gdb command.
+	(tui_enable): Restore the TUI keymap when we are back to TUI.
+	(tui_disable): Restore normal keymap when leaving TUI.
+	* tuiIO.c (tui_redisplay_readline): Restore the SingleKey mode
+	when the buffer becomes empty and we are in tui_one_command_mode.
+
+2002-09-13  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiIO.c (tui_setup_io): rl_already_prompted must be cleared
+	when leaving TUI mode so that gdb prompt is displayed.
+
+2002-09-13  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiStack.c (tui_make_status_line): Make sure the local buffer
+	is large enough to hold the complete line.
+
+2002-09-10  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tui-hooks.c (tui_event_loop): New function.
+	(tui_command_loop): New function to override gdb loop and make sure
+	uiout is set according to TUI mode.
+	(tui_command_loop): Install the specific TUI command hook.
+	* tuiIO.c (tui_initialize_io): Initialize tui_old_uiout.
+	(tui_uiout, tui_old_uiout): Make public.
+	* tuiIO.h (tui_uiout, tui_old_uiout): Declare.
+
+2002-09-04  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiIO.c (tui_putc): New function to print one character.
+	(printable_part): New function from readline/complete.c.
+	(PUTX): New macro, likewise.
+	(print_filename): New function, likewise.
+	(get_y_or_n): New function, likewise and adapted for TUI.
+	(tui_rl_display_match_list): New function from readline/complete.c
+	and writes on TUI command window.
+	(tui_setup_io): Install or remove the readline hook
+	rl_completion_display_matches_hook so that completion is written
+	directly in TUI command window instead of in the TUI pipe.
+	(tui_initialize_io): Use #ifdef TUI_USE_PIPE_FOR_READLINE for the
+	TUI redirection pipe.
+	(tui_getc): Likewise for call to tui_readline_output.
+	(tui_readline_output): Likewise for function.
+	* tui.c (tui_rl_startup_hook): Always take care of gdb prompt.
+
+2002-09-02  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiWin.c (_newHeightOk): Fix compilation warnings.
+
+2002-09-01  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiWin.c (_tuiAllWindowsInfo): Don't crash if the window
+	is not displayed.
+
+2002-09-01  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tui-out.c (tui_out_new): Clear start_of_line.
+	* tuiSource.c (tuiVerticalSourceScroll): Use print_source_lines
+	to update the current source line.
+
+2002-09-01  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tui-hooks.c (tui_detach_hook): New hook to know when a process dies.
+	(tui_install_hooks): Install it.
+	(tui_remove_hooks): Remove it.
+
+2002-09-01  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiData.h (FILE_PREFIX): Don't define.
+	(blankStr, locationStr, breakStr): Don't declare.
+	(breakLocationStr, nullStr, historyLimit, setHistoryLimitTo): Likewise.
+	(displayableWinContentOf, displayableWinContentAt): Likewise.
+	(winElementHeight, winByName, freeAllWindows): Likewise.
+
+	* tuiData.c (blankStr, locationStr, breakStr): Remove.
+	(breakLocationStr, nullStr, historyLimit, setHistoryLimitTo): Remove.
+	(displayableWinContentOf, displayableWinContentAt): Remove.
+	(winElementHeight, winByName, freeAllWindows): Remove.
+
+2002-09-01  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiStack.c (tui_make_status_line): New function to create the
+	status line.
+	(tuiShowLocatorContent): Use it instead of displayableWinContentAt.
+	* tuiData.h (PROC_PREFIX): Use "In:" to reduce length of prefix.
+	(PC_PREFIX): Use upper case.
+	(SINGLE_KEY, MIN_LINE_WIDTH, MIN_PROC_WIDTH): Define.
+	(MAX_TARGET_WIDTH, MAX_PID_WIDTH): Define.
+
+2002-08-31  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiSourceWin.h (tuiUpdateAllExecInfos): Don't declare.
+	(tuiClearAllExecInfosContent): Likewise.
+	(tuiEraseAllExecInfosContent): Ditto.
+	(tuiUpdateSourceWindowsFromLocator): Ditto.
+	* tuiSourceWin.c (tuiUpdateAllExecInfos): Remove.
+	* tui.h (tui_vCheckDataValues): Don't declare.
+	(tui_vStartNewLines, tui_vAllSetHasBreakAt): Likewise.
+	(tui_vUpdateLocatorFilename, tui_vUpdateSourceWindowsWithAddr): Ditto.
+	(tui_vShowFrameInfo): Ditto.
+
+2002-08-31  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tui.c (tui_commands): Table of single key commands.
+	(tui_rl_command_key): New function to execute gdb command.
+	(tui_rl_command_mode): New function to temporarily leave SingleKey.
+	(tui_rl_next_keymap): New function to enter/leave the SingleKey mode.
+	(tui_rl_startup_hook): New function to avoid prompt display by
+	readline functions.
+	(tui_set_key_mode): New function to set the key mode and install
+	the readline keymap.
+	(tui_initialize_readline): Create TUI SingleKey readline map.
+	(tui_enable): Install rl_startup_hook.
+	(tui_disable): Remove it.
+	* tui.h (enum tui_key_mode): Declare.
+	(tui_set_key_mode, tui_current_key_mode): Declare.
+	* tuiIO.c (tui_redisplay_readline): Don't display the prompt in
+	SingleKey mode.
+	* tuiIO.h (tui_redisplay_readline): Declare.
+
+2002-08-31  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiSourceWin.c (tuiSetIsExecPointAt): Redraw the previous and
+	current line.
+
+2002-08-31  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiSource.c (tuiSetSourceContent): Remove old breakpoint code.
+	(_hasBreak): Remove.
+	(tuiShowSource): Fix comment indentation.
+	(tuiSourceIsDisplayed): Likewise.
+	(tuiVerticalSourceScroll): Likewise.
+
+2002-08-30  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiSourceWin.h (tui_update_all_breakpoint_info): Declare.
+	(tui_update_breakpoint_info): Declare.
+	(tuiSetHasBreakAt, tuiAllSetHasBreakAt): Remove.
+
+	* tuiSourceWin.c (tuiUpdateSourceWindowAsIs): Update breakpoint
+	information using tui_update_breakpoint_info.
+	(tui_update_all_breakpoint_info): New function to refresh all
+	execution windows.
+	(tui_update_breakpoint_info): New function to recompute the status
+	of exec info window from breakpoints.
+	(tuiSetHasBreakAt, tuiAllSetHasBreakAt): Remove.
+	(tuiSetExecInfoContent): Use the exec info flags computed by
+	tui_update_breakpoint_info to display a short status about breakpoints.
+
+	* tuiData.h (TuiExecInfoContent): New for exec info string.
+	(TuiWhichElement): Use it.
+	(TUI_BP_ENABLED, TUI_BP_DISABLED, TUI_BP_HIT): New defines.
+	(TUI_BP_CONDITIONAL, TUI_BP_HARDWARE): New defines.
+	(TUI_BP_HIT_POS, TUI_BP_BREAK_POS, TUI_EXEC_POS): Likewise.
+	(TUI_EXECINFO_SIZE): Likewise.
+	* tuiData.c (initContentElement): Clear exec info string.
+
+	* tui-hooks.c (get_breakpoint): Remove.
+	(tui_event_create_breakpoint): Call tui_update_all_breakpoint_info.
+	(tui_event_delete_breakpoint): Likewise.
+	(tui_event_modify_breakpoint): Likewise.
+
+2002-08-29  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tui.c (tuiGetLowDisassemblyAddress): Moved from here.
+	* tuiDisassem.c (tuiGetLowDisassemblyAddress): To here, and use
+	tui_find_disassembly_address to find the starting address of
+	disassemble window.
+
+2002-08-28  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiDisassem.c (tui_disassemble): New function to disassemble
+	several lines in a buffer.
+	(tui_find_disassembly_address): New function to search backward
+	or forward a disassembly line.
+	(tuiSetDisassemContent): Use tui_disassemble to obtain the real
+	content and format it in the window.
+	(tuiShowDisassemAndUpdateSource): Remove unused locals.
+	(tuiVerticalDisassemScroll): Use tui_find_disassembly_address to
+	obtain the address to disassemble for the scrolling.
+	* tuiDisassem.h (tuiGetBeginAsmAddress): Update.
+	* tuiSourceWin.c (tuiUpdateSourceWindowAsIs): Don't pass symtab.
+
+2002-08-28  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiIO.c (CTRL_CHAR): Redefine and use readline 4.3 definition.
+
+2002-08-26  Stephane Carrez  <stcarrez@nerim.fr>
+
+	Fix PR gdb/393:
+	* tui.c (tui_disable): Update gdb's knowledge of its terminal
+	using target_terminal_save_ours.
+	(tui_enable): Likewise.
+
+2002-08-25  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tui.c (tui_rl_switch_mode): Renames tui_switch_mode.
+	(tui_rl_change_windows): Renames tui_change_windows.
+	(tui_rl_delete_other_windows): Renames tui_delete_other_windows.
+	(tui_initialize_readline): Update.
+
+2002-08-25  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiDisassem.c (tuiSetDisassemContent): Use breakpoint_here_p.
+	(_hasBreak): Remove.
+
+2002-08-25  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiDisassem.c (tuiGetBeginAsmAddress): Use lookup_minimal_symbol
+	to find symbol address.
+
+2002-08-25  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiSourceWin.c (tui_display_main): Rename from tuiDisplayMainFunction
+	and use tuiGetBeginAsmAddress.
+	* tuiSourceWin.h (tui_display_main): Declare.
+	* tui.h (tuiDisplayMainFunction): Remove.
+	* tui-hooks.c (tui_new_objfile_hook): Update.
+
+2002-08-25  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiSource.h (m_tuiShowSourceAsIs): Remove macro.
+	(tuiShowSourceAsIs): Don't declare.
+
+2002-08-25  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tui-hooks.c (tui_selected_frame_level_changed_hook): Always update
+	the frame position.
+
+2002-08-25  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiStack.c (tuiSetLocatorContent): Remove.
+	(tuiUpdateLocatorInfoFromFrame): Remove.
+	(tui_set_locator_info): Allocate the content buffer if necessary.
+	(tui_set_locator_filename): Call tui_set_locator_info directly.
+	(tuiShowFrameInfo): Likewise and use find_pc_line instead of
+	find_pc_symtab.
+
+2002-08-25  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiSourceWin.c (tuiDisplayMainFunction): Update to use
+	tuiUpdateLocatorFilename.
+	* tuiStack.c (tuiSetLocatorInfo): Make it static.
+	(tuiSetLocatorContent): Likewise.
+	(tuiUpdateLocatorInfoFromFrame): Likewise.
+	(tuiSwitchFilename): Remove.
+	(tui_set_locator_filename): New function
+	(tui_set_locator_info): Rename from tuiSetLocatorInfo to GNU-ify;
+	use tui_set_locator_filename to record the filename.
+	(tuiUpdateLocatorFilename): Likewise.
+	(tuiUpdateLocatorInfoFromFrame): Update.
+	(tuiSetLocatorContent): Likewise.
+	* tuiStack.h (tuiClearLocatorContent): Don't declare.
+	(tuiSetLocatorInfo, tuiSetLocatorContent): Likewise.
+	(tuiUpdateLocatorInfoFromFrame, tuiSwitchFilename): Likewise.
+
+2002-08-25  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiSourceWin.c (tuiSetHasBreakAt): Use filename for breakpoint
+	comparison; cleanup.
+	* tuiSource.c (tuiSetSourceContent): Set window title and filename.
+	* tuiGeneralWin.c (boxWin): Print optional title on top of window.
+	* tuiData.h (TuiSourceInfo): Add filename member.
+	(TuiGenWinInfo): Add title member.
+	* tuiData.c (initGenericPart): Clear title.
+	(freeWindow): Free title and filename; remove unused locals.
+	(initWinInfo): Clear filename.
+	(tuiDelWindow): Free it; remove unused locals.
+
+2002-08-25  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiStack.h (tuiGetLocatorFilename): Don't declare.
+	(tuiUpdateLocatorDisplay): Likewise.
+	* tuiStack.c (tuiGetLocatorFilename): Remove.
+	(tuiShowFrameInfo): Use tuiSetLocatorContent and tuiShowLocatorContent
+	instead of tuiUpdateLocatorDisplay.
+	(tuiUpdateLocatorDisplay): Remove.
+
+2002-08-25  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiStack.h (tuiClearLocatorDisplay): Don't declare.
+	* tuiStack.c (tuiClearLocatorDisplay): Remove.
+	(tuiShowLocatorContent): Use wclrtoeol to clear end of status line.
+	(tuiUpdateLocatorDisplay): Don't call tuiClearLocatorDisplay.
+
+2002-08-25  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiStack.c (tui_get_function_from_frame): Rename from 
+	_getFuncNameFromFrame; use print_address_symbolic to get symbolic
+	name of address.
+	(tuiUpdateLocatorInfoFromFrame): Update.
+
+2002-08-25  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiRegs.c (tuiDisplayRegistersFrom): Remove unused locals.
+	(_tuiRegisterFormat, _tuiSetSpecialRegsContent): Likewise.
+	(_tuiSetGeneralAndSpecialRegsContent): Likewise.
+	(_tuiSetFloatRegsContent): Likewise.
+	(_tuiRegisterName): Return a const char*.
+	* tuiData.h (_TuiDataElement): Use const char* for name.
+
+2002-08-25  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiSourceWin.h (tuiEraseAllSourceContent): Don't declare.
+	(tuiShowAllExecInfosContent): Likewise.
+	* tuiSourceWin.c (tuiEraseAllSourceContent): Remove.
+	(tuiShowAllExecInfosContent): Remove.
+	(tuiAllocSourceBuffer): Remove unused locals.
+
+2002-08-25  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiStack.c (tui_update_command): Rename _tuiUpdateLocation_command
+	to follow other gdb's command names; use execute_command; cleanup.
+	(_initialize_tuiStack): Update.
+
+2002-08-25  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiWin.h (tui_update_gdb_sizes): Declare.
+
+2002-08-24  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tui.c (strcat_to_buf): Use const char* for source item.
+	(tui_enable): Update the windows if there is a selected frame.
+	* tui.h (strcat_to_buf): Update prototype.
+	(strcat_to_buf_with_fmt): Remove.
+
+2002-08-24  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiWin.c (tui_update_gdb_sizes): New function to tell gdb what
+	is the size of command window.
+	(tuiResizeAll): Call it instead of init_page_info.
+	* tui.c (tui_enable): Call it to resize to TUI command window.
+	(tui_disable): Likewise for plain screen.
+
+2002-08-24  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tui.c (tui_enable): Use tuiSetLayout instead of showLayout and
+	use tuiShowFrameInfo instead of tuiSetLocatorContent.
+	* tuiLayout.h (showLayout): Remove.
+	* tuiLayout.c (_showSourceOrDisassemAndCommand): Remove unused locals.
+	(_showSourceDisassemCommand): Likewise.
+	(showLayout): Make it static.
+	(lastLayout): Remove.
+
+2002-08-24  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiSourceWin.c (tui_show_source_line): New function.
+	(tuiShowSourceContent): Call it and avoid clearing the window before
+	redrawing it.
+	(tuiClearAllSourceWinsContent): Remove.
+	* tuiSourceWin.h (tuiClearAllSourceWinsContent): Don't declare.
+	* tuiWin.h (tuiClearWinFocus, tuiClearWinFocusFrom): Don't declare.
+	* tuiWin.c (tuiClearWinFocus, tuiClearWinFocusFrom): Remove.
+	(tuiRefreshAll): Don't clear the window.
+	(_makeVisibleWithNewHeight): Don't clear locator line.
+	(tuiResizeAll): Remove unused locals.
+	(_tuiAdjustWinHeights): Likewise.
+	(_makeInvisibleAndSetNewHeight): Likewise.
+	(_newHeightOk): Likewise.
+	* tuiLayout.c (showLayout): Don't clear source windows.
+	(tuiSetLayout): Don't clear the window.
+	(_initAndMakeWin): Likewise for status line.
+	* tuiGeneralWin.c (makeVisible): Don't clear or refresh the window.
+	(makeWindow): Likewise.
+	(tuiClearWin): Remove.
+	* tuiGeneralWin.h (tuiClearWin): Don't declare.
+
+2002-08-24  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiSourceWin.c (tuiSrcWinIsDisplayed): Remove.
+	(tuiAsmWinIsDisplayed): Remove.
+	(tuiShowAllSourceWinsContent): Remove.
+	(tuiUpdateOnEnd): Remove.
+	* tuiGeneralWin.c (scrollWinForward): Remove.
+	(scrollWinBackward): Remove.
+	(_winResize): Don't declare.
+	* tui.h (tuiUpdateOnEnd): Don't declare.
+	(vcatch_errors, va_catch_errors): Likewise.
+	* tuiSourceWin.h (tuiUpdateOnEnd): Likewise.
+	(tuiShowAllSourceWinsContent): Likewise.
+	* tuiGeneralWin.h (scrollWinForward): Likewise.
+	(scrollWinBackward): Likewise.
+
+2002-08-24  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* tuiRegs.c (_tuiRegisterFormat): Use gdbarch_print_registers_info.
+
+2002-08-18  Daniel Jacobowitz  <drow@mvista.com>
+
+	Fix PR gdb/655
+	* tui.c: Disable <termio.h> include.
+
+2002-03-15  Andrew Cagney  <ac131313@redhat.com>
+
+	* tui-out.c (XMALLOC): Delete macro.  Update copyright.
+
+2002-03-01  Andrew Cagney  <ac131313@redhat.com>
+
+	* tui-hooks.c: Add FIXME to explain true/false problem.  Update
+	copyright.
+	* tui.c, tuiCommand.c, tuiData.c, tuiDataWin.c: Ditto.
+	* tuiDisassem.c, tuiGeneralWin.c, tuiIO.c, tuiLayout.c: Ditto.
+	* tuiRegs.c, tuiSource.c, tuiSourceWin.c, tuiStack.c: Ditto.
+	* tuiWin.c: Ditto.
+
+	2002-02-08  Daniel Jacobowitz  <drow@mvista.com>
+	* tui-hooks.c: Include <curses.h> before "bfd.h".
+	* tui.c: Likewise.
+	* tuiCommand.c: Likewise.
+	* tuiData.c: Likewise.
+	* tuiDataWin.c: Likewise.
+	* tuiDisassem.c: Likewise.
+	* tuiGeneralWin.c: Likewise.
+	* tuiIO.c: Likewise.
+	* tuiLayout.c: Likewise.
+	* tuiRegs.c: Likewise.
+	* tuiSource.c: Likewise.
+	* tuiSourceWin.c: Likewise.
+	* tuiStack.c: Likewise.
+	* tuiWin.c: Likewise.
+
+2002-02-01  Andrew Cagney  <ac131313@redhat.com>
+
+	* tuiWin.c (_initialize_tuiWin): Replace NO_FUNCTION with NULL.
+
+2001-10-20  Andrew Cagney  <ac131313@redhat.com>
+
+	* tuiDisassem.c: Include "value.h".
+	* tuiSourceWin.c: Ditto.
+
+2001-09-28  Tom Tromey  <tromey@redhat.com>
+
+	* tuiLayout.h (tui_set_layout): Don't declare.
+	* tui.h (tui_vAddWinToLayout): Don't declare.
+	(tui_vSetLayoutTo): Likewise.
+	(tui_set_layout): Declare.
+
+2001-08-02  Eli Zaretskii  <eliz@is.elta.co.il>
+
+	* tuiSourceWin.c: Use disp_del instead of del.
+
+	* tuiSource.c: Use disp_del instead of del.
+
+	* tuiDisassem.c: Use disp_del instead of del.
+
+2001-07-31  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tui.c (tui_enable): Remove call to terminal_save_ours().
+	(tui_disable): Likewise.
+
+2001-07-28  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiWin.c (_initialize_tuiWin): Use specific tui prefix for
+	set/show configuration variables.
+	(show_tui_cmd): New function.
+	(set_tui_cmd): New function.
+
+2001-07-24  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tui-hooks.c: New file, gdb hooks for tui.
+	* tui-out.c: New file, image copied from cli-out.c.
+	(tui_field_int): Identify "line" fields and keep track of them.
+	(tui_field_string): Likewise for "file".
+	(tui_out_new): Use flags = 0 to avoid printing the sources.
+
+2001-07-23  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiIO.c (tui_cont_sig): Update cursor position on the screen to
+	leave it in the command window.
+	(tui_redisplay_readline): Save cursor position to restore the
+	cursor after we go back from background.
+	* tuiData.h (TuiCommandInfo): Add start_line member.
+
+2001-07-23  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiStack.c (tuiUpdateLocatorFilename): Use const char*.
+	* tuiStack.h (tuiUpdateLocatorFilename): Update prototype.
+	* tuiWin.c (_initialize_tuiWin): Don't cast table of enum in calls
+	to add_set_enum_cmd.
+	* tui.c (tui_show_source): New function.
+	(tuiGetLowDisassemblyAddress): Use CORE_ADDR for newLow.
+	(tui_switch_mode): Prep or deprep readline terminal;
+	make sure the \n we return does not redo the last command.
+	* tui.h (tui_show_source): Declare.
+	(tui_out_new, tui_install_hooks, tui_remove_hooks): Likewise.
+	(tui_active, tui_initialize_io, tui_initialize_readline): Likewise.
+
+2001-07-22  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiIO.c (tui_initialize_io): Install tui_cont_sig signal handler
+	if SIGCONT is defined.
+	(tui_cont_sig): New function when SIGCONT is defined.
+	(tui_setup_io): Save tty setting to restore by SIGCONT.
+	
+2001-07-22  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tui.h (tui_show_assembly): Declare.
+	(tui_is_window_visible): Declare.
+	* tui.c (tui_show_assembly): New function.
+	(tui_is_window_visible): New function.
+	(tui_get_command_dimension): New function.
+
+2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiWin.c (tuiRefreshAll): Use clearok to force a refresh.
+
+2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tui-file.c (tui_file_fputs): Use tui_puts.
+
+2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiStack.c (tuiSetLocatorInfo): Cleanup.
+	* tuiStack.h (tuiGetLocatorFilename): Declare.
+	* tuiRegs.h (tuiFirstRegElementNoInLine): Declare.
+	* tuiData.h (addToSourceWindows): Declare.
+
+2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tui.c (tui_change_windows): New function.
+	(tui_delete_other_windows): New function.
+	(tui_initialize_readline): Bind them to C-X 1 and C-X 2.
+	(tui_enable): Enable the keypad; call tui_update_variables.
+	(strcat_to_buf_with_fmt): Remove.
+
+2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+        * tui.h: Remove old declarations, add the new ones.
+        * tui.c (tui_switch_mode): New function.
+        (tui_initialize_readline): New function.
+        (tui_enable): New function.
+        (tui_disable): New function.
+        (tuiGetLowDisassemblyAddress): Use CORE_ADDR, cleanup.
+        (tui_vSelectSourceSymtab): Remove.
+        (tuiInitWindows): Remove.
+        (_initialize_tui): Remove.
+        (_tuiReset): Keep but put arround #if 0.
+
+2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+        * tuiIO.h: Remove old declarations and add the new ones.
+        * tuiIO.c: New management for curses and gdb terminal interactions.
+        (tui_tputs): Remove.
+        (tuiTermSetup, tuiTermUnsetup): Remove, must use normal curses ops.
+        (tuiBufferGetc, tui_vStartNewLines, _updateCommandInfo): Remove.
+        (tui_owns_terminal): Remove.
+        (tui_redisplay_readline): New function.
+        (tui_puts): New function.
+        (tui_prep_terminal): New function.
+        (tui_deprep_terminal): New function.
+        (tui_getc): Rename of tuiGetc, simplify and fix.
+        (tui_setup_io): New function.
+        (tui_initialize_io): New function.
+
+2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiRegs.c (tuiDisplayRegistersFrom): Call touchwin.
+	(_tuiRegisterFormat): Reduce size of format result.
+
+2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiGeneralWin.c (boxWin): Use the tui configuration variables.
+	* tuiWin.h: Declare the new variables.
+	* tuiWin.c (_initialize_tuiWin): Create TUI configuration variables.
+	(tui_update_variables): New function.
+	(translate): New function.
+	(tui_border_kind_enums, tui_border_mode_enums): New tables.
+	(tui_border_mode_translate): New table.
+	(tui_border_kind_translate_*): New tables.
+	(tui_active_border_mode): New variables.
+	(tui_border_*): New variables.
+
+2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiWin.c (_parseScrollingArgs): Fix uninitialized variable.
+	(_makeVisibleWithNewHeight): Use TuiLineOrAddress type.
+
+	* tuiStack.c (tuiShowFrameInfo): Use TuiLineOrAddress type.
+	(tui_vUpdateLocatorFilename): Remove.
+	* tuiStack.h: Update prototypes.
+
+	* tuiSourceWin.c (tuiAddrIsDisplayed): New function.
+	(tuiLineIsDisplayed): Split for address and line.
+	(tuiUpdateSourceWindow): Use TuiLineOrAddress type.
+	(tuiUpdateSourceWindowAsIs): Likewise.
+	(tuiUpdateSourceWindowsWithAddr): Likewise.
+	(tuiUpdateSourceWindowsWithLine): Likewise.
+	(tuiHorizontalSourceScroll): Likewise.
+	(tuiSetIsExecPointAt): Likewise.
+	(tuiUpdateOnEnd): Likewise.
+	* tuiSourceWin.h: Update prototypes.
+
+	* tuiSource.c (tuiVerticalSourceScroll): Use TuiLineOrAddress type.
+	(tuiShowSource): Likewise.
+	(tuiVerticalSourceScroll): Likewise.
+	* tuiSource.h (tuiShowSource): Update prototype.
+
+	* tuiDisassem.c (tuiSetDisassemContent): Use CORE_ADDR for address.
+	(tuiShowDisassem): Use TuiLineOrAddress type.
+	(tuiShowDisassemAndUpdateSource): Likewise.
+	(tuiVerticalDisassemScroll): Likewise.
+	(tuiShowDisassemAsIs): Remove.
+	* tuiDisassem.h (tuiSetDisassemContent): Update prototype.
+
+	* tuiData.c (initWinInfo): Use CORE_ADDR for address.
+	(clearWinDetail): Likewise.
+	(displayableWinContentOf): Fix address conversion.
+	(tuiNextWin): Fix crash when the window is not yet created.
+	(partialWinByName): Likewise.
+
+2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiSourceWin.h: Remove unused declarations.
+	* tuiSourceWin.c (tui_vUpdateSourceWindowsWithAddr): Remove.
+	(tui_vUpdateSourceWindowsWithLine): Remove.
+	(tui_vAllSetHasBreakAt): Remove.
+
+	* tuiLayout.h (tui_set_layout): Declare.
+	(tui_vSetLayoutTo): Remove.
+	(tui_vAddWinToLayout): Remove.
+	* tuiLayout.c (_tuiLayout_command): Call tui_enable() to force TUI.
+	(_tuiToggleLayout_command): Remove.
+	(_tuiToggleSplitLayout_command): Remove.
+	(_tuiLayout_command): Remove.
+	(tui_vSetLayoutTo): Remove.
+	(tui_vAddWinToLayout): Remove.
+
+	* tuiDataWin.h (tui_vCheckDataValues): Remove.
+	* tuiDataWin.c (tui_vCheckDataValues): Remove.
+
+2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiWin.c (tuiStrDup): Remove, replaced by xstrdup.
+	(_parseScrollingArgs): Use xstrdup.
+	(_tuiScrollForward_command): Call tui_enable() to force TUI mode.
+	(_tuiScrollBackward_command): Likewise.
+	(_tuiScrollLeft_command): Likewise.
+	(_tuiScrollRight_command): Likewise.
+	(_tuiSetFocus): Likewise.
+	(_tuiSetFocus_command): Likewise.
+	(_tuiRefreshAll_command): Likewise.
+	(_tuiSetTabWidth_command): Likewise.
+	(_tuiSetWinHeight): Likewise.
+	(_tuiSetWinHeight_command): Likewise.
+	(_tuiXDBsetWinHeight): Likewise.
+	(_tui_vSetFocus): Remove.
+	(_tui_vSetWinHeight): Remove.
+	(_tui_vXDBsetWinHeight): Remove.
+
+2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiCommand.h: Remove unused declarations.
+	* tuiCommand.c (tuiDispatchCtrlChar): Fix escape sequences.
+	(tuiIncrCommandCharCountBy): Remove.
+	(tuiDecrCommandCharCountBy): Remove.
+	(tuiSetCommandCharCountTo): Remove.
+	(tuiClearCommandCharCount): Remove.
+
+2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiWin.c (_initialize_tuiWin): Always define the tui commands;
+	create the tui class help.
+	* tuiLayout.c (_initialize_tuiLayout): Always define the tui commands.
+	* tuiRegs.c (_initialize_tuiRegs): Likewise.
+	* tuiStack.c (_initialize_tuiStack): Likewise.
+
+2001-07-19  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiDisassem.c (tuiVerticalDisassemScroll): Use CORE_ADDR.
+	(tuiVerticalDisassemScroll): Likewise.
+	(tuiShowDisassemAndUpdateSource): Check for null symtab to
+	prevent a crash.
+
+2001-07-18  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiIO.c (_tuiHandleResizeDuringIO): Call tuiRefreshAll.
+	(tuiRead, tui_vread): Remove.
+	
+	* tui.c (va_catch_errors, tuiDo, tuiDoAndReturnToTop): Remove.
+	(vcatch_errors, _tui_vDo): Remove.
+	* tui.h (tuiDo, tuiDoAndReturnToTop): Remove.
+
+	* tuiLayout.c (tuiSetLayout): Remove vcatch_errors.
+	(tui_set_layout): Rename of _tuiSetLayoutTo, public.
+	(_tuiToggleLayout_command): Merge with _tui_vToggleLayout_command.
+	(_tuiToggleSplitLayout_command): Merge with _tui_vToggleSplitLayout_command.
+	(_tuiLayout_command): Call tui_set_layout.
+
+	* tuiRegs.c (_tuiScrollRegsBackward_command): Call tui_scroll.
+	(_tuiScrollRegsForward_command): Likewise.
+	(_tuiShowFloat_command): Call _tui_vShowRegisters_commandSupport.
+	(_tuiShowGeneral_command): Likewise.
+	(_tuiShowSpecial_command): Likewise.
+	(_tuiToggleFloatRegs_command): Call tuiToggleFloatRegs.
+	* tuiWin.c (tui_scroll): Rename of tui_vScroll, update parameters.
+	(_tuiScrollForward_command): Call tui_scroll.
+	(_tuiScrollBackward_command): Likewise.
+	(_tuiScrollLeft_command): Likewise.
+	(_tuiScrollRight_command): Likewise.
+	(_tuiSetFocus_command): Call _tuiSetFocus.
+	(_tuiRefreshAll_command): Call tuiRefreshAll.
+	(_tuiSetWinHeight_command): Call _tuiSetWinHeight.
+	(_tuiXDBsetWinHeight_command): Call _tuiXDBsetWinHeight.
+	* tuiWin.h (tui_scroll): Rename of tui_vScroll, update parameters.
+
+2001-07-18  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiData.h (TuiLocatorElement): Use CORE_ADDR for address member.
+	(TuiLineOrAddress): Likewise.
+	* tuiDisassem.c (tuiGetBeginAsmAddress): Use CORE_ADDR to specify
+	an address.
+	(tuiSetDisassemContent): Likewise.
+	(tuiShowDisassem, tuiShowDisassemAndUpdateSource): Likewise.
+	* tuiLayout.c (_extractDisplayStartAddr): Likewise.
+	(tuiSetLayout): Likewise.
+	* tuiSourceWin.c (tuiDisplayMainFunction): Likewise.
+	(tuiUpdateSourceWindowsWithAddr): Likewise.
+	(tuiUpdateSourceWindowsWithLine): Likewise.
+	(tuiSetHasBreakAt): Likewise.
+	* tuiStack.c (tuiSetLocatorInfo): Likewise.
+	(tuiSwitchFilename): Likewise.
+	(tuiUpdateLocatorInfoFromFrame): Likewise.
+	(tuiSetLocatorContent): Likewise.
+	(tuiShowFrameInfo): Likewise.	
+	* tuiDisassem.h: Update prototypes to use CORE_ADDR.
+	* tuiSourceWin.h: Likewise.
+	* tuiStack.h: Likewise.
+
+2001-07-17  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiWin.c: Add missing includes.
+	(_makeVisibleWithNewHeight): Fix call to find_line_pc.
+	* tuiLayout.c: Add missing includes.
+	(_initAndMakeWin): Don't put curses in echo mode.
+	(_extractDisplayStartAddr): Fix calls to find_line_pc.
+	(_tuiLayout_command): Missing ',' in warning call.
+	* tuiSourceWin.c (tuiUpdateSourceWindowsWithLine): Fix calls to
+	find_line_pc.
+	(tuiSetHasBreakAt): Check for null source file.
+
+2001-07-17  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiWin.c (_tuiSetFocus): Replace subsetCompare with subset_compare.
+	* tuiLayout.c (_tuiSetLayoutTo): Likewise.
+	* tui.c (_tui_vToggle_command): Likewise.
+
+2001-07-17  Elena Zannoni  <ezannoni@redhat.com>
+
+	* tui-file.c: Add include of tuiIO.h, for tuiPuts_unfiltered.
+
+2001-07-16  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiRegs.c (tuiDisplayRegistersFrom): Set scrollok to FALSE in
+	each register window.
+	(tuiCheckRegisterValues): Use REGISTER_RAW_SIZE to obtain the size
+	of the register to check.
+	(_tuiRegValueHasChanged): Likewise.
+	(_tuiRegisterName): Use REGISTER_NAME.
+	(tui_restore_gdbout): New function.
+	(_tuiRegisterFormat): Use do_registers_info with gdb_stdout redirected
+	to a string.
+	(START_SPECIAL_REGS): Define.
+	(_tuiGetRegisterRawValue): Use get_saved_register.
+	(_tuiDisplayRegister): Fix clearing of register window.
+
+2001-07-17  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tui-file.h (fputs_unfiltered_hook): Remove.
+	* tui-file.c (tui_file_flush): Remove fputs_unfiltered_hook.
+	(tui_file_fputs): Likewise; simplify
+
+2001-07-16  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiStack.c: Add missing includes.
+	(tuiShowFrameInfo): Don't crash when there is no symbol table 
+	associated with the pc.
+	* tuiSource.c (_hasBreak): Check for null source file.
+	* tuiWin.c (tuiRefreshAll): Check for null winList[type].
+	(_tuiSetFocus): Check for null dataWin.
+	* tuiGeneralWin.c (refreshAll): Check for null list[type].
+
+2001-07-16  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiDisassem.c (tuiSetDisassemContent): Use tm_print_insn_info
+	to disassemble in the curses window.
+	
+2001-07-16  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tui.h: Cleanup to avoid inclusion of curses includes.
+	(TuiGenWinInfo, TuiGenWinInfoPtr): Move from here.
+	* tuiData.h: To here; include curses includes here.
+	(setTermHeightTo): Rename of setTermHeight to follow reality.
+	(setTermWidthTo): Likewise with setTermWidth.
+
+2001-07-14  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiWin.c, tui.c, tuiCommand.c: Use ansi prototype.
+	tuiIO.c, tuiData.c: Likewise.
+	tuiDataWin.c, tuiDisassem.c: Likewise.
+	tuiGeneralWin.c, tuiLayout.c: Likewise.
+	tuiRegs.c, tuiSource.c: Likewise.
+	tuiSouceWin.c, tuiStack.c: Likewise.
+
+2001-07-14  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* tuiWin.c, tuiWin.h, tui.c, tui.h, tuiCommand.c: Add FSF copyright.
+	tuiCommand.h, tuiIO.c, tuiIO.h, tuiData.h, tuiData.c: Likewise.
+	tuiDataWin.c, tuiDataWin.h, tuiDisassem.c, tuiDisassem.h: Likewise.
+	tuiGeneralWin.c, tuiGeneralWin.h, tuiLayout.c, tuiLayout.h: Likewise.
+	tuiRegs.c, tuiRegs.h, tuiSource.c, tuiSource.h: Likewise.
+	tuiSouceWin.c, tuiSourceWin.h, tuiStack.c, tuiStack.h: Likewise.
+
+2001-03-08  Andrew Cagney  <ac131313@redhat.com>
+
+	* tuiRegs.c: Use NUM_REGS, not ARCH_NUM_REGS.
+
+2001-03-06  Kevin Buettner  <kevinb@redhat.com>
+
+	* tui-file.h: Update/correct copyright notice.
+
+Wed Feb  7 19:54:27 2001  Andrew Cagney  <cagney@redhat.com>
+
+	* tui-file.c: Add __FILE__ and __LINE__ parameter to calls to
+ 	internal_error.
+
+2000-12-14  Kevin Buettner  <kevinb@redhat.com>
+
+	* tui-file.c, tui.c, tuiData.c, tuiLayout.c: Replace occurrences
+	of free() with xfree().
+
+2000-06-22  Kevin Buettner  <kevinb@redhat.com>
+
+	* tuiSourceWin.h: Eliminate use of PARAMS from this file.
+
+2000-06-20  Kevin Buettner  <kevinb@redhat.com>
+
+	* tuiLayout.c: Eliminate use of PARAMS from this file.
+
+2000-06-17  Kevin Buettner  <kevinb@redhat.com>
+
+	* tuiIO.c: Eliminate use of PARAMS from this file.
+
+Thu May 25 14:46:20 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* tui-file.c: Include "tui.h", "tuiData.h", "tuiIO.h" and
+ 	"tuiCommand.h".
+	(tui_file_fputs): Pass ``file'' and not ``stream'' to
+ 	tui_file_adjust_strbuf.
+
+Thu May 25 16:58:01 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* tui.h: Include <ncurses.h> when available.
+	* tui.c, tuiGeneralWin.c: Do not include <curses.h>.
+
+Mon May 15 17:16:10 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* Makefile.in: Delete.
+
+Tue Apr 18 15:32:15 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* Makefile.in (distclean, maintainer-clean, realclean,
+ 	mostlyclean): New targets.
+
+Tue Feb  1 00:17:12 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* tui-file.c, tui-file.h, tuiDisassem.c, tuiIO.c, tuiIO.h,
+ 	tuiRegs.c: Update to reflect rename of gdb-file / GDB_FILE to
+ 	ui-file / ``struct ui_file''.
+
+Mon Jan 31 18:12:43 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* tui-file.c (enum streamtype, struct tui_stream, tui_file_new,
+ 	tui_file_delete, tui_fileopen, tui_sfileopen, tui_file_isatty,
+ 	tui_file_rewind, tui_file_put, tui_file_fputs,
+ 	tui_file_get_strbuf, tui_file_adjust_strbuf, tui_file_flush,
+ 	fputs_unfiltered_hook): Move to here from ../utils.c
+
+	* tui-file.h, tui-file.c: New files.
+
+Mon Nov  8 17:47:37 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* tuiRegs.c (_tuiRegisterFormat), tuiDisassem.c
+	(tuiSetDisassemContent): Replace gdb_file_init_astring with
+ 	tui_sfileopen.  Replace gdb_file_get_strbuf with
+ 	tui_file_get_strbuf.
+	
+Mon Nov  8 16:54:51 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* tuiRegs.c (_tuiRegisterFormat), tuiDisassem.c
+ 	(tuiSetDisassemContent): Repace gdb_file_deallocate with
+ 	gdb_file_delete. Replace gdb_file_init_astring with tui_sfileopen.
+
+Fri Sep 17 19:34:38 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* tuiSource.c: Include "source.h".
+ 	(open_source_file, find_source_lines): Delete declarations.
+
+1999-01-26  Jason Molenda  (jsm@bugshack.cygnus.com)
+
+	* tui.h: Include stdarg.h instead of varargs.h if we're on an ISO Cish
+	system.
+
+Thu Dec 31 12:08:32 1998  David Taylor  <taylor@texas.cygnus.com>
+
+	The following changes were made by Jim Blandy <jimb@cygnus.com>,
+ 	Edith Epstein <eepstein@cygnus.com>, Elena Zannoni
+ 	<ezannoni@cygnus.com> Stan Shebs <shebs@cygnus.com>, and David
+ 	Taylor <taylor@cygnus.com>, as part of the project to merge in
+ 	changes originally made by HP; HP did not create ChangeLog
+ 	entries.
+
+	* Makefile.in: New file; we're merging HP's changes into GDB, and
+ 	we've moved the TUI files into a subdirectory, so we need a new
+ 	Makefile.
+
+	* tui.c:
+	#include <term.h>, if we have it, to get declarations for
+ 	the termcap functions on Solaris.
+	(tgoto): Add external K&R declaration for this; Solaris doesn't
+	bother to actually declare it in their header files.
+	(_tuiReset): Ignore the #definition of TIOCGETC if USG is defined;
+ 	we'd rather use the USG mechanisms than the Berkeley mechanisms
+ 	(TIOCGETC is one of the Berkeley terminal control ioctls).
+  	Apologies if this causes trouble later; this should all be handled
+ 	by autoconf...
+	(strcat_to_buf, strcat_to_buf_with_fmt): New functions, moved here
+ 	from ../utils.h.
+	(tuiFree): replace safe_free with free.
+	(strcat_to_buf): new function, copied from utils.c.
+	(tuiInit): Add ignored `argv0' argument, to match the type that
+ 	init_ui_hook expects; updated declaration.  Call the
+ 	initialize_tui_files function constructed above.  Initialize
+ 	flush_hook to NULL.
+	(tuiInitWindows): Call tuiSetLocatorContent, to get the first
+ 	element of the locator window's content allocated.  This seems
+ 	wrong, because it must have been initialized somehow in HP's
+ 	sources, and we should do it the same way now.  But we do get
+ 	further before it segfaults.  [Postscript: HP didn't bother to
+ 	initialize it; they compile
+	(va_catch_errors, vcatch_errors): Functions moved here from
+ 	../utils.c in HP's sources.  They're not used anywhere else.
+	(xdb_style): Delete this variable, and remove all references to
+ 	it.  It's always true.
+	(tuiInit, _tui_vDo): References removed.
+
+	* tui.h:  Add prototypes.
+	Don't #include "gendefs.h"; it's only used in the TUI.
+	Integrate its contents into this file:
+	#include <ansidecl.h> here.
+	(Opaque, OpaqueFuncPtr): Typedefs moved to here.
+	     
+	* tuiCommand.c: #include "defs.h", so we get the appropriate
+	definition of GDB_FILE.
+
+	* tuiData.c
+ 	(freeWindow): replace safe_free with free.
+	(tui_version): don't define it here; it's defined in main.c now.
+
+	* tuiDisassem.c
+	(tuiSetDisassemContent): Call strcat_address_numeric instead of
+ 	strcat_address.  Simplify the control structure. Use predefined
+ 	GDB function to print asm inst address.  Use GDB_FILE to collect
+ 	output into buffers.
+
+	* tuiIO.c
+	(tgoto): Add external K&R declaration for this here too.
+	(tuiGetc, tuiTermSetup, tuiTermUnsetup): Same.
+	(tuiPuts_unfiltered): change FILE to GDB_FILE.
+	(tui_tputs): fix prototype for 3rd argument.
+
+	* tuiIO.h (tuiPuts_unfiltered): change declaration.
+     
+	* tuiLayout.c 
+	(_tuiSetLayoutTo): for displaying registers, hook up the HP code
+	that decides which registers to display (i.e. single precision
+	float, double precision float, general, special). Previously,
+	only handled TUI_GENERAL_REGS. Now that the code is hooked up,
+ 	compiling with -z poses a problem. When the first layout command
+	is 'layout regs', dataWin->detail is a NULL pointer, and gdb
+	core dumps.
+
+	* tuiLayout.c (_tuiSetLayoutTo): replace safe_free with free.
+
+	* tuiRegs.c #include "defs.h" earlier, to avoid problems in
+ 	<stdarg.h>.  No idea exactly what's conflicting with what, but the
+ 	errors went away...
+	(_tuiRegisterFormat): Change so that function creates a GDB_FILE
+ 	object, calls pa_do_strcat_registers_info, copies the register
+ 	info into a buffer, and deallocates the GDB_FILE object.  Remove
+ 	some code that is not executed.  Also, call to
+ 	pa_do_strcat_registers_info has an additional parameter,
+ 	precision.  This code requires some new per-target functions that
+ 	we don't want to merge.  Dyke it out, with #ifdef
+ 	TUI_EXTENDED_FORMATTERS.
+	(_tuiSetSpecialRegsContent): this function was ifdefed out.
+  	Hooked this up.
+	(_tuiSetGeneralAndSpecialRegsContent): this function was ifdefed
+ 	out.  Hooked it up.
+  	(IS_64BIT): Just define this to be zero; we're not merging in the
+ 	64-bit support.
+	(tuiShowRegisters): Comment out all references to the "special"
+ 	regs; we don't have a distinction between the "special" and
+ 	"non-special" regs in most of our machine descriptions.  This code
+ 	is PA-specific in other ways as well, and needs to be redesigned
+ 	to be portable to other processors.
+
+	* tuiWin.c: #include <string.h>, to get a declaration for
+	strchr.
+ 
+	* tui.c, tuiCommand.c, tuiData.c, tuiDataWin.c, tuiDisassem.c,
+ 	tuiGeneralWin.c, tuiIO.c, tuiLayout.c, tuiRegs.c, tuiSource.c,
+ 	tuiSourceWin.c, tuiStack.c, tuiWin.c: New files (from HP).  Changed
+ 	bool to int throughout.  Re-indented, GNU style.
+
+	* tui.h, tuiCommand.h, tuiData.h, tuiDataWin.h, tuiDisassem.h,
+ 	tuiGeneralWin.h, tuiIO.h, tuiLayout.h, tuiRegs.h, tuiSource.h,
+ 	tuiSourceWin.h, tuiStack.h, tuiWin.h: new files (from HP).
+  	Changed bool to int throughout.
diff --git a/gdb/tui/tui-command.c b/gdb/tui/tui-command.c
new file mode 100644
index 0000000..4b1c0fd
--- /dev/null
+++ b/gdb/tui/tui-command.c
@@ -0,0 +1,135 @@
+/* Specific command window processing.
+
+   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
+   Foundation, Inc.
+
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+#include <ctype.h>
+#include "tui/tui.h"
+#include "tui/tui-data.h"
+#include "tui/tui-win.h"
+#include "tui/tui-io.h"
+
+#ifdef HAVE_NCURSES_H       
+#include <ncurses.h>
+#else
+#ifdef HAVE_CURSES_H
+#include <curses.h>
+#endif
+#endif
+
+
+/*****************************************
+** STATIC LOCAL FUNCTIONS FORWARD DECLS    **
+******************************************/
+
+
+
+/*****************************************
+** PUBLIC FUNCTIONS                        **
+******************************************/
+
+/* Dispatch the correct tui function based upon the control character.   */
+unsigned int
+tui_dispatch_ctrl_char (unsigned int ch)
+{
+  TuiWinInfoPtr winInfo = tuiWinWithFocus ();
+  WINDOW *w = cmdWin->generic.handle;
+
+  /*
+     ** If the command window has the logical focus, or no-one does
+     ** assume it is the command window; in this case, pass the
+     ** character on through and do nothing here.
+   */
+  if (winInfo == (TuiWinInfoPtr) NULL || winInfo == cmdWin)
+    return ch;
+  else
+    {
+      unsigned int c = 0, chCopy = ch;
+      register int i;
+      char *term;
+
+      /* If this is an xterm, page next/prev keys aren't returned
+         ** by keypad as a single char, so we must handle them here.
+         ** Seems like a bug in the curses library?
+       */
+      term = (char *) getenv ("TERM");
+      for (i = 0; (term && term[i]); i++)
+	term[i] = toupper (term[i]);
+      if ((strcmp (term, "XTERM") == 0) && key_is_start_sequence (ch))
+	{
+	  unsigned int pageCh = 0, tmpChar;
+
+	  tmpChar = 0;
+	  while (!key_is_end_sequence (tmpChar))
+	    {
+	      tmpChar = (int) wgetch (w);
+	      if (tmpChar == ERR)
+		{
+		  return ch;
+		}
+	      if (!tmpChar)
+		break;
+	      if (tmpChar == 53)
+		pageCh = KEY_PPAGE;
+	      else if (tmpChar == 54)
+		pageCh = KEY_NPAGE;
+	      else
+		{
+		  return 0;
+		}
+	    }
+	  chCopy = pageCh;
+	}
+
+      switch (chCopy)
+	{
+	case KEY_NPAGE:
+	  tuiScrollForward (winInfo, 0);
+	  break;
+	case KEY_PPAGE:
+	  tuiScrollBackward (winInfo, 0);
+	  break;
+	case KEY_DOWN:
+	case KEY_SF:
+	  tuiScrollForward (winInfo, 1);
+	  break;
+	case KEY_UP:
+	case KEY_SR:
+	  tuiScrollBackward (winInfo, 1);
+	  break;
+	case KEY_RIGHT:
+	  tuiScrollLeft (winInfo, 1);
+	  break;
+	case KEY_LEFT:
+	  tuiScrollRight (winInfo, 1);
+	  break;
+	case '\f':
+	  tuiRefreshAll ();
+	  break;
+	default:
+	  c = chCopy;
+	  break;
+	}
+      return c;
+    }
+}
diff --git a/gdb/tui/tui-command.h b/gdb/tui/tui-command.h
new file mode 100644
index 0000000..9653bf0
--- /dev/null
+++ b/gdb/tui/tui-command.h
@@ -0,0 +1,30 @@
+/* Specific command window processing.
+
+   Copyright 1998, 1999, 2000, 2001, 2004 Free Software Foundation,
+   Inc.
+
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef TUI_COMMAND_H
+#define TUI_COMMAND_H
+
+extern unsigned int tui_dispatch_ctrl_char (unsigned int);
+
+#endif
diff --git a/gdb/tui/tui-data.c b/gdb/tui/tui-data.c
new file mode 100644
index 0000000..c6f4fb5
--- /dev/null
+++ b/gdb/tui/tui-data.c
@@ -0,0 +1,1055 @@
+/* TUI data manipulation routines.
+
+   Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation,
+   Inc.
+
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+#include "symtab.h"
+#include "tui/tui.h"
+#include "tui/tui-data.h"
+#include "tui/tui-wingeneral.h"
+
+#ifdef HAVE_NCURSES_H       
+#include <ncurses.h>
+#else
+#ifdef HAVE_CURSES_H
+#include <curses.h>
+#endif
+#endif
+
+/****************************
+** GLOBAL DECLARATIONS
+****************************/
+TuiWinInfoPtr winList[MAX_MAJOR_WINDOWS];
+
+/***************************
+** Private data
+****************************/
+static TuiLayoutType _currentLayout = UNDEFINED_LAYOUT;
+static int _termHeight, _termWidth;
+static TuiGenWinInfo _locator;
+static TuiGenWinInfo _execInfo[2];
+static TuiWinInfoPtr _srcWinList[2];
+static TuiList _sourceWindows =
+{(OpaqueList) _srcWinList, 0};
+static int _defaultTabLen = DEFAULT_TAB_LEN;
+static TuiWinInfoPtr _winWithFocus = (TuiWinInfoPtr) NULL;
+static TuiLayoutDef _layoutDef =
+{SRC_WIN,			/* displayMode */
+ FALSE,				/* split */
+ TUI_UNDEFINED_REGS,		/* regsDisplayType */
+ TUI_SFLOAT_REGS};		/* floatRegsDisplayType */
+static int _winResized = FALSE;
+
+
+/*********************************
+** Static function forward decls
+**********************************/
+static void freeContent (TuiWinContent, int, TuiWinType);
+static void freeContentElements (TuiWinContent, int, TuiWinType);
+
+
+
+/*********************************
+** PUBLIC FUNCTIONS
+**********************************/
+
+/******************************************
+** ACCESSORS & MUTATORS FOR PRIVATE DATA
+******************************************/
+
+/*
+   ** tuiWinResized().
+   **        Answer a whether the terminal window has been resized or not
+ */
+int
+tuiWinResized (void)
+{
+  return _winResized;
+}				/* tuiWinResized */
+
+
+/*
+   ** tuiSetWinResized().
+   **        Set a whether the terminal window has been resized or not
+ */
+void
+tuiSetWinResizedTo (int resized)
+{
+  _winResized = resized;
+
+  return;
+}				/* tuiSetWinResizedTo */
+
+
+/*
+   ** tuiLayoutDef().
+   **        Answer a pointer to the current layout definition
+ */
+TuiLayoutDefPtr
+tuiLayoutDef (void)
+{
+  return &_layoutDef;
+}				/* tuiLayoutDef */
+
+
+/*
+   ** tuiWinWithFocus().
+   **        Answer the window with the logical focus
+ */
+TuiWinInfoPtr
+tuiWinWithFocus (void)
+{
+  return _winWithFocus;
+}				/* tuiWinWithFocus */
+
+
+/*
+   ** tuiSetWinWithFocus().
+   **        Set the window that has the logical focus
+ */
+void
+tuiSetWinWithFocus (TuiWinInfoPtr winInfo)
+{
+  _winWithFocus = winInfo;
+
+  return;
+}				/* tuiSetWinWithFocus */
+
+
+/*
+   ** tuiDefaultTabLen().
+   **        Answer the length in chars, of tabs
+ */
+int
+tuiDefaultTabLen (void)
+{
+  return _defaultTabLen;
+}				/* tuiDefaultTabLen */
+
+
+/*
+   ** tuiSetDefaultTabLen().
+   **        Set the length in chars, of tabs
+ */
+void
+tuiSetDefaultTabLen (int len)
+{
+  _defaultTabLen = len;
+
+  return;
+}				/* tuiSetDefaultTabLen */
+
+
+/*
+   ** currentSourceWin()
+   **        Accessor for the current source window.  Usually there is only
+   **        one source window (either source or disassembly), but both can
+   **        be displayed at the same time.
+ */
+TuiListPtr
+sourceWindows (void)
+{
+  return &_sourceWindows;
+}				/* currentSourceWindows */
+
+
+/*
+   ** clearSourceWindows()
+   **        Clear the list of source windows.  Usually there is only one
+   **        source window (either source or disassembly), but both can be
+   **        displayed at the same time.
+ */
+void
+clearSourceWindows (void)
+{
+  _sourceWindows.list[0] = (Opaque) NULL;
+  _sourceWindows.list[1] = (Opaque) NULL;
+  _sourceWindows.count = 0;
+
+  return;
+}				/* currentSourceWindows */
+
+
+/*
+   ** clearSourceWindowsDetail()
+   **        Clear the pertinant detail in the source windows.
+ */
+void
+clearSourceWindowsDetail (void)
+{
+  int i;
+
+  for (i = 0; i < (sourceWindows ())->count; i++)
+    clearWinDetail ((TuiWinInfoPtr) (sourceWindows ())->list[i]);
+
+  return;
+}				/* currentSourceWindows */
+
+
+/*
+   ** addSourceWindowToList().
+   **       Add a window to the list of source windows.  Usually there is
+   **       only one source window (either source or disassembly), but
+   **       both can be displayed at the same time.
+ */
+void
+addToSourceWindows (TuiWinInfoPtr winInfo)
+{
+  if (_sourceWindows.count < 2)
+    _sourceWindows.list[_sourceWindows.count++] = (Opaque) winInfo;
+
+  return;
+}				/* addToSourceWindows */
+
+
+/*
+   ** clearWinDetail()
+   **        Clear the pertinant detail in the windows.
+ */
+void
+clearWinDetail (TuiWinInfoPtr winInfo)
+{
+  if (m_winPtrNotNull (winInfo))
+    {
+      switch (winInfo->generic.type)
+	{
+	case SRC_WIN:
+	case DISASSEM_WIN:
+	  winInfo->detail.sourceInfo.startLineOrAddr.addr = 0;
+	  winInfo->detail.sourceInfo.horizontalOffset = 0;
+	  break;
+	case CMD_WIN:
+	  winInfo->detail.commandInfo.curLine =
+	    winInfo->detail.commandInfo.curch = 0;
+	  break;
+	case DATA_WIN:
+	  winInfo->detail.dataDisplayInfo.dataContent =
+	    (TuiWinContent) NULL;
+	  winInfo->detail.dataDisplayInfo.dataContentCount = 0;
+	  winInfo->detail.dataDisplayInfo.regsContent =
+	    (TuiWinContent) NULL;
+	  winInfo->detail.dataDisplayInfo.regsContentCount = 0;
+	  winInfo->detail.dataDisplayInfo.regsDisplayType =
+	    TUI_UNDEFINED_REGS;
+	  winInfo->detail.dataDisplayInfo.regsColumnCount = 1;
+	  winInfo->detail.dataDisplayInfo.displayRegs = FALSE;
+	  break;
+	default:
+	  break;
+	}
+    }
+
+  return;
+}				/* clearWinDetail */
+
+
+/*
+   ** sourceExecInfoPtr().
+   **        Accessor for the source execution info ptr.
+ */
+TuiGenWinInfoPtr
+sourceExecInfoWinPtr (void)
+{
+  return &_execInfo[0];
+}				/* sourceExecInfoWinPtr */
+
+
+/*
+   ** disassemExecInfoPtr().
+   **        Accessor for the disassem execution info ptr.
+ */
+TuiGenWinInfoPtr
+disassemExecInfoWinPtr (void)
+{
+  return &_execInfo[1];
+}				/* disassemExecInfoWinPtr */
+
+
+/*
+   ** locatorWinInfoPtr().
+   **        Accessor for the locator win info.  Answers a pointer to the
+   **        static locator win info struct.
+ */
+TuiGenWinInfoPtr
+locatorWinInfoPtr (void)
+{
+  return &_locator;
+}				/* locatorWinInfoPtr */
+
+
+/*
+   ** termHeight().
+   **        Accessor for the termHeight
+ */
+int
+termHeight (void)
+{
+  return _termHeight;
+}				/* termHeight */
+
+
+/*
+   ** setTermHeightTo().
+   **        Mutator for the term height
+ */
+void
+setTermHeightTo (int h)
+{
+  _termHeight = h;
+
+  return;
+}				/* setTermHeightTo */
+
+
+/*
+   ** termWidth().
+   **        Accessor for the termWidth
+ */
+int
+termWidth (void)
+{
+  return _termWidth;
+}				/* termWidth */
+
+
+/*
+   ** setTermWidth().
+   **        Mutator for the termWidth
+ */
+void
+setTermWidthTo (int w)
+{
+  _termWidth = w;
+
+  return;
+}				/* setTermWidthTo */
+
+
+/*
+   ** currentLayout().
+   **        Accessor for the current layout
+ */
+TuiLayoutType
+currentLayout (void)
+{
+  return _currentLayout;
+}				/* currentLayout */
+
+
+/*
+   ** setCurrentLayoutTo().
+   **        Mutator for the current layout
+ */
+void
+setCurrentLayoutTo (TuiLayoutType newLayout)
+{
+  _currentLayout = newLayout;
+
+  return;
+}				/* setCurrentLayoutTo */
+
+
+/*
+   ** setGenWinOrigin().
+   **        Set the origin of the window
+ */
+void
+setGenWinOrigin (TuiGenWinInfoPtr winInfo, int x, int y)
+{
+  winInfo->origin.x = x;
+  winInfo->origin.y = y;
+
+  return;
+}				/* setGenWinOrigin */
+
+
+/*****************************
+** OTHER PUBLIC FUNCTIONS
+*****************************/
+
+
+/*
+   ** tuiNextWin().
+   **        Answer the next window in the list, cycling back to the top
+   **        if necessary
+ */
+TuiWinInfoPtr
+tuiNextWin (TuiWinInfoPtr curWin)
+{
+  TuiWinType type = curWin->generic.type;
+  TuiWinInfoPtr nextWin = (TuiWinInfoPtr) NULL;
+
+  if (curWin->generic.type == CMD_WIN)
+    type = SRC_WIN;
+  else
+    type = curWin->generic.type + 1;
+  while (type != curWin->generic.type && m_winPtrIsNull (nextWin))
+    {
+      if (winList[type] && winList[type]->generic.isVisible)
+	nextWin = winList[type];
+      else
+	{
+	  if (type == CMD_WIN)
+	    type = SRC_WIN;
+	  else
+	    type++;
+	}
+    }
+
+  return nextWin;
+}				/* tuiNextWin */
+
+
+/*
+   ** tuiPrevWin().
+   **        Answer the prev window in the list, cycling back to the bottom
+   **        if necessary
+ */
+TuiWinInfoPtr
+tuiPrevWin (TuiWinInfoPtr curWin)
+{
+  TuiWinType type = curWin->generic.type;
+  TuiWinInfoPtr prev = (TuiWinInfoPtr) NULL;
+
+  if (curWin->generic.type == SRC_WIN)
+    type = CMD_WIN;
+  else
+    type = curWin->generic.type - 1;
+  while (type != curWin->generic.type && m_winPtrIsNull (prev))
+    {
+      if (winList[type]->generic.isVisible)
+	prev = winList[type];
+      else
+	{
+	  if (type == SRC_WIN)
+	    type = CMD_WIN;
+	  else
+	    type--;
+	}
+    }
+
+  return prev;
+}
+
+
+/*
+   **  partialWinByName().
+   **      Answer the window represented by name
+ */
+TuiWinInfoPtr
+partialWinByName (char *name)
+{
+  TuiWinInfoPtr winInfo = (TuiWinInfoPtr) NULL;
+
+  if (name != (char *) NULL)
+    {
+      int i = 0;
+
+      while (i < MAX_MAJOR_WINDOWS && m_winPtrIsNull (winInfo))
+	{
+          if (winList[i] != 0)
+            {
+              char *curName = winName (&winList[i]->generic);
+              if (strlen (name) <= strlen (curName) &&
+                  strncmp (name, curName, strlen (name)) == 0)
+                winInfo = winList[i];
+            }
+	  i++;
+	}
+    }
+
+  return winInfo;
+}				/* partialWinByName */
+
+
+/*
+   ** winName().
+   **      Answer the name of the window
+ */
+char *
+winName (TuiGenWinInfoPtr winInfo)
+{
+  char *name = (char *) NULL;
+
+  switch (winInfo->type)
+    {
+    case SRC_WIN:
+      name = SRC_NAME;
+      break;
+    case CMD_WIN:
+      name = CMD_NAME;
+      break;
+    case DISASSEM_WIN:
+      name = DISASSEM_NAME;
+      break;
+    case DATA_WIN:
+      name = DATA_NAME;
+      break;
+    default:
+      name = "";
+      break;
+    }
+
+  return name;
+}				/* winName */
+
+
+/*
+   ** initializeStaticData
+ */
+void
+initializeStaticData (void)
+{
+  initGenericPart (sourceExecInfoWinPtr ());
+  initGenericPart (disassemExecInfoWinPtr ());
+  initGenericPart (locatorWinInfoPtr ());
+
+  return;
+}				/* initializeStaticData */
+
+
+/*
+   ** allocGenericWinInfo().
+ */
+TuiGenWinInfoPtr
+allocGenericWinInfo (void)
+{
+  TuiGenWinInfoPtr win;
+
+  if ((win = (TuiGenWinInfoPtr) xmalloc (
+		     sizeof (TuiGenWinInfoPtr))) != (TuiGenWinInfoPtr) NULL)
+    initGenericPart (win);
+
+  return win;
+}				/* allocGenericWinInfo */
+
+
+/*
+   ** initGenericPart().
+ */
+void
+initGenericPart (TuiGenWinInfoPtr win)
+{
+  win->width =
+    win->height =
+    win->origin.x =
+    win->origin.y =
+    win->viewportHeight =
+    win->contentSize =
+    win->lastVisibleLine = 0;
+  win->handle = (WINDOW *) NULL;
+  win->content = (OpaquePtr) NULL;
+  win->contentInUse =
+    win->isVisible = FALSE;
+  win->title = 0;
+}
+
+
+/*
+   ** initContentElement().
+ */
+void
+initContentElement (TuiWinElementPtr element, TuiWinType type)
+{
+  element->highlight = FALSE;
+  switch (type)
+    {
+    case SRC_WIN:
+    case DISASSEM_WIN:
+      element->whichElement.source.line = (char *) NULL;
+      element->whichElement.source.lineOrAddr.lineNo = 0;
+      element->whichElement.source.isExecPoint = FALSE;
+      element->whichElement.source.hasBreak = FALSE;
+      break;
+    case DATA_WIN:
+      initGenericPart (&element->whichElement.dataWindow);
+      element->whichElement.dataWindow.type = DATA_ITEM_WIN;
+      ((TuiGenWinInfoPtr) & element->whichElement.dataWindow)->content =
+	(OpaquePtr) allocContent (1, DATA_ITEM_WIN);
+      ((TuiGenWinInfoPtr)
+       & element->whichElement.dataWindow)->contentSize = 1;
+      break;
+    case CMD_WIN:
+      element->whichElement.command.line = (char *) NULL;
+      break;
+    case DATA_ITEM_WIN:
+      element->whichElement.data.name = (char *) NULL;
+      element->whichElement.data.type = TUI_REGISTER;
+      element->whichElement.data.itemNo = UNDEFINED_ITEM;
+      element->whichElement.data.value = (Opaque) NULL;
+      element->whichElement.data.highlight = FALSE;
+      break;
+    case LOCATOR_WIN:
+      element->whichElement.locator.fileName[0] =
+	element->whichElement.locator.procName[0] = (char) 0;
+      element->whichElement.locator.lineNo = 0;
+      element->whichElement.locator.addr = 0;
+      break;
+    case EXEC_INFO_WIN:
+      memset(element->whichElement.simpleString, ' ',
+             sizeof(element->whichElement.simpleString));
+      break;
+    default:
+      break;
+    }
+  return;
+}				/* initContentElement */
+
+/*
+   ** initWinInfo().
+ */
+void
+initWinInfo (TuiWinInfoPtr winInfo)
+{
+  initGenericPart (&winInfo->generic);
+  winInfo->canHighlight =
+    winInfo->isHighlighted = FALSE;
+  switch (winInfo->generic.type)
+    {
+    case SRC_WIN:
+    case DISASSEM_WIN:
+      winInfo->detail.sourceInfo.executionInfo = (TuiGenWinInfoPtr) NULL;
+      winInfo->detail.sourceInfo.hasLocator = FALSE;
+      winInfo->detail.sourceInfo.horizontalOffset = 0;
+      winInfo->detail.sourceInfo.startLineOrAddr.addr = 0;
+      winInfo->detail.sourceInfo.filename = 0;
+      break;
+    case DATA_WIN:
+      winInfo->detail.dataDisplayInfo.dataContent = (TuiWinContent) NULL;
+      winInfo->detail.dataDisplayInfo.dataContentCount = 0;
+      winInfo->detail.dataDisplayInfo.regsContent = (TuiWinContent) NULL;
+      winInfo->detail.dataDisplayInfo.regsContentCount = 0;
+      winInfo->detail.dataDisplayInfo.regsDisplayType =
+	TUI_UNDEFINED_REGS;
+      winInfo->detail.dataDisplayInfo.regsColumnCount = 1;
+      winInfo->detail.dataDisplayInfo.displayRegs = FALSE;
+      break;
+    case CMD_WIN:
+      winInfo->detail.commandInfo.curLine = 0;
+      winInfo->detail.commandInfo.curch = 0;
+      break;
+    default:
+      winInfo->detail.opaque = (Opaque) NULL;
+      break;
+    }
+
+  return;
+}				/* initWinInfo */
+
+
+/*
+   ** allocWinInfo().
+ */
+TuiWinInfoPtr
+allocWinInfo (TuiWinType type)
+{
+  TuiWinInfoPtr winInfo = (TuiWinInfoPtr) NULL;
+
+  winInfo = (TuiWinInfoPtr) xmalloc (sizeof (TuiWinInfo));
+  if (m_winPtrNotNull (winInfo))
+    {
+      winInfo->generic.type = type;
+      initWinInfo (winInfo);
+    }
+
+  return winInfo;
+}				/* allocWinInfo */
+
+
+/*
+   ** allocContent().
+   **        Allocates the content and elements in a block.
+ */
+TuiWinContent
+allocContent (int numElements, TuiWinType type)
+{
+  TuiWinContent content = (TuiWinContent) NULL;
+  char *elementBlockPtr = (char *) NULL;
+  int i;
+
+  if ((content = (TuiWinContent)
+  xmalloc (sizeof (TuiWinElementPtr) * numElements)) != (TuiWinContent) NULL)
+    {				/*
+				   ** All windows, except the data window, can allocate the elements
+				   ** in a chunk.  The data window cannot because items can be
+				   ** added/removed from the data display by the user at any time.
+				 */
+      if (type != DATA_WIN)
+	{
+	  if ((elementBlockPtr = (char *)
+	   xmalloc (sizeof (TuiWinElement) * numElements)) != (char *) NULL)
+	    {
+	      for (i = 0; i < numElements; i++)
+		{
+		  content[i] = (TuiWinElementPtr) elementBlockPtr;
+		  initContentElement (content[i], type);
+		  elementBlockPtr += sizeof (TuiWinElement);
+		}
+	    }
+	  else
+	    {
+	      tuiFree ((char *) content);
+	      content = (TuiWinContent) NULL;
+	    }
+	}
+    }
+
+  return content;
+}				/* allocContent */
+
+
+/*
+   ** addContentElements().
+   **        Adds the input number of elements to the windows's content.  If
+   **        no content has been allocated yet, allocContent() is called to
+   **        do this.  The index of the first element added is returned,
+   **        unless there is a memory allocation error, in which case, (-1)
+   **        is returned.
+ */
+int
+addContentElements (TuiGenWinInfoPtr winInfo, int numElements)
+{
+  TuiWinElementPtr elementPtr;
+  int i, indexStart;
+
+  if (winInfo->content == (OpaquePtr) NULL)
+    {
+      winInfo->content = (OpaquePtr) allocContent (numElements, winInfo->type);
+      indexStart = 0;
+    }
+  else
+    indexStart = winInfo->contentSize;
+  if (winInfo->content != (OpaquePtr) NULL)
+    {
+      for (i = indexStart; (i < numElements + indexStart); i++)
+	{
+	  if ((elementPtr = (TuiWinElementPtr)
+	       xmalloc (sizeof (TuiWinElement))) != (TuiWinElementPtr) NULL)
+	    {
+	      winInfo->content[i] = (Opaque) elementPtr;
+	      initContentElement (elementPtr, winInfo->type);
+	      winInfo->contentSize++;
+	    }
+	  else			/* things must be really hosed now! We ran out of memory!? */
+	    return (-1);
+	}
+    }
+
+  return indexStart;
+}				/* addContentElements */
+
+
+/* Delete all curses windows associated with winInfo, leaving everything
+   else intact.  */
+void
+tuiDelWindow (TuiWinInfoPtr winInfo)
+{
+  TuiGenWinInfoPtr genericWin;
+
+  switch (winInfo->generic.type)
+    {
+    case SRC_WIN:
+    case DISASSEM_WIN:
+      genericWin = locatorWinInfoPtr ();
+      if (genericWin != (TuiGenWinInfoPtr) NULL)
+	{
+	  tuiDelwin (genericWin->handle);
+	  genericWin->handle = (WINDOW *) NULL;
+	  genericWin->isVisible = FALSE;
+	}
+      if (winInfo->detail.sourceInfo.filename)
+        {
+          xfree (winInfo->detail.sourceInfo.filename);
+          winInfo->detail.sourceInfo.filename = 0;
+        }
+      genericWin = winInfo->detail.sourceInfo.executionInfo;
+      if (genericWin != (TuiGenWinInfoPtr) NULL)
+	{
+	  tuiDelwin (genericWin->handle);
+	  genericWin->handle = (WINDOW *) NULL;
+	  genericWin->isVisible = FALSE;
+	}
+      break;
+    case DATA_WIN:
+      if (winInfo->generic.content != (OpaquePtr) NULL)
+	{
+	  tuiDelDataWindows (winInfo->detail.dataDisplayInfo.regsContent,
+                             winInfo->detail.dataDisplayInfo.regsContentCount);
+	  tuiDelDataWindows (winInfo->detail.dataDisplayInfo.dataContent,
+                             winInfo->detail.dataDisplayInfo.dataContentCount);
+	}
+      break;
+    default:
+      break;
+    }
+  if (winInfo->generic.handle != (WINDOW *) NULL)
+    {
+      tuiDelwin (winInfo->generic.handle);
+      winInfo->generic.handle = (WINDOW *) NULL;
+      winInfo->generic.isVisible = FALSE;
+    }
+}
+
+
+/*
+   **  freeWindow().
+ */
+void
+freeWindow (TuiWinInfoPtr winInfo)
+{
+  TuiGenWinInfoPtr genericWin;
+
+  switch (winInfo->generic.type)
+    {
+    case SRC_WIN:
+    case DISASSEM_WIN:
+      genericWin = locatorWinInfoPtr ();
+      if (genericWin != (TuiGenWinInfoPtr) NULL)
+	{
+	  tuiDelwin (genericWin->handle);
+	  genericWin->handle = (WINDOW *) NULL;
+	}
+      freeWinContent (genericWin);
+      if (winInfo->detail.sourceInfo.filename)
+        {
+          xfree (winInfo->detail.sourceInfo.filename);
+          winInfo->detail.sourceInfo.filename = 0;
+        }
+      genericWin = winInfo->detail.sourceInfo.executionInfo;
+      if (genericWin != (TuiGenWinInfoPtr) NULL)
+	{
+	  tuiDelwin (genericWin->handle);
+	  genericWin->handle = (WINDOW *) NULL;
+	  freeWinContent (genericWin);
+	}
+      break;
+    case DATA_WIN:
+      if (winInfo->generic.content != (OpaquePtr) NULL)
+	{
+	  freeDataContent (
+			    winInfo->detail.dataDisplayInfo.regsContent,
+			  winInfo->detail.dataDisplayInfo.regsContentCount);
+	  winInfo->detail.dataDisplayInfo.regsContent =
+	    (TuiWinContent) NULL;
+	  winInfo->detail.dataDisplayInfo.regsContentCount = 0;
+	  freeDataContent (
+			    winInfo->detail.dataDisplayInfo.dataContent,
+			  winInfo->detail.dataDisplayInfo.dataContentCount);
+	  winInfo->detail.dataDisplayInfo.dataContent =
+	    (TuiWinContent) NULL;
+	  winInfo->detail.dataDisplayInfo.dataContentCount = 0;
+	  winInfo->detail.dataDisplayInfo.regsDisplayType =
+	    TUI_UNDEFINED_REGS;
+	  winInfo->detail.dataDisplayInfo.regsColumnCount = 1;
+	  winInfo->detail.dataDisplayInfo.displayRegs = FALSE;
+	  winInfo->generic.content = (OpaquePtr) NULL;
+	  winInfo->generic.contentSize = 0;
+	}
+      break;
+    default:
+      break;
+    }
+  if (winInfo->generic.handle != (WINDOW *) NULL)
+    {
+      tuiDelwin (winInfo->generic.handle);
+      winInfo->generic.handle = (WINDOW *) NULL;
+      freeWinContent (&winInfo->generic);
+    }
+  if (winInfo->generic.title)
+    xfree (winInfo->generic.title);
+  xfree (winInfo);
+}
+
+
+/*
+   ** freeAllSourceWinsContent().
+ */
+void
+freeAllSourceWinsContent (void)
+{
+  int i;
+
+  for (i = 0; i < (sourceWindows ())->count; i++)
+    {
+      TuiWinInfoPtr winInfo = (TuiWinInfoPtr) (sourceWindows ())->list[i];
+
+      if (m_winPtrNotNull (winInfo))
+	{
+	  freeWinContent (&(winInfo->generic));
+	  freeWinContent (winInfo->detail.sourceInfo.executionInfo);
+	}
+    }
+
+  return;
+}				/* freeAllSourceWinsContent */
+
+
+/*
+   ** freeWinContent().
+ */
+void
+freeWinContent (TuiGenWinInfoPtr winInfo)
+{
+  if (winInfo->content != (OpaquePtr) NULL)
+    {
+      freeContent ((TuiWinContent) winInfo->content,
+		   winInfo->contentSize,
+		   winInfo->type);
+      winInfo->content = (OpaquePtr) NULL;
+    }
+  winInfo->contentSize = 0;
+
+  return;
+}				/* freeWinContent */
+
+
+void
+tuiDelDataWindows (TuiWinContent content, int contentSize)
+{
+  int i;
+
+  /*
+     ** Remember that data window content elements are of type TuiGenWinInfoPtr,
+     ** each of which whose single element is a data element.
+   */
+  for (i = 0; i < contentSize; i++)
+    {
+      TuiGenWinInfoPtr genericWin = &content[i]->whichElement.dataWindow;
+
+      if (genericWin != (TuiGenWinInfoPtr) NULL)
+	{
+	  tuiDelwin (genericWin->handle);
+	  genericWin->handle = (WINDOW *) NULL;
+	  genericWin->isVisible = FALSE;
+	}
+    }
+
+  return;
+}				/* tuiDelDataWindows */
+
+
+void
+freeDataContent (TuiWinContent content, int contentSize)
+{
+  int i;
+
+  /*
+     ** Remember that data window content elements are of type TuiGenWinInfoPtr,
+     ** each of which whose single element is a data element.
+   */
+  for (i = 0; i < contentSize; i++)
+    {
+      TuiGenWinInfoPtr genericWin = &content[i]->whichElement.dataWindow;
+
+      if (genericWin != (TuiGenWinInfoPtr) NULL)
+	{
+	  tuiDelwin (genericWin->handle);
+	  genericWin->handle = (WINDOW *) NULL;
+	  freeWinContent (genericWin);
+	}
+    }
+  freeContent (content,
+	       contentSize,
+	       DATA_WIN);
+
+  return;
+}				/* freeDataContent */
+
+
+/**********************************
+** LOCAL STATIC FUNCTIONS        **
+**********************************/
+
+
+/*
+   ** freeContent().
+ */
+static void
+freeContent (TuiWinContent content, int contentSize, TuiWinType winType)
+{
+  if (content != (TuiWinContent) NULL)
+    {
+      freeContentElements (content, contentSize, winType);
+      tuiFree ((char *) content);
+    }
+
+  return;
+}				/* freeContent */
+
+
+/*
+   ** freeContentElements().
+ */
+static void
+freeContentElements (TuiWinContent content, int contentSize, TuiWinType type)
+{
+  if (content != (TuiWinContent) NULL)
+    {
+      int i;
+
+      if (type == SRC_WIN || type == DISASSEM_WIN)
+	{
+	  /* free whole source block */
+	  if (content[0]->whichElement.source.line != (char *) NULL)
+	    tuiFree (content[0]->whichElement.source.line);
+	}
+      else
+	{
+	  for (i = 0; i < contentSize; i++)
+	    {
+	      TuiWinElementPtr element;
+
+	      element = content[i];
+	      if (element != (TuiWinElementPtr) NULL)
+		{
+		  switch (type)
+		    {
+		    case DATA_WIN:
+		      tuiFree ((char *) element);
+		      break;
+		    case DATA_ITEM_WIN:
+		      /*
+		         ** Note that data elements are not allocated
+		         ** in a single block, but individually, as needed.
+		       */
+		      if (element->whichElement.data.type != TUI_REGISTER)
+			tuiFree ((char *)
+				 element->whichElement.data.name);
+		      tuiFree ((char *) element->whichElement.data.value);
+		      tuiFree ((char *) element);
+		      break;
+		    case CMD_WIN:
+		      tuiFree ((char *) element->whichElement.command.line);
+		      break;
+		    default:
+		      break;
+		    }
+		}
+	    }
+	}
+      if (type != DATA_WIN && type != DATA_ITEM_WIN)
+	tuiFree ((char *) content[0]);	/* free the element block */
+    }
+
+  return;
+}				/* freeContentElements */
diff --git a/gdb/tui/tui-data.h b/gdb/tui/tui-data.h
new file mode 100644
index 0000000..6657fcd
--- /dev/null
+++ b/gdb/tui/tui-data.h
@@ -0,0 +1,386 @@
+/* TUI data manipulation routines.
+
+   Copyright 1998, 1999, 2000, 2001, 2002, 2004 Free Software
+   Foundation, Inc.
+
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef TUI_DATA_H
+#define TUI_DATA_H
+
+#if defined (HAVE_NCURSES_H)
+#include <ncurses.h>
+#elif defined (HAVE_CURSES_H)
+#include <curses.h>
+#endif
+
+/* Generic window information */
+     typedef struct _TuiGenWinInfo
+       {
+	 WINDOW *handle;	/* window handle */
+	 TuiWinType type;	/* type of window */
+	 int width;		/* window width */
+	 int height;		/* window height */
+	 TuiPoint origin;	/* origin of window */
+	 OpaquePtr content;	/* content of window */
+	 int contentSize;	/* Size of content (# of elements) */
+	 int contentInUse;	/* Can it be used, or is it already used? */
+	 int viewportHeight;	/* viewport height */
+	 int lastVisibleLine;	/* index of last visible line */
+	 int isVisible;		/* whether the window is visible or not */
+         char* title;          /* Window title to display.  */
+       }
+TuiGenWinInfo, *TuiGenWinInfoPtr;
+
+/* Constant definitions */
+#define DEFAULT_TAB_LEN                8
+#define NO_SRC_STRING                  "[ No Source Available ]"
+#define NO_DISASSEM_STRING             "[ No Assembly Available ]"
+#define NO_REGS_STRING                 "[ Register Values Unavailable ]"
+#define NO_DATA_STRING                 "[ No Data Values Displayed ]"
+#define MAX_CONTENT_COUNT              100
+#define SRC_NAME                       "SRC"
+#define CMD_NAME                       "CMD"
+#define DATA_NAME                      "REGS"
+#define DISASSEM_NAME                  "ASM"
+#define TUI_NULL_STR                   ""
+#define DEFAULT_HISTORY_COUNT          25
+#define BOX_WINDOW                     TRUE
+#define DONT_BOX_WINDOW                FALSE
+#define HILITE                         TRUE
+#define NO_HILITE                      FALSE
+#define WITH_LOCATOR                   TRUE
+#define NO_LOCATOR                     FALSE
+#define EMPTY_SOURCE_PROMPT            TRUE
+#define NO_EMPTY_SOURCE_PROMPT         FALSE
+#define UNDEFINED_ITEM                 -1
+#define MIN_WIN_HEIGHT                 3
+#define MIN_CMD_WIN_HEIGHT             3
+
+/* Strings to display in the TUI status line.  */
+#define PROC_PREFIX                    "In: "
+#define LINE_PREFIX                    "Line: "
+#define PC_PREFIX                      "PC: "
+#define SINGLE_KEY                     "(SingleKey)"
+
+/* Minimum/Maximum length of some fields displayed in the TUI status line.  */
+#define MIN_LINE_WIDTH     4 /* Use at least 4 digits for line numbers.  */
+#define MIN_PROC_WIDTH    12
+#define MAX_TARGET_WIDTH  10
+#define MAX_PID_WIDTH     14
+
+#define TUI_FLOAT_REGS_NAME                  "$FREGS"
+#define TUI_FLOAT_REGS_NAME_LOWER            "$fregs"
+#define TUI_GENERAL_REGS_NAME                "$GREGS"
+#define TUI_GENERAL_REGS_NAME_LOWER          "$gregs"
+#define TUI_SPECIAL_REGS_NAME                "$SREGS"
+#define TUI_SPECIAL_REGS_NAME_LOWER          "$sregs"
+#define TUI_GENERAL_SPECIAL_REGS_NAME        "$REGS"
+#define TUI_GENERAL_SPECIAL_REGS_NAME_LOWER  "$regs"
+
+/* Scroll direction enum */
+typedef enum tui_scroll_direction
+  {
+    FORWARD_SCROLL,
+    BACKWARD_SCROLL,
+    LEFT_SCROLL,
+    RIGHT_SCROLL
+  }
+TuiScrollDirection, *TuiScrollDirectionPtr;
+
+
+/* General list struct */
+typedef struct _TuiList
+  {
+    OpaqueList list;
+    int count;
+  }
+TuiList, *TuiListPtr;
+
+
+/* The kinds of layouts available */
+typedef enum tui_layout_type
+  {
+    SRC_COMMAND,
+    DISASSEM_COMMAND,
+    SRC_DISASSEM_COMMAND,
+    SRC_DATA_COMMAND,
+    DISASSEM_DATA_COMMAND,
+    UNDEFINED_LAYOUT
+  }
+TuiLayoutType, *TuiLayoutTypePtr;
+
+/* Basic data types that can be displayed in the data window. */
+typedef enum _TuiDataType
+  {
+    TUI_REGISTER,
+    TUI_SCALAR,
+    TUI_COMPLEX,
+    TUI_STRUCT
+  }
+TuiDataType, TuiDataTypePtr;
+
+/* Types of register displays */
+typedef enum tui_register_display_type
+  {
+    TUI_UNDEFINED_REGS,
+    TUI_GENERAL_REGS,
+    TUI_SFLOAT_REGS,
+    TUI_DFLOAT_REGS,
+    TUI_SPECIAL_REGS,
+    TUI_GENERAL_AND_SPECIAL_REGS
+  }
+TuiRegisterDisplayType, *TuiRegisterDisplayTypePtr;
+
+/* Structure describing source line or line address */
+typedef union _TuiLineOrAddress
+  {
+    int lineNo;
+    CORE_ADDR addr;
+  }
+TuiLineOrAddress, *TuiLineOrAddressPtr;
+
+/* Current Layout definition */
+typedef struct _TuiLayoutDef
+  {
+    TuiWinType displayMode;
+    int split;
+    TuiRegisterDisplayType regsDisplayType;
+    TuiRegisterDisplayType floatRegsDisplayType;
+  }
+TuiLayoutDef, *TuiLayoutDefPtr;
+
+/* Elements in the Source/Disassembly Window */
+typedef struct _TuiSourceElement
+  {
+    char *line;
+    TuiLineOrAddress lineOrAddr;
+    int isExecPoint;
+    int hasBreak;
+  }
+TuiSourceElement, *TuiSourceElementPtr;
+
+
+/* Elements in the data display window content */
+typedef struct _TuiDataElement
+  {
+    const char *name;
+    int itemNo;			/* the register number, or data display number */
+    TuiDataType type;
+    Opaque value;
+    int highlight;
+  }
+TuiDataElement, *TuiDataElementPtr;
+
+
+/* Elements in the command window content */
+typedef struct _TuiCommandElement
+  {
+    char *line;
+  }
+TuiCommandElement, *TuiCommandElementPtr;
+
+
+#define MAX_LOCATOR_ELEMENT_LEN        100
+
+/* Elements in the locator window content */
+typedef struct _TuiLocatorElement
+  {
+    char fileName[MAX_LOCATOR_ELEMENT_LEN];
+    char procName[MAX_LOCATOR_ELEMENT_LEN];
+    int lineNo;
+    CORE_ADDR addr;
+  }
+TuiLocatorElement, *TuiLocatorElementPtr;
+
+/* Flags to tell what kind of breakpoint is at current line.  */
+#define TUI_BP_ENABLED      0x01
+#define TUI_BP_DISABLED     0x02
+#define TUI_BP_HIT          0x04
+#define TUI_BP_CONDITIONAL  0x08
+#define TUI_BP_HARDWARE     0x10
+
+/* Position of breakpoint markers in the exec info string.  */
+#define TUI_BP_HIT_POS      0
+#define TUI_BP_BREAK_POS    1
+#define TUI_EXEC_POS        2
+#define TUI_EXECINFO_SIZE   4
+
+typedef char TuiExecInfoContent[TUI_EXECINFO_SIZE];
+
+/* An content element in a window */
+typedef union
+  {
+    TuiSourceElement source;	/* the source elements */
+    TuiGenWinInfo dataWindow;	/* data display elements */
+    TuiDataElement data;	/* elements of dataWindow */
+    TuiCommandElement command;	/* command elements */
+    TuiLocatorElement locator;	/* locator elements */
+    TuiExecInfoContent simpleString;	/* simple char based elements */
+  }
+TuiWhichElement, *TuiWhichElementPtr;
+
+typedef struct _TuiWinElement
+  {
+    int highlight;
+    TuiWhichElement whichElement;
+  }
+TuiWinElement, *TuiWinElementPtr;
+
+
+/* This describes the content of the window. */
+typedef TuiWinElementPtr *TuiWinContent;
+
+
+/* This struct defines the specific information about a data display window */
+typedef struct _TuiDataInfo
+  {
+    TuiWinContent dataContent;	/* start of data display content */
+    int dataContentCount;
+    TuiWinContent regsContent;	/* start of regs display content */
+    int regsContentCount;
+    TuiRegisterDisplayType regsDisplayType;
+    int regsColumnCount;
+    int displayRegs;		/* Should regs be displayed at all? */
+  }
+TuiDataInfo, *TuiDataInfoPtr;
+
+
+typedef struct _TuiSourceInfo
+  {
+    int hasLocator;		/* Does locator belongs to this window? */
+    TuiGenWinInfoPtr executionInfo;	/* execution information window */
+    int horizontalOffset;	/* used for horizontal scroll */
+    TuiLineOrAddress startLineOrAddr;
+    char* filename;
+  }
+TuiSourceInfo, *TuiSourceInfoPtr;
+
+
+typedef struct _TuiCommandInfo
+  {
+    int curLine;		/* The current line position */
+    int curch;			/* The current cursor position */
+    int start_line;
+  }
+TuiCommandInfo, *TuiCommandInfoPtr;
+
+
+/* This defines information about each logical window */
+typedef struct _TuiWinInfo
+  {
+    TuiGenWinInfo generic;	/* general window information */
+    union
+      {
+	TuiSourceInfo sourceInfo;
+	TuiDataInfo dataDisplayInfo;
+	TuiCommandInfo commandInfo;
+	Opaque opaque;
+      }
+    detail;
+    int canHighlight;		/* Can this window ever be highlighted? */
+    int isHighlighted;		/* Is this window highlighted? */
+  }
+TuiWinInfo, *TuiWinInfoPtr;
+
+/* MACROS (prefixed with m_) */
+
+/* Testing macros */
+#define        m_genWinPtrIsNull(winInfo) \
+                ((winInfo) == (TuiGenWinInfoPtr)NULL)
+#define        m_genWinPtrNotNull(winInfo) \
+                ((winInfo) != (TuiGenWinInfoPtr)NULL)
+#define        m_winPtrIsNull(winInfo) \
+                ((winInfo) == (TuiWinInfoPtr)NULL)
+#define        m_winPtrNotNull(winInfo) \
+                ((winInfo) != (TuiWinInfoPtr)NULL)
+
+#define        m_winIsSourceType(type) \
+                (type == SRC_WIN || type == DISASSEM_WIN)
+#define        m_winIsAuxillary(winType) \
+                (winType > MAX_MAJOR_WINDOWS)
+#define        m_hasLocator(winInfo) \
+                ( ((winInfo) != (TuiWinInfoPtr)NULL) ? \
+                    (winInfo->detail.sourceInfo.hasLocator) : \
+                    FALSE )
+
+#define     m_setWinHighlightOn(winInfo) \
+                if ((winInfo) != (TuiWinInfoPtr)NULL) \
+                              (winInfo)->isHighlighted = TRUE
+#define     m_setWinHighlightOff(winInfo) \
+                if ((winInfo) != (TuiWinInfoPtr)NULL) \
+                              (winInfo)->isHighlighted = FALSE
+
+
+/* Global Data */
+extern TuiWinInfoPtr winList[MAX_MAJOR_WINDOWS];
+
+/* Macros */
+#define srcWin            winList[SRC_WIN]
+#define disassemWin       winList[DISASSEM_WIN]
+#define dataWin           winList[DATA_WIN]
+#define cmdWin            winList[CMD_WIN]
+
+/* Data Manipulation Functions */
+extern void initializeStaticData (void);
+extern TuiGenWinInfoPtr allocGenericWinInfo (void);
+extern TuiWinInfoPtr allocWinInfo (TuiWinType);
+extern void initGenericPart (TuiGenWinInfoPtr);
+extern void initWinInfo (TuiWinInfoPtr);
+extern TuiWinContent allocContent (int, TuiWinType);
+extern int addContentElements (TuiGenWinInfoPtr, int);
+extern void initContentElement (TuiWinElementPtr, TuiWinType);
+extern void freeWindow (TuiWinInfoPtr);
+extern void freeWinContent (TuiGenWinInfoPtr);
+extern void freeDataContent (TuiWinContent, int);
+extern void freeAllSourceWinsContent (void);
+extern void tuiDelWindow (TuiWinInfoPtr);
+extern void tuiDelDataWindows (TuiWinContent, int);
+extern TuiWinInfoPtr partialWinByName (char *);
+extern char *winName (TuiGenWinInfoPtr);
+extern TuiLayoutType currentLayout (void);
+extern void setCurrentLayoutTo (TuiLayoutType);
+extern int termHeight (void);
+extern void setTermHeightTo (int);
+extern int termWidth (void);
+extern void setTermWidthTo (int);
+extern void setGenWinOrigin (TuiGenWinInfoPtr, int, int);
+extern TuiGenWinInfoPtr locatorWinInfoPtr (void);
+extern TuiGenWinInfoPtr sourceExecInfoWinPtr (void);
+extern TuiGenWinInfoPtr disassemExecInfoWinPtr (void);
+extern TuiListPtr sourceWindows (void);
+extern void clearSourceWindows (void);
+extern void clearSourceWindowsDetail (void);
+extern void clearWinDetail (TuiWinInfoPtr winInfo);
+extern void tuiAddToSourceWindows (TuiWinInfoPtr);
+extern int tuiDefaultTabLen (void);
+extern void tuiSetDefaultTabLen (int);
+extern TuiWinInfoPtr tuiWinWithFocus (void);
+extern void tuiSetWinWithFocus (TuiWinInfoPtr);
+extern TuiLayoutDefPtr tuiLayoutDef (void);
+extern int tuiWinResized (void);
+extern void tuiSetWinResizedTo (int);
+
+extern TuiWinInfoPtr tuiNextWin (TuiWinInfoPtr);
+extern TuiWinInfoPtr tuiPrevWin (TuiWinInfoPtr);
+
+extern void addToSourceWindows (TuiWinInfoPtr winInfo);
+
+#endif /* TUI_DATA_H */
diff --git a/gdb/tui/tui-disasm.c b/gdb/tui/tui-disasm.c
new file mode 100644
index 0000000..493c00d
--- /dev/null
+++ b/gdb/tui/tui-disasm.c
@@ -0,0 +1,403 @@
+/* Disassembly display.
+
+   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
+   Foundation, Inc.
+
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+#include "symtab.h"
+#include "breakpoint.h"
+#include "frame.h"
+#include "value.h"
+#include "source.h"
+#include "disasm.h"
+
+#include "tui/tui.h"
+#include "tui/tui-data.h"
+#include "tui/tui-win.h"
+#include "tui/tui-layout.h"
+#include "tui/tui-winsource.h"
+#include "tui/tui-stack.h"
+#include "tui/tui-file.h"
+
+#ifdef HAVE_NCURSES_H       
+#include <ncurses.h>
+#else
+#ifdef HAVE_CURSES_H
+#include <curses.h>
+#endif
+#endif
+
+struct tui_asm_line 
+{
+  CORE_ADDR addr;
+  char* addr_string;
+  char* insn;
+};
+
+/* Function to set the disassembly window's content.
+   Disassemble count lines starting at pc.
+   Return address of the count'th instruction after pc.  */
+static CORE_ADDR
+tui_disassemble (struct tui_asm_line* lines, CORE_ADDR pc, int count)
+{
+  struct ui_file *gdb_dis_out;
+
+  /* now init the ui_file structure */
+  gdb_dis_out = tui_sfileopen (256);
+
+  /* Now construct each line */
+  for (; count > 0; count--, lines++)
+    {
+      if (lines->addr_string)
+        xfree (lines->addr_string);
+      if (lines->insn)
+        xfree (lines->insn);
+      
+      print_address (pc, gdb_dis_out);
+      lines->addr = pc;
+      lines->addr_string = xstrdup (tui_file_get_strbuf (gdb_dis_out));
+
+      ui_file_rewind (gdb_dis_out);
+
+      pc = pc + gdb_print_insn (pc, gdb_dis_out);
+
+      lines->insn = xstrdup (tui_file_get_strbuf (gdb_dis_out));
+
+      /* reset the buffer to empty */
+      ui_file_rewind (gdb_dis_out);
+    }
+  ui_file_delete (gdb_dis_out);
+  return pc;
+}
+
+/* Find the disassembly address that corresponds to FROM lines
+   above or below the PC.  Variable sized instructions are taken
+   into account by the algorithm.  */
+static CORE_ADDR
+tui_find_disassembly_address (CORE_ADDR pc, int from)
+{
+  register CORE_ADDR newLow;
+  int maxLines;
+  int i;
+  struct tui_asm_line* lines;
+
+  maxLines = (from > 0) ? from : - from;
+  if (maxLines <= 1)
+     return pc;
+
+  lines = (struct tui_asm_line*) alloca (sizeof (struct tui_asm_line)
+                                         * maxLines);
+  memset (lines, 0, sizeof (struct tui_asm_line) * maxLines);
+
+  newLow = pc;
+  if (from > 0)
+    {
+      tui_disassemble (lines, pc, maxLines);
+      newLow = lines[maxLines - 1].addr;
+    }
+  else
+    {
+      CORE_ADDR last_addr;
+      int pos;
+      struct minimal_symbol* msymbol;
+              
+      /* Find backward an address which is a symbol
+         and for which disassembling from that address will fill
+         completely the window.  */
+      pos = maxLines - 1;
+      do {
+         newLow -= 1 * maxLines;
+         msymbol = lookup_minimal_symbol_by_pc_section (newLow, 0);
+
+         if (msymbol)
+            newLow = SYMBOL_VALUE_ADDRESS (msymbol);
+         else
+            newLow += 1 * maxLines;
+
+         tui_disassemble (lines, newLow, maxLines);
+         last_addr = lines[pos].addr;
+      } while (last_addr > pc && msymbol);
+
+      /* Scan forward disassembling one instruction at a time
+         until the last visible instruction of the window
+         matches the pc.  We keep the disassembled instructions
+         in the 'lines' window and shift it downward (increasing
+         its addresses).  */
+      if (last_addr < pc)
+        do
+          {
+            CORE_ADDR next_addr;
+                 
+            pos++;
+            if (pos >= maxLines)
+              pos = 0;
+
+            next_addr = tui_disassemble (&lines[pos], last_addr, 1);
+
+            /* If there are some problems while disassembling exit.  */
+            if (next_addr <= last_addr)
+              break;
+            last_addr = next_addr;
+          } while (last_addr <= pc);
+      pos++;
+      if (pos >= maxLines)
+         pos = 0;
+      newLow = lines[pos].addr;
+    }
+  for (i = 0; i < maxLines; i++)
+    {
+      xfree (lines[i].addr_string);
+      xfree (lines[i].insn);
+    }
+  return newLow;
+}
+
+/* Function to set the disassembly window's content.  */
+enum tui_status
+tui_set_disassem_content (CORE_ADDR pc)
+{
+  TuiStatus ret = TUI_FAILURE;
+  register int i;
+  register int offset = disassemWin->detail.sourceInfo.horizontalOffset;
+  register int lineWidth, maxLines;
+  CORE_ADDR cur_pc;
+  TuiGenWinInfoPtr locator = locatorWinInfoPtr ();
+  int tab_len = tuiDefaultTabLen ();
+  struct tui_asm_line* lines;
+  int insn_pos;
+  int addr_size, max_size;
+  char* line;
+  
+  if (pc == 0)
+    return TUI_FAILURE;
+
+  ret = tuiAllocSourceBuffer (disassemWin);
+  if (ret != TUI_SUCCESS)
+    return ret;
+
+  disassemWin->detail.sourceInfo.startLineOrAddr.addr = pc;
+  cur_pc = (CORE_ADDR)
+    (((TuiWinElementPtr) locator->content[0])->whichElement.locator.addr);
+
+  maxLines = disassemWin->generic.height - 2;	/* account for hilite */
+
+  /* Get temporary table that will hold all strings (addr & insn).  */
+  lines = (struct tui_asm_line*) alloca (sizeof (struct tui_asm_line)
+                                         * maxLines);
+  memset (lines, 0, sizeof (struct tui_asm_line) * maxLines);
+
+  lineWidth = disassemWin->generic.width - 1;
+
+  tui_disassemble (lines, pc, maxLines);
+
+  /* See what is the maximum length of an address and of a line.  */
+  addr_size = 0;
+  max_size = 0;
+  for (i = 0; i < maxLines; i++)
+    {
+      size_t len = strlen (lines[i].addr_string);
+      if (len > addr_size)
+        addr_size = len;
+
+      len = strlen (lines[i].insn) + tab_len;
+      if (len > max_size)
+        max_size = len;
+    }
+  max_size += addr_size + tab_len;
+
+  /* Allocate memory to create each line.  */
+  line = (char*) alloca (max_size);
+  insn_pos = (1 + (addr_size / tab_len)) * tab_len;
+
+  /* Now construct each line */
+  for (i = 0; i < maxLines; i++)
+    {
+      TuiWinElementPtr element;
+      TuiSourceElement* src;
+      int curLen;
+
+      element = (TuiWinElementPtr) disassemWin->generic.content[i];
+      src = &element->whichElement.source;
+      strcpy (line, lines[i].addr_string);
+      curLen = strlen (line);
+
+      /* Add spaces to make the instructions start on the same column */
+      while (curLen < insn_pos)
+        {
+          strcat (line, " ");
+          curLen++;
+        }
+
+      strcat (line, lines[i].insn);
+
+      /* Now copy the line taking the offset into account */
+      if (strlen (line) > offset)
+        strcpy (src->line, &line[offset]);
+      else
+        src->line[0] = '\0';
+
+      src->lineOrAddr.addr = lines[i].addr;
+      src->isExecPoint = lines[i].addr == cur_pc;
+
+      /* See whether there is a breakpoint installed.  */
+      src->hasBreak = (!src->isExecPoint
+                       && breakpoint_here_p (pc) != no_breakpoint_here);
+
+      xfree (lines[i].addr_string);
+      xfree (lines[i].insn);
+    }
+  disassemWin->generic.contentSize = i;
+  return TUI_SUCCESS;
+}
+
+
+/* Function to display the disassembly window with disassembled code.   */
+void
+tui_show_disassem (CORE_ADDR startAddr)
+{
+  struct symtab *s = find_pc_symtab (startAddr);
+  TuiWinInfoPtr winWithFocus = tuiWinWithFocus ();
+  TuiLineOrAddress val;
+
+  val.addr = startAddr;
+  tui_add_win_to_layout (DISASSEM_WIN);
+  tuiUpdateSourceWindow (disassemWin, s, val, FALSE);
+  /*
+     ** if the focus was in the src win, put it in the asm win, if the
+     ** source view isn't split
+   */
+  if (currentLayout () != SRC_DISASSEM_COMMAND && winWithFocus == srcWin)
+    tuiSetWinFocusTo (disassemWin);
+
+  return;
+}
+
+
+/* Function to display the disassembly window.   */
+void
+tui_show_disassem_and_update_source (CORE_ADDR startAddr)
+{
+  struct symtab_and_line sal;
+
+  tui_show_disassem (startAddr);
+  if (currentLayout () == SRC_DISASSEM_COMMAND)
+    {
+      TuiLineOrAddress val;
+
+      /*
+         ** Update what is in the source window if it is displayed too,
+         ** note that it follows what is in the disassembly window and visa-versa
+       */
+      sal = find_pc_line (startAddr, 0);
+      val.lineNo = sal.line;
+      tuiUpdateSourceWindow (srcWin, sal.symtab, val, TRUE);
+      if (sal.symtab)
+	{
+	  set_current_source_symtab_and_line (&sal);
+	  tuiUpdateLocatorFilename (sal.symtab->filename);
+	}
+      else
+	tuiUpdateLocatorFilename ("?");
+    }
+
+  return;
+}
+
+CORE_ADDR
+tui_get_begin_asm_address (void)
+{
+  TuiGenWinInfoPtr locator;
+  TuiLocatorElementPtr element;
+  CORE_ADDR addr;
+
+  locator = locatorWinInfoPtr ();
+  element = &((TuiWinElementPtr) locator->content[0])->whichElement.locator;
+
+  if (element->addr == 0)
+    {
+      struct minimal_symbol *main_symbol;
+
+      /* Find address of the start of program.
+         Note: this should be language specific.  */
+      main_symbol = lookup_minimal_symbol ("main", NULL, NULL);
+      if (main_symbol == 0)
+        main_symbol = lookup_minimal_symbol ("MAIN", NULL, NULL);
+      if (main_symbol == 0)
+        main_symbol = lookup_minimal_symbol ("_start", NULL, NULL);
+      if (main_symbol)
+        addr = SYMBOL_VALUE_ADDRESS (main_symbol);
+      else
+        addr = 0;
+    }
+  else				/* the target is executing */
+    addr = element->addr;
+
+  return addr;
+}
+
+/* Determine what the low address will be to display in the TUI's
+   disassembly window.  This may or may not be the same as the
+   low address input.  */
+CORE_ADDR
+tuiGetLowDisassemblyAddress (CORE_ADDR low, CORE_ADDR pc)
+{
+  int pos;
+
+  /* Determine where to start the disassembly so that the pc is about in the
+     middle of the viewport.  */
+  pos = tui_default_win_viewport_height (DISASSEM_WIN, DISASSEM_COMMAND) / 2;
+  pc = tui_find_disassembly_address (pc, -pos);
+
+  if (pc < low)
+    pc = low;
+  return pc;
+}
+
+/* Scroll the disassembly forward or backward vertically.  */
+void
+tui_vertical_disassem_scroll (enum tui_scroll_direction scrollDirection,
+			      int numToScroll)
+{
+  if (disassemWin->generic.content != (OpaquePtr) NULL)
+    {
+      CORE_ADDR pc;
+      TuiWinContent content;
+      struct symtab *s;
+      TuiLineOrAddress val;
+      int maxLines, dir;
+      struct symtab_and_line cursal = get_current_source_symtab_and_line ();
+
+      content = (TuiWinContent) disassemWin->generic.content;
+      if (cursal.symtab == (struct symtab *) NULL)
+	s = find_pc_symtab (get_frame_pc (deprecated_selected_frame));
+      else
+	s = cursal.symtab;
+
+      /* account for hilite */
+      maxLines = disassemWin->generic.height - 2;
+      pc = content[0]->whichElement.source.lineOrAddr.addr;
+      dir = (scrollDirection == FORWARD_SCROLL) ? maxLines : - maxLines;
+
+      val.addr = tui_find_disassembly_address (pc, dir);
+      tuiUpdateSourceWindowAsIs (disassemWin, s, val, FALSE);
+    }
+}
diff --git a/gdb/tui/tui-disasm.h b/gdb/tui/tui-disasm.h
new file mode 100644
index 0000000..e72aba1
--- /dev/null
+++ b/gdb/tui/tui-disasm.h
@@ -0,0 +1,37 @@
+/* Disassembly display.
+
+   Copyright 1998, 1999, 2000, 2001, 2004 Free Software Foundation,
+   Inc.
+   
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef TUI_DISASM_H
+#define TUI_DISASM_H
+
+#include "tui/tui.h"		/* For enum tui_status.  */
+#include "tui/tui-data.h"	/* For enum tui_scroll_direction.  */
+
+extern enum tui_status tui_set_disassem_content (CORE_ADDR);
+extern void tui_show_disassem (CORE_ADDR);
+extern void tui_show_disassem_and_update_source (CORE_ADDR);
+extern void tui_vertical_disassem_scroll (enum tui_scroll_direction, int);
+extern CORE_ADDR tui_get_begin_asm_address (void);
+
+#endif
diff --git a/gdb/tui/tui-io.c b/gdb/tui/tui-io.c
new file mode 100644
index 0000000..61b1f93
--- /dev/null
+++ b/gdb/tui/tui-io.c
@@ -0,0 +1,722 @@
+/* TUI support I/O functions.
+
+   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
+   Foundation, Inc.
+
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+#include "terminal.h"
+#include "target.h"
+#include "event-loop.h"
+#include "event-top.h"
+#include "command.h"
+#include "top.h"
+#include "readline/readline.h"
+#include "tui/tui.h"
+#include "tui/tui-data.h"
+#include "tui/tui-io.h"
+#include "tui/tui-command.h"
+#include "tui/tui-win.h"
+#include "tui/tui-wingeneral.h"
+#include "tui/tui-file.h"
+#include "ui-out.h"
+#include "cli-out.h"
+#include <fcntl.h>
+#include <signal.h>
+#include <stdio.h>
+
+#ifdef HAVE_NCURSES_H       
+#include <ncurses.h>
+#else
+#ifdef HAVE_CURSES_H
+#include <curses.h>
+#endif
+#endif
+
+int
+key_is_start_sequence (int ch)
+{
+  return (ch == 27);
+}
+
+int
+key_is_end_sequence (int ch)
+{
+  return (ch == 126);
+}
+
+int
+key_is_backspace (int ch)
+{
+  return (ch == 8);
+}
+
+int
+key_is_command_char (int ch)
+{
+  return ((ch == KEY_NPAGE) || (ch == KEY_PPAGE)
+	  || (ch == KEY_LEFT) || (ch == KEY_RIGHT)
+	  || (ch == KEY_UP) || (ch == KEY_DOWN)
+	  || (ch == KEY_SF) || (ch == KEY_SR)
+	  || (ch == (int)'\f') || key_is_start_sequence (ch));
+}
+
+/* Use definition from readline 4.3.  */
+#undef CTRL_CHAR
+#define CTRL_CHAR(c) ((c) < control_character_threshold && (((c) & 0x80) == 0))
+
+/* This file controls the IO interactions between gdb and curses.
+   When the TUI is enabled, gdb has two modes a curses and a standard
+   mode.
+
+   In curses mode, the gdb outputs are made in a curses command window.
+   For this, the gdb_stdout and gdb_stderr are redirected to the specific
+   ui_file implemented by TUI.  The output is handled by tui_puts().
+   The input is also controlled by curses with tui_getc().  The readline
+   library uses this function to get its input.  Several readline hooks
+   are installed to redirect readline output to the TUI (see also the
+   note below).
+
+   In normal mode, the gdb outputs are restored to their origin, that
+   is as if TUI is not used.  Readline also uses its original getc()
+   function with stdin.
+
+   Note SCz/2001-07-21: the current readline is not clean in its management of
+   the output.  Even if we install a redisplay handler, it sometimes writes on
+   a stdout file.  It is important to redirect every output produced by
+   readline, otherwise the curses window will be garbled.  This is implemented
+   with a pipe that TUI reads and readline writes to.  A gdb input handler
+   is created so that reading the pipe is handled automatically.
+   This will probably not work on non-Unix platforms.  The best fix is
+   to make readline clean enougth so that is never write on stdout.
+
+   Note SCz/2002-09-01: we now use more readline hooks and it seems that
+   with them we don't need the pipe anymore (verified by creating the pipe
+   and closing its end so that write causes a SIGPIPE).  The old pipe code
+   is still there and can be conditionally removed by
+   #undef TUI_USE_PIPE_FOR_READLINE.  */
+
+/* For gdb 5.3, prefer to continue the pipe hack as a backup wheel.  */
+#define TUI_USE_PIPE_FOR_READLINE
+/*#undef TUI_USE_PIPE_FOR_READLINE*/
+
+/* TUI output files.  */
+static struct ui_file *tui_stdout;
+static struct ui_file *tui_stderr;
+struct ui_out *tui_out;
+
+/* GDB output files in non-curses mode.  */
+static struct ui_file *tui_old_stdout;
+static struct ui_file *tui_old_stderr;
+struct ui_out *tui_old_uiout;
+
+/* Readline previous hooks.  */
+static Function *tui_old_rl_getc_function;
+static VFunction *tui_old_rl_redisplay_function;
+static VFunction *tui_old_rl_prep_terminal;
+static VFunction *tui_old_rl_deprep_terminal;
+static int tui_old_readline_echoing_p;
+
+/* Readline output stream.
+   Should be removed when readline is clean.  */
+static FILE *tui_rl_outstream;
+static FILE *tui_old_rl_outstream;
+#ifdef TUI_USE_PIPE_FOR_READLINE
+static int tui_readline_pipe[2];
+#endif
+
+/* The last gdb prompt that was registered in readline.
+   This may be the main gdb prompt or a secondary prompt.  */
+static char *tui_rl_saved_prompt;
+
+static unsigned int _tuiHandleResizeDuringIO (unsigned int);
+
+static void
+tui_putc (char c)
+{
+  char buf[2];
+
+  buf[0] = c;
+  buf[1] = 0;
+  tui_puts (buf);
+}
+
+/* Print the string in the curses command window.  */
+void
+tui_puts (const char *string)
+{
+  static int tui_skip_line = -1;
+  char c;
+  WINDOW *w;
+
+  w = cmdWin->generic.handle;
+  while ((c = *string++) != 0)
+    {
+      /* Catch annotation and discard them.  We need two \032 and
+         discard until a \n is seen.  */
+      if (c == '\032')
+        {
+          tui_skip_line++;
+        }
+      else if (tui_skip_line != 1)
+        {
+          tui_skip_line = -1;
+          waddch (w, c);
+        }
+      else if (c == '\n')
+        tui_skip_line = -1;
+    }
+  getyx (w, cmdWin->detail.commandInfo.curLine,
+         cmdWin->detail.commandInfo.curch);
+  cmdWin->detail.commandInfo.start_line = cmdWin->detail.commandInfo.curLine;
+
+  /* We could defer the following.  */
+  wrefresh (w);
+  fflush (stdout);
+}
+
+/* Readline callback.
+   Redisplay the command line with its prompt after readline has
+   changed the edited text.  */
+void
+tui_redisplay_readline (void)
+{
+  int prev_col;
+  int height;
+  int col, line;
+  int c_pos;
+  int c_line;
+  int in;
+  WINDOW *w;
+  char *prompt;
+  int start_line;
+
+  /* Detect when we temporarily left SingleKey and now the readline
+     edit buffer is empty, automatically restore the SingleKey mode.  */
+  if (tui_current_key_mode == tui_one_command_mode && rl_end == 0)
+    tui_set_key_mode (tui_single_key_mode);
+
+  if (tui_current_key_mode == tui_single_key_mode)
+    prompt = "";
+  else
+    prompt = tui_rl_saved_prompt;
+  
+  c_pos = -1;
+  c_line = -1;
+  w = cmdWin->generic.handle;
+  start_line = cmdWin->detail.commandInfo.start_line;
+  wmove (w, start_line, 0);
+  prev_col = 0;
+  height = 1;
+  for (in = 0; prompt && prompt[in]; in++)
+    {
+      waddch (w, prompt[in]);
+      getyx (w, line, col);
+      if (col < prev_col)
+        height++;
+      prev_col = col;
+    }
+  for (in = 0; in < rl_end; in++)
+    {
+      unsigned char c;
+      
+      c = (unsigned char) rl_line_buffer[in];
+      if (in == rl_point)
+	{
+          getyx (w, c_line, c_pos);
+	}
+
+      if (CTRL_CHAR (c) || c == RUBOUT)
+	{
+          waddch (w, '^');
+          waddch (w, CTRL_CHAR (c) ? UNCTRL (c) : '?');
+	}
+      else
+	{
+          waddch (w, c);
+	}
+      if (c == '\n')
+        {
+          getyx (w, cmdWin->detail.commandInfo.start_line,
+                 cmdWin->detail.commandInfo.curch);
+        }
+      getyx (w, line, col);
+      if (col < prev_col)
+        height++;
+      prev_col = col;
+    }
+  wclrtobot (w);
+  getyx (w, cmdWin->detail.commandInfo.start_line,
+         cmdWin->detail.commandInfo.curch);
+  if (c_line >= 0)
+    {
+      wmove (w, c_line, c_pos);
+      cmdWin->detail.commandInfo.curLine = c_line;
+      cmdWin->detail.commandInfo.curch = c_pos;
+    }
+  cmdWin->detail.commandInfo.start_line -= height - 1;
+
+  wrefresh (w);
+  fflush(stdout);
+}
+
+/* Readline callback to prepare the terminal.  It is called once
+   each time we enter readline.  Terminal is already setup in curses mode.  */
+static void
+tui_prep_terminal (int notused1)
+{
+  /* Save the prompt registered in readline to correctly display it.
+     (we can't use gdb_prompt() due to secondary prompts and can't use
+     rl_prompt because it points to an alloca buffer).  */
+  xfree (tui_rl_saved_prompt);
+  tui_rl_saved_prompt = xstrdup (rl_prompt);
+}
+
+/* Readline callback to restore the terminal.  It is called once
+   each time we leave readline.  There is nothing to do in curses mode.  */
+static void
+tui_deprep_terminal (void)
+{
+}
+
+#ifdef TUI_USE_PIPE_FOR_READLINE
+/* Read readline output pipe and feed the command window with it.
+   Should be removed when readline is clean.  */
+static void
+tui_readline_output (int code, gdb_client_data data)
+{
+  int size;
+  char buf[256];
+
+  size = read (tui_readline_pipe[0], buf, sizeof (buf) - 1);
+  if (size > 0 && tui_active)
+    {
+      buf[size] = 0;
+      tui_puts (buf);
+    }
+}
+#endif
+
+/* Return the portion of PATHNAME that should be output when listing
+   possible completions.  If we are hacking filename completion, we
+   are only interested in the basename, the portion following the
+   final slash.  Otherwise, we return what we were passed.
+
+   Comes from readline/complete.c  */
+static char *
+printable_part (pathname)
+     char *pathname;
+{
+  char *temp;
+
+  temp = rl_filename_completion_desired ? strrchr (pathname, '/') : (char *)NULL;
+#if defined (__MSDOS__)
+  if (rl_filename_completion_desired && temp == 0 && isalpha (pathname[0]) && pathname[1] == ':')
+    temp = pathname + 1;
+#endif
+  return (temp ? ++temp : pathname);
+}
+
+/* Output TO_PRINT to rl_outstream.  If VISIBLE_STATS is defined and we
+   are using it, check for and output a single character for `special'
+   filenames.  Return the number of characters we output. */
+
+#define PUTX(c) \
+    do { \
+      if (CTRL_CHAR (c)) \
+        { \
+          tui_puts ("^"); \
+          tui_putc (UNCTRL (c)); \
+          printed_len += 2; \
+        } \
+      else if (c == RUBOUT) \
+	{ \
+	  tui_puts ("^?"); \
+	  printed_len += 2; \
+	} \
+      else \
+	{ \
+	  tui_putc (c); \
+	  printed_len++; \
+	} \
+    } while (0)
+
+static int
+print_filename (to_print, full_pathname)
+     char *to_print, *full_pathname;
+{
+  int printed_len = 0;
+  char *s;
+
+  for (s = to_print; *s; s++)
+    {
+      PUTX (*s);
+    }
+  return printed_len;
+}
+
+/* The user must press "y" or "n".  Non-zero return means "y" pressed.
+   Comes from readline/complete.c  */
+static int
+get_y_or_n ()
+{
+  extern int _rl_abort_internal ();
+  int c;
+
+  for (;;)
+    {
+      c = rl_read_key ();
+      if (c == 'y' || c == 'Y' || c == ' ')
+	return (1);
+      if (c == 'n' || c == 'N' || c == RUBOUT)
+	return (0);
+      if (c == ABORT_CHAR)
+	_rl_abort_internal ();
+      beep ();
+    }
+}
+
+/* A convenience function for displaying a list of strings in
+   columnar format on readline's output stream.  MATCHES is the list
+   of strings, in argv format, LEN is the number of strings in MATCHES,
+   and MAX is the length of the longest string in MATCHES.
+
+   Comes from readline/complete.c and modified to write in
+   the TUI command window using tui_putc/tui_puts.  */
+static void
+tui_rl_display_match_list (matches, len, max)
+     char **matches;
+     int len, max;
+{
+  typedef int QSFUNC (const void *, const void *);
+  extern int _rl_qsort_string_compare (const void*, const void*);
+  extern int _rl_print_completions_horizontally;
+  
+  int count, limit, printed_len;
+  int i, j, k, l;
+  char *temp;
+
+  /* Screen dimension correspond to the TUI command window.  */
+  int screenwidth = cmdWin->generic.width;
+
+  /* If there are many items, then ask the user if she really wants to
+     see them all. */
+  if (len >= rl_completion_query_items)
+    {
+      char msg[256];
+
+      sprintf (msg, "\nDisplay all %d possibilities? (y or n)", len);
+      tui_puts (msg);
+      if (get_y_or_n () == 0)
+	{
+	  tui_puts ("\n");
+	  return;
+	}
+    }
+
+  /* How many items of MAX length can we fit in the screen window? */
+  max += 2;
+  limit = screenwidth / max;
+  if (limit != 1 && (limit * max == screenwidth))
+    limit--;
+
+  /* Avoid a possible floating exception.  If max > screenwidth,
+     limit will be 0 and a divide-by-zero fault will result. */
+  if (limit == 0)
+    limit = 1;
+
+  /* How many iterations of the printing loop? */
+  count = (len + (limit - 1)) / limit;
+
+  /* Watch out for special case.  If LEN is less than LIMIT, then
+     just do the inner printing loop.
+	   0 < len <= limit  implies  count = 1. */
+
+  /* Sort the items if they are not already sorted. */
+  if (rl_ignore_completion_duplicates == 0)
+    qsort (matches + 1, len, sizeof (char *),
+           (QSFUNC *)_rl_qsort_string_compare);
+
+  tui_putc ('\n');
+
+  if (_rl_print_completions_horizontally == 0)
+    {
+      /* Print the sorted items, up-and-down alphabetically, like ls. */
+      for (i = 1; i <= count; i++)
+	{
+	  for (j = 0, l = i; j < limit; j++)
+	    {
+	      if (l > len || matches[l] == 0)
+		break;
+	      else
+		{
+		  temp = printable_part (matches[l]);
+		  printed_len = print_filename (temp, matches[l]);
+
+		  if (j + 1 < limit)
+		    for (k = 0; k < max - printed_len; k++)
+		      tui_putc (' ');
+		}
+	      l += count;
+	    }
+	  tui_putc ('\n');
+	}
+    }
+  else
+    {
+      /* Print the sorted items, across alphabetically, like ls -x. */
+      for (i = 1; matches[i]; i++)
+	{
+	  temp = printable_part (matches[i]);
+	  printed_len = print_filename (temp, matches[i]);
+	  /* Have we reached the end of this line? */
+	  if (matches[i+1])
+	    {
+	      if (i && (limit > 1) && (i % limit) == 0)
+		tui_putc ('\n');
+	      else
+		for (k = 0; k < max - printed_len; k++)
+		  tui_putc (' ');
+	    }
+	}
+      tui_putc ('\n');
+    }
+}
+
+/* Setup the IO for curses or non-curses mode.
+   - In non-curses mode, readline and gdb use the standard input and
+   standard output/error directly.
+   - In curses mode, the standard output/error is controlled by TUI
+   with the tui_stdout and tui_stderr.  The output is redirected in
+   the curses command window.  Several readline callbacks are installed
+   so that readline asks for its input to the curses command window
+   with wgetch().  */
+void
+tui_setup_io (int mode)
+{
+  extern int readline_echoing_p;
+ 
+  if (mode)
+    {
+      /* Redirect readline to TUI.  */
+      tui_old_rl_redisplay_function = rl_redisplay_function;
+      tui_old_rl_deprep_terminal = rl_deprep_term_function;
+      tui_old_rl_prep_terminal = rl_prep_term_function;
+      tui_old_rl_getc_function = rl_getc_function;
+      tui_old_rl_outstream = rl_outstream;
+      tui_old_readline_echoing_p = readline_echoing_p;
+      rl_redisplay_function = tui_redisplay_readline;
+      rl_deprep_term_function = tui_deprep_terminal;
+      rl_prep_term_function = tui_prep_terminal;
+      rl_getc_function = tui_getc;
+      readline_echoing_p = 0;
+      rl_outstream = tui_rl_outstream;
+      rl_prompt = 0;
+      rl_completion_display_matches_hook = tui_rl_display_match_list;
+      rl_already_prompted = 0;
+
+      /* Keep track of previous gdb output.  */
+      tui_old_stdout = gdb_stdout;
+      tui_old_stderr = gdb_stderr;
+      tui_old_uiout = uiout;
+
+      /* Reconfigure gdb output.  */
+      gdb_stdout = tui_stdout;
+      gdb_stderr = tui_stderr;
+      gdb_stdlog = gdb_stdout;	/* for moment */
+      gdb_stdtarg = gdb_stderr;	/* for moment */
+      uiout = tui_out;
+
+      /* Save tty for SIGCONT.  */
+      savetty ();
+    }
+  else
+    {
+      /* Restore gdb output.  */
+      gdb_stdout = tui_old_stdout;
+      gdb_stderr = tui_old_stderr;
+      gdb_stdlog = gdb_stdout;	/* for moment */
+      gdb_stdtarg = gdb_stderr;	/* for moment */
+      uiout = tui_old_uiout;
+
+      /* Restore readline.  */
+      rl_redisplay_function = tui_old_rl_redisplay_function;
+      rl_deprep_term_function = tui_old_rl_deprep_terminal;
+      rl_prep_term_function = tui_old_rl_prep_terminal;
+      rl_getc_function = tui_old_rl_getc_function;
+      rl_outstream = tui_old_rl_outstream;
+      rl_completion_display_matches_hook = 0;
+      readline_echoing_p = tui_old_readline_echoing_p;
+      rl_already_prompted = 0;
+
+      /* Save tty for SIGCONT.  */
+      savetty ();
+    }
+}
+
+#ifdef SIGCONT
+/* Catch SIGCONT to restore the terminal and refresh the screen.  */
+static void
+tui_cont_sig (int sig)
+{
+  if (tui_active)
+    {
+      /* Restore the terminal setting because another process (shell)
+         might have changed it.  */
+      resetty ();
+
+      /* Force a refresh of the screen.  */
+      tuiRefreshAll ();
+
+      /* Update cursor position on the screen.  */
+      wmove (cmdWin->generic.handle,
+             cmdWin->detail.commandInfo.start_line,
+             cmdWin->detail.commandInfo.curch);
+      wrefresh (cmdWin->generic.handle);
+    }
+  signal (sig, tui_cont_sig);
+}
+#endif
+
+/* Initialize the IO for gdb in curses mode.  */
+void
+tui_initialize_io ()
+{
+#ifdef SIGCONT
+  signal (SIGCONT, tui_cont_sig);
+#endif
+
+  /* Create tui output streams.  */
+  tui_stdout = tui_fileopen (stdout);
+  tui_stderr = tui_fileopen (stderr);
+  tui_out = tui_out_new (tui_stdout);
+
+  /* Create the default UI.  It is not created because we installed
+     a init_ui_hook.  */
+  tui_old_uiout = uiout = cli_out_new (gdb_stdout);
+
+#ifdef TUI_USE_PIPE_FOR_READLINE
+  /* Temporary solution for readline writing to stdout:
+     redirect readline output in a pipe, read that pipe and
+     output the content in the curses command window.  */
+  if (pipe (tui_readline_pipe) != 0)
+    {
+      fprintf_unfiltered (gdb_stderr, "Cannot create pipe for readline");
+      exit (1);
+    }
+  tui_rl_outstream = fdopen (tui_readline_pipe[1], "w");
+  if (tui_rl_outstream == 0)
+    {
+      fprintf_unfiltered (gdb_stderr, "Cannot redirect readline output");
+      exit (1);
+    }
+  setvbuf (tui_rl_outstream, (char*) NULL, _IOLBF, 0);
+
+#ifdef O_NONBLOCK
+  (void) fcntl (tui_readline_pipe[0], F_SETFL, O_NONBLOCK);
+#else
+#ifdef O_NDELAY
+  (void) fcntl (tui_readline_pipe[0], F_SETFL, O_NDELAY);
+#endif
+#endif
+  add_file_handler (tui_readline_pipe[0], tui_readline_output, 0);
+#else
+  tui_rl_outstream = stdout;
+#endif
+}
+
+/* Get a character from the command window.  This is called from the readline
+   package.  */
+int
+tui_getc (FILE *fp)
+{
+  int ch;
+  WINDOW *w;
+
+  w = cmdWin->generic.handle;
+
+#ifdef TUI_USE_PIPE_FOR_READLINE
+  /* Flush readline output.  */
+  tui_readline_output (GDB_READABLE, 0);
+#endif
+
+  ch = wgetch (w);
+  ch = _tuiHandleResizeDuringIO (ch);
+
+  /* The \n must be echoed because it will not be printed by readline.  */
+  if (ch == '\n')
+    {
+      /* When hitting return with an empty input, gdb executes the last
+         command.  If we emit a newline, this fills up the command window
+         with empty lines with gdb prompt at beginning.  Instead of that,
+         stay on the same line but provide a visual effect to show the
+         user we recognized the command.  */
+      if (rl_end == 0)
+        {
+          wmove (w, cmdWin->detail.commandInfo.curLine, 0);
+
+          /* Clear the line.  This will blink the gdb prompt since
+             it will be redrawn at the same line.  */
+          wclrtoeol (w);
+          wrefresh (w);
+          napms (20);
+        }
+      else
+        {
+          wmove (w, cmdWin->detail.commandInfo.curLine,
+                 cmdWin->detail.commandInfo.curch);
+          waddch (w, ch);
+        }
+    }
+  
+  if (key_is_command_char (ch))
+    {				/* Handle prev/next/up/down here */
+      ch = tui_dispatch_ctrl_char (ch);
+    }
+  
+  if (ch == '\n' || ch == '\r' || ch == '\f')
+    cmdWin->detail.commandInfo.curch = 0;
+#if 0
+  else
+    tuiIncrCommandCharCountBy (1);
+#endif
+  if (ch == KEY_BACKSPACE)
+    return '\b';
+  
+  return ch;
+}
+
+
+/* Cleanup when a resize has occured.
+   Returns the character that must be processed.  */
+static unsigned int
+_tuiHandleResizeDuringIO (unsigned int originalCh)
+{
+  if (tuiWinResized ())
+    {
+      tuiRefreshAll ();
+      dont_repeat ();
+      tuiSetWinResizedTo (FALSE);
+      return '\n';
+    }
+  else
+    return originalCh;
+}
diff --git a/gdb/tui/tui-io.h b/gdb/tui/tui-io.h
new file mode 100644
index 0000000..06d085d
--- /dev/null
+++ b/gdb/tui/tui-io.h
@@ -0,0 +1,55 @@
+/* TUI support I/O functions.
+
+   Copyright 1998, 1999, 2000, 2001, 2002, 2004 Free Software
+   Foundation, Inc.
+
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef TUI_IO_H
+#define TUI_IO_H
+
+struct ui_out;
+
+/* Print the string in the curses command window.  */
+extern void tui_puts (const char *);
+
+/* Setup the IO for curses or non-curses mode.  */
+extern void tui_setup_io (int mode);
+
+/* Initialize the IO for gdb in curses mode.  */
+extern void tui_initialize_io (void);
+
+/* Get a character from the command window.  */
+extern int tui_getc (FILE *);
+
+/* Readline callback.
+   Redisplay the command line with its prompt after readline has
+   changed the edited text.  */
+extern void tui_redisplay_readline (void);
+
+extern struct ui_out *tui_out;
+extern struct ui_out *tui_old_uiout;
+
+extern int key_is_start_sequence (int ch);
+extern int key_is_end_sequence (int ch);
+extern int key_is_backspace (int ch);
+extern int key_is_command_char (int ch);
+
+#endif
diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c
new file mode 100644
index 0000000..38d8de5
--- /dev/null
+++ b/gdb/tui/tui-layout.c
@@ -0,0 +1,1140 @@
+/* TUI layout window management.
+
+   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
+   Foundation, Inc.
+
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+#include "command.h"
+#include "symtab.h"
+#include "frame.h"
+#include "source.h"
+#include <ctype.h>
+
+#include "tui/tui.h"
+#include "tui/tui-data.h"
+#include "tui/tui-windata.h"
+#include "tui/tui-wingeneral.h"
+#include "tui/tui-stack.h"
+#include "tui/tui-regs.h"
+#include "tui/tui-win.h"
+#include "tui/tui-winsource.h"
+#include "tui/tui-disasm.h"
+
+#ifdef HAVE_NCURSES_H       
+#include <ncurses.h>
+#else
+#ifdef HAVE_CURSES_H
+#include <curses.h>
+#endif
+#endif
+
+/*******************************
+** Static Local Decls
+********************************/
+static void showLayout (TuiLayoutType);
+static void _initGenWinInfo (TuiGenWinInfoPtr, TuiWinType, int, int, int, int);
+static void _initAndMakeWin (Opaque *, TuiWinType, int, int, int, int, int);
+static void _showSourceOrDisassemAndCommand (TuiLayoutType);
+static void _makeSourceOrDisassemWindow (TuiWinInfoPtr *, TuiWinType, int, int);
+static void _makeCommandWindow (TuiWinInfoPtr *, int, int);
+static void _makeSourceWindow (TuiWinInfoPtr *, int, int);
+static void _makeDisassemWindow (TuiWinInfoPtr *, int, int);
+static void _makeDataWindow (TuiWinInfoPtr *, int, int);
+static void _showSourceCommand (void);
+static void _showDisassemCommand (void);
+static void _showSourceDisassemCommand (void);
+static void _showData (TuiLayoutType);
+static TuiLayoutType _nextLayout (void);
+static TuiLayoutType _prevLayout (void);
+static void _tuiLayout_command (char *, int);
+static void _tuiToggleLayout_command (char *, int);
+static void _tuiToggleSplitLayout_command (char *, int);
+static CORE_ADDR _extractDisplayStartAddr (void);
+static void _tuiHandleXDBLayout (TuiLayoutDefPtr);
+
+
+/***************************************
+** DEFINITIONS
+***************************************/
+
+#define LAYOUT_USAGE     "Usage: layout prev | next | <layout_name> \n"
+
+/* Show the screen layout defined.  */
+static void
+showLayout (TuiLayoutType layout)
+{
+  TuiLayoutType curLayout = currentLayout ();
+
+  if (layout != curLayout)
+    {
+      /*
+         ** Since the new layout may cause changes in window size, we
+         ** should free the content and reallocate on next display of
+         ** source/asm
+       */
+      freeAllSourceWinsContent ();
+      clearSourceWindows ();
+      if (layout == SRC_DATA_COMMAND || layout == DISASSEM_DATA_COMMAND)
+	{
+	  _showData (layout);
+	  refreshAll (winList);
+	}
+      else
+	{
+	  /* First make the current layout be invisible */
+	  m_allBeInvisible ();
+	  m_beInvisible (locatorWinInfoPtr ());
+
+	  switch (layout)
+	    {
+	      /* Now show the new layout */
+	    case SRC_COMMAND:
+	      _showSourceCommand ();
+	      addToSourceWindows (srcWin);
+	      break;
+	    case DISASSEM_COMMAND:
+	      _showDisassemCommand ();
+	      addToSourceWindows (disassemWin);
+	      break;
+	    case SRC_DISASSEM_COMMAND:
+	      _showSourceDisassemCommand ();
+	      addToSourceWindows (srcWin);
+	      addToSourceWindows (disassemWin);
+	      break;
+	    default:
+	      break;
+	    }
+	}
+    }
+}
+
+
+/* Function to set the layout to SRC_COMMAND, DISASSEM_COMMAND,
+   SRC_DISASSEM_COMMAND, SRC_DATA_COMMAND, or DISASSEM_DATA_COMMAND.
+   If the layout is SRC_DATA_COMMAND, DISASSEM_DATA_COMMAND, or
+   UNDEFINED_LAYOUT, then the data window is populated according to
+   regsDisplayType.  */
+enum tui_status
+tui_set_layout (enum tui_layout_type layoutType,
+		enum tui_register_display_type regsDisplayType)
+{
+  TuiStatus status = TUI_SUCCESS;
+
+  if (layoutType != UNDEFINED_LAYOUT || regsDisplayType != TUI_UNDEFINED_REGS)
+    {
+      TuiLayoutType curLayout = currentLayout (), newLayout = UNDEFINED_LAYOUT;
+      int regsPopulate = FALSE;
+      CORE_ADDR addr = _extractDisplayStartAddr ();
+      TuiWinInfoPtr newWinWithFocus = (TuiWinInfoPtr) NULL, winWithFocus = tuiWinWithFocus ();
+      TuiLayoutDefPtr layoutDef = tuiLayoutDef ();
+
+
+      if (layoutType == UNDEFINED_LAYOUT &&
+	  regsDisplayType != TUI_UNDEFINED_REGS)
+	{
+	  if (curLayout == SRC_DISASSEM_COMMAND)
+	    newLayout = DISASSEM_DATA_COMMAND;
+	  else if (curLayout == SRC_COMMAND || curLayout == SRC_DATA_COMMAND)
+	    newLayout = SRC_DATA_COMMAND;
+	  else if (curLayout == DISASSEM_COMMAND ||
+		   curLayout == DISASSEM_DATA_COMMAND)
+	    newLayout = DISASSEM_DATA_COMMAND;
+	}
+      else
+	newLayout = layoutType;
+
+      regsPopulate = (newLayout == SRC_DATA_COMMAND ||
+		      newLayout == DISASSEM_DATA_COMMAND ||
+		      regsDisplayType != TUI_UNDEFINED_REGS);
+      if (newLayout != curLayout || regsDisplayType != TUI_UNDEFINED_REGS)
+	{
+	  if (newLayout != curLayout)
+	    {
+	      showLayout (newLayout);
+	      /*
+	         ** Now determine where focus should be
+	       */
+	      if (winWithFocus != cmdWin)
+		{
+		  switch (newLayout)
+		    {
+		    case SRC_COMMAND:
+		      tuiSetWinFocusTo (srcWin);
+		      layoutDef->displayMode = SRC_WIN;
+		      layoutDef->split = FALSE;
+		      break;
+		    case DISASSEM_COMMAND:
+		      /* the previous layout was not showing
+		         ** code. this can happen if there is no
+		         ** source available:
+		         ** 1. if the source file is in another dir OR
+		         ** 2. if target was compiled without -g
+		         ** We still want to show the assembly though!
+		       */
+		      addr = tui_get_begin_asm_address ();
+		      tuiSetWinFocusTo (disassemWin);
+		      layoutDef->displayMode = DISASSEM_WIN;
+		      layoutDef->split = FALSE;
+		      break;
+		    case SRC_DISASSEM_COMMAND:
+		      /* the previous layout was not showing
+		         ** code. this can happen if there is no
+		         ** source available:
+		         ** 1. if the source file is in another dir OR
+		         ** 2. if target was compiled without -g
+		         ** We still want to show the assembly though!
+		       */
+		      addr = tui_get_begin_asm_address ();
+		      if (winWithFocus == srcWin)
+			tuiSetWinFocusTo (srcWin);
+		      else
+			tuiSetWinFocusTo (disassemWin);
+		      layoutDef->split = TRUE;
+		      break;
+		    case SRC_DATA_COMMAND:
+		      if (winWithFocus != dataWin)
+			tuiSetWinFocusTo (srcWin);
+		      else
+			tuiSetWinFocusTo (dataWin);
+		      layoutDef->displayMode = SRC_WIN;
+		      layoutDef->split = FALSE;
+		      break;
+		    case DISASSEM_DATA_COMMAND:
+		      /* the previous layout was not showing
+		         ** code. this can happen if there is no
+		         ** source available:
+		         ** 1. if the source file is in another dir OR
+		         ** 2. if target was compiled without -g
+		         ** We still want to show the assembly though!
+		       */
+		      addr = tui_get_begin_asm_address ();
+		      if (winWithFocus != dataWin)
+			tuiSetWinFocusTo (disassemWin);
+		      else
+			tuiSetWinFocusTo (dataWin);
+		      layoutDef->displayMode = DISASSEM_WIN;
+		      layoutDef->split = FALSE;
+		      break;
+		    default:
+		      break;
+		    }
+		}
+	      if (newWinWithFocus != (TuiWinInfoPtr) NULL)
+		tuiSetWinFocusTo (newWinWithFocus);
+	      /*
+	         ** Now update the window content
+	       */
+	      if (!regsPopulate &&
+		  (newLayout == SRC_DATA_COMMAND ||
+		   newLayout == DISASSEM_DATA_COMMAND))
+		tuiDisplayAllData ();
+
+	      tuiUpdateSourceWindowsWithAddr (addr);
+	    }
+	  if (regsPopulate)
+	    {
+	      layoutDef->regsDisplayType =
+		(regsDisplayType == TUI_UNDEFINED_REGS ?
+		 TUI_GENERAL_REGS : regsDisplayType);
+	      tui_show_registers (layoutDef->regsDisplayType);
+	    }
+	}
+    }
+  else
+    status = TUI_FAILURE;
+
+  return status;
+}
+
+/* Add the specified window to the layout in a logical way.  This
+   means setting up the most logical layout given the window to be
+   added.  */
+void
+tui_add_win_to_layout (enum tui_win_type type)
+{
+  TuiLayoutType curLayout = currentLayout ();
+
+  switch (type)
+    {
+    case SRC_WIN:
+      if (curLayout != SRC_COMMAND &&
+	  curLayout != SRC_DISASSEM_COMMAND &&
+	  curLayout != SRC_DATA_COMMAND)
+	{
+	  clearSourceWindowsDetail ();
+	  if (curLayout == DISASSEM_DATA_COMMAND)
+	    showLayout (SRC_DATA_COMMAND);
+	  else
+	    showLayout (SRC_COMMAND);
+	}
+      break;
+    case DISASSEM_WIN:
+      if (curLayout != DISASSEM_COMMAND &&
+	  curLayout != SRC_DISASSEM_COMMAND &&
+	  curLayout != DISASSEM_DATA_COMMAND)
+	{
+	  clearSourceWindowsDetail ();
+	  if (curLayout == SRC_DATA_COMMAND)
+	    showLayout (DISASSEM_DATA_COMMAND);
+	  else
+	    showLayout (DISASSEM_COMMAND);
+	}
+      break;
+    case DATA_WIN:
+      if (curLayout != SRC_DATA_COMMAND &&
+	  curLayout != DISASSEM_DATA_COMMAND)
+	{
+	  if (curLayout == DISASSEM_COMMAND)
+	    showLayout (DISASSEM_DATA_COMMAND);
+	  else
+	    showLayout (SRC_DATA_COMMAND);
+	}
+      break;
+    default:
+      break;
+    }
+
+  return;
+}				/* tuiAddWinToLayout */
+
+
+/*
+   ** tuiDefaultWinHeight().
+   **        Answer the height of a window.  If it hasn't been created yet,
+   **        answer what the height of a window would be based upon its
+   **        type and the layout.
+ */
+int
+tuiDefaultWinHeight (TuiWinType type, TuiLayoutType layout)
+{
+  int h;
+
+  if (winList[type] != (TuiWinInfoPtr) NULL)
+    h = winList[type]->generic.height;
+  else
+    {
+      switch (layout)
+	{
+	case SRC_COMMAND:
+	case DISASSEM_COMMAND:
+	  if (m_winPtrIsNull (cmdWin))
+	    h = termHeight () / 2;
+	  else
+	    h = termHeight () - cmdWin->generic.height;
+	  break;
+	case SRC_DISASSEM_COMMAND:
+	case SRC_DATA_COMMAND:
+	case DISASSEM_DATA_COMMAND:
+	  if (m_winPtrIsNull (cmdWin))
+	    h = termHeight () / 3;
+	  else
+	    h = (termHeight () - cmdWin->generic.height) / 2;
+	  break;
+	default:
+	  h = 0;
+	  break;
+	}
+    }
+
+  return h;
+}				/* tuiDefaultWinHeight */
+
+
+/* Answer the height of a window.  If it hasn't been created yet,
+   answer what the height of a window would be based upon its type and
+   the layout.  */
+int
+tui_default_win_viewport_height (enum tui_win_type type,
+				 enum tui_layout_type layout)
+{
+  int h;
+
+  h = tuiDefaultWinHeight (type, layout);
+
+  if (winList[type] == cmdWin)
+    h -= 1;
+  else
+    h -= 2;
+
+  return h;
+}				/* tuiDefaultWinViewportHeight */
+
+
+/*
+   ** _initialize_tuiLayout().
+   **        Function to initialize gdb commands, for tui window layout
+   **        manipulation.
+ */
+void
+_initialize_tuiLayout (void)
+{
+  add_com ("layout", class_tui, _tuiLayout_command,
+           "Change the layout of windows.\n\
+Usage: layout prev | next | <layout_name> \n\
+Layout names are:\n\
+   src   : Displays source and command windows.\n\
+   asm   : Displays disassembly and command windows.\n\
+   split : Displays source, disassembly and command windows.\n\
+   regs  : Displays register window. If existing layout\n\
+           is source/command or assembly/command, the \n\
+           register window is displayed. If the\n\
+           source/assembly/command (split) is displayed, \n\
+           the register window is displayed with \n\
+           the window that has current logical focus.\n");
+  if (xdb_commands)
+    {
+      add_com ("td", class_tui, _tuiToggleLayout_command,
+               "Toggle between Source/Command and Disassembly/Command layouts.\n");
+      add_com ("ts", class_tui, _tuiToggleSplitLayout_command,
+               "Toggle between Source/Command or Disassembly/Command and \n\
+Source/Disassembly/Command layouts.\n");
+    }
+}
+
+
+/*************************
+** STATIC LOCAL FUNCTIONS
+**************************/
+
+
+/*
+   ** _tuiSetLayoutTo()
+   **    Function to set the layout to SRC, ASM, SPLIT, NEXT, PREV, DATA, REGS,
+   **        $REGS, $GREGS, $FREGS, $SREGS.
+ */
+TuiStatus
+tui_set_layout_for_display_command (const char *layoutName)
+{
+  TuiStatus status = TUI_SUCCESS;
+
+  if (layoutName != (char *) NULL)
+    {
+      register int i;
+      register char *bufPtr;
+      TuiLayoutType newLayout = UNDEFINED_LAYOUT;
+      TuiRegisterDisplayType dpyType = TUI_UNDEFINED_REGS;
+      TuiLayoutType curLayout = currentLayout ();
+
+      bufPtr = (char *) xstrdup (layoutName);
+      for (i = 0; (i < strlen (layoutName)); i++)
+	bufPtr[i] = toupper (bufPtr[i]);
+
+      /* First check for ambiguous input */
+      if (strlen (bufPtr) <= 1 && (*bufPtr == 'S' || *bufPtr == '$'))
+	{
+	  warning ("Ambiguous command input.\n");
+	  status = TUI_FAILURE;
+	}
+      else
+	{
+	  if (subset_compare (bufPtr, "SRC"))
+	    newLayout = SRC_COMMAND;
+	  else if (subset_compare (bufPtr, "ASM"))
+	    newLayout = DISASSEM_COMMAND;
+	  else if (subset_compare (bufPtr, "SPLIT"))
+	    newLayout = SRC_DISASSEM_COMMAND;
+	  else if (subset_compare (bufPtr, "REGS") ||
+		   subset_compare (bufPtr, TUI_GENERAL_SPECIAL_REGS_NAME) ||
+		   subset_compare (bufPtr, TUI_GENERAL_REGS_NAME) ||
+		   subset_compare (bufPtr, TUI_FLOAT_REGS_NAME) ||
+		   subset_compare (bufPtr, TUI_SPECIAL_REGS_NAME))
+	    {
+	      if (curLayout == SRC_COMMAND || curLayout == SRC_DATA_COMMAND)
+		newLayout = SRC_DATA_COMMAND;
+	      else
+		newLayout = DISASSEM_DATA_COMMAND;
+
+/* could ifdef out the following code. when compile with -z, there are null 
+   pointer references that cause a core dump if 'layout regs' is the first 
+   layout command issued by the user. HP has asked us to hook up this code 
+   - edie epstein
+ */
+	      if (subset_compare (bufPtr, TUI_FLOAT_REGS_NAME))
+		{
+		  if (dataWin->detail.dataDisplayInfo.regsDisplayType !=
+		      TUI_SFLOAT_REGS &&
+		      dataWin->detail.dataDisplayInfo.regsDisplayType !=
+		      TUI_DFLOAT_REGS)
+		    dpyType = TUI_SFLOAT_REGS;
+		  else
+		    dpyType =
+		      dataWin->detail.dataDisplayInfo.regsDisplayType;
+		}
+	      else if (subset_compare (bufPtr,
+				      TUI_GENERAL_SPECIAL_REGS_NAME))
+		dpyType = TUI_GENERAL_AND_SPECIAL_REGS;
+	      else if (subset_compare (bufPtr, TUI_GENERAL_REGS_NAME))
+		dpyType = TUI_GENERAL_REGS;
+	      else if (subset_compare (bufPtr, TUI_SPECIAL_REGS_NAME))
+		dpyType = TUI_SPECIAL_REGS;
+	      else if (dataWin)
+		{
+		  if (dataWin->detail.dataDisplayInfo.regsDisplayType !=
+		      TUI_UNDEFINED_REGS)
+		    dpyType =
+		      dataWin->detail.dataDisplayInfo.regsDisplayType;
+		  else
+		    dpyType = TUI_GENERAL_REGS;
+		}
+
+/* end of potential ifdef 
+ */
+
+/* if ifdefed out code above, then assume that the user wishes to display the 
+   general purpose registers 
+ */
+
+/*              dpyType = TUI_GENERAL_REGS; 
+ */
+	    }
+	  else if (subset_compare (bufPtr, "NEXT"))
+	    newLayout = _nextLayout ();
+	  else if (subset_compare (bufPtr, "PREV"))
+	    newLayout = _prevLayout ();
+	  else
+	    status = TUI_FAILURE;
+	  xfree (bufPtr);
+
+	  tui_set_layout (newLayout, dpyType);
+	}
+    }
+  else
+    status = TUI_FAILURE;
+
+  return status;
+}
+
+
+static CORE_ADDR
+_extractDisplayStartAddr (void)
+{
+  TuiLayoutType curLayout = currentLayout ();
+  CORE_ADDR addr;
+  CORE_ADDR pc;
+  struct symtab_and_line cursal = get_current_source_symtab_and_line ();
+
+  switch (curLayout)
+    {
+    case SRC_COMMAND:
+    case SRC_DATA_COMMAND:
+      find_line_pc (cursal.symtab,
+		    srcWin->detail.sourceInfo.startLineOrAddr.lineNo,
+		    &pc);
+      addr = pc;
+      break;
+    case DISASSEM_COMMAND:
+    case SRC_DISASSEM_COMMAND:
+    case DISASSEM_DATA_COMMAND:
+      addr = disassemWin->detail.sourceInfo.startLineOrAddr.addr;
+      break;
+    default:
+      addr = 0;
+      break;
+    }
+
+  return addr;
+}				/* _extractDisplayStartAddr */
+
+
+static void
+_tuiHandleXDBLayout (TuiLayoutDefPtr layoutDef)
+{
+  if (layoutDef->split)
+    {
+      tui_set_layout (SRC_DISASSEM_COMMAND, TUI_UNDEFINED_REGS);
+      tuiSetWinFocusTo (winList[layoutDef->displayMode]);
+    }
+  else
+    {
+      if (layoutDef->displayMode == SRC_WIN)
+	tui_set_layout (SRC_COMMAND, TUI_UNDEFINED_REGS);
+      else
+	tui_set_layout (DISASSEM_DATA_COMMAND, layoutDef->regsDisplayType);
+    }
+
+
+  return;
+}				/* _tuiHandleXDBLayout */
+
+
+static void
+_tuiToggleLayout_command (char *arg, int fromTTY)
+{
+  TuiLayoutDefPtr layoutDef = tuiLayoutDef ();
+
+  /* Make sure the curses mode is enabled.  */
+  tui_enable ();
+  if (layoutDef->displayMode == SRC_WIN)
+    layoutDef->displayMode = DISASSEM_WIN;
+  else
+    layoutDef->displayMode = SRC_WIN;
+
+  if (!layoutDef->split)
+    _tuiHandleXDBLayout (layoutDef);
+
+}
+
+
+static void
+_tuiToggleSplitLayout_command (char *arg, int fromTTY)
+{
+  TuiLayoutDefPtr layoutDef = tuiLayoutDef ();
+
+  /* Make sure the curses mode is enabled.  */
+  tui_enable ();
+  layoutDef->split = (!layoutDef->split);
+  _tuiHandleXDBLayout (layoutDef);
+
+}
+
+
+static void
+_tuiLayout_command (char *arg, int fromTTY)
+{
+  /* Make sure the curses mode is enabled.  */
+  tui_enable ();
+
+  /* Switch to the selected layout.  */
+  if (tui_set_layout_for_display_command (arg) != TUI_SUCCESS)
+    warning ("Invalid layout specified.\n%s", LAYOUT_USAGE);
+
+}
+
+/*
+   ** _nextLayout().
+   **        Answer the previous layout to cycle to.
+ */
+static TuiLayoutType
+_nextLayout (void)
+{
+  TuiLayoutType newLayout;
+
+  newLayout = currentLayout ();
+  if (newLayout == UNDEFINED_LAYOUT)
+    newLayout = SRC_COMMAND;
+  else
+    {
+      newLayout++;
+      if (newLayout == UNDEFINED_LAYOUT)
+	newLayout = SRC_COMMAND;
+    }
+
+  return newLayout;
+}				/* _nextLayout */
+
+
+/*
+   ** _prevLayout().
+   **        Answer the next layout to cycle to.
+ */
+static TuiLayoutType
+_prevLayout (void)
+{
+  TuiLayoutType newLayout;
+
+  newLayout = currentLayout ();
+  if (newLayout == SRC_COMMAND)
+    newLayout = DISASSEM_DATA_COMMAND;
+  else
+    {
+      newLayout--;
+      if (newLayout == UNDEFINED_LAYOUT)
+	newLayout = DISASSEM_DATA_COMMAND;
+    }
+
+  return newLayout;
+}				/* _prevLayout */
+
+
+
+/*
+   ** _makeCommandWindow().
+ */
+static void
+_makeCommandWindow (TuiWinInfoPtr * winInfoPtr, int height, int originY)
+{
+  _initAndMakeWin ((Opaque *) winInfoPtr,
+		   CMD_WIN,
+		   height,
+		   termWidth (),
+		   0,
+		   originY,
+		   DONT_BOX_WINDOW);
+
+  (*winInfoPtr)->canHighlight = FALSE;
+
+  return;
+}				/* _makeCommandWindow */
+
+
+/*
+   ** _makeSourceWindow().
+ */
+static void
+_makeSourceWindow (TuiWinInfoPtr * winInfoPtr, int height, int originY)
+{
+  _makeSourceOrDisassemWindow (winInfoPtr, SRC_WIN, height, originY);
+
+  return;
+}				/* _makeSourceWindow */
+
+
+/*
+   ** _makeDisassemWindow().
+ */
+static void
+_makeDisassemWindow (TuiWinInfoPtr * winInfoPtr, int height, int originY)
+{
+  _makeSourceOrDisassemWindow (winInfoPtr, DISASSEM_WIN, height, originY);
+
+  return;
+}				/* _makeDisassemWindow */
+
+
+/*
+   ** _makeDataWindow().
+ */
+static void
+_makeDataWindow (TuiWinInfoPtr * winInfoPtr, int height, int originY)
+{
+  _initAndMakeWin ((Opaque *) winInfoPtr,
+		   DATA_WIN,
+		   height,
+		   termWidth (),
+		   0,
+		   originY,
+		   BOX_WINDOW);
+
+  return;
+}				/* _makeDataWindow */
+
+
+
+/*
+   **    _showSourceCommand().
+   **        Show the Source/Command layout
+ */
+static void
+_showSourceCommand (void)
+{
+  _showSourceOrDisassemAndCommand (SRC_COMMAND);
+
+  return;
+}				/* _showSourceCommand */
+
+
+/*
+   **    _showDisassemCommand().
+   **        Show the Dissassem/Command layout
+ */
+static void
+_showDisassemCommand (void)
+{
+  _showSourceOrDisassemAndCommand (DISASSEM_COMMAND);
+
+  return;
+}				/* _showDisassemCommand */
+
+
+/*
+   **    _showSourceDisassemCommand().
+   **        Show the Source/Disassem/Command layout
+ */
+static void
+_showSourceDisassemCommand (void)
+{
+  if (currentLayout () != SRC_DISASSEM_COMMAND)
+    {
+      int cmdHeight, srcHeight, asmHeight;
+
+      if (m_winPtrNotNull (cmdWin))
+	cmdHeight = cmdWin->generic.height;
+      else
+	cmdHeight = termHeight () / 3;
+
+      srcHeight = (termHeight () - cmdHeight) / 2;
+      asmHeight = termHeight () - (srcHeight + cmdHeight);
+
+      if (m_winPtrIsNull (srcWin))
+	_makeSourceWindow (&srcWin, srcHeight, 0);
+      else
+	{
+	  _initGenWinInfo (&srcWin->generic,
+			   srcWin->generic.type,
+			   srcHeight,
+			   srcWin->generic.width,
+			   srcWin->detail.sourceInfo.executionInfo->width,
+			   0);
+	  srcWin->canHighlight = TRUE;
+	  _initGenWinInfo (srcWin->detail.sourceInfo.executionInfo,
+			   EXEC_INFO_WIN,
+			   srcHeight,
+			   3,
+			   0,
+			   0);
+	  m_beVisible (srcWin);
+	  m_beVisible (srcWin->detail.sourceInfo.executionInfo);
+	  srcWin->detail.sourceInfo.hasLocator = FALSE;;
+	}
+      if (m_winPtrNotNull (srcWin))
+	{
+	  TuiGenWinInfoPtr locator = locatorWinInfoPtr ();
+
+	  tuiShowSourceContent (srcWin);
+	  if (m_winPtrIsNull (disassemWin))
+	    {
+	      _makeDisassemWindow (&disassemWin, asmHeight, srcHeight - 1);
+	      _initAndMakeWin ((Opaque *) & locator,
+			       LOCATOR_WIN,
+			       2 /* 1 */ ,
+			       termWidth (),
+			       0,
+			       (srcHeight + asmHeight) - 1,
+			       DONT_BOX_WINDOW);
+	    }
+	  else
+	    {
+	      _initGenWinInfo (locator,
+			       LOCATOR_WIN,
+			       2 /* 1 */ ,
+			       termWidth (),
+			       0,
+			       (srcHeight + asmHeight) - 1);
+	      disassemWin->detail.sourceInfo.hasLocator = TRUE;
+	      _initGenWinInfo (
+				&disassemWin->generic,
+				disassemWin->generic.type,
+				asmHeight,
+				disassemWin->generic.width,
+			disassemWin->detail.sourceInfo.executionInfo->width,
+				srcHeight - 1);
+	      _initGenWinInfo (disassemWin->detail.sourceInfo.executionInfo,
+			       EXEC_INFO_WIN,
+			       asmHeight,
+			       3,
+			       0,
+			       srcHeight - 1);
+	      disassemWin->canHighlight = TRUE;
+	      m_beVisible (disassemWin);
+	      m_beVisible (disassemWin->detail.sourceInfo.executionInfo);
+	    }
+	  if (m_winPtrNotNull (disassemWin))
+	    {
+	      srcWin->detail.sourceInfo.hasLocator = FALSE;
+	      disassemWin->detail.sourceInfo.hasLocator = TRUE;
+	      m_beVisible (locator);
+	      tuiShowLocatorContent ();
+	      tuiShowSourceContent (disassemWin);
+
+	      if (m_winPtrIsNull (cmdWin))
+		_makeCommandWindow (&cmdWin,
+				    cmdHeight,
+				    termHeight () - cmdHeight);
+	      else
+		{
+		  _initGenWinInfo (&cmdWin->generic,
+				   cmdWin->generic.type,
+				   cmdWin->generic.height,
+				   cmdWin->generic.width,
+				   0,
+				   cmdWin->generic.origin.y);
+		  cmdWin->canHighlight = FALSE;
+		  m_beVisible (cmdWin);
+		}
+	      if (m_winPtrNotNull (cmdWin))
+		tuiRefreshWin (&cmdWin->generic);
+	    }
+	}
+      setCurrentLayoutTo (SRC_DISASSEM_COMMAND);
+    }
+
+  return;
+}				/* _showSourceDisassemCommand */
+
+
+/*
+   **    _showData().
+   **        Show the Source/Data/Command or the Dissassembly/Data/Command layout
+ */
+static void
+_showData (TuiLayoutType newLayout)
+{
+  int totalHeight = (termHeight () - cmdWin->generic.height);
+  int srcHeight, dataHeight;
+  TuiWinType winType;
+  TuiGenWinInfoPtr locator = locatorWinInfoPtr ();
+
+
+  dataHeight = totalHeight / 2;
+  srcHeight = totalHeight - dataHeight;
+  m_allBeInvisible ();
+  m_beInvisible (locator);
+  _makeDataWindow (&dataWin, dataHeight, 0);
+  dataWin->canHighlight = TRUE;
+  if (newLayout == SRC_DATA_COMMAND)
+    winType = SRC_WIN;
+  else
+    winType = DISASSEM_WIN;
+  if (m_winPtrIsNull (winList[winType]))
+    {
+      if (winType == SRC_WIN)
+	_makeSourceWindow (&winList[winType], srcHeight, dataHeight - 1);
+      else
+	_makeDisassemWindow (&winList[winType], srcHeight, dataHeight - 1);
+      _initAndMakeWin ((Opaque *) & locator,
+		       LOCATOR_WIN,
+		       2 /* 1 */ ,
+		       termWidth (),
+		       0,
+		       totalHeight - 1,
+		       DONT_BOX_WINDOW);
+    }
+  else
+    {
+      _initGenWinInfo (&winList[winType]->generic,
+		       winList[winType]->generic.type,
+		       srcHeight,
+		       winList[winType]->generic.width,
+		   winList[winType]->detail.sourceInfo.executionInfo->width,
+		       dataHeight - 1);
+      _initGenWinInfo (winList[winType]->detail.sourceInfo.executionInfo,
+		       EXEC_INFO_WIN,
+		       srcHeight,
+		       3,
+		       0,
+		       dataHeight - 1);
+      m_beVisible (winList[winType]);
+      m_beVisible (winList[winType]->detail.sourceInfo.executionInfo);
+      _initGenWinInfo (locator,
+		       LOCATOR_WIN,
+		       2 /* 1 */ ,
+		       termWidth (),
+		       0,
+		       totalHeight - 1);
+    }
+  winList[winType]->detail.sourceInfo.hasLocator = TRUE;
+  m_beVisible (locator);
+  tuiShowLocatorContent ();
+  addToSourceWindows (winList[winType]);
+  setCurrentLayoutTo (newLayout);
+
+  return;
+}				/* _showData */
+
+/*
+   ** _initGenWinInfo().
+ */
+static void
+_initGenWinInfo (TuiGenWinInfoPtr winInfo, TuiWinType type,
+                 int height, int width, int originX, int originY)
+{
+  int h = height;
+
+  winInfo->type = type;
+  winInfo->width = width;
+  winInfo->height = h;
+  if (h > 1)
+    {
+      winInfo->viewportHeight = h - 1;
+      if (winInfo->type != CMD_WIN)
+	winInfo->viewportHeight--;
+    }
+  else
+    winInfo->viewportHeight = 1;
+  winInfo->origin.x = originX;
+  winInfo->origin.y = originY;
+
+  return;
+}				/* _initGenWinInfo */
+
+/*
+   ** _initAndMakeWin().
+ */
+static void
+_initAndMakeWin (Opaque * winInfoPtr, TuiWinType winType,
+                 int height, int width, int originX, int originY, int boxIt)
+{
+  Opaque opaqueWinInfo = *winInfoPtr;
+  TuiGenWinInfoPtr generic;
+
+  if (opaqueWinInfo == (Opaque) NULL)
+    {
+      if (m_winIsAuxillary (winType))
+	opaqueWinInfo = (Opaque) allocGenericWinInfo ();
+      else
+	opaqueWinInfo = (Opaque) allocWinInfo (winType);
+    }
+  if (m_winIsAuxillary (winType))
+    generic = (TuiGenWinInfoPtr) opaqueWinInfo;
+  else
+    generic = &((TuiWinInfoPtr) opaqueWinInfo)->generic;
+
+  if (opaqueWinInfo != (Opaque) NULL)
+    {
+      _initGenWinInfo (generic, winType, height, width, originX, originY);
+      if (!m_winIsAuxillary (winType))
+	{
+	  if (generic->type == CMD_WIN)
+	    ((TuiWinInfoPtr) opaqueWinInfo)->canHighlight = FALSE;
+	  else
+	    ((TuiWinInfoPtr) opaqueWinInfo)->canHighlight = TRUE;
+	}
+      makeWindow (generic, boxIt);
+    }
+  *winInfoPtr = opaqueWinInfo;
+}
+
+
+/*
+   ** _makeSourceOrDisassemWindow().
+ */
+static void
+_makeSourceOrDisassemWindow (TuiWinInfoPtr * winInfoPtr, TuiWinType type,
+                             int height, int originY)
+{
+  TuiGenWinInfoPtr executionInfo = (TuiGenWinInfoPtr) NULL;
+
+  /*
+     ** Create the exeuction info window.
+   */
+  if (type == SRC_WIN)
+    executionInfo = sourceExecInfoWinPtr ();
+  else
+    executionInfo = disassemExecInfoWinPtr ();
+  _initAndMakeWin ((Opaque *) & executionInfo,
+		   EXEC_INFO_WIN,
+		   height,
+		   3,
+		   0,
+		   originY,
+		   DONT_BOX_WINDOW);
+  /*
+     ** Now create the source window.
+   */
+  _initAndMakeWin ((Opaque *) winInfoPtr,
+		   type,
+		   height,
+		   termWidth () - executionInfo->width,
+		   executionInfo->width,
+		   originY,
+		   BOX_WINDOW);
+
+  (*winInfoPtr)->detail.sourceInfo.executionInfo = executionInfo;
+
+  return;
+}				/* _makeSourceOrDisassemWindow */
+
+
+/*
+   **    _showSourceOrDisassemAndCommand().
+   **        Show the Source/Command or the Disassem layout
+ */
+static void
+_showSourceOrDisassemAndCommand (TuiLayoutType layoutType)
+{
+  if (currentLayout () != layoutType)
+    {
+      TuiWinInfoPtr *winInfoPtr;
+      int srcHeight, cmdHeight;
+      TuiGenWinInfoPtr locator = locatorWinInfoPtr ();
+
+      if (m_winPtrNotNull (cmdWin))
+	cmdHeight = cmdWin->generic.height;
+      else
+	cmdHeight = termHeight () / 3;
+      srcHeight = termHeight () - cmdHeight;
+
+
+      if (layoutType == SRC_COMMAND)
+	winInfoPtr = &srcWin;
+      else
+	winInfoPtr = &disassemWin;
+
+      if (m_winPtrIsNull (*winInfoPtr))
+	{
+	  if (layoutType == SRC_COMMAND)
+	    _makeSourceWindow (winInfoPtr, srcHeight - 1, 0);
+	  else
+	    _makeDisassemWindow (winInfoPtr, srcHeight - 1, 0);
+	  _initAndMakeWin ((Opaque *) & locator,
+			   LOCATOR_WIN,
+			   2 /* 1 */ ,
+			   termWidth (),
+			   0,
+			   srcHeight - 1,
+			   DONT_BOX_WINDOW);
+	}
+      else
+	{
+	  _initGenWinInfo (locator,
+			   LOCATOR_WIN,
+			   2 /* 1 */ ,
+			   termWidth (),
+			   0,
+			   srcHeight - 1);
+	  (*winInfoPtr)->detail.sourceInfo.hasLocator = TRUE;
+	  _initGenWinInfo (
+			    &(*winInfoPtr)->generic,
+			    (*winInfoPtr)->generic.type,
+			    srcHeight - 1,
+			    (*winInfoPtr)->generic.width,
+		      (*winInfoPtr)->detail.sourceInfo.executionInfo->width,
+			    0);
+	  _initGenWinInfo ((*winInfoPtr)->detail.sourceInfo.executionInfo,
+			   EXEC_INFO_WIN,
+			   srcHeight - 1,
+			   3,
+			   0,
+			   0);
+	  (*winInfoPtr)->canHighlight = TRUE;
+	  m_beVisible (*winInfoPtr);
+	  m_beVisible ((*winInfoPtr)->detail.sourceInfo.executionInfo);
+	}
+      if (m_winPtrNotNull (*winInfoPtr))
+	{
+	  (*winInfoPtr)->detail.sourceInfo.hasLocator = TRUE;
+	  m_beVisible (locator);
+	  tuiShowLocatorContent ();
+	  tuiShowSourceContent (*winInfoPtr);
+
+	  if (m_winPtrIsNull (cmdWin))
+	    {
+	      _makeCommandWindow (&cmdWin, cmdHeight, srcHeight);
+	      tuiRefreshWin (&cmdWin->generic);
+	    }
+	  else
+	    {
+	      _initGenWinInfo (&cmdWin->generic,
+			       cmdWin->generic.type,
+			       cmdWin->generic.height,
+			       cmdWin->generic.width,
+			       cmdWin->generic.origin.x,
+			       cmdWin->generic.origin.y);
+	      cmdWin->canHighlight = FALSE;
+	      m_beVisible (cmdWin);
+	    }
+	}
+      setCurrentLayoutTo (layoutType);
+    }
+
+  return;
+}				/* _showSourceOrDisassemAndCommand */
diff --git a/gdb/tui/tui-layout.h b/gdb/tui/tui-layout.h
new file mode 100644
index 0000000..5df1f0b
--- /dev/null
+++ b/gdb/tui/tui-layout.h
@@ -0,0 +1,38 @@
+/* TUI layout window management.
+
+   Copyright 1998, 1999, 2000, 2001, 2002, 2004 Free Software
+   Foundation, Inc.
+
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef TUI_LAYOUT_H
+#define TUI_LAYOUT_H
+
+#include "tui/tui.h"
+#include "tui/tui-data.h"
+
+extern void tui_add_win_to_layout (enum tui_win_type);
+extern int tui_default_win_height (enum tui_win_type, enum tui_layout_type);
+extern int tui_default_win_viewport_height (enum tui_win_type,
+					    enum tui_layout_type);
+extern enum tui_status tui_set_layout (enum tui_layout_type,
+				       enum tui_register_display_type);
+
+#endif /*TUI_LAYOUT_H */
diff --git a/gdb/tui/tui-regs.c b/gdb/tui/tui-regs.c
new file mode 100644
index 0000000..68520b9
--- /dev/null
+++ b/gdb/tui/tui-regs.c
@@ -0,0 +1,1023 @@
+/* TUI display registers in window.
+
+   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
+   Foundation, Inc.
+
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+#include "tui/tui.h"
+#include "tui/tui-data.h"
+#include "symtab.h"
+#include "gdbtypes.h"
+#include "gdbcmd.h"
+#include "frame.h"
+#include "regcache.h"
+#include "inferior.h"
+#include "target.h"
+#include "tui/tui-layout.h"
+#include "tui/tui-win.h"
+#include "tui/tui-windata.h"
+#include "tui/tui-wingeneral.h"
+#include "tui/tui-file.h"
+
+#ifdef HAVE_NCURSES_H       
+#include <ncurses.h>
+#else
+#ifdef HAVE_CURSES_H
+#include <curses.h>
+#endif
+#endif
+
+/*****************************************
+** LOCAL DEFINITIONS                    **
+******************************************/
+#define DOUBLE_FLOAT_LABEL_WIDTH    6
+#define DOUBLE_FLOAT_LABEL_FMT      "%6.6s: "
+#define DOUBLE_FLOAT_VALUE_WIDTH    30	/*min of 16 but may be in sci notation */
+
+#define SINGLE_FLOAT_LABEL_WIDTH    6
+#define SINGLE_FLOAT_LABEL_FMT      "%6.6s: "
+#define SINGLE_FLOAT_VALUE_WIDTH    25	/* min of 8 but may be in sci notation */
+
+#define SINGLE_LABEL_WIDTH    16
+#define SINGLE_LABEL_FMT      "%10.10s: "
+#define SINGLE_VALUE_WIDTH    20 /* minimum of 8 but may be in sci notation */
+
+/* In the code HP gave Cygnus, this was actually a function call to a
+   PA-specific function, which was supposed to determine whether the
+   target was a 64-bit or 32-bit processor.  However, the 64-bit
+   support wasn't complete, so we didn't merge that in, so we leave
+   this here as a stub.  */
+#define IS_64BIT 0
+
+/*****************************************
+** STATIC DATA                          **
+******************************************/
+
+
+/*****************************************
+** STATIC LOCAL FUNCTIONS FORWARD DECLS    **
+******************************************/
+static TuiStatus _tuiSetRegsContent
+  (int, int, struct frame_info *, TuiRegisterDisplayType, int);
+static const char *_tuiRegisterName (int);
+static TuiStatus _tuiGetRegisterRawValue (int, char *, struct frame_info *);
+static void _tuiSetRegisterElement
+  (int, struct frame_info *, TuiDataElementPtr, int);
+static void _tuiDisplayRegister (int, TuiGenWinInfoPtr, enum precision_type);
+static void _tuiRegisterFormat
+  (char *, int, int, TuiDataElementPtr, enum precision_type);
+static TuiStatus _tuiSetGeneralRegsContent (int);
+static TuiStatus _tuiSetSpecialRegsContent (int);
+static TuiStatus _tuiSetGeneralAndSpecialRegsContent (int);
+static TuiStatus _tuiSetFloatRegsContent (TuiRegisterDisplayType, int);
+static int _tuiRegValueHasChanged
+  (TuiDataElementPtr, struct frame_info *, char *);
+static void _tuiShowFloat_command (char *, int);
+static void _tuiShowGeneral_command (char *, int);
+static void _tuiShowSpecial_command (char *, int);
+static void _tui_vShowRegisters_commandSupport (TuiRegisterDisplayType);
+static void _tuiToggleFloatRegs_command (char *, int);
+static void _tuiScrollRegsForward_command (char *, int);
+static void _tuiScrollRegsBackward_command (char *, int);
+
+
+
+/*****************************************
+** PUBLIC FUNCTIONS                     **
+******************************************/
+
+/* Answer the number of the last line in the regs display.  If there
+   are no registers (-1) is returned.  */
+int
+tui_last_regs_line_no (void)
+{
+  register int numLines = (-1);
+
+  if (dataWin->detail.dataDisplayInfo.regsContentCount > 0)
+    {
+      numLines = (dataWin->detail.dataDisplayInfo.regsContentCount /
+		  dataWin->detail.dataDisplayInfo.regsColumnCount);
+      if (dataWin->detail.dataDisplayInfo.regsContentCount %
+	  dataWin->detail.dataDisplayInfo.regsColumnCount)
+	numLines++;
+    }
+  return numLines;
+}
+
+
+/* Answer the line number that the register element at elementNo is
+   on.  If elementNo is greater than the number of register elements
+   there are, -1 is returned.  */
+int
+tui_line_from_reg_element_no (int elementNo)
+{
+  if (elementNo < dataWin->detail.dataDisplayInfo.regsContentCount)
+    {
+      int i, line = (-1);
+
+      i = 1;
+      while (line == (-1))
+	{
+	  if (elementNo <
+	      (dataWin->detail.dataDisplayInfo.regsColumnCount * i))
+	    line = i - 1;
+	  else
+	    i++;
+	}
+
+      return line;
+    }
+  else
+    return (-1);
+}
+
+
+/* Answer the index of the first element in lineNo.  If lineNo is past
+   the register area (-1) is returned.  */
+int
+tui_first_reg_element_no_inline (int lineNo)
+{
+  if ((lineNo * dataWin->detail.dataDisplayInfo.regsColumnCount)
+      <= dataWin->detail.dataDisplayInfo.regsContentCount)
+    return ((lineNo + 1) *
+	    dataWin->detail.dataDisplayInfo.regsColumnCount) -
+      dataWin->detail.dataDisplayInfo.regsColumnCount;
+  else
+    return (-1);
+}
+
+
+/*
+   ** tuiLastRegElementNoInLine()
+   **        Answer the index of the last element in lineNo.  If lineNo is past
+   **        the register area (-1) is returned.
+ */
+int
+tuiLastRegElementNoInLine (int lineNo)
+{
+  if ((lineNo * dataWin->detail.dataDisplayInfo.regsColumnCount) <=
+      dataWin->detail.dataDisplayInfo.regsContentCount)
+    return ((lineNo + 1) *
+	    dataWin->detail.dataDisplayInfo.regsColumnCount) - 1;
+  else
+    return (-1);
+}				/* tuiLastRegElementNoInLine */
+
+
+/* Calculate the number of columns that should be used to display the
+   registers.  */
+int
+tui_calculate_regs_column_count (TuiRegisterDisplayType dpyType)
+{
+  int colCount, colWidth;
+
+  if (IS_64BIT || dpyType == TUI_DFLOAT_REGS)
+    colWidth = DOUBLE_FLOAT_VALUE_WIDTH + DOUBLE_FLOAT_LABEL_WIDTH;
+  else
+    {
+      if (dpyType == TUI_SFLOAT_REGS)
+	colWidth = SINGLE_FLOAT_VALUE_WIDTH + SINGLE_FLOAT_LABEL_WIDTH;
+      else
+	colWidth = SINGLE_VALUE_WIDTH + SINGLE_LABEL_WIDTH;
+    }
+  colCount = (dataWin->generic.width - 2) / colWidth;
+
+  return colCount;
+}				/* tuiCalulateRegsColumnCount */
+
+
+/* Show the registers int the data window as indicated by dpyType.  If
+   there is any other registers being displayed, then they are
+   cleared.  What registers are displayed is dependent upon dpyType.  */
+void
+tui_show_registers (TuiRegisterDisplayType dpyType)
+{
+  TuiStatus ret = TUI_FAILURE;
+  int refreshValuesOnly = FALSE;
+
+  /* Say that registers should be displayed, even if there is a problem */
+  dataWin->detail.dataDisplayInfo.displayRegs = TRUE;
+
+  if (target_has_registers)
+    {
+      refreshValuesOnly =
+	(dpyType == dataWin->detail.dataDisplayInfo.regsDisplayType);
+      switch (dpyType)
+	{
+	case TUI_GENERAL_REGS:
+	  ret = _tuiSetGeneralRegsContent (refreshValuesOnly);
+	  break;
+	case TUI_SFLOAT_REGS:
+	case TUI_DFLOAT_REGS:
+	  ret = _tuiSetFloatRegsContent (dpyType, refreshValuesOnly);
+	  break;
+
+/* could ifdef out */
+
+	case TUI_SPECIAL_REGS:
+	  ret = _tuiSetSpecialRegsContent (refreshValuesOnly);
+	  break;
+	case TUI_GENERAL_AND_SPECIAL_REGS:
+	  ret = _tuiSetGeneralAndSpecialRegsContent (refreshValuesOnly);
+	  break;
+
+/* end of potential if def */
+
+	default:
+	  break;
+	}
+    }
+  if (ret == TUI_FAILURE)
+    {
+      dataWin->detail.dataDisplayInfo.regsDisplayType = TUI_UNDEFINED_REGS;
+      tuiEraseDataContent (NO_REGS_STRING);
+    }
+  else
+    {
+      int i;
+
+      /* Clear all notation of changed values */
+      for (i = 0; (i < dataWin->detail.dataDisplayInfo.regsContentCount); i++)
+	{
+	  TuiGenWinInfoPtr dataItemWin;
+
+	  dataItemWin = &dataWin->detail.dataDisplayInfo.
+	    regsContent[i]->whichElement.dataWindow;
+	  (&((TuiWinElementPtr)
+	     dataItemWin->content[0])->whichElement.data)->highlight = FALSE;
+	}
+      dataWin->detail.dataDisplayInfo.regsDisplayType = dpyType;
+      tuiDisplayAllData ();
+    }
+  (tuiLayoutDef ())->regsDisplayType = dpyType;
+
+  return;
+}
+
+
+/* Function to display the registers in the content from
+   'startElementNo' until the end of the register content or the end
+   of the display height.  No checking for displaying past the end of
+   the registers is done here.  */
+void
+tui_display_registers_from (int startElementNo)
+{
+  if (dataWin->detail.dataDisplayInfo.regsContent != (TuiWinContent) NULL &&
+      dataWin->detail.dataDisplayInfo.regsContentCount > 0)
+    {
+      register int i = startElementNo;
+      int j, valueCharsWide, itemWinWidth, curY, labelWidth;
+      enum precision_type precision;
+
+      precision = (dataWin->detail.dataDisplayInfo.regsDisplayType
+		   == TUI_DFLOAT_REGS) ?
+	double_precision : unspecified_precision;
+      if (IS_64BIT ||
+	  dataWin->detail.dataDisplayInfo.regsDisplayType == TUI_DFLOAT_REGS)
+	{
+	  valueCharsWide = DOUBLE_FLOAT_VALUE_WIDTH;
+	  labelWidth = DOUBLE_FLOAT_LABEL_WIDTH;
+	}
+      else
+	{
+	  if (dataWin->detail.dataDisplayInfo.regsDisplayType ==
+	      TUI_SFLOAT_REGS)
+	    {
+	      valueCharsWide = SINGLE_FLOAT_VALUE_WIDTH;
+	      labelWidth = SINGLE_FLOAT_LABEL_WIDTH;
+	    }
+	  else
+	    {
+	      valueCharsWide = SINGLE_VALUE_WIDTH;
+	      labelWidth = SINGLE_LABEL_WIDTH;
+	    }
+	}
+      itemWinWidth = valueCharsWide + labelWidth;
+      /*
+         ** Now create each data "sub" window, and write the display into it.
+       */
+      curY = 1;
+      while (i < dataWin->detail.dataDisplayInfo.regsContentCount &&
+	     curY <= dataWin->generic.viewportHeight)
+	{
+	  for (j = 0;
+	       (j < dataWin->detail.dataDisplayInfo.regsColumnCount &&
+		i < dataWin->detail.dataDisplayInfo.regsContentCount); j++)
+	    {
+	      TuiGenWinInfoPtr dataItemWin;
+	      TuiDataElementPtr dataElementPtr;
+
+	      /* create the window if necessary */
+	      dataItemWin = &dataWin->detail.dataDisplayInfo.
+		regsContent[i]->whichElement.dataWindow;
+	      dataElementPtr = &((TuiWinElementPtr)
+				 dataItemWin->content[0])->whichElement.data;
+	      if (dataItemWin->handle == (WINDOW *) NULL)
+		{
+		  dataItemWin->height = 1;
+		  dataItemWin->width = (precision == double_precision) ?
+		    itemWinWidth + 2 : itemWinWidth + 1;
+		  dataItemWin->origin.x = (itemWinWidth * j) + 1;
+		  dataItemWin->origin.y = curY;
+		  makeWindow (dataItemWin, DONT_BOX_WINDOW);
+                  scrollok (dataItemWin->handle, FALSE);
+		}
+              touchwin (dataItemWin->handle);
+
+	      /*
+	         ** Get the printable representation of the register
+	         ** and display it
+	       */
+	      _tuiDisplayRegister (
+			    dataElementPtr->itemNo, dataItemWin, precision);
+	      i++;		/* next register */
+	    }
+	  curY++;		/* next row; */
+	}
+    }
+
+  return;
+}
+
+
+/*
+   ** tuiDisplayRegElementAtLine().
+   **        Function to display the registers in the content from
+   **        'startElementNo' on 'startLineNo' until the end of the
+   **        register content or the end of the display height.
+   **        This function checks that we won't display off the end
+   **        of the register display.
+ */
+void
+tuiDisplayRegElementAtLine (int startElementNo, int startLineNo)
+{
+  if (dataWin->detail.dataDisplayInfo.regsContent != (TuiWinContent) NULL &&
+      dataWin->detail.dataDisplayInfo.regsContentCount > 0)
+    {
+      register int elementNo = startElementNo;
+
+      if (startElementNo != 0 && startLineNo != 0)
+	{
+	  register int lastLineNo, firstLineOnLastPage;
+
+	  lastLineNo = tui_last_regs_line_no ();
+	  firstLineOnLastPage = lastLineNo - (dataWin->generic.height - 2);
+	  if (firstLineOnLastPage < 0)
+	    firstLineOnLastPage = 0;
+	  /*
+	     ** If there is no other data displayed except registers,
+	     ** and the elementNo causes us to scroll past the end of the
+	     ** registers, adjust what element to really start the display at.
+	   */
+	  if (dataWin->detail.dataDisplayInfo.dataContentCount <= 0 &&
+	      startLineNo > firstLineOnLastPage)
+	    elementNo = tui_first_reg_element_no_inline (firstLineOnLastPage);
+	}
+      tui_display_registers_from (elementNo);
+    }
+
+  return;
+}				/* tuiDisplayRegElementAtLine */
+
+
+
+/* Function to display the registers starting at line lineNo in the
+   data window.  Answers the line number that the display actually
+   started from.  If nothing is displayed (-1) is returned.  */
+int
+tui_display_registers_from_line (int lineNo, int forceDisplay)
+{
+  if (dataWin->detail.dataDisplayInfo.regsContentCount > 0)
+    {
+      int line, elementNo;
+
+      if (lineNo < 0)
+	line = 0;
+      else if (forceDisplay)
+	{			/*
+				   ** If we must display regs (forceDisplay is true), then make
+				   ** sure that we don't display off the end of the registers.
+				 */
+	  if (lineNo >= tui_last_regs_line_no ())
+	    {
+	      if ((line = tui_line_from_reg_element_no (
+		 dataWin->detail.dataDisplayInfo.regsContentCount - 1)) < 0)
+		line = 0;
+	    }
+	  else
+	    line = lineNo;
+	}
+      else
+	line = lineNo;
+
+      elementNo = tui_first_reg_element_no_inline (line);
+      if (elementNo < dataWin->detail.dataDisplayInfo.regsContentCount)
+	tuiDisplayRegElementAtLine (elementNo, line);
+      else
+	line = (-1);
+
+      return line;
+    }
+
+  return (-1);			/* nothing was displayed */
+}
+
+
+/* This function check all displayed registers for changes in values,
+   given a particular frame.  If the values have changed, they are
+   updated with the new value and highlighted.  */
+void
+tui_check_register_values (struct frame_info *frame)
+{
+  if (m_winPtrNotNull (dataWin) && dataWin->generic.isVisible)
+    {
+      if (dataWin->detail.dataDisplayInfo.regsContentCount <= 0 &&
+	  dataWin->detail.dataDisplayInfo.displayRegs)
+	tui_show_registers ((tuiLayoutDef ())->regsDisplayType);
+      else
+	{
+	  int i, j;
+	  char rawBuf[MAX_REGISTER_SIZE];
+
+	  for (i = 0;
+	       (i < dataWin->detail.dataDisplayInfo.regsContentCount); i++)
+	    {
+	      TuiDataElementPtr dataElementPtr;
+	      TuiGenWinInfoPtr dataItemWinPtr;
+	      int wasHilighted;
+
+	      dataItemWinPtr = &dataWin->detail.dataDisplayInfo.
+		regsContent[i]->whichElement.dataWindow;
+	      dataElementPtr = &((TuiWinElementPtr)
+			     dataItemWinPtr->content[0])->whichElement.data;
+	      wasHilighted = dataElementPtr->highlight;
+	      dataElementPtr->highlight =
+		_tuiRegValueHasChanged (dataElementPtr, frame, &rawBuf[0]);
+	      if (dataElementPtr->highlight)
+		{
+                  int size;
+
+                  size = DEPRECATED_REGISTER_RAW_SIZE (dataElementPtr->itemNo);
+		  for (j = 0; j < size; j++)
+		    ((char *) dataElementPtr->value)[j] = rawBuf[j];
+		  _tuiDisplayRegister (
+					dataElementPtr->itemNo,
+					dataItemWinPtr,
+			((dataWin->detail.dataDisplayInfo.regsDisplayType ==
+			  TUI_DFLOAT_REGS) ?
+			 double_precision : unspecified_precision));
+		}
+	      else if (wasHilighted)
+		{
+		  dataElementPtr->highlight = FALSE;
+		  _tuiDisplayRegister (
+					dataElementPtr->itemNo,
+					dataItemWinPtr,
+			((dataWin->detail.dataDisplayInfo.regsDisplayType ==
+			  TUI_DFLOAT_REGS) ?
+			 double_precision : unspecified_precision));
+		}
+	    }
+	}
+    }
+  return;
+}
+
+
+/*
+   ** tuiToggleFloatRegs().
+ */
+void
+tuiToggleFloatRegs (void)
+{
+  TuiLayoutDefPtr layoutDef = tuiLayoutDef ();
+
+  if (layoutDef->floatRegsDisplayType == TUI_SFLOAT_REGS)
+    layoutDef->floatRegsDisplayType = TUI_DFLOAT_REGS;
+  else
+    layoutDef->floatRegsDisplayType = TUI_SFLOAT_REGS;
+
+  if (m_winPtrNotNull (dataWin) && dataWin->generic.isVisible &&
+      (dataWin->detail.dataDisplayInfo.regsDisplayType == TUI_SFLOAT_REGS ||
+       dataWin->detail.dataDisplayInfo.regsDisplayType == TUI_DFLOAT_REGS))
+    tui_show_registers (layoutDef->floatRegsDisplayType);
+
+  return;
+}				/* tuiToggleFloatRegs */
+
+
+void
+_initialize_tuiRegs (void)
+{
+  if (xdb_commands)
+    {
+      add_com ("fr", class_tui, _tuiShowFloat_command,
+	       "Display only floating point registers\n");
+      add_com ("gr", class_tui, _tuiShowGeneral_command,
+	       "Display only general registers\n");
+      add_com ("sr", class_tui, _tuiShowSpecial_command,
+	       "Display only special registers\n");
+      add_com ("+r", class_tui, _tuiScrollRegsForward_command,
+	       "Scroll the registers window forward\n");
+      add_com ("-r", class_tui, _tuiScrollRegsBackward_command,
+	       "Scroll the register window backward\n");
+      add_com ("tf", class_tui, _tuiToggleFloatRegs_command,
+	       "Toggle between single and double precision floating point registers.\n");
+      add_cmd (TUI_FLOAT_REGS_NAME_LOWER,
+	       class_tui,
+	       _tuiToggleFloatRegs_command,
+	       "Toggle between single and double precision floating point \
+registers.\n",
+	       &togglelist);
+    }
+}
+
+
+/*****************************************
+** STATIC LOCAL FUNCTIONS                 **
+******************************************/
+
+
+/*
+   ** _tuiRegisterName().
+   **        Return the register name.
+ */
+static const char *
+_tuiRegisterName (int regNum)
+{
+  return REGISTER_NAME (regNum);
+}
+extern int pagination_enabled;
+
+static void
+tui_restore_gdbout (void *ui)
+{
+  ui_file_delete (gdb_stdout);
+  gdb_stdout = (struct ui_file*) ui;
+  pagination_enabled = 1;
+}
+
+/*
+   ** _tuiRegisterFormat
+   **        Function to format the register name and value into a buffer,
+   **        suitable for printing or display
+ */
+static void
+_tuiRegisterFormat (char *buf, int bufLen, int regNum,
+                    TuiDataElementPtr dataElement,
+                    enum precision_type precision)
+{
+  struct ui_file *stream;
+  struct ui_file *old_stdout;
+  const char *name;
+  struct cleanup *cleanups;
+  char *p;
+  int pos;
+
+  name = REGISTER_NAME (regNum);
+  if (name == 0)
+    {
+      strcpy (buf, "");
+      return;
+    }
+  
+  pagination_enabled = 0;
+  old_stdout = gdb_stdout;
+  stream = tui_sfileopen (bufLen);
+  gdb_stdout = stream;
+  cleanups = make_cleanup (tui_restore_gdbout, (void*) old_stdout);
+  gdbarch_print_registers_info (current_gdbarch, stream, deprecated_selected_frame,
+                                regNum, 1);
+
+  /* Save formatted output in the buffer.  */
+  p = tui_file_get_strbuf (stream);
+  pos = 0;
+  while (*p && *p == *name++ && bufLen)
+    {
+      *buf++ = *p++;
+      bufLen--;
+      pos++;
+    }
+  while (*p == ' ')
+    p++;
+  while (pos < 8 && bufLen)
+    {
+      *buf++ = ' ';
+      bufLen--;
+      pos++;
+    }
+  strncpy (buf, p, bufLen);
+
+  /* Remove the possible \n.  */
+  p = strchr (buf, '\n');
+  if (p)
+    *p = 0;
+
+  do_cleanups (cleanups);
+}
+
+
+#define NUM_GENERAL_REGS    32
+/*
+   ** _tuiSetGeneralRegsContent().
+   **      Set the content of the data window to consist of the general registers.
+ */
+static TuiStatus
+_tuiSetGeneralRegsContent (int refreshValuesOnly)
+{
+  return (_tuiSetRegsContent (0,
+			      NUM_GENERAL_REGS - 1,
+			      deprecated_selected_frame,
+			      TUI_GENERAL_REGS,
+			      refreshValuesOnly));
+
+}				/* _tuiSetGeneralRegsContent */
+
+
+#ifndef PCOQ_HEAD_REGNUM
+#define START_SPECIAL_REGS  0
+#else
+#define START_SPECIAL_REGS    PCOQ_HEAD_REGNUM
+#endif
+
+/*
+   ** _tuiSetSpecialRegsContent().
+   **      Set the content of the data window to consist of the special registers.
+ */
+static TuiStatus
+_tuiSetSpecialRegsContent (int refreshValuesOnly)
+{
+  TuiStatus ret = TUI_FAILURE;
+  int endRegNum;
+
+  endRegNum = FP0_REGNUM - 1;
+  ret = _tuiSetRegsContent (START_SPECIAL_REGS,
+			    endRegNum,
+			    deprecated_selected_frame,
+			    TUI_SPECIAL_REGS,
+			    refreshValuesOnly);
+
+  return ret;
+}				/* _tuiSetSpecialRegsContent */
+
+
+/*
+   ** _tuiSetGeneralAndSpecialRegsContent().
+   **      Set the content of the data window to consist of the special registers.
+ */
+static TuiStatus
+_tuiSetGeneralAndSpecialRegsContent (int refreshValuesOnly)
+{
+  TuiStatus ret = TUI_FAILURE;
+  int endRegNum = (-1);
+
+  endRegNum = FP0_REGNUM - 1;
+  ret = _tuiSetRegsContent (
+	 0, endRegNum, deprecated_selected_frame, TUI_SPECIAL_REGS, refreshValuesOnly);
+
+  return ret;
+}				/* _tuiSetGeneralAndSpecialRegsContent */
+
+/*
+   ** _tuiSetFloatRegsContent().
+   **        Set the content of the data window to consist of the float registers.
+ */
+static TuiStatus
+_tuiSetFloatRegsContent (TuiRegisterDisplayType dpyType, int refreshValuesOnly)
+{
+  TuiStatus ret = TUI_FAILURE;
+  int startRegNum;
+
+  startRegNum = FP0_REGNUM;
+  ret = _tuiSetRegsContent (startRegNum,
+			    NUM_REGS - 1,
+			    deprecated_selected_frame,
+			    dpyType,
+			    refreshValuesOnly);
+
+  return ret;
+}				/* _tuiSetFloatRegsContent */
+
+
+/*
+   ** _tuiRegValueHasChanged().
+   **        Answer TRUE if the register's value has changed, FALSE otherwise.
+   **        If TRUE, newValue is filled in with the new value.
+ */
+static int
+_tuiRegValueHasChanged (TuiDataElementPtr dataElement,
+                        struct frame_info *frame,
+                        char *newValue)
+{
+  int hasChanged = FALSE;
+
+  if (dataElement->itemNo != UNDEFINED_ITEM &&
+      _tuiRegisterName (dataElement->itemNo) != (char *) NULL)
+    {
+      char rawBuf[MAX_REGISTER_SIZE];
+      int i;
+
+      if (_tuiGetRegisterRawValue (
+			 dataElement->itemNo, rawBuf, frame) == TUI_SUCCESS)
+	{
+          int size = DEPRECATED_REGISTER_RAW_SIZE (dataElement->itemNo);
+          
+	  for (i = 0; (i < size && !hasChanged); i++)
+	    hasChanged = (((char *) dataElement->value)[i] != rawBuf[i]);
+	  if (hasChanged && newValue != (char *) NULL)
+	    {
+	      for (i = 0; i < size; i++)
+		newValue[i] = rawBuf[i];
+	    }
+	}
+    }
+  return hasChanged;
+}				/* _tuiRegValueHasChanged */
+
+
+
+/*
+   ** _tuiGetRegisterRawValue().
+   **        Get the register raw value.  The raw value is returned in regValue.
+ */
+static TuiStatus
+_tuiGetRegisterRawValue (int regNum, char *regValue, struct frame_info *frame)
+{
+  TuiStatus ret = TUI_FAILURE;
+
+  if (target_has_registers)
+    {
+      get_frame_register (frame, regNum, regValue);
+      /* NOTE: cagney/2003-03-13: This is bogus.  It is refering to
+         the register cache and not the frame which could have pulled
+         the register value off the stack.  */
+      if (register_cached (regNum) >= 0)
+	ret = TUI_SUCCESS;
+    }
+  return ret;
+}				/* _tuiGetRegisterRawValue */
+
+
+
+/*
+   ** _tuiSetRegisterElement().
+   **       Function to initialize a data element with the input and
+   **       the register value.
+ */
+static void
+_tuiSetRegisterElement (int regNum, struct frame_info *frame,
+                        TuiDataElementPtr dataElement,
+                        int refreshValueOnly)
+{
+  if (dataElement != (TuiDataElementPtr) NULL)
+    {
+      if (!refreshValueOnly)
+	{
+	  dataElement->itemNo = regNum;
+	  dataElement->name = _tuiRegisterName (regNum);
+	  dataElement->highlight = FALSE;
+	}
+      if (dataElement->value == (Opaque) NULL)
+	dataElement->value = (Opaque) xmalloc (MAX_REGISTER_SIZE);
+      if (dataElement->value != (Opaque) NULL)
+	_tuiGetRegisterRawValue (regNum, dataElement->value, frame);
+    }
+
+  return;
+}				/* _tuiSetRegisterElement */
+
+
+/*
+   ** _tuiSetRegsContent().
+   **        Set the content of the data window to consist of the registers
+   **        numbered from startRegNum to endRegNum.  Note that if
+   **        refreshValuesOnly is TRUE, startRegNum and endRegNum are ignored.
+ */
+static TuiStatus
+_tuiSetRegsContent (int startRegNum, int endRegNum,
+                    struct frame_info *frame,
+                    TuiRegisterDisplayType dpyType,
+                    int refreshValuesOnly)
+{
+  TuiStatus ret = TUI_FAILURE;
+  int numRegs = endRegNum - startRegNum + 1;
+  int allocatedHere = FALSE;
+
+  if (dataWin->detail.dataDisplayInfo.regsContentCount > 0 &&
+      !refreshValuesOnly)
+    {
+      freeDataContent (dataWin->detail.dataDisplayInfo.regsContent,
+		       dataWin->detail.dataDisplayInfo.regsContentCount);
+      dataWin->detail.dataDisplayInfo.regsContentCount = 0;
+    }
+  if (dataWin->detail.dataDisplayInfo.regsContentCount <= 0)
+    {
+      dataWin->detail.dataDisplayInfo.regsContent =
+	allocContent (numRegs, DATA_WIN);
+      allocatedHere = TRUE;
+    }
+
+  if (dataWin->detail.dataDisplayInfo.regsContent != (TuiWinContent) NULL)
+    {
+      int i;
+
+      if (!refreshValuesOnly || allocatedHere)
+	{
+	  dataWin->generic.content = (OpaquePtr) NULL;
+	  dataWin->generic.contentSize = 0;
+	  addContentElements (&dataWin->generic, numRegs);
+	  dataWin->detail.dataDisplayInfo.regsContent =
+	    (TuiWinContent) dataWin->generic.content;
+	  dataWin->detail.dataDisplayInfo.regsContentCount = numRegs;
+	}
+      /*
+         ** Now set the register names and values
+       */
+      for (i = startRegNum; (i <= endRegNum); i++)
+	{
+	  TuiGenWinInfoPtr dataItemWin;
+
+	  dataItemWin = &dataWin->detail.dataDisplayInfo.
+	    regsContent[i - startRegNum]->whichElement.dataWindow;
+	  _tuiSetRegisterElement (
+				   i,
+				   frame,
+	   &((TuiWinElementPtr) dataItemWin->content[0])->whichElement.data,
+				   !allocatedHere && refreshValuesOnly);
+	}
+      dataWin->detail.dataDisplayInfo.regsColumnCount =
+	tui_calculate_regs_column_count (dpyType);
+#ifdef LATER
+      if (dataWin->detail.dataDisplayInfo.dataContentCount > 0)
+	{
+	  /* delete all the windows? */
+	  /* realloc content equal to dataContentCount + regsContentCount */
+	  /* append dataWin->detail.dataDisplayInfo.dataContent to content */
+	}
+#endif
+      dataWin->generic.contentSize =
+	dataWin->detail.dataDisplayInfo.regsContentCount +
+	dataWin->detail.dataDisplayInfo.dataContentCount;
+      ret = TUI_SUCCESS;
+    }
+
+  return ret;
+}				/* _tuiSetRegsContent */
+
+
+/*
+   ** _tuiDisplayRegister().
+   **        Function to display a register in a window.  If hilite is TRUE,
+   **        than the value will be displayed in reverse video
+ */
+static void
+_tuiDisplayRegister (int regNum,
+                     TuiGenWinInfoPtr winInfo,		/* the data item window */
+                     enum precision_type precision)
+{
+  if (winInfo->handle != (WINDOW *) NULL)
+    {
+      int i;
+      char buf[40];
+      int valueCharsWide, labelWidth;
+      TuiDataElementPtr dataElementPtr = &((TuiWinContent)
+				    winInfo->content)[0]->whichElement.data;
+
+      if (IS_64BIT ||
+	  dataWin->detail.dataDisplayInfo.regsDisplayType == TUI_DFLOAT_REGS)
+	{
+	  valueCharsWide = DOUBLE_FLOAT_VALUE_WIDTH;
+	  labelWidth = DOUBLE_FLOAT_LABEL_WIDTH;
+	}
+      else
+	{
+	  if (dataWin->detail.dataDisplayInfo.regsDisplayType ==
+	      TUI_SFLOAT_REGS)
+	    {
+	      valueCharsWide = SINGLE_FLOAT_VALUE_WIDTH;
+	      labelWidth = SINGLE_FLOAT_LABEL_WIDTH;
+	    }
+	  else
+	    {
+	      valueCharsWide = SINGLE_VALUE_WIDTH;
+	      labelWidth = SINGLE_LABEL_WIDTH;
+	    }
+	}
+
+      buf[0] = (char) 0;
+      _tuiRegisterFormat (buf,
+			  valueCharsWide + labelWidth,
+			  regNum,
+			  dataElementPtr,
+			  precision);
+
+      if (dataElementPtr->highlight)
+	wstandout (winInfo->handle);
+
+      wmove (winInfo->handle, 0, 0);
+      for (i = 1; i < winInfo->width; i++)
+        waddch (winInfo->handle, ' ');
+      wmove (winInfo->handle, 0, 0);
+      waddstr (winInfo->handle, buf);
+
+      if (dataElementPtr->highlight)
+	wstandend (winInfo->handle);
+      tuiRefreshWin (winInfo);
+    }
+  return;
+}				/* _tuiDisplayRegister */
+
+
+static void
+_tui_vShowRegisters_commandSupport (TuiRegisterDisplayType dpyType)
+{
+
+  if (m_winPtrNotNull (dataWin) && dataWin->generic.isVisible)
+    {				/* Data window already displayed, show the registers */
+      if (dataWin->detail.dataDisplayInfo.regsDisplayType != dpyType)
+	tui_show_registers (dpyType);
+    }
+  else
+    (tuiLayoutDef ())->regsDisplayType = dpyType;
+
+  return;
+}				/* _tui_vShowRegisters_commandSupport */
+
+
+static void
+_tuiShowFloat_command (char *arg, int fromTTY)
+{
+  if (m_winPtrIsNull (dataWin) || !dataWin->generic.isVisible ||
+      (dataWin->detail.dataDisplayInfo.regsDisplayType != TUI_SFLOAT_REGS &&
+       dataWin->detail.dataDisplayInfo.regsDisplayType != TUI_DFLOAT_REGS))
+    _tui_vShowRegisters_commandSupport ((tuiLayoutDef ())->floatRegsDisplayType);
+
+  return;
+}				/* _tuiShowFloat_command */
+
+
+static void
+_tuiShowGeneral_command (char *arg, int fromTTY)
+{
+  _tui_vShowRegisters_commandSupport (TUI_GENERAL_REGS);
+}
+
+
+static void
+_tuiShowSpecial_command (char *arg, int fromTTY)
+{
+  _tui_vShowRegisters_commandSupport (TUI_SPECIAL_REGS);
+}
+
+
+static void
+_tuiToggleFloatRegs_command (char *arg, int fromTTY)
+{
+  if (m_winPtrNotNull (dataWin) && dataWin->generic.isVisible)
+    tuiToggleFloatRegs ();
+  else
+    {
+      TuiLayoutDefPtr layoutDef = tuiLayoutDef ();
+
+      if (layoutDef->floatRegsDisplayType == TUI_SFLOAT_REGS)
+	layoutDef->floatRegsDisplayType = TUI_DFLOAT_REGS;
+      else
+	layoutDef->floatRegsDisplayType = TUI_SFLOAT_REGS;
+    }
+
+
+  return;
+}				/* _tuiToggleFloatRegs_command */
+
+
+static void
+_tuiScrollRegsForward_command (char *arg, int fromTTY)
+{
+  tui_scroll (FORWARD_SCROLL, dataWin, 1);
+}
+
+
+static void
+_tuiScrollRegsBackward_command (char *arg, int fromTTY)
+{
+  tui_scroll (BACKWARD_SCROLL, dataWin, 1);
+}
diff --git a/gdb/tui/tui-regs.h b/gdb/tui/tui-regs.h
new file mode 100644
index 0000000..19703a2
--- /dev/null
+++ b/gdb/tui/tui-regs.h
@@ -0,0 +1,41 @@
+/* TUI display registers in window.
+
+   Copyright 1998, 1999, 2000, 2001, 2004 Free Software Foundation,
+   Inc.
+
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef TUI_REGS_H
+#define TUI_REGS_H
+
+#include "tui/tui-data.h"	/* For TuiRegisterDisplayType.  */
+
+extern void tui_check_register_values (struct frame_info *);
+extern void tui_show_registers (enum tui_register_display_type);
+extern void tui_display_registers_from (int);
+extern int tui_display_registers_from_line (int, int);
+extern int tui_last_regs_line_no (void);
+extern int tui_first_reg_element_inline (int);
+extern int tui_line_from_reg_element_no (int);
+extern void tui_toggle_float_regs (void);
+extern int tui_calculate_regs_column_count (enum tui_register_display_type);
+extern int tui_first_reg_element_no_inline (int lineno);
+
+#endif
diff --git a/gdb/tui/tui-source.c b/gdb/tui/tui-source.c
new file mode 100644
index 0000000..f2d3762
--- /dev/null
+++ b/gdb/tui/tui-source.c
@@ -0,0 +1,356 @@
+/* TUI display source window.
+
+   Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation,
+   Inc.
+
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+#include <ctype.h>
+#include "symtab.h"
+#include "frame.h"
+#include "breakpoint.h"
+#include "source.h"
+#include "symtab.h"
+
+#include "tui/tui.h"
+#include "tui/tui-data.h"
+#include "tui/tui-stack.h"
+#include "tui/tui-winsource.h"
+#include "tui/tui-source.h"
+
+#ifdef HAVE_NCURSES_H       
+#include <ncurses.h>
+#else
+#ifdef HAVE_CURSES_H
+#include <curses.h>
+#endif
+#endif
+
+/* Function to display source in the source window.  */
+TuiStatus
+tuiSetSourceContent (struct symtab *s, int lineNo, int noerror)
+{
+  TuiStatus ret = TUI_FAILURE;
+
+  if (s != (struct symtab *) NULL && s->filename != (char *) NULL)
+    {
+      register FILE *stream;
+      register int i, desc, c, lineWidth, nlines;
+      register char *srcLine = 0;
+
+      if ((ret = tuiAllocSourceBuffer (srcWin)) == TUI_SUCCESS)
+	{
+	  lineWidth = srcWin->generic.width - 1;
+	  /* Take hilite (window border) into account, when calculating
+	     the number of lines  */
+	  nlines = (lineNo + (srcWin->generic.height - 2)) - lineNo;
+	  desc = open_source_file (s);
+	  if (desc < 0)
+	    {
+	      if (!noerror)
+		{
+		  char *name = alloca (strlen (s->filename) + 100);
+		  sprintf (name, "%s:%d", s->filename, lineNo);
+		  print_sys_errmsg (name, errno);
+		}
+	      ret = TUI_FAILURE;
+	    }
+	  else
+	    {
+	      if (s->line_charpos == 0)
+		find_source_lines (s, desc);
+
+	      if (lineNo < 1 || lineNo > s->nlines)
+		{
+		  close (desc);
+		  printf_unfiltered (
+			  "Line number %d out of range; %s has %d lines.\n",
+				      lineNo, s->filename, s->nlines);
+		}
+	      else if (lseek (desc, s->line_charpos[lineNo - 1], 0) < 0)
+		{
+		  close (desc);
+		  perror_with_name (s->filename);
+		}
+	      else
+		{
+		  register int offset, curLineNo, curLine, curLen, threshold;
+		  TuiGenWinInfoPtr locator = locatorWinInfoPtr ();
+                  TuiSourceInfoPtr src = &srcWin->detail.sourceInfo;
+
+                  if (srcWin->generic.title)
+                    xfree (srcWin->generic.title);
+                  srcWin->generic.title = xstrdup (s->filename);
+
+                  if (src->filename)
+                    xfree (src->filename);
+                  src->filename = xstrdup (s->filename);
+
+		  /* Determine the threshold for the length of the line
+                     and the offset to start the display.  */
+		  offset = src->horizontalOffset;
+		  threshold = (lineWidth - 1) + offset;
+		  stream = fdopen (desc, FOPEN_RT);
+		  clearerr (stream);
+		  curLine = 0;
+		  curLineNo = src->startLineOrAddr.lineNo = lineNo;
+		  if (offset > 0)
+		    srcLine = (char *) xmalloc (
+					   (threshold + 1) * sizeof (char));
+		  while (curLine < nlines)
+		    {
+		      TuiWinElementPtr element = (TuiWinElementPtr)
+		      srcWin->generic.content[curLine];
+
+		      /* get the first character in the line */
+		      c = fgetc (stream);
+
+		      if (offset == 0)
+			srcLine = ((TuiWinElementPtr)
+				   srcWin->generic.content[
+					curLine])->whichElement.source.line;
+		      /* Init the line with the line number */
+		      sprintf (srcLine, "%-6d", curLineNo);
+		      curLen = strlen (srcLine);
+		      i = curLen -
+			((curLen / tuiDefaultTabLen ()) * tuiDefaultTabLen ());
+		      while (i < tuiDefaultTabLen ())
+			{
+			  srcLine[curLen] = ' ';
+			  i++;
+			  curLen++;
+			}
+		      srcLine[curLen] = (char) 0;
+
+		      /* Set whether element is the execution point and
+		         whether there is a break point on it.  */
+		      element->whichElement.source.lineOrAddr.lineNo =
+			curLineNo;
+		      element->whichElement.source.isExecPoint =
+			(strcmp (((TuiWinElementPtr)
+			locator->content[0])->whichElement.locator.fileName,
+				 s->filename) == 0
+			 && curLineNo == ((TuiWinElementPtr)
+			 locator->content[0])->whichElement.locator.lineNo);
+		      if (c != EOF)
+			{
+			  i = strlen (srcLine) - 1;
+			  do
+			    {
+			      if ((c != '\n') &&
+				  (c != '\r') && (++i < threshold))
+				{
+				  if (c < 040 && c != '\t')
+				    {
+				      srcLine[i++] = '^';
+				      srcLine[i] = c + 0100;
+				    }
+				  else if (c == 0177)
+				    {
+				      srcLine[i++] = '^';
+				      srcLine[i] = '?';
+				    }
+				  else
+				    {	/* Store the charcter in the line
+					   buffer.  If it is a tab, then
+					   translate to the correct number of
+					   chars so we don't overwrite our
+					   buffer.  */
+				      if (c == '\t')
+					{
+					  int j, maxTabLen = tuiDefaultTabLen ();
+
+					  for (j = i - (
+					       (i / maxTabLen) * maxTabLen);
+					       ((j < maxTabLen) &&
+						i < threshold);
+					       i++, j++)
+					    srcLine[i] = ' ';
+					  i--;
+					}
+				      else
+					srcLine[i] = c;
+				    }
+				  srcLine[i + 1] = 0;
+				}
+			      else
+				{	/* If we have not reached EOL, then eat
+                                           chars until we do  */
+				  while (c != EOF && c != '\n' && c != '\r')
+				    c = fgetc (stream);
+				}
+			    }
+			  while (c != EOF && c != '\n' && c != '\r' &&
+				 i < threshold && (c = fgetc (stream)));
+			}
+		      /* Now copy the line taking the offset into account */
+		      if (strlen (srcLine) > offset)
+			strcpy (((TuiWinElementPtr) srcWin->generic.content[
+					curLine])->whichElement.source.line,
+				&srcLine[offset]);
+		      else
+			((TuiWinElementPtr)
+			 srcWin->generic.content[
+			  curLine])->whichElement.source.line[0] = (char) 0;
+		      curLine++;
+		      curLineNo++;
+		    }
+		  if (offset > 0)
+		    tuiFree (srcLine);
+		  fclose (stream);
+		  srcWin->generic.contentSize = nlines;
+		  ret = TUI_SUCCESS;
+		}
+	    }
+	}
+    }
+  return ret;
+}
+
+
+/* elz: this function sets the contents of the source window to empty
+   except for a line in the middle with a warning message about the
+   source not being available. This function is called by
+   tuiEraseSourceContents, which in turn is invoked when the source files
+   cannot be accessed */
+
+void
+tuiSetSourceContentNil (TuiWinInfoPtr winInfo, char *warning_string)
+{
+  int lineWidth;
+  int nLines;
+  int curr_line = 0;
+
+  lineWidth = winInfo->generic.width - 1;
+  nLines = winInfo->generic.height - 2;
+
+  /* set to empty each line in the window, except for the one
+     which contains the message */
+  while (curr_line < winInfo->generic.contentSize)
+    {
+      /* set the information related to each displayed line
+         to null: i.e. the line number is 0, there is no bp,
+         it is not where the program is stopped */
+
+      TuiWinElementPtr element =
+      (TuiWinElementPtr) winInfo->generic.content[curr_line];
+      element->whichElement.source.lineOrAddr.lineNo = 0;
+      element->whichElement.source.isExecPoint = FALSE;
+      element->whichElement.source.hasBreak = FALSE;
+
+      /* set the contents of the line to blank */
+      element->whichElement.source.line[0] = (char) 0;
+
+      /* if the current line is in the middle of the screen, then we want to
+         display the 'no source available' message in it.
+         Note: the 'weird' arithmetic with the line width and height comes from
+         the function tuiEraseSourceContent. We need to keep the screen and the
+         window's actual contents in synch */
+
+      if (curr_line == (nLines / 2 + 1))
+	{
+	  int i;
+	  int xpos;
+	  int warning_length = strlen (warning_string);
+	  char *srcLine;
+
+	  srcLine = element->whichElement.source.line;
+
+	  if (warning_length >= ((lineWidth - 1) / 2))
+	    xpos = 1;
+	  else
+	    xpos = (lineWidth - 1) / 2 - warning_length;
+
+	  for (i = 0; i < xpos; i++)
+	    srcLine[i] = ' ';
+
+	  sprintf (srcLine + i, "%s", warning_string);
+
+	  for (i = xpos + warning_length; i < lineWidth; i++)
+	    srcLine[i] = ' ';
+
+	  srcLine[i] = '\n';
+
+	}			/* end if */
+
+      curr_line++;
+
+    }				/* end while */
+}
+
+
+/* Function to display source in the source window.  This function
+   initializes the horizontal scroll to 0.  */
+void
+tuiShowSource (struct symtab *s, TuiLineOrAddress line, int noerror)
+{
+  srcWin->detail.sourceInfo.horizontalOffset = 0;
+  tuiUpdateSourceWindowAsIs(srcWin, s, line, noerror);
+}
+
+
+/* Answer whether the source is currently displayed in the source window.  */
+int
+tuiSourceIsDisplayed (char *fname)
+{
+  return (srcWin->generic.contentInUse &&
+	  (strcmp (((TuiWinElementPtr) (locatorWinInfoPtr ())->
+		  content[0])->whichElement.locator.fileName, fname) == 0));
+}
+
+
+/* Scroll the source forward or backward vertically.  */
+void
+tuiVerticalSourceScroll (TuiScrollDirection scrollDirection,
+                         int numToScroll)
+{
+  if (srcWin->generic.content != (OpaquePtr) NULL)
+    {
+      TuiLineOrAddress l;
+      struct symtab *s;
+      TuiWinContent content = (TuiWinContent) srcWin->generic.content;
+      struct symtab_and_line cursal = get_current_source_symtab_and_line ();
+
+      if (cursal.symtab == (struct symtab *) NULL)
+	s = find_pc_symtab (get_frame_pc (deprecated_selected_frame));
+      else
+	s = cursal.symtab;
+
+      if (scrollDirection == FORWARD_SCROLL)
+	{
+	  l.lineNo = content[0]->whichElement.source.lineOrAddr.lineNo +
+	    numToScroll;
+	  if (l.lineNo > s->nlines)
+	    /*line = s->nlines - winInfo->generic.contentSize + 1; */
+	    /*elz: fix for dts 23398 */
+	    l.lineNo = content[0]->whichElement.source.lineOrAddr.lineNo;
+	}
+      else
+	{
+	  l.lineNo = content[0]->whichElement.source.lineOrAddr.lineNo -
+	    numToScroll;
+	  if (l.lineNo <= 0)
+	    l.lineNo = 1;
+	}
+
+      print_source_lines (s, l.lineNo, l.lineNo + 1, 0);
+    }
+}
diff --git a/gdb/tui/tui-source.h b/gdb/tui/tui-source.h
new file mode 100644
index 0000000..96cf865
--- /dev/null
+++ b/gdb/tui/tui-source.h
@@ -0,0 +1,33 @@
+/* TUI display source window.
+   Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _TUI_SOURCE_H
+#define _TUI_SOURCE_H
+
+#include "defs.h"
+
+extern TuiStatus tuiSetSourceContent (struct symtab *, int, int);
+extern void tuiShowSource (struct symtab *, TuiLineOrAddress, int);
+extern int tuiSourceIsDisplayed (char *);
+extern void tuiVerticalSourceScroll (TuiScrollDirection, int);
+
+#endif
+/*_TUI_SOURCE_H*/
diff --git a/gdb/tui/tui-stack.c b/gdb/tui/tui-stack.c
new file mode 100644
index 0000000..6bf64bb
--- /dev/null
+++ b/gdb/tui/tui-stack.c
@@ -0,0 +1,435 @@
+/* TUI display locator.
+
+   Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation,
+   Inc.
+
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+#include "symtab.h"
+#include "breakpoint.h"
+#include "frame.h"
+#include "command.h"
+#include "inferior.h"
+#include "target.h"
+#include "top.h"
+
+#include "tui/tui.h"
+#include "tui/tui-data.h"
+#include "tui/tui-stack.h"
+#include "tui/tui-wingeneral.h"
+#include "tui/tui-source.h"
+#include "tui/tui-winsource.h"
+#include "tui/tui-file.h"
+
+#ifdef HAVE_NCURSES_H       
+#include <ncurses.h>
+#else
+#ifdef HAVE_CURSES_H
+#include <curses.h>
+#endif
+#endif
+
+/* Get a printable name for the function at the address.
+   The symbol name is demangled if demangling is turned on.
+   Returns a pointer to a static area holding the result.  */
+static char* tui_get_function_from_frame (struct frame_info *fi);
+
+/* Set the filename portion of the locator.  */
+static void tui_set_locator_filename (const char *filename);
+
+/* Update the locator, with the provided arguments.  */
+static void tui_set_locator_info (const char *filename, const char *procname,
+                                  int lineno, CORE_ADDR addr);
+
+static void tui_update_command (char *, int);
+
+
+/* Create the status line to display as much information as we
+   can on this single line: target name, process number, current
+   function, current line, current PC, SingleKey mode.  */
+static char*
+tui_make_status_line (TuiLocatorElement* loc)
+{
+  char* string;
+  char line_buf[50], *pname;
+  char* buf;
+  int status_size;
+  int i, proc_width;
+  const char* pid_name;
+  const char* pc_buf;
+  int target_width;
+  int pid_width;
+  int line_width;
+  int pc_width;
+  struct ui_file *pc_out;
+
+  if (ptid_equal (inferior_ptid, null_ptid))
+    pid_name = "No process";
+  else
+    pid_name = target_pid_to_str (inferior_ptid);
+
+  target_width = strlen (target_shortname);
+  if (target_width > MAX_TARGET_WIDTH)
+    target_width = MAX_TARGET_WIDTH;
+
+  pid_width = strlen (pid_name);
+  if (pid_width > MAX_PID_WIDTH)
+    pid_width = MAX_PID_WIDTH;
+
+  status_size = termWidth ();  
+  string = (char *) xmalloc (status_size + 1);
+  buf = (char*) alloca (status_size + 1);
+
+  /* Translate line number and obtain its size.  */
+  if (loc->lineNo > 0)
+    sprintf (line_buf, "%d", loc->lineNo);
+  else
+    strcpy (line_buf, "??");
+  line_width = strlen (line_buf);
+  if (line_width < MIN_LINE_WIDTH)
+    line_width = MIN_LINE_WIDTH;
+
+  /* Translate PC address.  */
+  pc_out = tui_sfileopen (128);
+  print_address_numeric (loc->addr, 1, pc_out);
+  pc_buf = tui_file_get_strbuf (pc_out);
+  pc_width = strlen (pc_buf);
+  
+  /* First determine the amount of proc name width we have available.
+     The +1 are for a space separator between fields.
+     The -1 are to take into account the \0 counted by sizeof.  */
+  proc_width = (status_size
+                - (target_width + 1)
+                - (pid_width + 1)
+                - (sizeof (PROC_PREFIX) - 1 + 1)
+                - (sizeof (LINE_PREFIX) - 1 + line_width + 1)
+                - (sizeof (PC_PREFIX) - 1 + pc_width + 1)
+                - (tui_current_key_mode == tui_single_key_mode
+                   ? (sizeof (SINGLE_KEY) - 1 + 1)
+                   : 0));
+
+  /* If there is no room to print the function name, try by removing
+     some fields.  */
+  if (proc_width < MIN_PROC_WIDTH)
+    {
+      proc_width += target_width + 1;
+      target_width = 0;
+      if (proc_width < MIN_PROC_WIDTH)
+        {
+          proc_width += pid_width + 1;
+          pid_width = 0;
+          if (proc_width <= MIN_PROC_WIDTH)
+            {
+              proc_width += pc_width + sizeof (PC_PREFIX) - 1 + 1;
+              pc_width = 0;
+              if (proc_width < 0)
+                {
+                  proc_width += line_width + sizeof (LINE_PREFIX) - 1 + 1;
+                  line_width = 0;
+                  if (proc_width < 0)
+                    proc_width = 0;
+                }
+            }
+        }
+    }
+
+  /* Now convert elements to string form */
+  pname = loc->procName;
+
+  /* Now create the locator line from the string version
+     of the elements.  We could use sprintf() here but
+     that wouldn't ensure that we don't overrun the size
+     of the allocated buffer.  strcat_to_buf() will.  */
+  *string = (char) 0;
+
+  if (target_width > 0)
+    {
+      sprintf (buf, "%*.*s ",
+               -target_width, target_width, target_shortname);
+      strcat_to_buf (string, status_size, buf);
+    }
+  if (pid_width > 0)
+    {
+      sprintf (buf, "%*.*s ",
+               -pid_width, pid_width, pid_name);
+      strcat_to_buf (string, status_size, buf);
+    }
+  
+  /* Show whether we are in SingleKey mode.  */
+  if (tui_current_key_mode == tui_single_key_mode)
+    {
+      strcat_to_buf (string, status_size, SINGLE_KEY);
+      strcat_to_buf (string, status_size, " ");
+    }
+
+  /* procedure/class name */
+  if (proc_width > 0)
+    {
+      if (strlen (pname) > proc_width)
+        sprintf (buf, "%s%*.*s* ", PROC_PREFIX,
+                 1 - proc_width, proc_width - 1, pname);
+      else
+        sprintf (buf, "%s%*.*s ", PROC_PREFIX,
+                 -proc_width, proc_width, pname);
+      strcat_to_buf (string, status_size, buf);
+    }
+
+  if (line_width > 0)
+    {
+      sprintf (buf, "%s%*.*s ", LINE_PREFIX,
+               -line_width, line_width, line_buf);
+      strcat_to_buf (string, status_size, buf);
+    }
+  if (pc_width > 0)
+    {
+      strcat_to_buf (string, status_size, PC_PREFIX);
+      strcat_to_buf (string, status_size, pc_buf);
+    }
+  
+  
+  for (i = strlen (string); i < status_size; i++)
+    string[i] = ' ';
+  string[status_size] = (char) 0;
+
+  ui_file_delete (pc_out);
+  return string;
+}
+
+/* Get a printable name for the function at the address.
+   The symbol name is demangled if demangling is turned on.
+   Returns a pointer to a static area holding the result.  */
+static char*
+tui_get_function_from_frame (struct frame_info *fi)
+{
+  static char name[256];
+  struct ui_file *stream = tui_sfileopen (256);
+  char *p;
+
+  print_address_symbolic (get_frame_pc (fi), stream, demangle, "");
+  p = tui_file_get_strbuf (stream);
+
+  /* Use simple heuristics to isolate the function name.  The symbol can
+     be demangled and we can have function parameters.  Remove them because
+     the status line is too short to display them.  */
+  if (*p == '<')
+    p++;
+  strncpy (name, p, sizeof (name));
+  p = strchr (name, '(');
+  if (!p)
+    p = strchr (name, '>');
+  if (p)
+    *p = 0;
+  p = strchr (name, '+');
+  if (p)
+    *p = 0;
+  ui_file_delete (stream);
+  return name;
+}
+
+/*
+   ** tuiShowLocatorContent()
+ */
+void
+tuiShowLocatorContent (void)
+{
+  char *string;
+  TuiGenWinInfoPtr locator;
+
+  locator = locatorWinInfoPtr ();
+
+  if (m_genWinPtrNotNull (locator) && locator->handle != (WINDOW *) NULL)
+    {
+      TuiWinElementPtr element;
+
+      element = (TuiWinElementPtr) locator->content[0];
+
+      string = tui_make_status_line (&element->whichElement.locator);
+      wmove (locator->handle, 0, 0);
+      wstandout (locator->handle);
+      waddstr (locator->handle, string);
+      wclrtoeol (locator->handle);
+      wstandend (locator->handle);
+      tuiRefreshWin (locator);
+      wmove (locator->handle, 0, 0);
+      xfree (string);
+      locator->contentInUse = TRUE;
+    }
+}
+
+
+/* Set the filename portion of the locator.  */
+static void
+tui_set_locator_filename (const char *filename)
+{
+  TuiGenWinInfoPtr locator = locatorWinInfoPtr ();
+  TuiLocatorElementPtr element;
+
+  if (locator->content[0] == (Opaque) NULL)
+    {
+      tui_set_locator_info (filename, NULL, 0, 0);
+      return;
+    }
+
+  element = &((TuiWinElementPtr) locator->content[0])->whichElement.locator;
+  element->fileName[0] = 0;
+  strcat_to_buf (element->fileName, MAX_LOCATOR_ELEMENT_LEN, filename);
+}
+
+/* Update the locator, with the provided arguments.  */
+static void
+tui_set_locator_info (const char *filename, const char *procname, int lineno,
+                      CORE_ADDR addr)
+{
+  TuiGenWinInfoPtr locator = locatorWinInfoPtr ();
+  TuiLocatorElementPtr element;
+
+  /* Allocate the locator content if necessary.  */
+  if (locator->contentSize <= 0)
+    {
+      locator->content = (OpaquePtr) allocContent (1, locator->type);
+      locator->contentSize = 1;
+    }
+
+  element = &((TuiWinElementPtr) locator->content[0])->whichElement.locator;
+  element->procName[0] = (char) 0;
+  strcat_to_buf (element->procName, MAX_LOCATOR_ELEMENT_LEN, procname);
+  element->lineNo = lineno;
+  element->addr = addr;
+  tui_set_locator_filename (filename);
+}
+
+/* Update only the filename portion of the locator.  */
+void
+tuiUpdateLocatorFilename (const char *filename)
+{
+  tui_set_locator_filename (filename);
+  tuiShowLocatorContent ();
+}
+
+/* Function to print the frame information for the TUI.  */
+void
+tuiShowFrameInfo (struct frame_info *fi)
+{
+  TuiWinInfoPtr winInfo;
+  register int i;
+
+  if (fi)
+    {
+      register int startLine, i;
+      CORE_ADDR low;
+      TuiGenWinInfoPtr locator = locatorWinInfoPtr ();
+      int sourceAlreadyDisplayed;
+      struct symtab_and_line sal;
+
+      find_frame_sal (fi, &sal);
+
+      sourceAlreadyDisplayed = sal.symtab != 0
+        && tuiSourceIsDisplayed (sal.symtab->filename);
+      tui_set_locator_info (sal.symtab == 0 ? "??" : sal.symtab->filename,
+                            tui_get_function_from_frame (fi),
+                            sal.line,
+                            get_frame_pc (fi));
+      tuiShowLocatorContent ();
+      startLine = 0;
+      for (i = 0; i < (sourceWindows ())->count; i++)
+	{
+	  TuiWhichElement *item;
+	  winInfo = (TuiWinInfoPtr) (sourceWindows ())->list[i];
+
+	  item = &((TuiWinElementPtr) locator->content[0])->whichElement;
+	  if (winInfo == srcWin)
+	    {
+	      startLine = (item->locator.lineNo -
+			   (winInfo->generic.viewportHeight / 2)) + 1;
+	      if (startLine <= 0)
+		startLine = 1;
+	    }
+	  else
+	    {
+	      if (find_pc_partial_function (get_frame_pc (fi), (char **) NULL,
+					    &low, (CORE_ADDR) NULL) == 0)
+		error ("No function contains program counter for selected frame.\n");
+	      else
+		low = tuiGetLowDisassemblyAddress (low, get_frame_pc (fi));
+	    }
+
+	  if (winInfo == srcWin)
+	    {
+	      TuiLineOrAddress l;
+	      l.lineNo = startLine;
+	      if (!(sourceAlreadyDisplayed
+		    && tuiLineIsDisplayed (item->locator.lineNo, winInfo, TRUE)))
+		tuiUpdateSourceWindow (winInfo, sal.symtab, l, TRUE);
+	      else
+		{
+		  l.lineNo = item->locator.lineNo;
+		  tuiSetIsExecPointAt (l, winInfo);
+		}
+	    }
+	  else
+	    {
+	      if (winInfo == disassemWin)
+		{
+		  TuiLineOrAddress a;
+		  a.addr = low;
+		  if (!tuiAddrIsDisplayed (item->locator.addr, winInfo, TRUE))
+		    tuiUpdateSourceWindow (winInfo, sal.symtab, a, TRUE);
+		  else
+		    {
+		      a.addr = item->locator.addr;
+		      tuiSetIsExecPointAt (a, winInfo);
+		    }
+		}
+	    }
+	  tuiUpdateExecInfo (winInfo);
+	}
+    }
+  else
+    {
+      tui_set_locator_info (NULL, NULL, 0, (CORE_ADDR) 0);
+      tuiShowLocatorContent ();
+      for (i = 0; i < (sourceWindows ())->count; i++)
+	{
+	  winInfo = (TuiWinInfoPtr) (sourceWindows ())->list[i];
+	  tuiClearSourceContent (winInfo, EMPTY_SOURCE_PROMPT);
+	  tuiUpdateExecInfo (winInfo);
+	}
+    }
+}
+
+/* Function to initialize gdb commands, for tui window stack manipulation.  */
+void
+_initialize_tuiStack (void)
+{
+  add_com ("update", class_tui, tui_update_command,
+           "Update the source window and locator to display the current "
+           "execution point.\n");
+}
+
+/* Command to update the display with the current execution point.  */
+static void
+tui_update_command (char *arg, int from_tty)
+{
+  char cmd[sizeof("frame 0")];
+
+  strcpy (cmd, "frame 0");
+  execute_command (cmd, from_tty);
+}
diff --git a/gdb/tui/tui-stack.h b/gdb/tui/tui-stack.h
new file mode 100644
index 0000000..14be497
--- /dev/null
+++ b/gdb/tui/tui-stack.h
@@ -0,0 +1,33 @@
+/* TUI display locator.
+   Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _TUI_STACK_H
+#define _TUI_STACK_H
+/*
+   ** This header file supports
+ */
+
+extern void tuiUpdateLocatorFilename (const char *);
+extern void tuiShowLocatorContent (void);
+extern void tuiShowFrameInfo (struct frame_info *);
+
+#endif
+/*_TUI_STACK_H*/
diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c
new file mode 100644
index 0000000..a7d35ce
--- /dev/null
+++ b/gdb/tui/tui-win.c
@@ -0,0 +1,1615 @@
+/* TUI window generic functions.
+
+   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
+   Foundation, Inc.
+
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* This module contains procedures for handling tui window functions
+   like resize, scrolling, scrolling, changing focus, etc.
+
+   Author: Susan B. Macchia  */
+
+#include "defs.h"
+#include "command.h"
+#include "symtab.h"
+#include "breakpoint.h"
+#include "frame.h"
+#include "cli/cli-cmds.h"
+#include "top.h"
+#include "source.h"
+
+#include "tui/tui.h"
+#include "tui/tui-data.h"
+#include "tui/tui-wingeneral.h"
+#include "tui/tui-stack.h"
+#include "tui/tui-regs.h"
+#include "tui/tui-disasm.h"
+#include "tui/tui-source.h"
+#include "tui/tui-winsource.h"
+#include "tui/tui-windata.h"
+
+#ifdef HAVE_NCURSES_H       
+#include <ncurses.h>
+#else
+#ifdef HAVE_CURSES_H
+#include <curses.h>
+#endif
+#endif
+
+#include <string.h>
+#include <ctype.h>
+#include <readline/readline.h>
+
+/*******************************
+** Static Local Decls
+********************************/
+static void _makeVisibleWithNewHeight (TuiWinInfoPtr);
+static void _makeInvisibleAndSetNewHeight (TuiWinInfoPtr, int);
+static TuiStatus _tuiAdjustWinHeights (TuiWinInfoPtr, int);
+static int _newHeightOk (TuiWinInfoPtr, int);
+static void _tuiSetTabWidth_command (char *, int);
+static void _tuiRefreshAll_command (char *, int);
+static void _tuiSetWinHeight_command (char *, int);
+static void _tuiXDBsetWinHeight_command (char *, int);
+static void _tuiAllWindowsInfo (char *, int);
+static void _tuiSetFocus_command (char *, int);
+static void _tuiScrollForward_command (char *, int);
+static void _tuiScrollBackward_command (char *, int);
+static void _tuiScrollLeft_command (char *, int);
+static void _tuiScrollRight_command (char *, int);
+static void _parseScrollingArgs (char *, TuiWinInfoPtr *, int *);
+
+
+/***************************************
+** DEFINITIONS
+***************************************/
+#define WIN_HEIGHT_USAGE      "Usage: winheight <win_name> [+ | -] <#lines>\n"
+#define XDBWIN_HEIGHT_USAGE   "Usage: w <#lines>\n"
+#define FOCUS_USAGE           "Usage: focus {<win> | next | prev}\n"
+
+/***************************************
+** PUBLIC FUNCTIONS
+***************************************/
+
+#ifndef ACS_LRCORNER
+#  define ACS_LRCORNER '+'
+#endif
+#ifndef ACS_LLCORNER
+#  define ACS_LLCORNER '+'
+#endif
+#ifndef ACS_ULCORNER
+#  define ACS_ULCORNER '+'
+#endif
+#ifndef ACS_URCORNER
+#  define ACS_URCORNER '+'
+#endif
+#ifndef ACS_HLINE
+#  define ACS_HLINE '-'
+#endif
+#ifndef ACS_VLINE
+#  define ACS_VLINE '|'
+#endif
+
+/* Possible values for tui-border-kind variable.  */
+static const char *tui_border_kind_enums[] = {
+  "space",
+  "ascii",
+  "acs",
+  NULL
+};
+
+/* Possible values for tui-border-mode and tui-active-border-mode.  */
+static const char *tui_border_mode_enums[] = {
+  "normal",
+  "standout",
+  "reverse",
+  "half",
+  "half-standout",
+  "bold",
+  "bold-standout",
+  NULL
+};
+
+struct tui_translate
+{
+  const char *name;
+  int value;
+};
+
+/* Translation table for border-mode variables.
+   The list of values must be terminated by a NULL.
+   After the NULL value, an entry defines the default.  */
+struct tui_translate tui_border_mode_translate[] = {
+  { "normal",		A_NORMAL },
+  { "standout",		A_STANDOUT },
+  { "reverse",		A_REVERSE },
+  { "half",		A_DIM },
+  { "half-standout",	A_DIM | A_STANDOUT },
+  { "bold",		A_BOLD },
+  { "bold-standout",	A_BOLD | A_STANDOUT },
+  { 0, 0 },
+  { "normal",		A_NORMAL }
+};
+
+/* Translation tables for border-kind, one for each border
+   character (see wborder, border curses operations).
+   -1 is used to indicate the ACS because ACS characters
+   are determined at run time by curses (depends on terminal).  */
+struct tui_translate tui_border_kind_translate_vline[] = {
+  { "space",    ' ' },
+  { "ascii",    '|' },
+  { "acs",      -1 },
+  { 0, 0 },
+  { "ascii",    '|' }
+};
+
+struct tui_translate tui_border_kind_translate_hline[] = {
+  { "space",    ' ' },
+  { "ascii",    '-' },
+  { "acs",      -1 },
+  { 0, 0 },
+  { "ascii",    '-' }
+};
+
+struct tui_translate tui_border_kind_translate_ulcorner[] = {
+  { "space",    ' ' },
+  { "ascii",    '+' },
+  { "acs",      -1 },
+  { 0, 0 },
+  { "ascii",    '+' }
+};
+
+struct tui_translate tui_border_kind_translate_urcorner[] = {
+  { "space",    ' ' },
+  { "ascii",    '+' },
+  { "acs",      -1 },
+  { 0, 0 },
+  { "ascii",    '+' }
+};
+
+struct tui_translate tui_border_kind_translate_llcorner[] = {
+  { "space",    ' ' },
+  { "ascii",    '+' },
+  { "acs",      -1 },
+  { 0, 0 },
+  { "ascii",    '+' }
+};
+
+struct tui_translate tui_border_kind_translate_lrcorner[] = {
+  { "space",    ' ' },
+  { "ascii",    '+' },
+  { "acs",      -1 },
+  { 0, 0 },
+  { "ascii",    '+' }
+};
+
+
+/* Tui configuration variables controlled with set/show command.  */
+const char *tui_active_border_mode = "bold-standout";
+const char *tui_border_mode = "normal";
+const char *tui_border_kind = "acs";
+
+/* Tui internal configuration variables.  These variables are
+   updated by tui_update_variables to reflect the tui configuration
+   variables.  */
+chtype tui_border_vline;
+chtype tui_border_hline;
+chtype tui_border_ulcorner;
+chtype tui_border_urcorner;
+chtype tui_border_llcorner;
+chtype tui_border_lrcorner;
+
+int tui_border_attrs;
+int tui_active_border_attrs;
+
+/* Identify the item in the translation table.
+   When the item is not recognized, use the default entry.  */
+static struct tui_translate *
+translate (const char *name, struct tui_translate *table)
+{
+  while (table->name)
+    {
+      if (name && strcmp (table->name, name) == 0)
+        return table;
+      table++;
+    }
+
+  /* Not found, return default entry.  */
+  table++;
+  return table;
+}
+
+/* Update the tui internal configuration according to gdb settings.
+   Returns 1 if the configuration has changed and the screen should
+   be redrawn.  */
+int
+tui_update_variables ()
+{
+  int need_redraw = 0;
+  struct tui_translate *entry;
+
+  entry = translate (tui_border_mode, tui_border_mode_translate);
+  if (tui_border_attrs != entry->value)
+    {
+      tui_border_attrs = entry->value;
+      need_redraw = 1;
+    }
+  entry = translate (tui_active_border_mode, tui_border_mode_translate);
+  if (tui_active_border_attrs != entry->value)
+    {
+      tui_active_border_attrs = entry->value;
+      need_redraw = 1;
+    }
+
+  /* If one corner changes, all characters are changed.
+     Only check the first one.  The ACS characters are determined at
+     run time by curses terminal management.  */
+  entry = translate (tui_border_kind, tui_border_kind_translate_lrcorner);
+  if (tui_border_lrcorner != (chtype) entry->value)
+    {
+      tui_border_lrcorner = (entry->value < 0) ? ACS_LRCORNER : entry->value;
+      need_redraw = 1;
+    }
+  entry = translate (tui_border_kind, tui_border_kind_translate_llcorner);
+  tui_border_llcorner = (entry->value < 0) ? ACS_LLCORNER : entry->value;
+
+  entry = translate (tui_border_kind, tui_border_kind_translate_ulcorner);
+  tui_border_ulcorner = (entry->value < 0) ? ACS_ULCORNER : entry->value;
+
+  entry = translate (tui_border_kind, tui_border_kind_translate_urcorner);
+  tui_border_urcorner = (entry->value < 0) ? ACS_URCORNER : entry->value;
+
+  entry = translate (tui_border_kind, tui_border_kind_translate_hline);
+  tui_border_hline = (entry->value < 0) ? ACS_HLINE : entry->value;
+
+  entry = translate (tui_border_kind, tui_border_kind_translate_vline);
+  tui_border_vline = (entry->value < 0) ? ACS_VLINE : entry->value;
+
+  return need_redraw;
+}
+
+static void
+set_tui_cmd (char *args, int from_tty)
+{
+}
+
+static void
+show_tui_cmd (char *args, int from_tty)
+{
+}
+
+/*
+   ** _initialize_tuiWin().
+   **        Function to initialize gdb commands, for tui window manipulation.
+ */
+void
+_initialize_tuiWin (void)
+{
+  struct cmd_list_element *c;
+  static struct cmd_list_element *tui_setlist;
+  static struct cmd_list_element *tui_showlist;
+
+  /* Define the classes of commands.
+     They will appear in the help list in the reverse of this order.  */
+  add_cmd ("tui", class_tui, NULL,
+	   "Text User Interface commands.",
+	   &cmdlist);
+
+  add_prefix_cmd ("tui", class_tui, set_tui_cmd,
+                  "TUI configuration variables",
+		  &tui_setlist, "set tui ",
+		  0/*allow-unknown*/, &setlist);
+  add_prefix_cmd ("tui", class_tui, show_tui_cmd,
+                  "TUI configuration variables",
+		  &tui_showlist, "show tui ",
+		  0/*allow-unknown*/, &showlist);
+
+  add_com ("refresh", class_tui, _tuiRefreshAll_command,
+           "Refresh the terminal display.\n");
+  if (xdb_commands)
+    add_com_alias ("U", "refresh", class_tui, 0);
+  add_com ("tabset", class_tui, _tuiSetTabWidth_command,
+           "Set the width (in characters) of tab stops.\n\
+Usage: tabset <n>\n");
+  add_com ("winheight", class_tui, _tuiSetWinHeight_command,
+           "Set the height of a specified window.\n\
+Usage: winheight <win_name> [+ | -] <#lines>\n\
+Window names are:\n\
+src  : the source window\n\
+cmd  : the command window\n\
+asm  : the disassembly window\n\
+regs : the register display\n");
+  add_com_alias ("wh", "winheight", class_tui, 0);
+  add_info ("win", _tuiAllWindowsInfo,
+            "List of all displayed windows.\n");
+  add_com ("focus", class_tui, _tuiSetFocus_command,
+           "Set focus to named window or next/prev window.\n\
+Usage: focus {<win> | next | prev}\n\
+Valid Window names are:\n\
+src  : the source window\n\
+asm  : the disassembly window\n\
+regs : the register display\n\
+cmd  : the command window\n");
+  add_com_alias ("fs", "focus", class_tui, 0);
+  add_com ("+", class_tui, _tuiScrollForward_command,
+           "Scroll window forward.\nUsage: + [win] [n]\n");
+  add_com ("-", class_tui, _tuiScrollBackward_command,
+           "Scroll window backward.\nUsage: - [win] [n]\n");
+  add_com ("<", class_tui, _tuiScrollLeft_command,
+           "Scroll window forward.\nUsage: < [win] [n]\n");
+  add_com (">", class_tui, _tuiScrollRight_command,
+           "Scroll window backward.\nUsage: > [win] [n]\n");
+  if (xdb_commands)
+    add_com ("w", class_xdb, _tuiXDBsetWinHeight_command,
+             "XDB compatibility command for setting the height of a command window.\n\
+Usage: w <#lines>\n");
+
+  /* Define the tui control variables.  */
+  c = add_set_enum_cmd
+    ("border-kind", no_class,
+     tui_border_kind_enums, &tui_border_kind,
+     "Set the kind of border for TUI windows.\n"
+     "This variable controls the border of TUI windows:\n"
+     "space           use a white space\n"
+     "ascii           use ascii characters + - | for the border\n"
+     "acs             use the Alternate Character Set\n",
+     &tui_setlist);
+  add_show_from_set (c, &tui_showlist);
+
+  c = add_set_enum_cmd
+    ("border-mode", no_class,
+     tui_border_mode_enums, &tui_border_mode,
+     "Set the attribute mode to use for the TUI window borders.\n"
+     "This variable controls the attributes to use for the window borders:\n"
+     "normal          normal display\n"
+     "standout        use highlight mode of terminal\n"
+     "reverse         use reverse video mode\n"
+     "half            use half bright\n"
+     "half-standout   use half bright and standout mode\n"
+     "bold            use extra bright or bold\n"
+     "bold-standout   use extra bright or bold with standout mode\n",
+     &tui_setlist);
+  add_show_from_set (c, &tui_showlist);
+
+  c = add_set_enum_cmd
+    ("active-border-mode", no_class,
+     tui_border_mode_enums, &tui_active_border_mode,
+     "Set the attribute mode to use for the active TUI window border.\n"
+     "This variable controls the attributes to use for the active window border:\n"
+     "normal          normal display\n"
+     "standout        use highlight mode of terminal\n"
+     "reverse         use reverse video mode\n"
+     "half            use half bright\n"
+     "half-standout   use half bright and standout mode\n"
+     "bold            use extra bright or bold\n"
+     "bold-standout   use extra bright or bold with standout mode\n",
+     &tui_setlist);
+  add_show_from_set (c, &tui_showlist);
+}
+
+/* Update gdb's knowledge of the terminal size.  */
+void
+tui_update_gdb_sizes ()
+{
+  char cmd[50];
+  int screenheight, screenwidth;
+
+  rl_get_screen_size (&screenheight, &screenwidth);
+  /* Set to TUI command window dimension or use readline values.  */
+  sprintf (cmd, "set width %d",
+           tui_active ? cmdWin->generic.width : screenwidth);
+  execute_command (cmd, 0);
+  sprintf (cmd, "set height %d",
+           tui_active ? cmdWin->generic.height : screenheight);
+  execute_command (cmd, 0);
+}
+
+
+/*
+   ** tuiSetWinFocusTo
+   **        Set the logical focus to winInfo
+ */
+void
+tuiSetWinFocusTo (TuiWinInfoPtr winInfo)
+{
+  if (m_winPtrNotNull (winInfo))
+    {
+      TuiWinInfoPtr winWithFocus = tuiWinWithFocus ();
+
+      if (m_winPtrNotNull (winWithFocus) &&
+	  winWithFocus->generic.type != CMD_WIN)
+	unhighlightWin (winWithFocus);
+      tuiSetWinWithFocus (winInfo);
+      if (winInfo->generic.type != CMD_WIN)
+	highlightWin (winInfo);
+    }
+
+  return;
+}				/* tuiSetWinFocusTo */
+
+
+/*
+   ** tuiScrollForward().
+ */
+void
+tuiScrollForward (TuiWinInfoPtr winToScroll, int numToScroll)
+{
+  if (winToScroll != cmdWin)
+    {
+      int _numToScroll = numToScroll;
+
+      if (numToScroll == 0)
+	_numToScroll = winToScroll->generic.height - 3;
+      /*
+         ** If we are scrolling the source or disassembly window, do a
+         ** "psuedo" scroll since not all of the source is in memory,
+         ** only what is in the viewport.  If winToScroll is the
+         ** command window do nothing since the term should handle it.
+       */
+      if (winToScroll == srcWin)
+	tuiVerticalSourceScroll (FORWARD_SCROLL, _numToScroll);
+      else if (winToScroll == disassemWin)
+	tui_vertical_disassem_scroll (FORWARD_SCROLL, _numToScroll);
+      else if (winToScroll == dataWin)
+	tuiVerticalDataScroll (FORWARD_SCROLL, _numToScroll);
+    }
+
+  return;
+}				/* tuiScrollForward */
+
+
+/*
+   ** tuiScrollBackward().
+ */
+void
+tuiScrollBackward (TuiWinInfoPtr winToScroll, int numToScroll)
+{
+  if (winToScroll != cmdWin)
+    {
+      int _numToScroll = numToScroll;
+
+      if (numToScroll == 0)
+	_numToScroll = winToScroll->generic.height - 3;
+      /*
+         ** If we are scrolling the source or disassembly window, do a
+         ** "psuedo" scroll since not all of the source is in memory,
+         ** only what is in the viewport.  If winToScroll is the
+         ** command window do nothing since the term should handle it.
+       */
+      if (winToScroll == srcWin)
+	tuiVerticalSourceScroll (BACKWARD_SCROLL, _numToScroll);
+      else if (winToScroll == disassemWin)
+	tui_vertical_disassem_scroll (BACKWARD_SCROLL, _numToScroll);
+      else if (winToScroll == dataWin)
+	tuiVerticalDataScroll (BACKWARD_SCROLL, _numToScroll);
+    }
+  return;
+}				/* tuiScrollBackward */
+
+
+/*
+   ** tuiScrollLeft().
+ */
+void
+tuiScrollLeft (TuiWinInfoPtr winToScroll, int numToScroll)
+{
+  if (winToScroll != cmdWin)
+    {
+      int _numToScroll = numToScroll;
+
+      if (_numToScroll == 0)
+	_numToScroll = 1;
+      /*
+         ** If we are scrolling the source or disassembly window, do a
+         ** "psuedo" scroll since not all of the source is in memory,
+         ** only what is in the viewport. If winToScroll is the
+         ** command window do nothing since the term should handle it.
+       */
+      if (winToScroll == srcWin || winToScroll == disassemWin)
+	tuiHorizontalSourceScroll (winToScroll, LEFT_SCROLL, _numToScroll);
+    }
+  return;
+}				/* tuiScrollLeft */
+
+
+/*
+   ** tuiScrollRight().
+ */
+void
+tuiScrollRight (TuiWinInfoPtr winToScroll, int numToScroll)
+{
+  if (winToScroll != cmdWin)
+    {
+      int _numToScroll = numToScroll;
+
+      if (_numToScroll == 0)
+	_numToScroll = 1;
+      /*
+         ** If we are scrolling the source or disassembly window, do a
+         ** "psuedo" scroll since not all of the source is in memory,
+         ** only what is in the viewport. If winToScroll is the
+         ** command window do nothing since the term should handle it.
+       */
+      if (winToScroll == srcWin || winToScroll == disassemWin)
+	tuiHorizontalSourceScroll (winToScroll, RIGHT_SCROLL, _numToScroll);
+    }
+  return;
+}				/* tuiScrollRight */
+
+
+/*
+   ** tui_scroll().
+   **    Scroll a window.  Arguments are passed through a va_list.
+ */
+void
+tui_scroll (TuiScrollDirection direction,
+	    TuiWinInfoPtr winToScroll,
+	    int numToScroll)
+{
+  switch (direction)
+    {
+    case FORWARD_SCROLL:
+      tuiScrollForward (winToScroll, numToScroll);
+      break;
+    case BACKWARD_SCROLL:
+      tuiScrollBackward (winToScroll, numToScroll);
+      break;
+    case LEFT_SCROLL:
+      tuiScrollLeft (winToScroll, numToScroll);
+      break;
+    case RIGHT_SCROLL:
+      tuiScrollRight (winToScroll, numToScroll);
+      break;
+    default:
+      break;
+    }
+}
+
+
+/*
+   ** tuiRefreshAll().
+ */
+void
+tuiRefreshAll (void)
+{
+  TuiWinType type;
+
+  clearok (curscr, TRUE);
+  refreshAll (winList);
+  for (type = SRC_WIN; type < MAX_MAJOR_WINDOWS; type++)
+    {
+      if (winList[type] && winList[type]->generic.isVisible)
+	{
+	  switch (type)
+	    {
+	    case SRC_WIN:
+	    case DISASSEM_WIN:
+	      tuiShowSourceContent (winList[type]);
+	      checkAndDisplayHighlightIfNeeded (winList[type]);
+	      tuiEraseExecInfoContent (winList[type]);
+	      tuiUpdateExecInfo (winList[type]);
+	      break;
+	    case DATA_WIN:
+	      tuiRefreshDataWin ();
+	      break;
+	    default:
+	      break;
+	    }
+	}
+    }
+  tuiShowLocatorContent ();
+}
+
+
+/*
+   ** tuiResizeAll().
+   **      Resize all the windows based on the the terminal size.  This
+   **      function gets called from within the readline sinwinch handler.
+ */
+void
+tuiResizeAll (void)
+{
+  int heightDiff, widthDiff;
+  int screenheight, screenwidth;
+
+  rl_get_screen_size (&screenheight, &screenwidth);
+  widthDiff = screenwidth - termWidth ();
+  heightDiff = screenheight - termHeight ();
+  if (heightDiff || widthDiff)
+    {
+      TuiLayoutType curLayout = currentLayout ();
+      TuiWinInfoPtr winWithFocus = tuiWinWithFocus ();
+      TuiWinInfoPtr firstWin, secondWin;
+      TuiGenWinInfoPtr locator = locatorWinInfoPtr ();
+      TuiWinType winType;
+      int newHeight, splitDiff, cmdSplitDiff, numWinsDisplayed = 2;
+
+      /* turn keypad off while we resize */
+      if (winWithFocus != cmdWin)
+	keypad (cmdWin->generic.handle, FALSE);
+      tui_update_gdb_sizes ();
+      setTermHeightTo (screenheight);
+      setTermWidthTo (screenwidth);
+      if (curLayout == SRC_DISASSEM_COMMAND ||
+	curLayout == SRC_DATA_COMMAND || curLayout == DISASSEM_DATA_COMMAND)
+	numWinsDisplayed++;
+      splitDiff = heightDiff / numWinsDisplayed;
+      cmdSplitDiff = splitDiff;
+      if (heightDiff % numWinsDisplayed)
+	{
+	  if (heightDiff < 0)
+	    cmdSplitDiff--;
+	  else
+	    cmdSplitDiff++;
+	}
+      /* now adjust each window */
+      clear ();
+      refresh ();
+      switch (curLayout)
+	{
+	case SRC_COMMAND:
+	case DISASSEM_COMMAND:
+	  firstWin = (TuiWinInfoPtr) (sourceWindows ())->list[0];
+	  firstWin->generic.width += widthDiff;
+	  locator->width += widthDiff;
+	  /* check for invalid heights */
+	  if (heightDiff == 0)
+	    newHeight = firstWin->generic.height;
+	  else if ((firstWin->generic.height + splitDiff) >=
+		   (screenheight - MIN_CMD_WIN_HEIGHT - 1))
+	    newHeight = screenheight - MIN_CMD_WIN_HEIGHT - 1;
+	  else if ((firstWin->generic.height + splitDiff) <= 0)
+	    newHeight = MIN_WIN_HEIGHT;
+	  else
+	    newHeight = firstWin->generic.height + splitDiff;
+
+	  _makeInvisibleAndSetNewHeight (firstWin, newHeight);
+	  cmdWin->generic.origin.y = locator->origin.y + 1;
+	  cmdWin->generic.width += widthDiff;
+	  newHeight = screenheight - cmdWin->generic.origin.y;
+	  _makeInvisibleAndSetNewHeight (cmdWin, newHeight);
+	  _makeVisibleWithNewHeight (firstWin);
+	  _makeVisibleWithNewHeight (cmdWin);
+	  if (firstWin->generic.contentSize <= 0)
+	    tuiEraseSourceContent (firstWin, EMPTY_SOURCE_PROMPT);
+	  break;
+	default:
+	  if (curLayout == SRC_DISASSEM_COMMAND)
+	    {
+	      firstWin = srcWin;
+	      firstWin->generic.width += widthDiff;
+	      secondWin = disassemWin;
+	      secondWin->generic.width += widthDiff;
+	    }
+	  else
+	    {
+	      firstWin = dataWin;
+	      firstWin->generic.width += widthDiff;
+	      secondWin = (TuiWinInfoPtr) (sourceWindows ())->list[0];
+	      secondWin->generic.width += widthDiff;
+	    }
+	  /* Change the first window's height/width */
+	  /* check for invalid heights */
+	  if (heightDiff == 0)
+	    newHeight = firstWin->generic.height;
+	  else if ((firstWin->generic.height +
+		    secondWin->generic.height + (splitDiff * 2)) >=
+		   (screenheight - MIN_CMD_WIN_HEIGHT - 1))
+	    newHeight = (screenheight - MIN_CMD_WIN_HEIGHT - 1) / 2;
+	  else if ((firstWin->generic.height + splitDiff) <= 0)
+	    newHeight = MIN_WIN_HEIGHT;
+	  else
+	    newHeight = firstWin->generic.height + splitDiff;
+	  _makeInvisibleAndSetNewHeight (firstWin, newHeight);
+
+	  if (firstWin == dataWin && widthDiff != 0)
+	    firstWin->detail.dataDisplayInfo.regsColumnCount =
+	      tui_calculate_regs_column_count (
+			  firstWin->detail.dataDisplayInfo.regsDisplayType);
+	  locator->width += widthDiff;
+
+	  /* Change the second window's height/width */
+	  /* check for invalid heights */
+	  if (heightDiff == 0)
+	    newHeight = secondWin->generic.height;
+	  else if ((firstWin->generic.height +
+		    secondWin->generic.height + (splitDiff * 2)) >=
+		   (screenheight - MIN_CMD_WIN_HEIGHT - 1))
+	    {
+	      newHeight = screenheight - MIN_CMD_WIN_HEIGHT - 1;
+	      if (newHeight % 2)
+		newHeight = (newHeight / 2) + 1;
+	      else
+		newHeight /= 2;
+	    }
+	  else if ((secondWin->generic.height + splitDiff) <= 0)
+	    newHeight = MIN_WIN_HEIGHT;
+	  else
+	    newHeight = secondWin->generic.height + splitDiff;
+	  secondWin->generic.origin.y = firstWin->generic.height - 1;
+	  _makeInvisibleAndSetNewHeight (secondWin, newHeight);
+
+	  /* Change the command window's height/width */
+	  cmdWin->generic.origin.y = locator->origin.y + 1;
+	  _makeInvisibleAndSetNewHeight (
+			     cmdWin, cmdWin->generic.height + cmdSplitDiff);
+	  _makeVisibleWithNewHeight (firstWin);
+	  _makeVisibleWithNewHeight (secondWin);
+	  _makeVisibleWithNewHeight (cmdWin);
+	  if (firstWin->generic.contentSize <= 0)
+	    tuiEraseSourceContent (firstWin, EMPTY_SOURCE_PROMPT);
+	  if (secondWin->generic.contentSize <= 0)
+	    tuiEraseSourceContent (secondWin, EMPTY_SOURCE_PROMPT);
+	  break;
+	}
+      /*
+         ** Now remove all invisible windows, and their content so that they get
+         ** created again when called for with the new size
+       */
+      for (winType = SRC_WIN; (winType < MAX_MAJOR_WINDOWS); winType++)
+	{
+	  if (winType != CMD_WIN && m_winPtrNotNull (winList[winType]) &&
+	      !winList[winType]->generic.isVisible)
+	    {
+	      freeWindow (winList[winType]);
+	      winList[winType] = (TuiWinInfoPtr) NULL;
+	    }
+	}
+      tuiSetWinResizedTo (TRUE);
+      /* turn keypad back on, unless focus is in the command window */
+      if (winWithFocus != cmdWin)
+	keypad (cmdWin->generic.handle, TRUE);
+    }
+  return;
+}				/* tuiResizeAll */
+
+
+/*
+   ** tuiSigwinchHandler()
+   **    SIGWINCH signal handler for the tui.  This signal handler is
+   **    always called, even when the readline package clears signals
+   **    because it is set as the old_sigwinch() (TUI only)
+ */
+void
+tuiSigwinchHandler (int signal)
+{
+  /*
+     ** Say that a resize was done so that the readline can do it
+     ** later when appropriate.
+   */
+  tuiSetWinResizedTo (TRUE);
+
+  return;
+}				/* tuiSigwinchHandler */
+
+
+
+/*************************
+** STATIC LOCAL FUNCTIONS
+**************************/
+
+
+/*
+   ** _tuiScrollForward_command().
+ */
+static void
+_tuiScrollForward_command (char *arg, int fromTTY)
+{
+  int numToScroll = 1;
+  TuiWinInfoPtr winToScroll;
+
+  /* Make sure the curses mode is enabled.  */
+  tui_enable ();
+  if (arg == (char *) NULL)
+    _parseScrollingArgs (arg, &winToScroll, (int *) NULL);
+  else
+    _parseScrollingArgs (arg, &winToScroll, &numToScroll);
+  tui_scroll (FORWARD_SCROLL, winToScroll, numToScroll);
+}
+
+
+/*
+   ** _tuiScrollBackward_command().
+ */
+static void
+_tuiScrollBackward_command (char *arg, int fromTTY)
+{
+  int numToScroll = 1;
+  TuiWinInfoPtr winToScroll;
+
+  /* Make sure the curses mode is enabled.  */
+  tui_enable ();
+  if (arg == (char *) NULL)
+    _parseScrollingArgs (arg, &winToScroll, (int *) NULL);
+  else
+    _parseScrollingArgs (arg, &winToScroll, &numToScroll);
+  tui_scroll (BACKWARD_SCROLL, winToScroll, numToScroll);
+}
+
+
+/*
+   ** _tuiScrollLeft_command().
+ */
+static void
+_tuiScrollLeft_command (char *arg, int fromTTY)
+{
+  int numToScroll;
+  TuiWinInfoPtr winToScroll;
+
+  /* Make sure the curses mode is enabled.  */
+  tui_enable ();
+  _parseScrollingArgs (arg, &winToScroll, &numToScroll);
+  tui_scroll (LEFT_SCROLL, winToScroll, numToScroll);
+}
+
+
+/*
+   ** _tuiScrollRight_command().
+ */
+static void
+_tuiScrollRight_command (char *arg, int fromTTY)
+{
+  int numToScroll;
+  TuiWinInfoPtr winToScroll;
+
+  /* Make sure the curses mode is enabled.  */
+  tui_enable ();
+  _parseScrollingArgs (arg, &winToScroll, &numToScroll);
+  tui_scroll (RIGHT_SCROLL, winToScroll, numToScroll);
+}
+
+
+/*
+   ** _tuiSetFocus().
+   **     Set focus to the window named by 'arg'
+ */
+static void
+_tuiSetFocus (char *arg, int fromTTY)
+{
+  if (arg != (char *) NULL)
+    {
+      char *bufPtr = (char *) xstrdup (arg);
+      int i;
+      TuiWinInfoPtr winInfo = (TuiWinInfoPtr) NULL;
+
+      for (i = 0; (i < strlen (bufPtr)); i++)
+	bufPtr[i] = toupper (arg[i]);
+
+      if (subset_compare (bufPtr, "NEXT"))
+	winInfo = tuiNextWin (tuiWinWithFocus ());
+      else if (subset_compare (bufPtr, "PREV"))
+	winInfo = tuiPrevWin (tuiWinWithFocus ());
+      else
+	winInfo = partialWinByName (bufPtr);
+
+      if (winInfo == (TuiWinInfoPtr) NULL || !winInfo->generic.isVisible)
+	warning ("Invalid window specified. \n\
+The window name specified must be valid and visible.\n");
+      else
+	{
+	  tuiSetWinFocusTo (winInfo);
+	  keypad (cmdWin->generic.handle, (winInfo != cmdWin));
+	}
+
+      if (dataWin && dataWin->generic.isVisible)
+	tuiRefreshDataWin ();
+      tuiFree (bufPtr);
+      printf_filtered ("Focus set to %s window.\n",
+		       winName ((TuiGenWinInfoPtr) tuiWinWithFocus ()));
+    }
+  else
+    warning ("Incorrect Number of Arguments.\n%s", FOCUS_USAGE);
+
+  return;
+}				/* _tuiSetFocus */
+
+/*
+   ** _tuiSetFocus_command()
+ */
+static void
+_tuiSetFocus_command (char *arg, int fromTTY)
+{
+  /* Make sure the curses mode is enabled.  */
+  tui_enable ();
+  _tuiSetFocus (arg, fromTTY);
+}
+
+
+/*
+   ** _tuiAllWindowsInfo().
+ */
+static void
+_tuiAllWindowsInfo (char *arg, int fromTTY)
+{
+  TuiWinType type;
+  TuiWinInfoPtr winWithFocus = tuiWinWithFocus ();
+
+  for (type = SRC_WIN; (type < MAX_MAJOR_WINDOWS); type++)
+    if (winList[type] && winList[type]->generic.isVisible)
+      {
+	if (winWithFocus == winList[type])
+	  printf_filtered ("        %s\t(%d lines)  <has focus>\n",
+			   winName (&winList[type]->generic),
+			   winList[type]->generic.height);
+	else
+	  printf_filtered ("        %s\t(%d lines)\n",
+			   winName (&winList[type]->generic),
+			   winList[type]->generic.height);
+      }
+
+  return;
+}				/* _tuiAllWindowsInfo */
+
+
+/*
+   ** _tuiRefreshAll_command().
+ */
+static void
+_tuiRefreshAll_command (char *arg, int fromTTY)
+{
+  /* Make sure the curses mode is enabled.  */
+  tui_enable ();
+
+  tuiRefreshAll ();
+}
+
+
+/*
+   ** _tuiSetWinTabWidth_command().
+   **        Set the height of the specified window.
+ */
+static void
+_tuiSetTabWidth_command (char *arg, int fromTTY)
+{
+  /* Make sure the curses mode is enabled.  */
+  tui_enable ();
+  if (arg != (char *) NULL)
+    {
+      int ts;
+
+      ts = atoi (arg);
+      if (ts > 0)
+	tuiSetDefaultTabLen (ts);
+      else
+	warning ("Tab widths greater than 0 must be specified.\n");
+    }
+
+  return;
+}				/* _tuiSetTabWidth_command */
+
+
+/*
+   ** _tuiSetWinHeight().
+   **        Set the height of the specified window.
+ */
+static void
+_tuiSetWinHeight (char *arg, int fromTTY)
+{
+  /* Make sure the curses mode is enabled.  */
+  tui_enable ();
+  if (arg != (char *) NULL)
+    {
+      char *buf = xstrdup (arg);
+      char *bufPtr = buf;
+      char *wname = (char *) NULL;
+      int newHeight, i;
+      TuiWinInfoPtr winInfo;
+
+      wname = bufPtr;
+      bufPtr = strchr (bufPtr, ' ');
+      if (bufPtr != (char *) NULL)
+	{
+	  *bufPtr = (char) 0;
+
+	  /*
+	     ** Validate the window name
+	   */
+	  for (i = 0; i < strlen (wname); i++)
+	    wname[i] = toupper (wname[i]);
+	  winInfo = partialWinByName (wname);
+
+	  if (winInfo == (TuiWinInfoPtr) NULL || !winInfo->generic.isVisible)
+	    warning ("Invalid window specified. \n\
+The window name specified must be valid and visible.\n");
+	  else
+	    {
+	      /* Process the size */
+	      while (*(++bufPtr) == ' ')
+		;
+
+	      if (*bufPtr != (char) 0)
+		{
+		  int negate = FALSE;
+		  int fixedSize = TRUE;
+		  int inputNo;;
+
+		  if (*bufPtr == '+' || *bufPtr == '-')
+		    {
+		      if (*bufPtr == '-')
+			negate = TRUE;
+		      fixedSize = FALSE;
+		      bufPtr++;
+		    }
+		  inputNo = atoi (bufPtr);
+		  if (inputNo > 0)
+		    {
+		      if (negate)
+			inputNo *= (-1);
+		      if (fixedSize)
+			newHeight = inputNo;
+		      else
+			newHeight = winInfo->generic.height + inputNo;
+		      /*
+		         ** Now change the window's height, and adjust all
+		         ** other windows around it
+		       */
+		      if (_tuiAdjustWinHeights (winInfo,
+						newHeight) == TUI_FAILURE)
+			warning ("Invalid window height specified.\n%s",
+				 WIN_HEIGHT_USAGE);
+		      else
+                        tui_update_gdb_sizes ();
+		    }
+		  else
+		    warning ("Invalid window height specified.\n%s",
+			     WIN_HEIGHT_USAGE);
+		}
+	    }
+	}
+      else
+	printf_filtered (WIN_HEIGHT_USAGE);
+
+      if (buf != (char *) NULL)
+	tuiFree (buf);
+    }
+  else
+    printf_filtered (WIN_HEIGHT_USAGE);
+
+  return;
+}				/* _tuiSetWinHeight */
+
+/*
+   ** _tuiSetWinHeight_command().
+   **        Set the height of the specified window, with va_list.
+ */
+static void
+_tuiSetWinHeight_command (char *arg, int fromTTY)
+{
+  /* Make sure the curses mode is enabled.  */
+  tui_enable ();
+  _tuiSetWinHeight (arg, fromTTY);
+}
+
+
+/*
+   ** _tuiXDBsetWinHeight().
+   **        XDB Compatibility command for setting the window height.  This will
+   **        increase or decrease the command window by the specified amount.
+ */
+static void
+_tuiXDBsetWinHeight (char *arg, int fromTTY)
+{
+  /* Make sure the curses mode is enabled.  */
+  tui_enable ();
+  if (arg != (char *) NULL)
+    {
+      int inputNo = atoi (arg);
+
+      if (inputNo > 0)
+	{			/* Add 1 for the locator */
+	  int newHeight = termHeight () - (inputNo + 1);
+
+	  if (!_newHeightOk (winList[CMD_WIN], newHeight) ||
+	      _tuiAdjustWinHeights (winList[CMD_WIN],
+				    newHeight) == TUI_FAILURE)
+	    warning ("Invalid window height specified.\n%s",
+		     XDBWIN_HEIGHT_USAGE);
+	}
+      else
+	warning ("Invalid window height specified.\n%s",
+		 XDBWIN_HEIGHT_USAGE);
+    }
+  else
+    warning ("Invalid window height specified.\n%s", XDBWIN_HEIGHT_USAGE);
+
+  return;
+}				/* _tuiXDBsetWinHeight */
+
+/*
+   ** _tuiSetWinHeight_command().
+   **        Set the height of the specified window, with va_list.
+ */
+static void
+_tuiXDBsetWinHeight_command (char *arg, int fromTTY)
+{
+  _tuiXDBsetWinHeight (arg, fromTTY);
+}
+
+
+/*
+   ** _tuiAdjustWinHeights().
+   **        Function to adjust all window heights around the primary
+ */
+static TuiStatus
+_tuiAdjustWinHeights (TuiWinInfoPtr primaryWinInfo, int newHeight)
+{
+  TuiStatus status = TUI_FAILURE;
+
+  if (_newHeightOk (primaryWinInfo, newHeight))
+    {
+      status = TUI_SUCCESS;
+      if (newHeight != primaryWinInfo->generic.height)
+	{
+	  int diff;
+	  TuiWinInfoPtr winInfo;
+	  TuiGenWinInfoPtr locator = locatorWinInfoPtr ();
+	  TuiLayoutType curLayout = currentLayout ();
+
+	  diff = (newHeight - primaryWinInfo->generic.height) * (-1);
+	  if (curLayout == SRC_COMMAND || curLayout == DISASSEM_COMMAND)
+	    {
+	      TuiWinInfoPtr srcWinInfo;
+
+	      _makeInvisibleAndSetNewHeight (primaryWinInfo, newHeight);
+	      if (primaryWinInfo->generic.type == CMD_WIN)
+		{
+		  winInfo = (TuiWinInfoPtr) (sourceWindows ())->list[0];
+		  srcWinInfo = winInfo;
+		}
+	      else
+		{
+		  winInfo = winList[CMD_WIN];
+		  srcWinInfo = primaryWinInfo;
+		}
+	      _makeInvisibleAndSetNewHeight (winInfo,
+					     winInfo->generic.height + diff);
+	      cmdWin->generic.origin.y = locator->origin.y + 1;
+	      _makeVisibleWithNewHeight (winInfo);
+	      _makeVisibleWithNewHeight (primaryWinInfo);
+	      if (srcWinInfo->generic.contentSize <= 0)
+		tuiEraseSourceContent (srcWinInfo, EMPTY_SOURCE_PROMPT);
+	    }
+	  else
+	    {
+	      TuiWinInfoPtr firstWin, secondWin;
+
+	      if (curLayout == SRC_DISASSEM_COMMAND)
+		{
+		  firstWin = srcWin;
+		  secondWin = disassemWin;
+		}
+	      else
+		{
+		  firstWin = dataWin;
+		  secondWin = (TuiWinInfoPtr) (sourceWindows ())->list[0];
+		}
+	      if (primaryWinInfo == cmdWin)
+		{		/*
+				   ** Split the change in height accross the 1st & 2nd windows
+				   ** adjusting them as well.
+				 */
+		  int firstSplitDiff = diff / 2;	/* subtract the locator */
+		  int secondSplitDiff = firstSplitDiff;
+
+		  if (diff % 2)
+		    {
+		      if (firstWin->generic.height >
+			  secondWin->generic.height)
+			if (diff < 0)
+			  firstSplitDiff--;
+			else
+			  firstSplitDiff++;
+		      else
+			{
+			  if (diff < 0)
+			    secondSplitDiff--;
+			  else
+			    secondSplitDiff++;
+			}
+		    }
+		  /* make sure that the minimum hieghts are honored */
+		  while ((firstWin->generic.height + firstSplitDiff) < 3)
+		    {
+		      firstSplitDiff++;
+		      secondSplitDiff--;
+		    }
+		  while ((secondWin->generic.height + secondSplitDiff) < 3)
+		    {
+		      secondSplitDiff++;
+		      firstSplitDiff--;
+		    }
+		  _makeInvisibleAndSetNewHeight (
+						  firstWin,
+				 firstWin->generic.height + firstSplitDiff);
+		  secondWin->generic.origin.y = firstWin->generic.height - 1;
+		  _makeInvisibleAndSetNewHeight (
+		    secondWin, secondWin->generic.height + secondSplitDiff);
+		  cmdWin->generic.origin.y = locator->origin.y + 1;
+		  _makeInvisibleAndSetNewHeight (cmdWin, newHeight);
+		}
+	      else
+		{
+		  if ((cmdWin->generic.height + diff) < 1)
+		    {		/*
+				   ** If there is no way to increase the command window
+				   ** take real estate from the 1st or 2nd window.
+				 */
+		      if ((cmdWin->generic.height + diff) < 1)
+			{
+			  int i;
+			  for (i = cmdWin->generic.height + diff;
+			       (i < 1); i++)
+			    if (primaryWinInfo == firstWin)
+			      secondWin->generic.height--;
+			    else
+			      firstWin->generic.height--;
+			}
+		    }
+		  if (primaryWinInfo == firstWin)
+		    _makeInvisibleAndSetNewHeight (firstWin, newHeight);
+		  else
+		    _makeInvisibleAndSetNewHeight (
+						    firstWin,
+						  firstWin->generic.height);
+		  secondWin->generic.origin.y = firstWin->generic.height - 1;
+		  if (primaryWinInfo == secondWin)
+		    _makeInvisibleAndSetNewHeight (secondWin, newHeight);
+		  else
+		    _makeInvisibleAndSetNewHeight (
+				      secondWin, secondWin->generic.height);
+		  cmdWin->generic.origin.y = locator->origin.y + 1;
+		  if ((cmdWin->generic.height + diff) < 1)
+		    _makeInvisibleAndSetNewHeight (cmdWin, 1);
+		  else
+		    _makeInvisibleAndSetNewHeight (
+				     cmdWin, cmdWin->generic.height + diff);
+		}
+	      _makeVisibleWithNewHeight (cmdWin);
+	      _makeVisibleWithNewHeight (secondWin);
+	      _makeVisibleWithNewHeight (firstWin);
+	      if (firstWin->generic.contentSize <= 0)
+		tuiEraseSourceContent (firstWin, EMPTY_SOURCE_PROMPT);
+	      if (secondWin->generic.contentSize <= 0)
+		tuiEraseSourceContent (secondWin, EMPTY_SOURCE_PROMPT);
+	    }
+	}
+    }
+
+  return status;
+}				/* _tuiAdjustWinHeights */
+
+
+/*
+   ** _makeInvisibleAndSetNewHeight().
+   **        Function make the target window (and auxillary windows associated
+   **        with the targer) invisible, and set the new height and location.
+ */
+static void
+_makeInvisibleAndSetNewHeight (TuiWinInfoPtr winInfo, int height)
+{
+  int i;
+  TuiGenWinInfoPtr genWinInfo;
+
+
+  m_beInvisible (&winInfo->generic);
+  winInfo->generic.height = height;
+  if (height > 1)
+    winInfo->generic.viewportHeight = height - 1;
+  else
+    winInfo->generic.viewportHeight = height;
+  if (winInfo != cmdWin)
+    winInfo->generic.viewportHeight--;
+
+  /* Now deal with the auxillary windows associated with winInfo */
+  switch (winInfo->generic.type)
+    {
+    case SRC_WIN:
+    case DISASSEM_WIN:
+      genWinInfo = winInfo->detail.sourceInfo.executionInfo;
+      m_beInvisible (genWinInfo);
+      genWinInfo->height = height;
+      genWinInfo->origin.y = winInfo->generic.origin.y;
+      if (height > 1)
+	genWinInfo->viewportHeight = height - 1;
+      else
+	genWinInfo->viewportHeight = height;
+      if (winInfo != cmdWin)
+	genWinInfo->viewportHeight--;
+
+      if (m_hasLocator (winInfo))
+	{
+	  genWinInfo = locatorWinInfoPtr ();
+	  m_beInvisible (genWinInfo);
+	  genWinInfo->origin.y = winInfo->generic.origin.y + height;
+	}
+      break;
+    case DATA_WIN:
+      /* delete all data item windows */
+      for (i = 0; i < winInfo->generic.contentSize; i++)
+	{
+	  genWinInfo = (TuiGenWinInfoPtr) & ((TuiWinElementPtr)
+		      winInfo->generic.content[i])->whichElement.dataWindow;
+	  tuiDelwin (genWinInfo->handle);
+	  genWinInfo->handle = (WINDOW *) NULL;
+	}
+      break;
+    default:
+      break;
+    }
+}
+
+
+/*
+   ** _makeVisibleWithNewHeight().
+   **        Function to make the windows with new heights visible.
+   **        This means re-creating the windows' content since the window
+   **        had to be destroyed to be made invisible.
+ */
+static void
+_makeVisibleWithNewHeight (TuiWinInfoPtr winInfo)
+{
+  struct symtab *s;
+
+  m_beVisible (&winInfo->generic);
+  checkAndDisplayHighlightIfNeeded (winInfo);
+  switch (winInfo->generic.type)
+    {
+    case SRC_WIN:
+    case DISASSEM_WIN:
+      freeWinContent (winInfo->detail.sourceInfo.executionInfo);
+      m_beVisible (winInfo->detail.sourceInfo.executionInfo);
+      if (winInfo->generic.content != (OpaquePtr) NULL)
+	{
+	  TuiLineOrAddress lineOrAddr;
+	  struct symtab_and_line cursal
+	    = get_current_source_symtab_and_line ();
+
+	  if (winInfo->generic.type == SRC_WIN)
+	    lineOrAddr.lineNo =
+	      winInfo->detail.sourceInfo.startLineOrAddr.lineNo;
+	  else
+	    lineOrAddr.addr =
+	      winInfo->detail.sourceInfo.startLineOrAddr.addr;
+	  freeWinContent (&winInfo->generic);
+	  tuiUpdateSourceWindow (winInfo,
+				 cursal.symtab, lineOrAddr, TRUE);
+	}
+      else if (deprecated_selected_frame != (struct frame_info *) NULL)
+	{
+	  TuiLineOrAddress line;
+	  struct symtab_and_line cursal = get_current_source_symtab_and_line ();
+
+
+	  s = find_pc_symtab (get_frame_pc (deprecated_selected_frame));
+	  if (winInfo->generic.type == SRC_WIN)
+	    line.lineNo = cursal.line;
+	  else
+	    {
+	      find_line_pc (s, cursal.line, &line.addr);
+	    }
+	  tuiUpdateSourceWindow (winInfo, s, line, TRUE);
+	}
+      if (m_hasLocator (winInfo))
+	{
+	  m_beVisible (locatorWinInfoPtr ());
+	  tuiShowLocatorContent ();
+	}
+      break;
+    case DATA_WIN:
+      tuiDisplayAllData ();
+      break;
+    case CMD_WIN:
+      winInfo->detail.commandInfo.curLine = 0;
+      winInfo->detail.commandInfo.curch = 0;
+      wmove (winInfo->generic.handle,
+	     winInfo->detail.commandInfo.curLine,
+	     winInfo->detail.commandInfo.curch);
+      break;
+    default:
+      break;
+    }
+
+  return;
+}				/* _makeVisibleWithNewHeight */
+
+
+static int
+_newHeightOk (TuiWinInfoPtr primaryWinInfo, int newHeight)
+{
+  int ok = (newHeight < termHeight ());
+
+  if (ok)
+    {
+      int diff;
+      TuiLayoutType curLayout = currentLayout ();
+
+      diff = (newHeight - primaryWinInfo->generic.height) * (-1);
+      if (curLayout == SRC_COMMAND || curLayout == DISASSEM_COMMAND)
+	{
+	  ok = ((primaryWinInfo->generic.type == CMD_WIN &&
+		 newHeight <= (termHeight () - 4) &&
+		 newHeight >= MIN_CMD_WIN_HEIGHT) ||
+		(primaryWinInfo->generic.type != CMD_WIN &&
+		 newHeight <= (termHeight () - 2) &&
+		 newHeight >= MIN_WIN_HEIGHT));
+	  if (ok)
+	    {			/* check the total height */
+	      TuiWinInfoPtr winInfo;
+
+	      if (primaryWinInfo == cmdWin)
+		winInfo = (TuiWinInfoPtr) (sourceWindows ())->list[0];
+	      else
+		winInfo = cmdWin;
+	      ok = ((newHeight +
+		     (winInfo->generic.height + diff)) <= termHeight ());
+	    }
+	}
+      else
+	{
+	  int curTotalHeight, totalHeight, minHeight = 0;
+	  TuiWinInfoPtr firstWin, secondWin;
+
+	  if (curLayout == SRC_DISASSEM_COMMAND)
+	    {
+	      firstWin = srcWin;
+	      secondWin = disassemWin;
+	    }
+	  else
+	    {
+	      firstWin = dataWin;
+	      secondWin = (TuiWinInfoPtr) (sourceWindows ())->list[0];
+	    }
+	  /*
+	     ** We could simply add all the heights to obtain the same result
+	     ** but below is more explicit since we subtract 1 for the
+	     ** line that the first and second windows share, and add one
+	     ** for the locator.
+	   */
+	  totalHeight = curTotalHeight =
+	    (firstWin->generic.height + secondWin->generic.height - 1)
+	    + cmdWin->generic.height + 1 /*locator */ ;
+	  if (primaryWinInfo == cmdWin)
+	    {
+	      /* locator included since first & second win share a line */
+	      ok = ((firstWin->generic.height +
+		     secondWin->generic.height + diff) >=
+		    (MIN_WIN_HEIGHT * 2) &&
+		    newHeight >= MIN_CMD_WIN_HEIGHT);
+	      if (ok)
+		{
+		  totalHeight = newHeight + (firstWin->generic.height +
+					  secondWin->generic.height + diff);
+		  minHeight = MIN_CMD_WIN_HEIGHT;
+		}
+	    }
+	  else
+	    {
+	      minHeight = MIN_WIN_HEIGHT;
+	      /*
+	         ** First see if we can increase/decrease the command
+	         ** window.  And make sure that the command window is
+	         ** at least 1 line
+	       */
+	      ok = ((cmdWin->generic.height + diff) > 0);
+	      if (!ok)
+		{		/*
+				   ** Looks like we have to increase/decrease one of
+				   ** the other windows
+				 */
+		  if (primaryWinInfo == firstWin)
+		    ok = (secondWin->generic.height + diff) >= minHeight;
+		  else
+		    ok = (firstWin->generic.height + diff) >= minHeight;
+		}
+	      if (ok)
+		{
+		  if (primaryWinInfo == firstWin)
+		    totalHeight = newHeight +
+		      secondWin->generic.height +
+		      cmdWin->generic.height + diff;
+		  else
+		    totalHeight = newHeight +
+		      firstWin->generic.height +
+		      cmdWin->generic.height + diff;
+		}
+	    }
+	  /*
+	     ** Now make sure that the proposed total height doesn't exceed
+	     ** the old total height.
+	   */
+	  if (ok)
+	    ok = (newHeight >= minHeight && totalHeight <= curTotalHeight);
+	}
+    }
+
+  return ok;
+}				/* _newHeightOk */
+
+
+/*
+   ** _parseScrollingArgs().
+ */
+static void
+_parseScrollingArgs (char *arg, TuiWinInfoPtr * winToScroll, int *numToScroll)
+{
+  if (numToScroll)
+    *numToScroll = 0;
+  *winToScroll = tuiWinWithFocus ();
+
+  /*
+     ** First set up the default window to scroll, in case there is no
+     ** window name arg
+   */
+  if (arg != (char *) NULL)
+    {
+      char *buf, *bufPtr;
+
+      /* process the number of lines to scroll */
+      buf = bufPtr = xstrdup (arg);
+      if (isdigit (*bufPtr))
+	{
+	  char *numStr;
+
+	  numStr = bufPtr;
+	  bufPtr = strchr (bufPtr, ' ');
+	  if (bufPtr != (char *) NULL)
+	    {
+	      *bufPtr = (char) 0;
+	      if (numToScroll)
+		*numToScroll = atoi (numStr);
+	      bufPtr++;
+	    }
+	  else if (numToScroll)
+	    *numToScroll = atoi (numStr);
+	}
+
+      /* process the window name if one is specified */
+      if (bufPtr != (char *) NULL)
+	{
+	  char *wname;
+	  int i;
+
+	  if (*bufPtr == ' ')
+	    while (*(++bufPtr) == ' ')
+	      ;
+
+	  if (*bufPtr != (char) 0)
+	    wname = bufPtr;
+	  else
+	    wname = "?";
+	  
+	  /* Validate the window name */
+	  for (i = 0; i < strlen (wname); i++)
+	    wname[i] = toupper (wname[i]);
+	  *winToScroll = partialWinByName (wname);
+
+	  if (*winToScroll == (TuiWinInfoPtr) NULL ||
+	      !(*winToScroll)->generic.isVisible)
+	    warning ("Invalid window specified. \n\
+The window name specified must be valid and visible.\n");
+	  else if (*winToScroll == cmdWin)
+	    *winToScroll = (TuiWinInfoPtr) (sourceWindows ())->list[0];
+	}
+      tuiFree (buf);
+    }
+
+  return;
+}				/* _parseScrollingArgs */
diff --git a/gdb/tui/tui-win.h b/gdb/tui/tui-win.h
new file mode 100644
index 0000000..bc26080
--- /dev/null
+++ b/gdb/tui/tui-win.h
@@ -0,0 +1,59 @@
+/* TUI window generic functions.
+   Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _TUI_WIN_H
+#define _TUI_WIN_H
+
+/*****************************************
+** TYPE DEFINITIONS                        **
+******************************************/
+
+
+
+/*****************************************
+** PUBLIC FUNCTION EXTERNAL DECLS        **
+******************************************/
+extern void tuiScrollForward (TuiWinInfoPtr, int);
+extern void tuiScrollBackward (TuiWinInfoPtr, int);
+extern void tuiScrollLeft (TuiWinInfoPtr, int);
+extern void tuiScrollRight (TuiWinInfoPtr, int);
+extern void tui_scroll (TuiScrollDirection, TuiWinInfoPtr, int);
+extern void tuiSetWinFocusTo (TuiWinInfoPtr);
+extern void tuiResizeAll (void);
+extern void tuiRefreshAll (void);
+extern void tuiSigwinchHandler (int);
+
+extern chtype tui_border_ulcorner;
+extern chtype tui_border_urcorner;
+extern chtype tui_border_lrcorner;
+extern chtype tui_border_llcorner;
+extern chtype tui_border_vline;
+extern chtype tui_border_hline;
+extern int tui_border_attrs;
+extern int tui_active_border_attrs;
+
+extern int tui_update_variables ();
+
+/* Update gdb's knowledge of the terminal size.  */
+extern void tui_update_gdb_sizes (void);
+
+#endif
+/*_TUI_WIN_H*/
diff --git a/gdb/tui/tui-windata.c b/gdb/tui/tui-windata.c
new file mode 100644
index 0000000..f504f7f
--- /dev/null
+++ b/gdb/tui/tui-windata.c
@@ -0,0 +1,349 @@
+/* Data/register window display.
+
+   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
+   Foundation, Inc.
+
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+#include "tui/tui.h"
+#include "tui/tui-data.h"
+#include "tui/tui-wingeneral.h"
+#include "tui/tui-regs.h"
+
+#ifdef HAVE_NCURSES_H       
+#include <ncurses.h>
+#else
+#ifdef HAVE_CURSES_H
+#include <curses.h>
+#endif
+#endif
+
+
+/*****************************************
+** STATIC LOCAL FUNCTIONS FORWARD DECLS    **
+******************************************/
+
+
+
+/*****************************************
+** PUBLIC FUNCTIONS                        **
+******************************************/
+
+
+/*
+   ** tuiFirstDataItemDisplayed()
+   **    Answer the index first element displayed.
+   **    If none are displayed, then return (-1).
+ */
+int
+tuiFirstDataItemDisplayed (void)
+{
+  int elementNo = (-1);
+  int i;
+
+  for (i = 0; (i < dataWin->generic.contentSize && elementNo < 0); i++)
+    {
+      TuiGenWinInfoPtr dataItemWin;
+
+      dataItemWin = &((TuiWinContent)
+		      dataWin->generic.content)[i]->whichElement.dataWindow;
+      if (dataItemWin->handle != (WINDOW *) NULL && dataItemWin->isVisible)
+	elementNo = i;
+    }
+
+  return elementNo;
+}				/* tuiFirstDataItemDisplayed */
+
+
+/*
+   ** tuiFirstDataElementNoInLine()
+   **        Answer the index of the first element in lineNo.  If lineNo is
+   **        past the data area (-1) is returned.
+ */
+int
+tuiFirstDataElementNoInLine (int lineNo)
+{
+  int firstElementNo = (-1);
+
+  /*
+     ** First see if there is a register on lineNo, and if so, set the
+     ** first element number
+   */
+  if ((firstElementNo = tui_first_reg_element_no_inline (lineNo)) == -1)
+    {				/*
+				   ** Looking at the general data, the 1st element on lineNo
+				 */
+    }
+
+  return firstElementNo;
+}				/* tuiFirstDataElementNoInLine */
+
+
+/*
+   ** tuiDeleteDataContentWindows()
+   **        Function to delete all the item windows in the data window.
+   **        This is usually done when the data window is scrolled.
+ */
+void
+tuiDeleteDataContentWindows (void)
+{
+  int i;
+  TuiGenWinInfoPtr dataItemWinPtr;
+
+  for (i = 0; (i < dataWin->generic.contentSize); i++)
+    {
+      dataItemWinPtr = &((TuiWinContent)
+		      dataWin->generic.content)[i]->whichElement.dataWindow;
+      tuiDelwin (dataItemWinPtr->handle);
+      dataItemWinPtr->handle = (WINDOW *) NULL;
+      dataItemWinPtr->isVisible = FALSE;
+    }
+
+  return;
+}				/* tuiDeleteDataContentWindows */
+
+
+void
+tuiEraseDataContent (char *prompt)
+{
+  werase (dataWin->generic.handle);
+  checkAndDisplayHighlightIfNeeded (dataWin);
+  if (prompt != (char *) NULL)
+    {
+      int halfWidth = (dataWin->generic.width - 2) / 2;
+      int xPos;
+
+      if (strlen (prompt) >= halfWidth)
+	xPos = 1;
+      else
+	xPos = halfWidth - strlen (prompt);
+      mvwaddstr (dataWin->generic.handle,
+		 (dataWin->generic.height / 2),
+		 xPos,
+		 prompt);
+    }
+  wrefresh (dataWin->generic.handle);
+
+  return;
+}				/* tuiEraseDataContent */
+
+
+/*
+   ** tuiDisplayAllData().
+   **        This function displays the data that is in the data window's
+   **        content.  It does not set the content.
+ */
+void
+tuiDisplayAllData (void)
+{
+  if (dataWin->generic.contentSize <= 0)
+    tuiEraseDataContent (NO_DATA_STRING);
+  else
+    {
+      tuiEraseDataContent ((char *) NULL);
+      tuiDeleteDataContentWindows ();
+      checkAndDisplayHighlightIfNeeded (dataWin);
+      tui_display_registers_from (0);
+      /*
+         ** Then display the other data
+       */
+      if (dataWin->detail.dataDisplayInfo.dataContent !=
+	  (TuiWinContent) NULL &&
+	  dataWin->detail.dataDisplayInfo.dataContentCount > 0)
+	{
+	}
+    }
+  return;
+}				/* tuiDisplayAllData */
+
+
+/*
+   ** tuiDisplayDataFromLine()
+   **        Function to display the data starting at line, lineNo, in the
+   **        data window.
+ */
+void
+tuiDisplayDataFromLine (int lineNo)
+{
+  int _lineNo = lineNo;
+
+  if (lineNo < 0)
+    _lineNo = 0;
+
+  checkAndDisplayHighlightIfNeeded (dataWin);
+
+  /* there is no general data, force regs to display (if there are any) */
+  if (dataWin->detail.dataDisplayInfo.dataContentCount <= 0)
+    tui_display_registers_from_line (_lineNo, TRUE);
+  else
+    {
+      int elementNo, startLineNo;
+      int regsLastLine = tui_last_regs_line_no ();
+
+
+      /* display regs if we can */
+      if (tui_display_registers_from_line (_lineNo, FALSE) < 0)
+	{			/*
+				   ** _lineNo is past the regs display, so calc where the
+				   ** start data element is
+				 */
+	  if (regsLastLine < _lineNo)
+	    {			/* figure out how many lines each element is to obtain
+				   the start elementNo */
+	    }
+	}
+      else
+	{			/*
+				   ** calculate the starting element of the data display, given
+				   ** regsLastLine and how many lines each element is, up to
+				   ** _lineNo
+				 */
+	}
+      /* Now display the data , starting at elementNo */
+    }
+
+  return;
+}				/* tuiDisplayDataFromLine */
+
+
+/*
+   ** tuiDisplayDataFrom()
+   **        Display data starting at element elementNo
+ */
+void
+tuiDisplayDataFrom (int elementNo, int reuseWindows)
+{
+  int firstLine = (-1);
+
+  if (elementNo < dataWin->detail.dataDisplayInfo.regsContentCount)
+    firstLine = tui_line_from_reg_element_no (elementNo);
+  else
+    {				/* calculate the firstLine from the element number */
+    }
+
+  if (firstLine >= 0)
+    {
+      tuiEraseDataContent ((char *) NULL);
+      if (!reuseWindows)
+	tuiDeleteDataContentWindows ();
+      tuiDisplayDataFromLine (firstLine);
+    }
+
+  return;
+}				/* tuiDisplayDataFrom */
+
+
+/*
+   ** tuiRefreshDataWin()
+   **        Function to redisplay the contents of the data window.
+ */
+void
+tuiRefreshDataWin (void)
+{
+  tuiEraseDataContent ((char *) NULL);
+  if (dataWin->generic.contentSize > 0)
+    {
+      int firstElement = tuiFirstDataItemDisplayed ();
+
+      if (firstElement >= 0)	/* re-use existing windows */
+	tuiDisplayDataFrom (firstElement, TRUE);
+    }
+
+  return;
+}				/* tuiRefreshDataWin */
+
+
+/*
+   ** tuiCheckDataValues().
+   **        Function to check the data values and hilite any that have changed
+ */
+void
+tuiCheckDataValues (struct frame_info *frame)
+{
+  tui_check_register_values (frame);
+
+  /* Now check any other data values that there are */
+  if (m_winPtrNotNull (dataWin) && dataWin->generic.isVisible)
+    {
+      int i;
+
+      for (i = 0; dataWin->detail.dataDisplayInfo.dataContentCount; i++)
+	{
+#ifdef LATER
+	  TuiDataElementPtr dataElementPtr;
+	  TuiGenWinInfoPtr dataItemWinPtr;
+	  Opaque newValue;
+
+	  dataItemPtr = &dataWin->detail.dataDisplayInfo.
+	    dataContent[i]->whichElement.dataWindow;
+	  dataElementPtr = &((TuiWinContent)
+			     dataItemWinPtr->content)[0]->whichElement.data;
+	  if value
+	    has changed (dataElementPtr, frame, &newValue)
+	    {
+	      dataElementPtr->value = newValue;
+	      update the display with the new value, hiliting it.
+	    }
+#endif
+	}
+    }
+}				/* tuiCheckDataValues */
+
+
+/*
+   ** tuiVerticalDataScroll()
+   **        Scroll the data window vertically forward or backward.
+ */
+void
+tuiVerticalDataScroll (TuiScrollDirection scrollDirection, int numToScroll)
+{
+  int firstElementNo;
+  int firstLine = (-1);
+
+  firstElementNo = tuiFirstDataItemDisplayed ();
+  if (firstElementNo < dataWin->detail.dataDisplayInfo.regsContentCount)
+    firstLine = tui_line_from_reg_element_no (firstElementNo);
+  else
+    {				/* calculate the first line from the element number which is in
+				   ** the general data content
+				 */
+    }
+
+  if (firstLine >= 0)
+    {
+      int lastElementNo, lastLine;
+
+      if (scrollDirection == FORWARD_SCROLL)
+	firstLine += numToScroll;
+      else
+	firstLine -= numToScroll;
+      tuiEraseDataContent ((char *) NULL);
+      tuiDeleteDataContentWindows ();
+      tuiDisplayDataFromLine (firstLine);
+    }
+
+  return;
+}				/* tuiVerticalDataScroll */
+
+
+/*****************************************
+** STATIC LOCAL FUNCTIONS               **
+******************************************/
diff --git a/gdb/tui/tui-windata.h b/gdb/tui/tui-windata.h
new file mode 100644
index 0000000..0b1e700
--- /dev/null
+++ b/gdb/tui/tui-windata.h
@@ -0,0 +1,47 @@
+/* Data/register window display.
+   Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _TUI_DATAWIN_H
+#define _TUI_DATAWIN_H
+
+
+/*****************************************
+** TYPE DEFINITIONS                        **
+******************************************/
+
+
+
+/*****************************************
+** PUBLIC FUNCTION EXTERNAL DECLS        **
+******************************************/
+extern void tuiEraseDataContent (char *);
+extern void tuiDisplayAllData (void);
+extern void tuiCheckDataValues (struct frame_info *);
+extern void tuiDisplayDataFromLine (int);
+extern int tuiFirstDataItemDisplayed (void);
+extern int tuiFirstDataElementNoInLine (int);
+extern void tuiDeleteDataContentWindows (void);
+extern void tuiRefreshDataWin (void);
+extern void tuiDisplayDataFrom (int, int);
+extern void tuiVerticalDataScroll (TuiScrollDirection, int);
+
+#endif
+/*_TUI_DATAWIN_H*/
diff --git a/gdb/tui/tui-wingeneral.c b/gdb/tui/tui-wingeneral.c
new file mode 100644
index 0000000..2f32f64
--- /dev/null
+++ b/gdb/tui/tui-wingeneral.c
@@ -0,0 +1,285 @@
+/* General window behavior.
+
+   Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation,
+   Inc.
+
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+#include "tui/tui.h"
+#include "tui/tui-data.h"
+#include "tui/tui-wingeneral.h"
+#include "tui/tui-win.h"
+
+#ifdef HAVE_NCURSES_H       
+#include <ncurses.h>
+#else
+#ifdef HAVE_CURSES_H
+#include <curses.h>
+#endif
+#endif
+
+/***********************
+** PUBLIC FUNCTIONS
+***********************/
+/*
+   ** tuiRefreshWin()
+   **        Refresh the window
+ */
+void
+tuiRefreshWin (TuiGenWinInfoPtr winInfo)
+{
+  if (winInfo->type == DATA_WIN && winInfo->contentSize > 0)
+    {
+      int i;
+
+      for (i = 0; (i < winInfo->contentSize); i++)
+	{
+	  TuiGenWinInfoPtr dataItemWinPtr;
+
+	  dataItemWinPtr = &((TuiWinContent)
+			     winInfo->content)[i]->whichElement.dataWindow;
+	  if (m_genWinPtrNotNull (dataItemWinPtr) &&
+	      dataItemWinPtr->handle != (WINDOW *) NULL)
+	    wrefresh (dataItemWinPtr->handle);
+	}
+    }
+  else if (winInfo->type == CMD_WIN)
+    {
+      /* Do nothing */
+    }
+  else
+    {
+      if (winInfo->handle != (WINDOW *) NULL)
+	wrefresh (winInfo->handle);
+    }
+
+  return;
+}				/* tuiRefreshWin */
+
+
+/*
+   ** tuiDelwin()
+   **        Function to delete the curses window, checking for null
+ */
+void
+tuiDelwin (WINDOW * window)
+{
+  if (window != (WINDOW *) NULL)
+    delwin (window);
+
+  return;
+}				/* tuiDelwin */
+
+
+/* Draw a border arround the window.  */
+void
+boxWin (TuiGenWinInfoPtr winInfo, int highlightFlag)
+{
+  if (winInfo && winInfo->handle)
+    {
+      WINDOW *win;
+      int attrs;
+
+      win = winInfo->handle;
+      if (highlightFlag == HILITE)
+        attrs = tui_active_border_attrs;
+      else
+        attrs = tui_border_attrs;
+
+      wattron (win, attrs);
+      wborder (win, tui_border_vline, tui_border_vline,
+               tui_border_hline, tui_border_hline,
+               tui_border_ulcorner, tui_border_urcorner,
+               tui_border_llcorner, tui_border_lrcorner);
+      if (winInfo->title)
+        mvwaddstr (win, 0, 3, winInfo->title);
+      wattroff (win, attrs);
+    }
+}
+
+
+/*
+   ** unhighlightWin().
+ */
+void
+unhighlightWin (TuiWinInfoPtr winInfo)
+{
+  if (m_winPtrNotNull (winInfo) && winInfo->generic.handle != (WINDOW *) NULL)
+    {
+      boxWin ((TuiGenWinInfoPtr) winInfo, NO_HILITE);
+      wrefresh (winInfo->generic.handle);
+      m_setWinHighlightOff (winInfo);
+    }
+}				/* unhighlightWin */
+
+
+/*
+   ** highlightWin().
+ */
+void
+highlightWin (TuiWinInfoPtr winInfo)
+{
+  if (m_winPtrNotNull (winInfo) &&
+      winInfo->canHighlight && winInfo->generic.handle != (WINDOW *) NULL)
+    {
+      boxWin ((TuiGenWinInfoPtr) winInfo, HILITE);
+      wrefresh (winInfo->generic.handle);
+      m_setWinHighlightOn (winInfo);
+    }
+}				/* highlightWin */
+
+
+/*
+   ** checkAndDisplayHighlightIfNecessay
+ */
+void
+checkAndDisplayHighlightIfNeeded (TuiWinInfoPtr winInfo)
+{
+  if (m_winPtrNotNull (winInfo) && winInfo->generic.type != CMD_WIN)
+    {
+      if (winInfo->isHighlighted)
+	highlightWin (winInfo);
+      else
+	unhighlightWin (winInfo);
+
+    }
+  return;
+}				/* checkAndDisplayHighlightIfNeeded */
+
+
+/*
+   ** makeWindow().
+ */
+void
+makeWindow (TuiGenWinInfoPtr winInfo, int boxIt)
+{
+  WINDOW *handle;
+
+  handle = newwin (winInfo->height,
+		   winInfo->width,
+		   winInfo->origin.y,
+		   winInfo->origin.x);
+  winInfo->handle = handle;
+  if (handle != (WINDOW *) NULL)
+    {
+      if (boxIt == BOX_WINDOW)
+	boxWin (winInfo, NO_HILITE);
+      winInfo->isVisible = TRUE;
+      scrollok (handle, TRUE);
+    }
+}
+
+
+/*
+   ** makeVisible().
+   **        We can't really make windows visible, or invisible.  So we
+   **        have to delete the entire window when making it visible,
+   **        and create it again when making it visible.
+ */
+void
+makeVisible (TuiGenWinInfoPtr winInfo, int visible)
+{
+  /* Don't tear down/recreate command window */
+  if (winInfo->type == CMD_WIN)
+    return;
+
+  if (visible)
+    {
+      if (!winInfo->isVisible)
+	{
+	  makeWindow (
+		       winInfo,
+	   (winInfo->type != CMD_WIN && !m_winIsAuxillary (winInfo->type)));
+	  winInfo->isVisible = TRUE;
+	}
+    }
+  else if (!visible &&
+	   winInfo->isVisible && winInfo->handle != (WINDOW *) NULL)
+    {
+      winInfo->isVisible = FALSE;
+      tuiDelwin (winInfo->handle);
+      winInfo->handle = (WINDOW *) NULL;
+    }
+
+  return;
+}				/* makeVisible */
+
+
+/*
+   ** makeAllVisible().
+   **        Makes all windows invisible (except the command and locator windows)
+ */
+void
+makeAllVisible (int visible)
+{
+  int i;
+
+  for (i = 0; i < MAX_MAJOR_WINDOWS; i++)
+    {
+      if (m_winPtrNotNull (winList[i]) &&
+	  ((winList[i])->generic.type) != CMD_WIN)
+	{
+	  if (m_winIsSourceType ((winList[i])->generic.type))
+	    makeVisible ((winList[i])->detail.sourceInfo.executionInfo,
+			 visible);
+	  makeVisible ((TuiGenWinInfoPtr) winList[i], visible);
+	}
+    }
+
+  return;
+}				/* makeAllVisible */
+
+/*
+   ** refreshAll().
+   **        Function to refresh all the windows currently displayed
+ */
+void
+refreshAll (TuiWinInfoPtr * list)
+{
+  TuiWinType type;
+  TuiGenWinInfoPtr locator = locatorWinInfoPtr ();
+
+  for (type = SRC_WIN; (type < MAX_MAJOR_WINDOWS); type++)
+    {
+      if (list[type] && list[type]->generic.isVisible)
+	{
+	  if (type == SRC_WIN || type == DISASSEM_WIN)
+	    {
+	      touchwin (list[type]->detail.sourceInfo.executionInfo->handle);
+	      tuiRefreshWin (list[type]->detail.sourceInfo.executionInfo);
+	    }
+	  touchwin (list[type]->generic.handle);
+	  tuiRefreshWin (&list[type]->generic);
+	}
+    }
+  if (locator->isVisible)
+    {
+      touchwin (locator->handle);
+      tuiRefreshWin (locator);
+    }
+
+  return;
+}				/* refreshAll */
+
+
+/*********************************
+** Local Static Functions
+*********************************/
diff --git a/gdb/tui/tui-wingeneral.h b/gdb/tui/tui-wingeneral.h
new file mode 100644
index 0000000..42d1ce4
--- /dev/null
+++ b/gdb/tui/tui-wingeneral.h
@@ -0,0 +1,49 @@
+/* General window behavior.
+   Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef TUI_GENERAL_WIN_H
+#define TUI_GENERAL_WIN_H
+
+/*
+   ** Functions
+ */
+extern void unhighlightWin (TuiWinInfoPtr);
+extern void makeVisible (TuiGenWinInfoPtr, int);
+extern void makeAllVisible (int);
+extern void makeWindow (TuiGenWinInfoPtr, int);
+extern TuiWinInfoPtr copyWin (TuiWinInfoPtr);
+extern void boxWin (TuiGenWinInfoPtr, int);
+extern void highlightWin (TuiWinInfoPtr);
+extern void checkAndDisplayHighlightIfNeeded (TuiWinInfoPtr);
+extern void refreshAll (TuiWinInfoPtr *);
+extern void tuiDelwin (WINDOW * window);
+extern void tuiRefreshWin (TuiGenWinInfoPtr);
+
+/*
+   ** Macros
+ */
+#define    m_beVisible(winInfo)   makeVisible((TuiGenWinInfoPtr)(winInfo), TRUE)
+#define    m_beInvisible(winInfo) \
+                            makeVisible((TuiGenWinInfoPtr)(winInfo), FALSE)
+#define    m_allBeVisible()       makeAllVisible(TRUE)
+#define m_allBeInvisible()        makeAllVisible(FALSE)
+
+#endif /*TUI_GENERAL_WIN_H */
diff --git a/gdb/tui/tui-winsource.c b/gdb/tui/tui-winsource.c
new file mode 100644
index 0000000..87609b4
--- /dev/null
+++ b/gdb/tui/tui-winsource.c
@@ -0,0 +1,715 @@
+/* TUI display source/assembly window.
+
+   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
+   Foundation, Inc.
+
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+#include <ctype.h>
+#include "symtab.h"
+#include "frame.h"
+#include "breakpoint.h"
+#include "value.h"
+#include "source.h"
+
+#include "tui/tui.h"
+#include "tui/tui-data.h"
+#include "tui/tui-stack.h"
+#include "tui/tui-win.h"
+#include "tui/tui-wingeneral.h"
+#include "tui/tui-winsource.h"
+#include "tui/tui-source.h"
+#include "tui/tui-disasm.h"
+
+#ifdef HAVE_NCURSES_H       
+#include <ncurses.h>
+#else
+#ifdef HAVE_CURSES_H
+#include <curses.h>
+#endif
+#endif
+
+/* Function to display the "main" routine.  */
+void
+tui_display_main (void)
+{
+  if ((sourceWindows ())->count > 0)
+    {
+      CORE_ADDR addr;
+
+      addr = tui_get_begin_asm_address ();
+      if (addr != (CORE_ADDR) 0)
+	{
+	  struct symtab_and_line sal;
+
+	  tuiUpdateSourceWindowsWithAddr (addr);
+	  sal = find_pc_line (addr, 0);
+          if (sal.symtab)
+             tuiUpdateLocatorFilename (sal.symtab->filename);
+          else
+             tuiUpdateLocatorFilename ("??");
+	}
+    }
+}
+
+
+
+/*
+   ** tuiUpdateSourceWindow().
+   **    Function to display source in the source window.  This function
+   **    initializes the horizontal scroll to 0.
+ */
+void
+tuiUpdateSourceWindow (TuiWinInfoPtr winInfo, struct symtab *s,
+                       TuiLineOrAddress lineOrAddr, int noerror)
+{
+  winInfo->detail.sourceInfo.horizontalOffset = 0;
+  tuiUpdateSourceWindowAsIs (winInfo, s, lineOrAddr, noerror);
+
+  return;
+}				/* tuiUpdateSourceWindow */
+
+
+/*
+   ** tuiUpdateSourceWindowAsIs().
+   **        Function to display source in the source/asm window.  This
+   **        function shows the source as specified by the horizontal offset.
+ */
+void
+tuiUpdateSourceWindowAsIs (TuiWinInfoPtr winInfo, struct symtab *s,
+                           TuiLineOrAddress lineOrAddr, int noerror)
+{
+  TuiStatus ret;
+
+  if (winInfo->generic.type == SRC_WIN)
+    ret = tuiSetSourceContent (s, lineOrAddr.lineNo, noerror);
+  else
+    ret = tui_set_disassem_content (lineOrAddr.addr);
+
+  if (ret == TUI_FAILURE)
+    {
+      tuiClearSourceContent (winInfo, EMPTY_SOURCE_PROMPT);
+      tuiClearExecInfoContent (winInfo);
+    }
+  else
+    {
+      tui_update_breakpoint_info (winInfo, 0);
+      tuiShowSourceContent (winInfo);
+      tuiUpdateExecInfo (winInfo);
+      if (winInfo->generic.type == SRC_WIN)
+	{
+	  struct symtab_and_line sal;
+	  
+	  sal.line = lineOrAddr.lineNo +
+	    (winInfo->generic.contentSize - 2);
+	  sal.symtab = s;
+	  set_current_source_symtab_and_line (&sal);
+	  /*
+	     ** If the focus was in the asm win, put it in the src
+	     ** win if we don't have a split layout
+	   */
+	  if (tuiWinWithFocus () == disassemWin &&
+	      currentLayout () != SRC_DISASSEM_COMMAND)
+	    tuiSetWinFocusTo (srcWin);
+	}
+    }
+
+
+  return;
+}				/* tuiUpdateSourceWindowAsIs */
+
+
+/*
+   ** tuiUpdateSourceWindowsWithAddr().
+   **        Function to ensure that the source and/or disassemly windows
+   **        reflect the input address.
+ */
+void
+tuiUpdateSourceWindowsWithAddr (CORE_ADDR addr)
+{
+  if (addr != 0)
+    {
+      struct symtab_and_line sal;
+      TuiLineOrAddress l;
+      
+      switch (currentLayout ())
+	{
+	case DISASSEM_COMMAND:
+	case DISASSEM_DATA_COMMAND:
+	  tui_show_disassem (addr);
+	  break;
+	case SRC_DISASSEM_COMMAND:
+	  tui_show_disassem_and_update_source (addr);
+	  break;
+	default:
+	  sal = find_pc_line (addr, 0);
+	  l.lineNo = sal.line;
+	  tuiShowSource (sal.symtab, l, FALSE);
+	  break;
+	}
+    }
+  else
+    {
+      int i;
+
+      for (i = 0; i < (sourceWindows ())->count; i++)
+	{
+	  TuiWinInfoPtr winInfo = (TuiWinInfoPtr) (sourceWindows ())->list[i];
+
+	  tuiClearSourceContent (winInfo, EMPTY_SOURCE_PROMPT);
+	  tuiClearExecInfoContent (winInfo);
+	}
+    }
+
+  return;
+}				/* tuiUpdateSourceWindowsWithAddr */
+
+/*
+   ** tuiUpdateSourceWindowsWithLine().
+   **        Function to ensure that the source and/or disassemly windows
+   **        reflect the input address.
+ */
+void
+tuiUpdateSourceWindowsWithLine (struct symtab *s, int line)
+{
+  CORE_ADDR pc;
+  TuiLineOrAddress l;
+  
+  switch (currentLayout ())
+    {
+    case DISASSEM_COMMAND:
+    case DISASSEM_DATA_COMMAND:
+      find_line_pc (s, line, &pc);
+      tuiUpdateSourceWindowsWithAddr (pc);
+      break;
+    default:
+      l.lineNo = line;
+      tuiShowSource (s, l, FALSE);
+      if (currentLayout () == SRC_DISASSEM_COMMAND)
+	{
+	  find_line_pc (s, line, &pc);
+	  tui_show_disassem (pc);
+	}
+      break;
+    }
+
+  return;
+}				/* tuiUpdateSourceWindowsWithLine */
+
+/*
+   ** tuiClearSourceContent().
+ */
+void
+tuiClearSourceContent (TuiWinInfoPtr winInfo, int displayPrompt)
+{
+  if (m_winPtrNotNull (winInfo))
+    {
+      register int i;
+
+      winInfo->generic.contentInUse = FALSE;
+      tuiEraseSourceContent (winInfo, displayPrompt);
+      for (i = 0; i < winInfo->generic.contentSize; i++)
+	{
+	  TuiWinElementPtr element =
+	  (TuiWinElementPtr) winInfo->generic.content[i];
+	  element->whichElement.source.hasBreak = FALSE;
+	  element->whichElement.source.isExecPoint = FALSE;
+	}
+    }
+
+  return;
+}				/* tuiClearSourceContent */
+
+
+/*
+   ** tuiEraseSourceContent().
+ */
+void
+tuiEraseSourceContent (TuiWinInfoPtr winInfo, int displayPrompt)
+{
+  int xPos;
+  int halfWidth = (winInfo->generic.width - 2) / 2;
+
+  if (winInfo->generic.handle != (WINDOW *) NULL)
+    {
+      werase (winInfo->generic.handle);
+      checkAndDisplayHighlightIfNeeded (winInfo);
+      if (displayPrompt == EMPTY_SOURCE_PROMPT)
+	{
+	  char *noSrcStr;
+
+	  if (winInfo->generic.type == SRC_WIN)
+	    noSrcStr = NO_SRC_STRING;
+	  else
+	    noSrcStr = NO_DISASSEM_STRING;
+	  if (strlen (noSrcStr) >= halfWidth)
+	    xPos = 1;
+	  else
+	    xPos = halfWidth - strlen (noSrcStr);
+	  mvwaddstr (winInfo->generic.handle,
+		     (winInfo->generic.height / 2),
+		     xPos,
+		     noSrcStr);
+
+	  /* elz: added this function call to set the real contents of
+	     the window to what is on the  screen, so that later calls
+	     to refresh, do display
+	     the correct stuff, and not the old image */
+
+	  tuiSetSourceContentNil (winInfo, noSrcStr);
+	}
+      tuiRefreshWin (&winInfo->generic);
+    }
+  return;
+}				/* tuiEraseSourceContent */
+
+
+/* Redraw the complete line of a source or disassembly window.  */
+static void
+tui_show_source_line (TuiWinInfoPtr winInfo, int lineno)
+{
+  TuiWinElementPtr line;
+  int x, y;
+
+  line = (TuiWinElementPtr) winInfo->generic.content[lineno - 1];
+  if (line->whichElement.source.isExecPoint)
+    wattron (winInfo->generic.handle, A_STANDOUT);
+
+  mvwaddstr (winInfo->generic.handle, lineno, 1,
+             line->whichElement.source.line);
+  if (line->whichElement.source.isExecPoint)
+    wattroff (winInfo->generic.handle, A_STANDOUT);
+
+  /* Clear to end of line but stop before the border.  */
+  getyx (winInfo->generic.handle, y, x);
+  while (x + 1 < winInfo->generic.width)
+    {
+      waddch (winInfo->generic.handle, ' ');
+      getyx (winInfo->generic.handle, y, x);
+    }
+}
+
+/*
+   ** tuiShowSourceContent().
+ */
+void
+tuiShowSourceContent (TuiWinInfoPtr winInfo)
+{
+  if (winInfo->generic.contentSize > 0)
+    {
+      int lineno;
+
+      for (lineno = 1; lineno <= winInfo->generic.contentSize; lineno++)
+        tui_show_source_line (winInfo, lineno);
+    }
+  else
+    tuiEraseSourceContent (winInfo, TRUE);
+
+  checkAndDisplayHighlightIfNeeded (winInfo);
+  tuiRefreshWin (&winInfo->generic);
+  winInfo->generic.contentInUse = TRUE;
+}
+
+
+/*
+   ** tuiHorizontalSourceScroll().
+   **      Scroll the source forward or backward horizontally
+ */
+void
+tuiHorizontalSourceScroll (TuiWinInfoPtr winInfo,
+                           TuiScrollDirection direction,
+                           int numToScroll)
+{
+  if (winInfo->generic.content != (OpaquePtr) NULL)
+    {
+      int offset;
+      struct symtab *s;
+      struct symtab_and_line cursal = get_current_source_symtab_and_line ();
+
+      if (cursal.symtab == (struct symtab *) NULL)
+	s = find_pc_symtab (get_frame_pc (deprecated_selected_frame));
+      else
+	s = cursal.symtab;
+
+      if (direction == LEFT_SCROLL)
+	offset = winInfo->detail.sourceInfo.horizontalOffset + numToScroll;
+      else
+	{
+	  if ((offset =
+	     winInfo->detail.sourceInfo.horizontalOffset - numToScroll) < 0)
+	    offset = 0;
+	}
+      winInfo->detail.sourceInfo.horizontalOffset = offset;
+      tuiUpdateSourceWindowAsIs (
+				  winInfo,
+				  s,
+				  ((TuiWinElementPtr)
+				   winInfo->generic.content[0])->whichElement.source.lineOrAddr,
+				  FALSE);
+    }
+
+  return;
+}				/* tuiHorizontalSourceScroll */
+
+
+/* Set or clear the hasBreak flag in the line whose line is lineNo.  */
+void
+tuiSetIsExecPointAt (TuiLineOrAddress l, TuiWinInfoPtr winInfo)
+{
+  int changed = 0;
+  int i;
+  TuiWinContent content = (TuiWinContent) winInfo->generic.content;
+
+  i = 0;
+  while (i < winInfo->generic.contentSize)
+    {
+      int newState;
+
+      if (content[i]->whichElement.source.lineOrAddr.addr == l.addr)
+        newState = TRUE;
+      else
+	newState = FALSE;
+      if (newState != content[i]->whichElement.source.isExecPoint)
+        {
+          changed++;
+          content[i]->whichElement.source.isExecPoint = newState;
+          tui_show_source_line (winInfo, i + 1);
+        }
+      i++;
+    }
+  if (changed)
+    tuiRefreshWin (&winInfo->generic);
+}
+
+/* Update the execution windows to show the active breakpoints.
+   This is called whenever a breakpoint is inserted, removed or
+   has its state changed.  */
+void
+tui_update_all_breakpoint_info ()
+{
+  TuiList* list = sourceWindows ();
+  int i;
+
+  for (i = 0; i < list->count; i++)
+    {
+      TuiWinInfoPtr win = (TuiWinInfoPtr) list->list[i];
+
+      if (tui_update_breakpoint_info (win, FALSE))
+        {
+          tuiUpdateExecInfo (win);
+        }
+    }
+}
+
+
+/* Scan the source window and the breakpoints to update the
+   hasBreak information for each line.
+   Returns 1 if something changed and the execution window
+   must be refreshed.  */
+int
+tui_update_breakpoint_info (TuiWinInfoPtr win, int current_only)
+{
+  int i;
+  int need_refresh = 0;
+  TuiSourceInfoPtr src = &win->detail.sourceInfo;
+
+  for (i = 0; i < win->generic.contentSize; i++)
+    {
+      struct breakpoint *bp;
+      extern struct breakpoint *breakpoint_chain;
+      int mode;
+      TuiSourceElement* line;
+
+      line = &((TuiWinElementPtr) win->generic.content[i])->whichElement.source;
+      if (current_only && !line->isExecPoint)
+         continue;
+
+      /* Scan each breakpoint to see if the current line has something to
+         do with it.  Identify enable/disabled breakpoints as well as
+         those that we already hit.  */
+      mode = 0;
+      for (bp = breakpoint_chain;
+           bp != (struct breakpoint *) NULL;
+           bp = bp->next)
+        {
+          if ((win == srcWin
+               && bp->source_file
+               && (strcmp (src->filename, bp->source_file) == 0)
+               && bp->line_number == line->lineOrAddr.lineNo)
+              || (win == disassemWin
+                  && bp->loc->address == line->lineOrAddr.addr))
+            {
+              if (bp->enable_state == bp_disabled)
+                mode |= TUI_BP_DISABLED;
+              else
+                mode |= TUI_BP_ENABLED;
+              if (bp->hit_count)
+                mode |= TUI_BP_HIT;
+              if (bp->cond)
+                mode |= TUI_BP_CONDITIONAL;
+              if (bp->type == bp_hardware_breakpoint)
+                mode |= TUI_BP_HARDWARE;
+            }
+        }
+      if (line->hasBreak != mode)
+        {
+          line->hasBreak = mode;
+          need_refresh = 1;
+        }
+    }
+  return need_refresh;
+}
+
+
+/*
+   ** tuiSetExecInfoContent().
+   **      Function to initialize the content of the execution info window,
+   **      based upon the input window which is either the source or
+   **      disassembly window.
+ */
+TuiStatus
+tuiSetExecInfoContent (TuiWinInfoPtr winInfo)
+{
+  TuiStatus ret = TUI_SUCCESS;
+
+  if (winInfo->detail.sourceInfo.executionInfo != (TuiGenWinInfoPtr) NULL)
+    {
+      TuiGenWinInfoPtr execInfoPtr = winInfo->detail.sourceInfo.executionInfo;
+
+      if (execInfoPtr->content == (OpaquePtr) NULL)
+	execInfoPtr->content =
+	  (OpaquePtr) allocContent (winInfo->generic.height,
+				    execInfoPtr->type);
+      if (execInfoPtr->content != (OpaquePtr) NULL)
+	{
+	  int i;
+
+          tui_update_breakpoint_info (winInfo, 1);
+	  for (i = 0; i < winInfo->generic.contentSize; i++)
+	    {
+	      TuiWinElementPtr element;
+	      TuiWinElementPtr srcElement;
+              int mode;
+
+	      element = (TuiWinElementPtr) execInfoPtr->content[i];
+	      srcElement = (TuiWinElementPtr) winInfo->generic.content[i];
+
+              memset(element->whichElement.simpleString, ' ',
+                     sizeof(element->whichElement.simpleString));
+              element->whichElement.simpleString[TUI_EXECINFO_SIZE - 1] = 0;
+
+	      /* Now update the exec info content based upon the state
+                 of each line as indicated by the source content.  */
+              mode = srcElement->whichElement.source.hasBreak;
+              if (mode & TUI_BP_HIT)
+                element->whichElement.simpleString[TUI_BP_HIT_POS] =
+                  (mode & TUI_BP_HARDWARE) ? 'H' : 'B';
+              else if (mode & (TUI_BP_ENABLED | TUI_BP_DISABLED))
+                element->whichElement.simpleString[TUI_BP_HIT_POS] =
+                  (mode & TUI_BP_HARDWARE) ? 'h' : 'b';
+
+              if (mode & TUI_BP_ENABLED)
+                element->whichElement.simpleString[TUI_BP_BREAK_POS] = '+';
+              else if (mode & TUI_BP_DISABLED)
+                element->whichElement.simpleString[TUI_BP_BREAK_POS] = '-';
+
+              if (srcElement->whichElement.source.isExecPoint)
+                element->whichElement.simpleString[TUI_EXEC_POS] = '>';
+	    }
+	  execInfoPtr->contentSize = winInfo->generic.contentSize;
+	}
+      else
+	ret = TUI_FAILURE;
+    }
+
+  return ret;
+}
+
+
+/*
+   ** tuiShowExecInfoContent().
+ */
+void
+tuiShowExecInfoContent (TuiWinInfoPtr winInfo)
+{
+  TuiGenWinInfoPtr execInfo = winInfo->detail.sourceInfo.executionInfo;
+  int curLine;
+
+  werase (execInfo->handle);
+  tuiRefreshWin (execInfo);
+  for (curLine = 1; (curLine <= execInfo->contentSize); curLine++)
+    mvwaddstr (execInfo->handle,
+	       curLine,
+	       0,
+	       ((TuiWinElementPtr)
+		execInfo->content[curLine - 1])->whichElement.simpleString);
+  tuiRefreshWin (execInfo);
+  execInfo->contentInUse = TRUE;
+
+  return;
+}				/* tuiShowExecInfoContent */
+
+
+/*
+   ** tuiEraseExecInfoContent().
+ */
+void
+tuiEraseExecInfoContent (TuiWinInfoPtr winInfo)
+{
+  TuiGenWinInfoPtr execInfo = winInfo->detail.sourceInfo.executionInfo;
+
+  werase (execInfo->handle);
+  tuiRefreshWin (execInfo);
+
+  return;
+}				/* tuiEraseExecInfoContent */
+
+/*
+   ** tuiClearExecInfoContent().
+ */
+void
+tuiClearExecInfoContent (TuiWinInfoPtr winInfo)
+{
+  winInfo->detail.sourceInfo.executionInfo->contentInUse = FALSE;
+  tuiEraseExecInfoContent (winInfo);
+
+  return;
+}				/* tuiClearExecInfoContent */
+
+/*
+   ** tuiUpdateExecInfo().
+   **        Function to update the execution info window
+ */
+void
+tuiUpdateExecInfo (TuiWinInfoPtr winInfo)
+{
+  tuiSetExecInfoContent (winInfo);
+  tuiShowExecInfoContent (winInfo);
+}				/* tuiUpdateExecInfo */
+
+TuiStatus
+tuiAllocSourceBuffer (TuiWinInfoPtr winInfo)
+{
+  register char *srcLineBuf;
+  register int i, lineWidth, maxLines;
+  TuiStatus ret = TUI_FAILURE;
+
+  maxLines = winInfo->generic.height;	/* less the highlight box */
+  lineWidth = winInfo->generic.width - 1;
+  /*
+     ** Allocate the buffer for the source lines.  Do this only once since they
+     ** will be re-used for all source displays.  The only other time this will
+     ** be done is when a window's size changes.
+   */
+  if (winInfo->generic.content == (OpaquePtr) NULL)
+    {
+      srcLineBuf = (char *) xmalloc ((maxLines * lineWidth) * sizeof (char));
+      if (srcLineBuf == (char *) NULL)
+	fputs_unfiltered (
+	   "Unable to Allocate Memory for Source or Disassembly Display.\n",
+			   gdb_stderr);
+      else
+	{
+	  /* allocate the content list */
+	  if ((winInfo->generic.content =
+	  (OpaquePtr) allocContent (maxLines, SRC_WIN)) == (OpaquePtr) NULL)
+	    {
+	      tuiFree (srcLineBuf);
+	      srcLineBuf = (char *) NULL;
+	      fputs_unfiltered (
+				 "Unable to Allocate Memory for Source or Disassembly Display.\n",
+				 gdb_stderr);
+	    }
+	}
+      for (i = 0; i < maxLines; i++)
+	((TuiWinElementPtr)
+	 winInfo->generic.content[i])->whichElement.source.line =
+	  srcLineBuf + (lineWidth * i);
+      ret = TUI_SUCCESS;
+    }
+  else
+    ret = TUI_SUCCESS;
+
+  return ret;
+}				/* tuiAllocSourceBuffer */
+
+
+/*
+   ** tuiLineIsDisplayed().
+   **      Answer whether the a particular line number or address is displayed
+   **      in the current source window.
+ */
+int
+tuiLineIsDisplayed (int line, TuiWinInfoPtr winInfo,
+                    int checkThreshold)
+{
+  int isDisplayed = FALSE;
+  int i, threshold;
+
+  if (checkThreshold)
+    threshold = SCROLL_THRESHOLD;
+  else
+    threshold = 0;
+  i = 0;
+  while (i < winInfo->generic.contentSize - threshold && !isDisplayed)
+    {
+      isDisplayed = (((TuiWinElementPtr)
+		      winInfo->generic.content[i])->whichElement.source.lineOrAddr.lineNo
+		     == (int) line);
+      i++;
+    }
+
+  return isDisplayed;
+}				/* tuiLineIsDisplayed */
+
+
+/*
+   ** tuiLineIsDisplayed().
+   **      Answer whether the a particular line number or address is displayed
+   **      in the current source window.
+ */
+int
+tuiAddrIsDisplayed (CORE_ADDR addr, TuiWinInfoPtr winInfo,
+		    int checkThreshold)
+{
+  int isDisplayed = FALSE;
+  int i, threshold;
+
+  if (checkThreshold)
+    threshold = SCROLL_THRESHOLD;
+  else
+    threshold = 0;
+  i = 0;
+  while (i < winInfo->generic.contentSize - threshold && !isDisplayed)
+    {
+      isDisplayed = (((TuiWinElementPtr)
+		      winInfo->generic.content[i])->whichElement.source.lineOrAddr.addr
+		     == addr);
+      i++;
+    }
+
+  return isDisplayed;
+}
+
+
+/*****************************************
+** STATIC LOCAL FUNCTIONS               **
+******************************************/
diff --git a/gdb/tui/tui-winsource.h b/gdb/tui/tui-winsource.h
new file mode 100644
index 0000000..cb00449
--- /dev/null
+++ b/gdb/tui/tui-winsource.h
@@ -0,0 +1,68 @@
+/* TUI display source/assembly window.
+   Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+   Contributed by Hewlett-Packard Company.
+
+   This file is part of GDB.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef _TUI_SOURCEWIN_H
+#define _TUI_SOURCEWIN_H
+
+/* Update the execution windows to show the active breakpoints.
+   This is called whenever a breakpoint is inserted, removed or
+   has its state changed.  */
+extern void tui_update_all_breakpoint_info (void);
+
+/* Scan the source window and the breakpoints to update the
+   hasBreak information for each line.
+   Returns 1 if something changed and the execution window
+   must be refreshed.  */
+extern int tui_update_breakpoint_info (TuiWinInfoPtr win, int current_only);
+
+/* Function to display the "main" routine.  */
+extern void tui_display_main (void);
+extern void tuiUpdateSourceWindow (TuiWinInfoPtr, struct symtab *, TuiLineOrAddress,
+				   int);
+extern void tuiUpdateSourceWindowAsIs (TuiWinInfoPtr, struct symtab *, TuiLineOrAddress,
+				       int);
+extern void tuiUpdateSourceWindowsWithAddr (CORE_ADDR);
+extern void tuiUpdateSourceWindowsWithLine (struct symtab *, int);
+extern void tuiClearSourceContent (TuiWinInfoPtr, int);
+extern void tuiEraseSourceContent (TuiWinInfoPtr, int);
+extern void tuiSetSourceContentNil (TuiWinInfoPtr, char *);
+extern void tuiShowSourceContent (TuiWinInfoPtr);
+extern void tuiHorizontalSourceScroll (TuiWinInfoPtr, TuiScrollDirection,
+				       int);
+extern TuiStatus tuiSetExecInfoContent (TuiWinInfoPtr);
+extern void tuiShowExecInfoContent (TuiWinInfoPtr);
+extern void tuiEraseExecInfoContent (TuiWinInfoPtr);
+extern void tuiClearExecInfoContent (TuiWinInfoPtr);
+extern void tuiUpdateExecInfo (TuiWinInfoPtr);
+
+extern void tuiSetIsExecPointAt (TuiLineOrAddress, TuiWinInfoPtr);
+extern TuiStatus tuiAllocSourceBuffer (TuiWinInfoPtr);
+extern int tuiLineIsDisplayed (int, TuiWinInfoPtr, int);
+extern int tuiAddrIsDisplayed (CORE_ADDR, TuiWinInfoPtr, int);
+
+
+/*
+   ** Constant definitions
+ */
+#define        SCROLL_THRESHOLD            2	/* threshold for lazy scroll */
+
+#endif
+/*_TUI_SOURCEWIN_H */
diff --git a/include/ChangeLog-9103 b/include/ChangeLog-9103
new file mode 100644
index 0000000..670fe38
--- /dev/null
+++ b/include/ChangeLog-9103
@@ -0,0 +1,2737 @@
+2003-12-19  Andreas Tobler  <a.tobler@schweiz.ch>
+
+	* include/fibheap.h (fibnode): Use __extension__ for
+	bit-fields mark and degree if __GNUC__.
+
+2003-12-18  Kazu Hirata  <kazu@cs.umass.edu>
+
+	* include/fibheap.h (fibnode): Use unsigned long int for
+	bit-fields if __GNUC__ is defined.
+
+2003-12-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* bfdlink.h (bfd_link_info): Change relax_finalizing to
+	need_relax_finalize.
+
+2003-12-03  Alan Modra  <amodra@bigpond.net.au>
+
+	* bfdlink.h (struct bfd_link_hash_entry): Rename "next" to "und_next".
+
+2003-12-02  Alan Modra  <amodra@bigpond.net.au>
+
+	* bfdlink.h (struct bfd_link_info): Remove mpc860c0 field.
+
+2003-11-18  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+
+	* opcode/mips.h: Define new enum members, M_LCA_AB and M_DLCA_AB.
+
+2003-11-14  Nick Clifton  <nickc@redhat.com>
+
+	* dis-asm.h (struct disassemble_info): Add new field
+	'symbol_is_valid' which is a function which can tell the
+	disassembler to skip certain symbols as they should not be
+	displayed to the user.
+	(arm_symbol_is_valid): New prototype.  This is the ARM
+	specific function for the symbol_is_valid field.
+	(generic_symbol_is_valid): New prototype.  This is the default
+	function pointed to by the symbol_is_valid field.
+
+2003-11-06  Bruno Rohee  <bruno@rohee.com>
+
+	* hp-symtab.h: Fix "the the" typo.
+
+2003-10-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* bfdlink.h (bfd_elf_version_expr): Add "symbol" and remove
+	"wildcard".
+
+2003-10-22  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+	* obstack.h: Merge the following change from gnulib:
+	2003-10-21  Paul Eggert  <eggert@twinsun.com>
+	* obstack.h (obstack_1grow_fast): Properly parenthesize arg.
+	(obstack_ptr_grow_fast, obstack_int_grow_fast):
+	Don't use lvalue casts, as GCC plans to remove support for them
+	in GCC 3.5.  Reported by Joseph S. Myers.  This bug
+	was also present in the non-GCC version, indicating that this
+	code had always been buggy and had never been widely used.
+	(obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
+	Use the fast variant of each macro, rather than copying the
+	definiens of the fast variant; that way, we'll be more likely to
+	catch future bugs in the fast variants.
+
+2003-10-22  Jakub Jelinek  <jakub@redhat.com>
+
+	* bfdlink.h (struct bfd_elf_version_expr): Remove match field.
+	Add wildcard and mask fields.
+	(BFD_ELF_VERSION_C_TYPE): Define.
+	(BFD_ELF_VERSION_CXX_TYPE): Likewise.
+	(BFD_ELF_VERSION_JAVA_TYPE): Likewise.
+	(struct bfd_elf_version_expr_head): New.
+	(struct bfd_elf_version_tree): Add match field.
+	Change type of globals and locals fields
+	to struct bfd_elf_version_expr_head.
+
+2003-10-14  Bob Wilson  <bob.wilson@acm.org>
+
+	* elf/xtensa.h: Formatting.  Fix comments about property section
+	names for linkonce sections.
+
+2003-09-22  Andrew Cagney  <cagney@redhat.com>
+
+	* floatformat.h (struct floatformat): Add field "is_valid".
+
+2003-09-15  Andrew Cagney  <cagney@redhat.com>
+
+	* floatformat.h (floatformat_to_double): Make input buffer constant.
+	(floatformat_from_double, floatformat_is_valid): Ditto.
+
+2003-09-15  Andrew Cagney  <cagney@redhat.com>
+
+	* floatformat.h (struct floatformat): Make "exp_bias" signed.
+
+2003-09-15  Daniel Jacobowitz  <drow@mvista.com>
+
+	* floatformat.h (floatformat_is_valid): Add prototype.
+
+2003-08-27  Andrew Cagney  <cagney@redhat.com>
+
+	* dis-asm.h (init_disassemble_info): Declare.
+	(INIT_DISASSEMBLE_INFO): Redefine as a call to
+	init_disassemble_info.
+	(INIT_DISASSEMBLE_INFO_NO_ARCH): Ditto.
+
+2003-08-20  Nick Clifton  <nickc@redhat.com>
+
+	* bfdlink.h (enum report_method): New enum.  Describes how to
+	report something.
+	(struct bfd_link_info): Delete fields 'no_undefined' and
+	'allow_shlib_undefined'.  Replace with
+	'unresolved_symbols_in_objects' and
+	'unresolved_symbols_in_shared_libs'.
+
+2003-08-07  Alan Modra  <amodra@bigpond.net.au>
+
+	* bfdlink.h: Remove PARAMS macro.  Replace PTR with void *.
+	* dis-asm.h: Likewise.
+
+2003-07-09  Bob Wilson  <bob.wilson@acm.org>
+
+	* xtensa-config.h: Undef all macros before defining them.
+
+2003-07-06  H.J. Lu <hongjiu.lu@intel.com>
+
+	* demangle.h: Support C++.
+
+2003-07-01  Zack Weinberg  <zack@codesourcery.com>
+
+	* filenames.h: New file imported from binutils.
+
+2003-06-30  Bob Wilson  <bob.wilson@acm.org>
+
+	* xtensa-config.h: New file imported from binutils.
+
+2003-06-30  Bob Wilson  <bob.wilson@acm.org>
+
+	* xtensa-config.h (XCHAL_HAVE_CONST16, XCHAL_HAVE_ABS,
+	XCHAL_HAVE_ADDX, XCHAL_HAVE_L32R): Define.
+
+2003-06-25  Alan Modra  <amodra@bigpond.net.au>
+
+	* bfdlink.h: Correct spelling of "relocatable".
+
+2003-06-22  Zack Weinberg  <zack@codesourcery.com>
+
+	* safe-ctype.h (HC_UNKNOWN, HC_ASCII, HC_EBCDIC): Rename to
+	HOST_CHARSET_UNKNOWN, HOST_CHARSET_ASCII, HOST_CHARSET_EBCDIC
+	respectively.
+
+2003-06-21  Zack Weinberg  <zack@codesourcery.com>
+
+	* safe-ctype.h (HC_UNKNOWN, HC_ASCII, HC_EBCDIC, HOST_CHARSET):
+	New #defines.
+
+2003-06-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* ansidecl.h: Delete HAVE_LONG_DOUBLE GCC bootstrap support.
+
+2003-05-23  Jakub Jelinek  <jakub@redhat.com>
+
+	* bfdlink.h (struct bfd_link_info): Add execstack and noexecstack.
+	* elf/common.h (PT_GNU_STACK): Define.
+
+2003-06-03  H.J. Lu <hongjiu.lu@intel.com>
+
+	* bfdlink.h (LD_DEFINITION_IN_DISCARDED_SECTION): New.
+
+2003-05-30  Ulrich Drepper  <drepper@redhat.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	* bfdlink.h (struct bfd_link_info): Add pie and executable
+	bits.
+
+2003-05-21  Nick Clifton  <nickc@redhat.com>
+
+	* bfdlink.h (struct bfd_link_hash_table): Fix typo in comment.
+
+2003-05-15  Jim Blandy  <jimb@redhat.com>
+
+	* libiberty.h (hex_value): Make the value an unsigned int, to
+	avoid unexpected sign-extension when cast to unsigned types larger
+	than int --- like bfd_vma, on some platforms.
+	(_hex_value): Update declaration.
+
+2003-05-09  Alan Modra  <amodra@bigpond.net.au>
+
+	* xtensa-isa-internal.h (xtensa_isa_module_struct): Remove const on
+	gen_num_opcodes_fn return type.
+
+2003-05-07  Jason Merrill  <jason@redhat.com>
+
+	* hashtab.h (iterative_hash): Prototype.
+	(iterative_hash_object): New macro.
+
+2003-04-28  H.J. Lu <hjl@gnu.org>
+
+	* bfdlink.h (bfd_link_info): Add relax_finalizing.
+
+2003-04-23  H.J. Lu <hjl@gnu.org>
+
+	* bfdlink.h (bfd_link_callbacks): Add error_handler.
+
+2003-04-04  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+	* coff/tic4x.h: Namespace cleanup. Replace s/c4x/tic4x
+	and s/c3x/tic3x/
+	* coff/tc-tic4x.h: Ditto
+	* opcode/tic4x.h: Ditto
+
+2003-04-02  Bob Wilson  <bob.wilson@acm.org>
+
+	* xtensa-config.h: Remove comment indicating that this is a
+	generated file.
+
+2003-04-01  Bob Wilson  <bob.wilson@acm.org>
+
+	* dis-asm.h (print_insn_xtensa): Declare.
+	* xtensa-config.h: New file.
+	* xtensa-isa-internal.h: Likewise.
+	* xtensa-isa.h: Likewise.
+
+2003-03-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* ansidecl.h (ATTRIBUTE_NONNULL, ATTRIBUTE_NULL_PRINTF,
+	ATTRIBUTE_NULL_PRINTF_1, ATTRIBUTE_NULL_PRINTF_2,
+	ATTRIBUTE_NULL_PRINTF_3, ATTRIBUTE_NULL_PRINTF_4,
+	ATTRIBUTE_NULL_PRINTF_5): New.
+	(ATTRIBUTE_PRINTF): Add ATTRIBUTE_NONNULL.
+
+2003-03-17  Jan Hubicka  <jh@suse.cz>
+
+	* hashtab.h (htab_traverse_noresize): Declare.
+
+2003-02-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* libiberty.h: Document return value of physmem routines.
+
+2003-02-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* libiberty.h (physmem_total, physmem_available): Prototype.
+
+2003-02-20  Daniel Jacobowitz  <drow@mvista.com>
+
+	* libiberty.h (lrealpath): Add declaration.
+
+2003-01-31  Grant Grundler  <grundler@dsl2.external.hp.com>
+
+	* hppa.h (ldwa, ldda): Add ordered opcodes.
+
+2003-01-26  Daniel Jacobowitz  <drow@mvista.com>
+
+	* hashtab.h (htab_alloc_with_arg, htab_free_with_arg): Add new types.
+	(struct htab): Add alloc_arg, alloc_with_arg_f, free_with_arg_f.
+	(htab_create_alloc_ex): New prototype.
+	(htab_set_functions_ex): New prototype.
+
+2003-01-25  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf/sparc.h: Add TLS relocs.  Move R_SPARC_REV32 to 252.
+
+2003-01-20  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+	* coff/tic4x.h (TICOFF_TARGET_MACHINE_GET): Fixed define bug
+	* coff/ti.h (TICOFF_TARGET_MACHINE_GET): Added macros
+
+2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
+
+	* splay-tree.h (GTY): Define if undefined.
+	(splay_tree_allocate_fn): Return PTR for compatibility, not void *.
+	(struct splay_tree_node_s): Support gengtype.
+	(struct splay_tree_s): Likewise.  Make allocate_data a PTR,
+	not a void *.
+
+2002-01-02  Ben Elliston  <bje@redhat.com>
+
+	* dis-asm.h (print_insn_iq2000): Declare.
+
+2002-12-24    Dmitry Diky <diwil@mail.ru>
+
+	* dis-asm.h: Add msp430 disassembler prototype.
+
+2002-12-27  Chris Demetriou  <cgd@broadcom.com>
+
+	* dis-asm.h (print_mips_disassembler_options): Prototype.
+
+2002-12-23  Alan Modra  <amodra@bigpond.net.au>
+
+	* bfdlink.h (struct bfd_link_info): Add "strip_discarded".
+
+2002-12-20  Alan Modra  <amodra@bigpond.net.au>
+
+	* bfdlink.h (struct bfd_link_info): Replace bfd_boolean fields with
+	bit-fields.  Rearrange to put all like types together.
+
+2002-11-30  Alan Modra  <amodra@bigpond.net.au>
+
+	* bfdlink.h: Replace boolean with bfd_boolean.  Formatting.
+
+2002-11-23  Simon Burge  <simonb@wasabisystems.com>
+
+	* libiberty.h (basename): Add NetBSD to the list.
+
+2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
+
+	* libiberty.h (make_relative_prefix): Add prototype.
+
+2002-11-16  Klee Dienes  <kdienes@apple.com>
+
+	* opcode/m88k.h (INSTAB): Remove 'next' field.
+	(instruction): Remove definition; replace with extern declaration
+	and mark as const.
+
+2002-11-14  Egor Duda  <deo@logos-m.ru>
+
+	* bfdlink.h (struct bfd_link_info): Add new boolean
+	field pei386_runtime_pseudo_reloc.
+
+2002-10-26  Roger Sayle  <roger@eyesopen.com>
+
+	* partition.h:  Close the extern "C" scope when compiling with C++.
+
+2002-10-26  Roger Sayle  <roger@eyesopen.com>
+	    DJ Delorie <dj@redhat.com>
+
+	PR bootstrap/8351
+	* getopt.h: Avoid prototyping getopt with no arguments in C++.
+
+2002-10-24  Nathan Tallent  <eraxxon@alumni.rice.edu>
+
+	* ansidecl.h (__STDC__): Add (__alpha && __cplusplus) to the
+	list of	platform compilers that may look, smell and act
+	like __STDC__ but that may not define it.
+
+2002-10-11  David O'Brien  <obrien@FreeBSD.org>
+
+	* getopt.h: getopt is in unistd.h (based on SUSv2).
+
+2002-09-26  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf/x86-64.h: Add TLS relocs.
+
+2002-09-26  Andrew Cagney  <ac131313@redhat.com>
+
+	* regs/: Delete directory.
+
+2002-09-19  Alexandre Oliva  <aoliva@redhat.com>
+
+	* libiberty.h (asprintf, vasprintf): Don't declare them if the
+	corresponding HAVE_DECL_ macro is 1.
+
+2002-09-19  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf/i386.h (R_386_TLS_TPOFF, R_386_TLS_IE, R_386_TLS_GOTIE):
+	Define.
+
+2002-09-19  Nathan Tallent  <eraxxon@alumni.rice.edu>
+
+	* dis-asm.h: Remove (errant) trailing semicolon (;) from the
+	extern "C" { } declaration.
+
+2002-09-04  Nick Clifton  <nickc@redhat.com>
+
+	* dis-asm.h (print_ppc_disassembler_options): Prototype.
+
+2002-08-28  Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+	* coff/internal.h: Add new relocation types.
+	* coff/ti.h: Add file-header flags for tic4x code.
+	* dis-asm.h: Add standard disassembler for tic4x.
+	* opcode/tic4x.h: New file.
+	* coff/tic4x.h: New file
+
+2002-08-07  H.J. Lu <hjl@gnu.org>
+
+	* bfdlink.h (bfd_link_info): Add allow_undefined_version.
+	(bfd_elf_version_expr): Add symver and script.
+
+2002-07-31  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
+
+	* bfdlink.h (bfd_link_common_skip_ar_symbols): New enum.
+	(struct bfd_link_info): Add new field 'common_skip_ar_symbols'.
+
+2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
+
+	* opcode/mips.h (CPU_R2000): Remove.
+
+2002-07-19  Denis Chertykov  <denisc@overta.ru>
+	    Matthew Green  <mrg@redhat.com>
+
+	* dis-asm.h (print_insn_ip2k): Declare.
+
+2002-07-10  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf/common.h (SHT_GNU_LIBLIST, DT_GNU_PRELINKED,
+	DT_GNU_CONFLICT*, DT_GNU_LIBLIST*): Define.
+
+2002-07-01  Alan Modra  <amodra@bigpond.net.au>
+
+	* bfdlink.h (struct bfd_sym_chain): Declare.
+	(struct bfd_link_info): Add gc_sym_list.  Formatting fixes.
+
+2002-06-25  Alan Modra  <amodra@bigpond.net.au>
+
+	* demangle.h: #include "ansidecl.h" rather than #include <ansidecl.h>.
+	* fibheap.h: Likewise.
+	* hashtab.h: Likewise.
+	* partition.h: Likewise.
+	* sort.h: Likewise.
+	* splay-tree.h: Likewise.
+
+2002-06-24  Alan Modra  <amodra@bigpond.net.au>
+
+	* libiberty.h (basename): Don't declare if HAVE_DECL_BASENAME.
+	* getopt.h (getopt): Don't declare if HAVE_DECL_GETOPT.
+
+2002-06-18  Dave Brolley  <brolley@redhat.com>
+
+	From Catherine Moore:
+	* dis-asm.h (print_insn_frv): New prototype.
+
+2002-06-09  Andrew Cagney  <cagney@redhat.com>
+
+	* remote-sim.h: Move to directory gdb/.
+	* callback.h: Move to directory gdb/.
+
+2002-06-07  Charles Wilson  <cwilson@ece.gatech.edu>
+
+	* bfdlink.h (struct bfd_link_info): Change type of
+	pei386_auto_import field to int so that -1 can mean enabled by
+	default and 1 can mean enabled by command line switch.
+
+2002-06-06  DJ Delorie  <dj@redhat.com>
+
+	* hashtab.h (htab): Rearrange new members for backward
+	compatibility.
+	(htab_create): Don't use a macro that requires other headers.
+
+2002-06-05  Geoffrey Keating  <geoffk@redhat.com>
+
+	* hashtab.h (htab_create): Restore prototype for backward
+	compatibility.
+	(htab_try_create): Likewise.
+
+2002-05-22  Geoffrey Keating  <geoffk@redhat.com>
+
+	* hashtab.h (struct htab): Update for change to length specifier.
+
+2002-05-10  Geoffrey Keating  <geoffk@redhat.com>
+
+	* hashtab.h (GTY): Define if undefined.
+	(htab_alloc): New typedef.
+	(htab_free): New typedef.
+	(struct htab): Support gengtype; allow user-specified memory
+	allocation.
+	(htab_create_alloc): New.
+	(htab_create): Replace with #define.
+	(htab_try_create): Delete.
+
+2002-05-31  Michal Ludvig  <mludvig@suse.cz>
+
+	* elf/dwarf2.h (DW_CFA_low_user, DW_CFA_high_user): Renamed
+	to DW_CFA_lo_user, DW_CFA_hi_user respectively.
+
+2002-05-28  Kuang Hwa Lin <kuang@sbcglobal.net>
+
+	* dis-asm.h: Prototype print_insn_dlx.
+
+2002-05-23  Andrew Cagney  <ac131313@redhat.com>
+
+	* sim-d10v.h: Delete file.  Moved to include/gdb/.
+
+2002-05-23  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define.
+	* elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22.
+	* elf/i386.h: Add TLS relocs.
+
+2002-05-21  H.J. Lu  (hjl@gnu.org)
+
+	* bfdlink.h (bfd_link_info): Add allow_multiple_definition.
+
+2002-05-17  J"orn Rennecke <joern.rennecke@superh.com>
+
+	* dis-asm.h (print_insn_shl, print_insn_sh64l): Remove prototype.
+
+2002-04-16  David S. Miller  <davem@redhat.com>
+
+	* xregex2.h (__restrict_arr): Define to __restrict on GCC
+	3.1 and later.  Do not redefine.
+
+2002-04-01  Phil Edwards  <pme@gcc.gnu.org>
+
+	* dyn-string.h:  Also allow IN_GLIBCPP_V3 to redefine names.
+
+2002-03-10  Daniel Jacobowitz <drow@mvista.com>
+
+	* gdb: New directory.
+
+2002-03-06  Andrew Cagney  <ac131313@redhat.com>
+
+	* floatformat.h (floatformat_arm_ext): Delete declaration.
+
+2002-02-21  Jim Blandy  <jimb@redhat.com>
+
+	Allow the user to specify functions for allocating memory for
+	splay tree roots and nodes.
+	* splay-tree.h (splay_tree_allocate_fn, splay_tree_deallocate_fn):
+	New types.
+	(splay_tree): New fields: `allocate', `deallocate', and
+	`allocate_data'.
+	(splay_tree_new_with_allocator): New function declaration.
+
+2002-02-15  Alan Modra  <amodra@bigpond.net.au>
+
+	Support arbitrary length fill patterns.
+	* bfdlink.h (enum bfd_link_order_type): Remove bfd_fill_link_order.
+	(struct bfd_link_order): Remove fill.  Add data.size.
+
+2002-02-08  Alexandre Oliva  <aoliva@redhat.com>
+
+	Contribute sh64-elf.
+	2000-11-25  Hans-Peter Nilsson  <hpn@cygnus.com>
+	* dis-asm.h (print_insn_sh64): New prototype.
+	(print_insn_sh64l): New prototype.
+	(print_insn_sh64x_media): New prototype.
+
+2002-02-05  Frank Ch. Eigler  <fche@redhat.com>
+
+	* dis-asm.h (disassemble_info): New field `insn_sets'.
+	(INIT_DISASSEMBLE_INFO): Clear it.
+
+2002-02-05  Jason Merrill  <jason@redhat.com>
+
+	* demangle.h (cplus_demangle_v3): Add "options" parm.
+	(cplus_demangle_v3_type): Remove prototype.
+	(DMGL_VERBOSE): New macro.
+	(DMGL_TYPES): New macro.
+
+2002-02-02  H.J. Lu  (hjl@gnu.org)
+
+	* demangle.h (cplus_demangle_v3_type): New prototype.
+
+2002-01-31  Ivan Guzvinec  <ivang@opencores.org>
+
+	* dis-asm.h : Add support for or32 targets
+
+2002-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* libiberty.h (C_alloca): Add ATTRIBUTE_MALLOC.
+
+2002-01-27  David O'Brien  <obrien@FreeBSD.org>
+
+	* cgen.h (BFD_VERSION): Use BFD_VERSION_DATE instead.
+
+2001-12-14  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* dis-asm.h (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialise the
+	disassembler_options field (to NULL).
+
+2001-12-13  Jakub Jelinek  <jakub@redhat.com>
+
+	* bfdlink.h (struct bfd_link_info): Add eh_frame_hdr field.
+
+2001-12-07  Geoffrey Keating  <geoffk@redhat.com>
+
+	* dis-asm.h (print_insn_xstormy16): Declare.
+
+2001-12-06  Richard Henderson  <rth@redhat.com>
+
+	* demangle.h (no_demangling): New.
+	(NO_DEMANGLING_STYLE_STRING): New.
+
+2001-11-14  Alan Modra  <amodra@bigpond.net.au>
+
+	* dis-asm.h (print_insn_i386): Declare.
+
+2001-11-11  Timothy Wall  <twall@alum.mit.edu>
+
+	* dis-asm.h: Fix comment to refer to octets rather than bytes.
+
+2001-10-30  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* dis-asm.h (print_insn_mmix): Add prototype.
+
+2001-10-24  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+	* safe-ctype.h (_sch_isbasic, IS_ISOBASIC): New.
+
+2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* libiberty.h (hex_init): Revert delete.
+
+	* libiberty.h (_hex_value): Const-ify.
+	(hex_init): Delete.
+
+2001-10-16  Christopher Faylor  <cgf@redhat.com>
+
+	* filenames.h: Add cygwin to the list of dosish style path systems.
+
+2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* demangle.h (demangler_engine): Const-ify.
+	* libiberty.h (buildargv): Likewise.
+
+2001-10-03  Vassili Karpov  <malc@pulsesoft.com>
+
+	* bfdlink.h (struct bfd_link_info): Add nocopyreloc field.
+
+2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* libiberty.h (reconcat): New function.
+
+2001-09-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* libiberty.h (concat, concat_length, concat_copy, concat_copy2,
+	ACONCAT): Improve comments.
+
+2001-09-18  Alan Modra  <amodra@bigpond.net.au>
+
+	* objalloc.h (OBJALLOC_ALIGN): Define using offsetof.
+
+2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* libiberty.h (concat_length, concat_copy, concat_copy2,
+	libiberty_concat_ptr, ACONCAT): New.
+
+	* libiberty.h (ASTRDUP): New macro.
+	libiberty_optr, libiberty_nptr, libiberty_len): Declare.
+
+2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* ansidecl.h: Update comments reflecting previous change.
+
+2001-08-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* ansidecl.h (VA_OPEN, VA_CLOSE): Allow multiple uses.
+
+2001-08-25  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* bfdlink.h (struct bfd_link_info): Change 'spare_dynamic_tags' to
+	unsigned to remove a compile time warning message.
+
+2001-08-24  H.J. Lu  <hjl@gnu.org>
+
+	* bfdlink.h (bfd_link_hash_table_type): New. The linker hash
+	table type, bfd_link_generic_hash_table and
+	bfd_link_elf_hash_table.
+	(bfd_link_hash_table): Add a new field, type, for the linker
+	hash table type.
+
+2001-08-23  Jakub Jelinek  <jakub@redhat.com>
+
+	* bfdlink.h (struct bfd_link_info): Add combreloc and
+	spare_dynamic_tags fields.
+
+2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
+
+	* dyn-string.h, fibheap.h, partition.h, sort.h, splay-tree.h:
+	replace "GNU CC" with "GCC".
+
+2001-08-21  Richard Henderson  <rth@redhat.com>
+
+	* fibheap.h: Tidy formatting.
+	(fibnode_t): Limit degree to 31 bits to avoid warning.
+
+2001-08-20  Daniel Berlin  <dan@cgsoftware.com>
+
+	* fibheap.h: New file. Fibonacci heap.
+
+2001-08-20  Andrew Cagney  <ac131313@redhat.com>
+
+	* floatformat.h (floatformat_arm_ext): Document as deprecated.
+	(floatformat_arm_ext_big, floatformat_arm_ext_littlebyte_bigword)
+	(floatformat_ia64_spill_little, floatformat_ia64_quad_little)
+	(floatformat_ia64_spill_big, floatformat_ia64_quad_big)
+	(floatformat_m88110_harris_ext): Declare.
+
+2001-08-18  Zack Weinberg  <zackw@panix.com>
+
+	* ansidecl.h: Reorganize for readability, remove documentation
+	of obsolete macros, document PARAMS and VPARAMS.  Add new
+	macros VA_OPEN, VA_CLOSE, and VA_FIXEDARG for nicer variadic
+	function implementation.
+
+2001-08-16  Richard Henderson  <rth@redhat.com>
+
+	* hashtab.h (htab_hash_string): Declare.
+
+2001-08-10  Andrew Cagney  <ac131313@redhat.com>
+
+	* libiberty.h (lbasename): Change function declaration to return a
+	const char pointer.
+
+2001-08-02  Mark Kettenis  <kettenis@gnu.org>
+
+	* xregex.h (_REGEX_RE_COMP): Define.
+	(re_comp): Define to xre_comp.
+	(re_exec): Define to xre_exec.
+
+2001-08-02  Charles Wilson  <cwilson@ece.gatech.edu>
+
+	* bfdlink.h (struct bfd_link_info): add new boolean
+	field pei386_auto_import.
+
+2001-07-18  Andreas Jaeger  <aj@suse.de>
+
+	* xregex2.h: Place under LGPL version 2.1.
+
+2001-07-10  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* xregex.h: New file to support libiberty regex.
+	* xregex2.h: Ditto.
+
+2001-06-15  Hans-Peter Nilsson  <hp@axis.com>
+
+	* bfdlink.h (struct bfd_link_info): New member export_dynamic.
+
+2001-05-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
+
+	* partition.h: Fix misspelling of `implementation'.
+
+2001-05-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* ansidecl.h (NULL_PTR): Delete.
+
+2001-05-07  Zack Weinberg  <zackw@stanford.edu>
+
+	* demangle.h: Use PARAMS for all prototypes.
+	* ternary.h: Use PARAMS for all prototypes.  Use PTR, not void *.
+	Make arguments constant where possible.
+
+2001-05-07  Mark Mitchell  <mark@codesourcery.com>
+
+	* splay-tree.h (splay_tree_max): New function.
+	(splay_tree_min): Likewise.
+
+2001-04-27  Johan Rydberg  <jrydberg@opencores.org>
+
+	* dis-asm.h (print_insn_openrisc): Add prototype.
+
+2001-04-15  Daniel Berlin  <dan@cgsoftware.com>
+
+	* ternary.h: New file - Ternary search tree header.
+
+2001-04-13  Jakub Jelinek  <jakub@redhat.com>
+
+	* bfdlink.h (bfd_link_discard): Add discard_sec_merge.
+
+2001-04-03  Zack Weinberg  <zackw@stanford.edu>
+
+	* ansidecl.h: All logic from gcc/gansidecl.h moved here.
+
+2001-03-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* libiberty.h (alloca): Handle setting C_ALLOCA.
+
+2001-03-20  Jim Blandy  <jimb@redhat.com>
+
+	* demangle.h (enum gnu_v3_constructor_kinds,
+	is_gnu_v3_mangled_ctor, enum gnu_v3_destructor_kinds,
+	is_gnu_v3_mangled_dtor): New declarations.
+
+2001-03-14  Nick Clifton  <nickc@redhat.com>
+
+	* ansidecl.h: Fix copyright dates.
+	* demangle.h: Fix copyright dates.
+	* floatformat.h: Fix copyright dates.
+	* fnmatch.h: Fix copyright dates.
+	* getopt.h: Fix copyright dates.
+	* libiberty.h: Add FSF copyright notice.
+	* md5.h: Fix copyright dates.
+	* obstack.h: Fix copyright dates.
+	* splay-tree.h: Fix copyright dates.
+
+2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
+	    John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+	* libiberty.h: Add lbasename.
+
+2001-03-06  Zack Weinberg  <zackw@stanford.edu>
+
+	* libiberty.h: Prototype C_alloca; define alloca to either
+	__builtin_alloca or C_alloca as appropriate.
+
+2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+	* safe-ctype.h (_sch_test): Cast enum bit to unsigned short int for pcc
+	compatibility.
+
+2001-02-18  lars brinkhoff  <lars@nocrew.org>
+
+	* dis-asm.h: Add PDP-11 target.
+
+2001-02-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* dis-asm.h: Add linux target for S/390.
+
+2001-01-11  Peter Targett  <peter.targett@arccores.com>
+
+	* dis-asm.h (arc_get_disassembler): Correct declaration.
+
+2001-01-09  Philip Blundell  <philb@gnu.org>
+
+	* bin-bugs.h (REPORT_BUGS_TO): Set to `bug-binutils@gnu.org'.
+
+2000-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+	* COPYING: Update to current
+	ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references
+	to 19yy as example year in copyright notice).
+
+2000-12-19  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* dis-asm.h (struct disassemble_info): New member "section".
+	(INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize private_data member.
+	Initialize section member.
+
+2000-12-16  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
+
+	* safe-ctype.h: Make code work on all targets and not just on
+	targets where a char is 8 bits.
+
+2000-12-10  Fred Fish  <fnf@be.com>
+
+	* bfdlink.h (struct bfd_link_info): Add new allow_shlib_undefined
+	member to struct for systems where it is normal to have undefined
+	symbols in shared libraries at runtime and the runtime linker
+	takes care of redirecting them.
+
+2000-12-07  Zack Weinberg  <zack@wolery.stanford.edu>
+
+	* safe-ctype.h: New file.
+
+2000-12-06  Rodney Brown  <RodneyBrown@mynd.com>
+
+	* getopt.h obstack.h: Standarize copyright statement.
+
+2000-12-04  Richard Henderson  <rth@redhat.com>
+
+	* demangle.h: Change "new_abi" to "v3" everywhere.
+
+2000-11-22  Zack Weinberg  <zack@wolery.stanford.edu>
+
+	* libiberty.h: Move #includes to top.  Prototype xmalloc_failed.
+
+2000-11-15  Kenneth Block  <kenneth.block@compaq.com>
+
+	* demangle.h: Add gnat and java demangle styles.
+
+2000-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* hashtab.h (struct htab): Add member return_allocation_failure.
+	(htab_try_create): New prototype.  Mention which functions may
+	return NULL when this is used.
+
+2000-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* hashtab.h: Change void * to PTR where necessary.
+
+2000-10-11  Mark Mitchell  <mark@codesourcery.com>
+
+	* splay-tree.h (splay_tree_predecessor): Declare.
+
+2000-09-29  Hans-Peter Nilsson  <hp@axis.com>
+
+	* dis-asm.h: Declare cris_get_disassembler, not print_insn_cris.
+	Fix typo in comment.
+
+2000-09-28  John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+	* alloca-conf.h: New file (copied from libiberty).
+
+2000-09-05  John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+	* md5.h (md5_uint32): Choose via INT_MAX instead of UINT_MAX.
+
+2000-09-04  Alex Samuel  <samuel@codesourcery.com>
+
+	* dyn-string.h: Adjust formatting.
+	(dyn_string_insert_char): New macro.  New declaration.
+
+2000-08-28  Jason Merrill  <jason@redhat.com>
+
+	* md5.h: New file.
+
+2000-08-24  Greg McGary  <greg@mcgary.org>
+
+	* libiberty.h (ARRAY_SIZE): New macro.
+
+2000-07-29  Nick Clifton  <nickc@cygnus.com>
+
+	* os9k.h: Add copyright notice.
+	Fix formatting.
+
+2000-07-22  Jason Eckhardt  <jle@cygnus.com>
+
+	* dis-asm.h (print_insn_i860): Add prototype.
+
+2000-07-20  H.J. Lu  <hjl@gnu.org>
+
+	* bfdlink.h (bfd_link_info): Add new_dtags.
+
+2000-07-20  Hans-Peter Nilsson  <hp@axis.com>
+
+	* dis-asm.h (print_insn_cris): Declare.
+
+2000-07-19  H.J. Lu  (hjl@gnu.org)
+
+	* bfdlink.h (bfd_link_info): Add flags and flags_1.
+
+2000-06-05  DJ Delorie  <dj@redhat.com>
+
+	* MAINTAINERS: new
+
+2000-06-21  Alex Samuel  <samuel@codesourcery.com>
+
+	* dyn-string.h (dyn_string_init, dyn_string_new,
+	dyn_string_delete, dyn_string_release, dyn_string_resize,
+	dyn_string_clear, dyn_string_copy, dyn_string_copy_cstr,
+	dyn_string_prepend, dyn_string_prepend_cstr, dyn_string_insert,
+	dyn_string_insert_cstr, dyn_string_append, dyn_string_append_cstr,
+	dyn_string_append_char, dyn_string_substring_dyn_string_eq):
+	Define as same name with __cxa_ prepended, if IN_LIBGCC2.
+	(dyn_string_init, dyn_string_copy, dyn_string_copy_cstr,
+	dyn_string_prepend, dyn_string_prepend_cstr, dyn_string_insert,
+	dyn_string_insert_cstr, dyn_string_append, dyn_string_append_cstr,
+	dyn_string_append_char, dyn_string_substring): Change return type
+	to int.
+
+2000-06-18  Stephane Carrez  <stcarrez@worldnet.fr>
+
+	* dis-asm.h (print_insn_m68hc12): Define.
+	(print_insn_m68hc11): Likewise.
+
+2000-06-18  Nick Clifton  <nickc@redhat.com>
+
+	* os9k.h: Change values of MODSYNC and CRCCON due to bug report
+	from Russ Magee <rmagee@home.com>.
+
+2000-06-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* demangle.h (demangling_styles): Remove trailing comma in enum.
+
+	* dyn-string.h (dyn_string_append_char): Change parameter from
+	char to int.
+
+2000-06-04  Alex Samuel  <samuel@codesourcery.com>
+
+	* dyn-string.h: Move here from gcc/dyn-string.h.  Add new functions.
+
+	* demangle.h (DMGL_GNU_NEW_ABI): New macro.
+	(DMGL_STYLE_MASK): Or in DMGL_GNU_NEW_ABI.
+	(current_demangling_style): Add gnu_new_abi_demangling.
+	(GNU_NEW_ABI_DEMANGLING_STYLE_STRING): New macro.
+	(GNU_NEW_ABI_DEMANGLING): Likewise.
+	(cplus_demangle_new_abi): New declaration.
+
+Tue May 30 16:53:34 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* floatformat.h (struct floatformat): Add field name.
+
+2000-05-26  Eli Zaretskii  <eliz@is.elta.co.il>
+
+	* filenames.h: New file.
+	(HAVE_DOS_BASED_FILE_SYSTEM, IS_DIR_SEPARATOR)
+	(IS_ABSOLUTE_PATH, FILENAME_CMP): New macros.
+
+2000-05-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* getopt.h (getopt): Also check HAVE_DECL_* when prototyping.
+
+	* libiberty.h (basename): Likewise.
+
+2000-05-17  S. Bharadwaj Yadavalli  <sby@scrugs.lkg.dec.com>
+	    Rick Gorton             <gorton@scrugs.lkg.dec.com>
+
+	* bfdlink.h (struct bfd_link_info): Add emitrelocations flag.
+
+2000-05-08  Alan Modra  <alan@linuxcare.com.au>
+
+	* dis-asm.h (print_insn_tic54x): Declare.
+
+2000-05-06  Zack Weinberg  <zack@wolery.cumb.org>
+
+	* ansidecl.h: #define __extension__ to nothing if
+	GCC_VERSION < 2008.
+
+2000-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* demangle.h (demangler_engine): Constify.
+
+Thu May  4 17:15:26 2000  Philippe De Muyter  <phdm@macqel.be>
+
+	* sort.h (sys/types.h): File included unconditionnaly.
+	(stddef.h): File include only #ifdef __STDC__.
+
+2000-05-03  Zack Weinberg  <zack@wolery.cumb.org>
+
+	* symcat.h: Remove #endif label.
+
+2000-04-28  Kenneth Block  <block@zk3.dec.com>
+	    Jason Merrill  <jason@casey.cygnus.com>
+
+	* demangle.h (libiberty_demanglers): new table for different styles.
+	(cplus_demangle_set_style): New function for setting style.
+	(cplus_demangle_name_to_style): New function to translate name.
+
+2000-04-24  Mark Mitchell  <mark@codesourcery.com>
+
+	* hashtab.h (hash_pointer): Declare.
+	(eq_pointer): Likewise.
+
+2000-04-23  Mark Mitchell  <mark@codesourcery.com>
+
+	* sort.h: New file.
+
+Fri Apr 21 13:20:53 2000  Richard Henderson  <rth@cygnus.com>
+			  David Mosberger  <davidm@hpl.hp.com>
+
+	* dis-asm.h (print_insn_ia64): Declare.
+
+Tue Apr 18 16:22:30 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* hashtab.h (enum insert_option): New type.
+	(htab_find_slot, htab_find_slot_with_hash): Use it.
+
+2000-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* symcat.h: Honor autoconf macro HAVE_STRINGIZE.  Add
+	comments/caveats with regard to traditional C behavior.
+
+2000-04-05  Richard Henderson  <rth@cygnus.com>
+
+	* splay-tree.h (splay_tree_remove): Declare.
+
+2000-04-04  Alan Modra  <alan@linuxcare.com.au>
+
+	* bin-bugs.h (REPORT_BUGS_TO): Remove translated part.
+
+2000-04-03  Alan Modra  <alan@linuxcare.com.au>
+
+	* bin-bugs.h: New file.
+
+2000-03-30  Mark Mitchell  <mark@codesourcery.com>
+
+	* hashtab.h (hashval_t): New type.
+	(htab_find_with_hash): Use it as an argument.
+	(htab_find_slot_with_hash): Likewise.
+
+2000-03-27  Denis Chertykov  <denisc@overta.ru>
+
+	* dis-asm.h (print_insn_avr): Declare.
+
+2000-03-14  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+	* hashtab.h (htab_trav): Modify type so that first arg is of type
+	void **.
+	(htab_find_with_hash, htab_find_slot_with_hash): Declare new
+	functions.
+
+2000-03-09  Alex Samuel  <samuel@codesourcery.com>
+
+	* partition.h: New file.
+
+2000-03-09  Zack Weinberg  <zack@wolery.cumb.org>
+
+	* hashtab.h (struct htab): Add del_f.
+	(htab_del): New type.
+	(htab_create): Add fourth argument.
+
+2000-03-08  Zack Weinberg  <zack@wolery.cumb.org>
+
+	* hashtab.h (hash_table_t): Rename to htab_t.
+	(struct hash_table): Rename to struct htab.  Shorten element
+	names.  Reorder elements by size.
+	(htab_hash, htab_eq, htab_trav): New typedefs for the callback
+	function pointers.
+	(hash_table_entry_t): Discard; just use void * for element
+	type.
+
+2000-03-01  H.J. Lu  <hjl@gnu.org>
+
+	* bfdlink.h (bfd_link_callbacks): Add a boolean arg to
+	the undefined_symbol callback.
+
+2000-02-23  Linas Vepstas <linas@linas.org>
+
+	* dis-asm.h (print_insn_i370): Declare.
+
+Tue Feb 22 15:19:54 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* remote-sim.h (sim_trace): Document return values.
+	(sim_set_trace): Declare.  Deprecate.
+
+2000-02-21  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* dis-asm.h (struct disassemble_info): Change `length' param of
+	read_memory_func to unsigned.  Change type of `buffer_length' and
+	`octets_per_byte' to unsigned.
+	(buffer_read_memory): Change `length' param to unsigned.
+
+2000-02-16  Nick Clifton  <nickc@cygnus.com>
+
+	* dis-asm.h: Add prototypes for ARM register name functions.
+
+Wed Feb  9 18:45:49 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* wait.h: Delete. No longer used by GDB.
+
+Tue Feb  8 17:01:13 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* remote-sim.h (sim_resume): Clarify use of SIGGNAL.
+	(sim_stop_reason): Clarify meaning of sim_signalled.
+
+2000-02-03  Timothy Wall <twall@redhat.com>
+
+	* dis-asm.h (struct disassemble_info): Added octets_per_byte
+	field and initialize it to one (1).
+
+2000-01-27  Nick Clifton  <nickc@redhat.com>
+
+	* dis-asm.h: Add prototype for disassembler_usage().
+	Add prototype for arm_disassembler_options().
+	Remove prototype for arm_toggle_regnames().
+	Add prototype for parse_arm_disassembler_option().
+
+Sat Jan  1 19:06:52 2000  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* symcat.h (STRINGX) [!__STDC__ || ALMOST_STDC]: Change "?" to "s"
+	to stringify argument s.
+
+Wed Dec 15 11:22:56 1999  Jeffrey A Law  (law@cygnus.com)
+
+	* hp-symtab.h (HP_LANGUAGE_FORTRAN): New enumeration constant.
+	(HP_LANGUAGE_F77): Define using HP_LANGUAGE_FORTRAN.
+
+1999-12-15  Doug Evans  <dje@transmeta.com>
+
+	* dis-asm.h: Enclose in extern "C" ifdef __cplusplus.
+
+1999-12-05  Mark Mitchell  <mark@codesourcery.com>
+
+	* splay-tree.h (struct splay_tree_node): Rename to ...
+	(struct splay_tree_node_s): ... this.
+	(struct splay_tree): Rename to ...
+	(struct splay_tree_s): ... this.
+
+1999-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* ansidecl.h (ATTRIBUTE_MALLOC): New macro.
+
+	* libiberty.h (buildargv, dupargv, concat, choose_temp_base,
+	make_temp_file, xmalloc, xcalloc, xstrdup, xmemdup): Add
+	ATTRIBUTE_MALLOC.
+	(xatexit): Remove __GNUC__ check, add ATTRIBUTE_NORETURN.
+
+1999-11-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* libiberty.h: Include stdarg.h when ANSI_PROTOTYPES is defined.
+	(asprintf, vasprintf): Provide declarations.
+
+Wed Nov 10 12:43:21 1999  Philippe De Muyter  <phdm@macqel.be>
+			  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* ansidecl.h: Define and test `GCC_VERSION', not `HAVE_GCC_VERSION'.
+
+1999-11-04      Jimmy Guo       <guo@cup.hp.com>
+
+	* hp-symtab.h (dntt_type_fparam): Add doc_ranges, misc_kind
+	fields, change location type to CORE_ADDR from int.
+	(dntt_type_const): Name the 5th field location_type.
+
+Sun Oct 24 19:11:32 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* sim-d10v.h (SIM_D10V_TS2_DMAP_REGNUM): Define.
+
+1999-10-23 08:51 -0700  Zack Weinberg  <zack@bitmover.com>
+
+	* hashtab.h: Give hash_table_t a struct tag.  Add prototypes
+	for clear_hash_table_slot and traverse_hash_table.  Correct
+	prototype of all_hash_table_collisions.
+
+Sat Oct 23 19:00:13 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* sim-d10v.h: New file.
+
+Fri Oct 15 01:47:51 1999  Vladimir Makarov  <vmakarov@loony.cygnus.com>
+
+	* hashtab.h: New file.
+
+1999-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* ansidecl.h (HAVE_GCC_VERSION): New macro.  Use it instead of
+	explicitly testing __GNUC__ and __GNUC_MINOR__.
+
+	(ATTRIBUTE_PRINTF): Use `__format__', not `format'.
+
+1999-09-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* libiberty.h (make_temp_file):  Add a prototype.
+
+Tue Sep 14 00:35:02 1999  Marc Espie <espie@cvs.openbsd.org>
+
+	* libiberty.h (basename):  OpenBSD has a correct prototype.
+	(xrealloc):  Remove outdated comment.
+
+1999-09-07  Jeff Garzik  <jgarzik@pobox.com>
+
+	* libiberty.h (xmemdup): Add prototype for new function.
+
+1999-09-04  Steve Chamberlain  <sac@pobox.com>
+
+	* dis-asm.h (print_insn_pj): Declare.
+
+1999-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* obstack.h (obstack_grow, obstack_grow0): Move (char*) casts
+	in calls to `_obstack_memcpy' from here ...
+
+	(_obstack_memcpy): ... to here, except in the __STDC__ case which
+	doesn't need it.
+
+1999-08-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* libiberty.h (getpwd): Prototype.
+
+1999-08-01  Mark Mitchell  <mark@codesourcery.com>
+
+	* splay-tree.h (splay_tree_insert): Return the new node.
+
+1999-07-11  Ian Lance Taylor  <ian@zembu.com>
+
+	* ansidecl.h: Copy attribute support macros from egcs.
+
+1999-06-22  Mark Mitchell  <mark@codesourcery.com>
+
+	* bfdlink.h (struct bfd_link_hash_entry): Add init_function and
+	fini_function.
+
+1999-06-20  Mark Mitchell  <mark@codesourcery.com>
+
+	* mips.h (Elf32_Internal_Msym): New structure.
+	(Elf32_External_Msym): Likewise.
+	(ELF32_MS_REL_INDEX): New macro.
+	(ELF32_MS_FLAGS): Likewise.
+	(ELF32_MS_INFO): Likewise.
+
+1999-06-14  Nick Clifton  <nickc@cygnus.com>
+
+	* dis-asm.h (arm_toggle_regnames): New prototype.
+	(struct diassemble_info): New field: disassembler_options.
+
+1999-04-11  Richard Henderson  <rth@cygnus.com>
+
+	* bfdlink.h (bfd_elf_version_expr): Rename `match' to `pattern'.
+	Add `match' callback function.
+
+1999-04-10  Richard Henderson  <rth@cygnus.com>
+
+	* bfdlink.h (bfd_link_info): Add no_undefined.
+
+1999-04-08  Nick Clifton  <nickc@cygnus.com>
+
+	* dis-asm.h: Add prototype for print_insn_mcore.
+
+1999-04-02  Mark Mitchell  <mark@codesourcery.com>
+
+	* splay-tree.h (splay_tree_compare_pointers): Declare.
+
+1999-03-30  Mark Mitchell  <mark@codesourcery.com>
+
+	* splay-tree.h (splay_tree_compare_ints): Declare.
+
+Wed Mar 24 12:46:29 1999  Andrew Cagney  <cagney@amy.cygnus.com>
+
+	* libiberty.h (basename): Cygwin{,32} should have the prototype.
+
+1999-02-22  Jim Lemke  <jlemke@cygnus.com>
+
+	* bfdlink.h (bfd_link_info): add field "mpc860c0".
+
+Mon Feb  1 21:05:46 1999  Catherine Moore  <clm@cygnus.com>
+
+	* dis-asm.h (print_insn_i386_att):  Declare.
+	(print_insn_i386_intel):  Declare.
+
+1998-12-30  Michael Meissner  <meissner@cygnus.com>
+
+	* dis-asm.h (INIT_DISASSEMBLE_INFO_NO_ARCH): Cast STREAM and
+	FPRINTF_FUNC to avoid compiler warnings.
+
+Wed Dec 30 16:07:14 1998  David Taylor  <taylor@texas.cygnus.com>
+
+	* dis-asm.h: change void * to PTR (two places).
+
+Mon Dec 14 09:53:31 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* demangle.h: Don't check IN_GCC anymore.
+	* splay-tree.h: Likewise.
+
+Tue Dec  8 00:30:31 1998  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
+
+	The following changes were made by Elena Zannoni
+	<ezannoni@kwikemart.cygnus.com> and Edith Epstein
+	<eepstein@sophia.cygnus.com> as part of a project to merge in
+	changes made by HP; HP did not create ChangeLog entries.
+
+	* dis-asm.h (struct disassemble_info): change the type of stream
+	from FILE* to void*, for use with gdb's new type GDB_FILE.
+	(fprintf_ftype): change FILE* parameter type to void*.
+
+	* demangle.h: (DMGL_EDG): new macro for Kuck and Associates
+	(DMGL_STYLE_MASK): modify to include Kuck and Assoc style
+	(demangling_styles): add new edg_demangling style
+	(EDG_DEMANGLING_STYLE_STRING): new macro
+	(EDG_DEMANGLING): new macro
+	(DMGL_HP): new macro, for HP/aCC compiler.
+	(DMGL_STYLE_MASK): modify to include new HP's style.
+	(demangling_styles): add new hp_demangling value.
+	(HP_DEMANGLING_STYLE_STRING): new macro.
+	(ARM_DEMANGLING): coerce to int.
+	(HP_DEMANGLING): new macro.
+
+	* hp-symtab.h: rewritten, from HP.
+	(quick_procedure): change type of language field to unsigned int
+	(quick_module): change type of language field to unsigned int
+	(struct dntt_type_svar): add field thread_specific.
+	(hp_language): add languages modcal and dmpascal.
+
+Fri Nov 20 13:14:00 1998  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* libiberty.h (basename): Add prototype for FreeBSD.
+
+Fri Nov 13 19:19:11 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* libiberty.h: Prototype xcalloc.
+
+Sun Nov  8 17:42:25 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* ansidecl.h: Wrap problematic macros with !IN_GCC.
+
+	* demangle.h: Never define PARAMS().
+	* splay-tree.h: Likewise.
+
+Sat Nov  7 18:30:20 1998  Peter Schauer  <peter.schauer@regent.e-technik.tu-muenchen.de>
+
+	* dis-asm.h (print_insn_vax): Declare.
+
+Sat Nov  7 16:04:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* demangle.h: Don't include gansidecl.h.
+	* splay-tree.h: Likewise.
+
+1998-10-26 16:03  Ulrich Drepper  <drepper@cygnus.com>
+
+	* bfdlink.h (struct bfd_link_info): Add new field optimize.
+
+Thu Oct 22 19:58:00 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* splay-tree.h: Wrap function pointer parameter declarations in
+	PARAMS() macro.
+
+1998-10-21  Mark Mitchell  <mark@markmitchell.com>
+
+	* splay-tree.h: New file.
+
+Fri Oct  9 00:02:03 1998  Jeffrey A Law  (law@cygnus.com)
+
+	* Merge devo and egcs include directories.
+
+Sat Sep  5 12:16:33 1998  Jeffrey A Law  (law@cygnus.com)
+
+	* getopt.h, obstack.h: Updated from gcc.
+
+1998-08-03  Jason Molenda  (jsm@bugshack.cygnus.com)
+
+	* libiberty.h (xexit): Change decl to use modern GCC attribute
+	to indicate exit does not return.
+
+Mon Jun  1 13:48:32 1998  Jason Molenda  (crash@bugshack.cygnus.com)
+
+	* obstack.h: Update to latest FSF version.
+
+Tue Feb 24 13:05:02 1998  Doug Evans  <devans@canuck.cygnus.com>
+
+	* dis-asm.h (disassemble_info): Member `symbol' renamed to `symbols'
+	and made an "asymbol **".  New member num_symbols.
+	(INIT_DISASSEMBLE_INFO_NO_ARCH): Update.
+
+Tue Feb 17 12:32:18 1998  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* remote-sim.h (sim_fetch_register, sim_store_register): Add
+	register length parameter.  Functions return actual length of
+	register.
+
+Thu Feb 12 16:29:01 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+	* getopt.h: Update to latest FSF version.
+
+Wed Feb 11 16:56:06 1998  Doug Evans  <devans@canuck.cygnus.com>
+
+	* symcat.h: New file.
+
+Mon Feb  2 17:13:31 1998  Steve Haworth  <steve@pm.cse.rmit.EDU.AU>
+
+	* dis-asm.h (print_insn_tic30): Declare.
+
+Thu Jan 22 16:23:59 1998  Fred Fish <fnf@cygnus.com>
+
+	* dis-asm.h: Add flag INSN_HAS_RELOC to tell disassembly
+	function there is a reloc on this line.
+
+Mon Dec  8 11:22:23 1997  Nick Clifton  <nickc@cygnus.com>
+
+	* dis-asm.h: Remove prototype of disasm_symaddr() as this function
+	no longer exists.
+
+Tue Dec  2 10:20:53 1997  Nick Clifton  <nickc@cygnus.com>
+
+	* dis-asm.h (disasm_symaddr): New prototype.
+
+Mon Dec  1 11:29:35 1997  Doug Evans  <devans@canuck.cygnus.com>
+
+	* callback.h (CB_SYSCALL): Comment out arg names in prototypes.
+
+Wed Nov 26 16:47:58 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* callback.h (CB_SYSCALL): Consistantly use names for prototype
+	arguments.
+
+Wed Nov 26 11:39:30 1997  Doug Evans  <devans@canuck.cygnus.com>
+
+	* callback.h (CB_SYSCALL): Change byte count arguments to
+	{read,write}_mem to `int'.  New member `magic'.
+	(CB_SYSCALL_MAGIC,CB_SYSCALL_INIT): New macros.
+
+Tue Nov 25 01:35:52 1997  Doug Evans  <devans@seba.cygnus.com>
+
+	* callback.h (struct stat): Move forward decl up.
+	(host_callback): Pass stat struct pointer to stat,fstat.
+	(CB_SYS_nnn): Reorganize.
+	(CB_SYSCALL): New members p1,p2.
+	(cb_host_to_target_stat): Delete fourth arg.
+
+Sat Nov 22 23:34:15 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* remote-sim.h (sim_stop_reason): Clarify sim_signalled SIGRC
+	argument.
+
+Mon Nov 17 14:00:51 1997  Doug Evans  <devans@seba.cygnus.com>
+
+	* callback.h (CB_TARGET_DEFS_MAP): Renamed from target_defs_map.
+	(host_callback): Add stat, fstat, syscall_map, errno_map, open_map,
+	signal_map, stat_map.
+	(errn_map,open_map): Renamed to cb_init_foo_map.
+	(cb_host_to_target_errno,cb_target_to_host_open): Renamed from
+	host_to_target_errno,target_to_host_open.
+	(cb_read_target_syscall_maps): Add prototype.
+	(cb_target_to_host_syscall): Likewise.
+	(cb_host_to_target_stat): Likewise.
+	(cb_syscall): Likewise.
+	(CB_SYS_{exit,open,close,read,write,lseek,unlink,getpid,kill,fstat,
+	argvlen,argv,chdir,stat,chmod,utime,time}): Define.
+	(CB_SYSCALL): New type.
+	(CB_RC): New enum.
+
+Fri Nov  7 10:34:09 1997  Rob Savoye  <rob@darkstar.cygnus.com>
+
+	* libiberty.h: Add extern "C" { so it can be used with C++
+	programs.
+	* remote-sim.h:  Add extern "C" { so it can be used with C++
+	programs.
+
+Tue Oct 14 16:07:51 1997  Nick Clifton  <nickc@cygnus.com>
+
+	* dis-asm.h (struct disassemble_info): New field
+	'symbol_at_address_func'.
+	(INIT_DISASSEMBLE_INFO_NO_ARCH): Initialise new field with
+	generic_symbol_at_address.
+
+Mon Oct 13 10:17:15 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* remote-sim.h: Clarify sim_read, sim_write MEM argument.
+
+Wed Sep 24 18:03:10 1997  Stu Grossman  <grossman@babylon-5.cygnus.com>
+
+	* remote-sim.h (SIM_RC):  Add a bunch of new return codes for
+	breakpoint stuff.
+	* Add functions to tell the simulator to set/clear/enable/disable
+	intrinsic breakpoints.
+
+Thu Aug 28 19:41:42 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* libiberty.h (dupargv): Add prototype.
+
+Tue Aug 26 12:25:49 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* remote-sim.h (sim_create_inferior): Add ABFD arg. Document.
+
+Mon Aug 25 10:50:51 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* remote-sim.h (sim_open): Add ABFD arg. Document.
+
+Fri Aug  8 16:43:56 1997  Doug Evans  <dje@canuck.cygnus.com>
+
+	* dis-asm.h (arc_get_disassembler): Declare.
+
+Wed Jul 30 11:39:50 1997  Per Bothner  <bothner@deneb.cygnus.com>
+
+	* demangle.h (DMGL_JAVA):  New option to request Java demangling.
+
+Tue Jul 22 17:59:54 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* libiberty.h (PEXECUTE_*): Define.
+	(pexecute, pwait): Declare.
+
+Fri Jun  6 13:02:33 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* remote-sim.h (sim_kill): Mark as depreciated.
+
+Fri May 23 13:43:41 1997  Fred Fish  <fnf@cygnus.com>
+
+	* bfdlink.h (struct bfd_link_info): Add task_link member.
+
+Thu May 22 11:32:49 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* remote-sim.h: Review documentation.  Clarify restrictions on
+	when functions can be called.
+
+Wed May 21 16:47:53 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* remote-sim.h (sim_set_profile_size): Add prototype, document as
+	depreciated.
+
+Tue May 20 09:32:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* remote-sim.h (sim_open): Add callback struct.
+	(sim_set_callbacks): Drop SIM_DESC argument. Document.
+	(sim_size): Remove recently added SIM_DESC argument. Document.
+
+Mon May 19 19:14:44 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* remote-sim.h: Pass SD into sim_size.
+
+Thu May 15 01:24:16 1997  Mark Alexander  <marka@cygnus.com>
+
+	* obstack.h (obstack_specify_allocation_with_arg, obstack_chunkfun,
+	obstack_freefun): Eliminate compile warnings in gdb.
+
+Tue Apr 22 10:24:34 1997  Fred Fish  <fnf@cygnus.com>
+
+	* floatformat.h (floatformat_byteorders): Add comments for previous
+	formats and add floatformat_littlebyte_bigword, primarily for ARM.
+	Add declaration for floatformat_ieee_double_littlebyte_bigword.
+
+Fri Apr 18 13:04:49 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* remote-sim.h (sim_stop): New interface - asynchronous
+	notification of a request to stop / suspend the running
+	simulation.
+
+	* remote-sim.h (enum sim_stop): Add sim_running and sim_polling as
+	states for use internal to simulators.
+
+	* callback.h (struct host_callback_strut): Put a magic number at
+	the end of the struct to allow basic checking.
+	(struct host_callback_struct ): Add poll_quit - so
+	that the console etc can be polled at regular intervals.
+
+Thu Apr 17 02:17:12 1997  Doug Evans  <dje@canuck.cygnus.com>
+
+	* remote-sim.h (struct _bfd): Declare.
+	(sim_load): Return SIM_RC.  New arg `abfd'.
+	(sim_create_inferior): Return SIM_RC.  Delete arg `start_address'.
+
+Wed Apr  2 17:09:12 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
+
+	* remote-sim.h (sim_trace, sim_size): Make these global.  They
+	will go away shortly.
+
+Wed Apr  2 15:23:49 1997  Doug Evans  <dje@canuck.cygnus.com>
+
+	* remote-sim.h (SIM_OPEN_KIND, SIM_RC): New enums.
+	(sim_open): New argument `kind'.
+
+Wed Apr  2 14:45:51 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* COPYING: Update FSF address.
+
+Fri Mar 28 15:29:54 1997  Mike Meissner  <meissner@cygnus.com>
+
+	* callback.h (top level): Include stdarg.h or varargs.h if
+	va_start is not defined.
+	(host_callback_struct): Make {,e}vprintf_filtered take a va_list
+	instead of void *, since va_list might be an array or structure
+	type.
+
+Fri Mar 28 15:44:41 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
+
+	* libiberty.h (basename): Add prototype for glibc and linux.
+
+Mon Mar 17 19:22:12 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* objalloc.h: New file.
+
+Mon Mar 17 14:57:55 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
+
+	* remote-sim.h: New file, copied in from gdb/remote-sim.h.  One
+	day this will be placed in a directory of its own.
+
+Sat Mar 15 19:00:14 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* obstack.h: Update to current FSF version.
+
+Thu Mar  6 15:46:59 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
+
+	* callback.h (struct host_callback_struct): Add callbacks -
+	flush_stdout, write_stderr, flush_stderr, vprintf_filtered,
+	evprintf_filtered.  Delete redundant callbacks - printf_filtered.
+
+Thu Feb 27 23:18:27 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* bfdlink.h (struct bfd_link_info): Remove lprefix and lprefix_len
+	fields.
+
+Tue Feb 25 00:10:49 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* dis-asm.h (INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize
+	bytes_per_chunk and display_endian.
+
+Mon Feb 24 17:47:02 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	From Eric Youngdale <eric@andante.jic.com>:
+	* bfdlink.h (struct bfd_elf_version_expr): Define.
+	(struct bfd_elf_version_deps): Define.
+	(struct bfd_elf_version_tree): Define.
+
+Thu Feb  6 14:20:01 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>
+
+	* dis-asm.h: (disassemble_info):  Add new fields
+	bytes_per_chunk and display_endian to control the
+	display of raw instructions.
+
+Fri Dec 27 22:17:37 1996  Fred Fish  <fnf@cygnus.com>
+
+	* dis-asm.h (print_insn_tic80): Declare.
+
+Sun Dec  8 17:11:12 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+	* callback.h (host_callback): New member `error'.
+
+Wed Nov 20 00:40:23 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+	* callback.h: New file, moved here from gdb.
+
+Mon Nov 18 16:34:00 1996  Dawn Perchik  <dawn@critters.cygnus.com>
+
+	* libiberty.h: Checkin again; last checkin failed due to sticky tag.
+
+Wed Nov 13 08:22:00 1996  Dawn Perchik  <dawn@critters.cygnus.com>
+
+	* libiberty.h: Revert last commit due to conflicts with hpux
+	system headers.
+
+Tue Nov 12 16:31:00 1996  Dawn Perchik  <dawn@critters.cygnus.com>
+
+	* libiberty.h: Move prototypes from argv.c here.
+
+Thu Oct 31 14:56:18 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+	* ansidecl.h (VPARAMS,VA_START): Define.
+
+Fri Oct 25 12:08:04 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* dis-asm.h (disassemble_info): Add bytes_per_line field.
+	(INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize bytes_per_line field.
+
+Thu Oct 24 17:10:01 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* dis-asm.h (disassemble_info): Add symbol field.
+	(INIT_DISASSEMBLE_INFO_NO_ARCH): Initialize symbol field.
+
+Thu Oct 17 11:17:40 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+	* dis-asm.h (print_insn_m32r): Declare.
+
+Mon Oct 14 23:56:52 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* libiberty.h: Declare parameter types for xmalloc and xrealloc.
+
+Thu Oct  3 13:45:27 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* fnmatch.h: New file.
+
+Thu Oct  3 10:33:14 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* dis-asm.h (print_insn_mn10x00): Delete declaration.
+	(print_insn_mn10200, print_insn_mn10300): Declare.
+
+Wed Oct  2 21:24:43 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* dis-asm.h (print_insn_mn10x00): Declare.
+
+Mon Sep 30 13:56:11 1996  Fred Fish  <fnf@cygnus.com>
+
+	* libiberty.h: Remove #ifndef PRIVATE_XMALLOC.
+
+Sat Aug 31 13:27:06 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* dis-asm.h (print_insn_v850): Declare.
+
+Tue Aug 13 16:10:30 1996  Stu Grossman  (grossman@critters.cygnus.com)
+
+	* obstack.h:  Change bcopy to memcpy.  Works better on Posix
+	systems, which generally lack bcopy.
+
+Mon Aug 12 17:03:18 1996  Stu Grossman  (grossman@critters.cygnus.com)
+
+	* ansidecl.h:  Change WIN32 to _WIN32.
+
+Fri Jul 26 13:58:18 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* dis-asm.h: Add flavour field.
+	(print_insn_alpha): Declare.
+	(print_insn_alpha_osf, print_insn_alpha_vms): Don't declare.
+	(INIT_DISASSEMBLE_INFO): Initialize flavour field.
+
+Tue Jul 23 17:37:58 1996  Fred Fish  <fnf@cygnus.com>
+
+	* libiberty.h (PRIVATE_XMALLOC): Enclose xmalloc/xrealloc
+	definitions inside #ifndef so that programs that want to
+	can define PRIVATE_XMALLOC and then define xmalloc and
+	xrealloc anyway they want.
+	(basename): Document in source that we can't declare the
+	parameter type because it is declared inconsistently across
+	different systems.
+
+Mon Jul 22 13:16:13 1996  Richard Henderson  <rth@tamu.edu>
+
+	* dis-asm.h (print_insn_alpha): Don't declare.
+	(print_insn_alpha_osf, print_insn_alpha_vms): Declare.
+
+Wed Jul 17 14:45:12 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
+
+	* dis-asm.h: (print_insn_d10v): Declare.
+
+Mon Jul 15 16:55:38 1996  Stu Grossman  (grossman@critters.cygnus.com)
+
+	* dis-asm.h:  Get rid of decls for print_insn_i8086,
+	print_insn_sparc64 and print_insn_sparclite.
+	* (INIT_DISASSEMBLE_INFO):  Split into two pieces.  One,
+	INIT_DISASSEMBLE_INFO_NO_ARCH inits everything except for endian,
+	mach, and arch.
+
+Fri Jul 12 10:19:27 1996  Stu Grossman  (grossman@critters.cygnus.com)
+
+	* dis-asm.h (print_insn_i8086):  Declare.
+
+Wed Jul  3 16:02:39 1996  Stu Grossman  (grossman@critters.cygnus.com)
+
+	* dis-asm.h (print_insn_sparclite):  Declare.
+
+Tue Jun 18 16:02:46 1996  Jeffrey A. Law  <law@rtl.cygnus.com>
+
+	* dis-asm.h (print_insn_h8300s): Declare.
+
+Tue Jun 18 15:11:33 1996  Klaus Kaempf  <kkaempf@progis.de>
+
+	* fopen-vms.h: New file.
+
+Tue Jun  4 18:58:16 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* bfdlink.h (struct bfd_link_info): Add notice_all field.
+
+Fri Apr 26 10:33:12 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+	* demangle.h (#ifdef IN_GCC): #include "gansidecl.h".
+	(PROTO,PTR,const): Delete.
+
+Mon Apr 22 17:27:42 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* bfdlink.h (struct bfd_link_info): Add traditional_format field.
+
+Mon Apr 15 15:16:56 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+	* libiberty.h (choose_temp_base): Add prototype.
+
+Tue Mar 12 17:29:46 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* bfdlink.h (bfd_wrapped_link_hash_lookup): Declare.
+	(struct bfd_link_info): Add wrap_hash field.
+
+Wed Feb 14 16:49:17 1996  Martin Anantharaman  <martin@mail.imech.uni-duisburg.de>
+
+	* ieee.h (ieee_record_enum_type): Define
+	ieee_external_reference_info_enum.
+
+Fri Feb  2 17:09:25 1996  Doug Evans  <dje@charmed.cygnus.com>
+
+	* dis-asm.h (DISASM_RAW_INSN): Delete.
+
+Tue Jan 23 09:21:47 1996  Doug Evans  <dje@charmed.cygnus.com>
+
+	* dis-asm.h (INIT_DISASSEMBLE_INFO): Set endian to BFD_ENDIAN_UNKNOWN.
+	New argument FPRINTF_FUNC.
+
+Mon Jan 22 16:37:59 1996  Doug Evans  <dje@charmed.cygnus.com>
+
+	* dis-asm.h (disassemble_info): New members arch, mach, endian.
+	(INIT_DISASSEMBLE_INFO): Initialize them.
+	(DISASM_RAW_INSN{,FLAG}): Define.
+
+Thu Jan 18 11:32:38 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* demangle.h (cplus_demangle_opname): Change opname parameter to
+	const char *.
+	(cplus_mangle_opname): Change return type and opname parameter to
+	const char *.
+
+Fri Jan  5 00:01:22 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* ieee.h (enum ieee_record): Add ieee_asn_record_enum,
+	ieee_at_record_enum, ieee_ty_record_enum, ieee_atn_record_enum,
+	ieee_bb_record_enum, and ieee_be_record_enum.
+
+Wed Jan  3 13:12:09 1996  Fred Fish  <fnf@cygnus.com>
+
+	* obstack.h: Update copyright to 1996.
+	(_obstack_memory_used): Declare.
+	(obstack_memory_used): Define macro.
+
+Thu Dec 28 11:42:12 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* libiberty.h (xstrdup): Declare.
+
+Thu Dec 21 14:47:17 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* wait.h: Protect all macros with #ifndef.
+
+Tue Oct 24 21:45:40 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* bfdlink.h (struct bfd_link_info): Add static_link field.
+
+Tue Sep 12 16:28:04 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* bfdlink.h (struct bfd_link_callbacks): Add symbol parameter to
+	warning callback.
+
+Fri Sep  1 13:11:51 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* bfdlink.h (struct bfd_link_callbacks): Change warning callback
+	to take BFD, section, and address arguments.
+
+Thu Aug 31 16:45:12 1995  steve chamberlain  <sac@slash.cygnus.com>
+
+	* bfdlink.h (struct bfd_link_info): Remove PE stuff.
+
+Tue Aug 22 03:18:23 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>
+
+	* libiberty.h: Declare xstrerror.  From Pat Rankin.
+
+Mon Aug 21 18:11:36 1995  steve chamberlain  <sac@slash.cygnus.com>
+
+	* bfdlink.h (struct bfd_link_info): Remove PE stuff.
+
+Wed Aug  2 08:14:12 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+	* dis-asm.h (print_insn_sparc64): Declare.
+
+Mon Jul 10 13:26:49 1995  Eric Youngdale  <eric@aib.com>
+
+	* bfdlink.h (struct bfd_link_info): Add new field symbolic.
+
+Sun Jul  2 17:48:40 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* bfdlink.h (struct bfd_link_info): Change type of base_file to
+	PTR.
+
+Thu Jun 29 00:02:45 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+	* bfdlink.h (struct bfd_link_info): Added base_file member.
+
+Tue Jun 20 16:40:04 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+	* ansidecl.h: win32s is ANSI enough.
+
+Thu May 18 04:25:50 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>
+
+	Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
+
+	* dis-asm.h (print_insn_arm): Delete declaration.
+	(print_insn_{little,big}_arm): New declarations.
+
+	* floatformat.h (floatformat_arm_ext): Declare.
+
+Sat May 13 10:14:08 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+	* bfdlink.h (subsytem, stack_heap_parameters): New.
+
+Thu May  4 14:36:42 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* demangle.h: Don't include ansidecl.h if IN_GCC.
+
+Tue Feb 21 00:37:28 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+	* hp-symtab.h: Don't use bitfield enumerations, the HP C compiler
+	does not handle them correctly.
+
+Thu Feb  9 14:20:27 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* libiberty.h (basename): Don't declare parameter type; some
+	systems have this in their header files.
+
+Wed Feb  8 17:35:38 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* bfdlink.h (struct bfd_link_hash_entry): Change format of common
+	symbol information, to remove restrictions on maximum size and
+	alignment power, by using a pointer to a structure instead.
+
+Mon Feb  6 14:55:32 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* bfdlink.h (enum bfd_link_hash_type): Rename bfd_link_hash_weak
+	to bfd_link_hash_undefweak.  Add bfd_link_hash_defweak.
+
+Mon Jan 16 21:00:23 1995  Stan Shebs  <shebs@andros.cygnus.com>
+
+	* dis-asm.h (GDB_INIT_DISASSEMBLE_INFO, etc): Remove all
+	GDB-specific definitions.
+
+Sun Jan 15 18:39:35 1995  Steve Chamberlain  <sac@splat>
+
+	* dis-asm.h (print_insn_w65): Declare.
+
+Thu Jan 12 17:51:17 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+	* libiberty.h (hex_p): Fix sense of test.
+
+Wed Jan 11 22:36:40 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+	* libiberty.h (_hex_array_size, _hex_bad, _hex_value, hex_init,
+	hex_p, hex_value): New macros and declarations, for hex.c.
+
+Fri Jan  6 17:44:14 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+	* dis-asm.h: Make idempotent.
+
+Wed Dec 14 13:08:43 1994  Stan Shebs  <shebs@andros.cygnus.com>
+
+	* progress.h: New file, empty definitions for progress macros.
+
+Fri Nov 25 00:14:05 1994  Jeff Law  (law@snake.cs.utah.edu)
+
+	* hp-symtab.h: New file describing the debug symbols emitted
+	by the HP C compilers.
+
+Fri Nov 11 15:48:37 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+	* bfdlink.h (struct bfd_link_hash_entry): Change u.c.size from 24
+	to 26 bits, and change u.c.alignment_power from 8 to 6 bits.  6
+	bit in the alignment power is enough for a 64 bit address space.
+
+Mon Oct 31 13:02:51 1994  Stan Shebs  (shebs@andros.cygnus.com)
+
+	* demangle.h (cplus_mangle_opname): Declare.
+
+Tue Oct 25 11:38:02 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+	* bfdlink.h (struct bfd_link_callbacks): Fix comments for
+	multiple_common field.
+
+Sun Sep 04 17:58:10 1994  Richard Earnshaw (rwe@pegasus.esprit.ec.org)
+
+	* dis-asm.h: Add support for the ARM.
+
+Wed Aug 10 12:51:41 1994  Doug Evans  (dje@canuck.cygnus.com)
+
+	* libiberty.h (strsignal): Document its existence even if we
+	can't declare it.
+
+Tue Aug  2 14:40:03 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
+
+	* os9k.h: Remove u_int16, u_int32, and owner_id typedefs and
+	expand their uses.  Those names conflict with Mach headers.
+
+Fri Jul 22 14:17:12 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+	* bfdlink.h (struct bfd_link_hash_entry): Change u.c.size into a
+	bitfield.  Add field u.c.alignment_power.
+
+Sun Jul 10 00:26:39 1994  Ian Dall  (dall@hfrd.dsto.gov.au)
+
+	* dis-asm.h: Add print_insn_ns32k declaration.
+
+Mon Jun 20 17:13:29 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+	* bfdlink.h (bfd_link_hash_table): Make creator a const pointer.
+
+Sat Jun 18 16:09:32 1994  Stan Shebs  (shebs@andros.cygnus.com)
+
+	* demangle.h (cplus_demangle_opname): Declare.
+
+Thu Jun 16 15:19:03 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* bfdlink.h (struct bfd_link_info): Add new field shared.
+
+Mon Jun  6 14:39:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* bfdlink.h (struct bfd_link_hash_entry): Remove written field:
+	not needed for all backends.
+
+Thu Apr 28 19:06:50 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+	* dis-asm.h (disassembler): Declare.
+
+Fri Apr  1 00:38:17 1994  Jim Wilson  (wilson@mole.gnu.ai.mit.edu)
+
+	* obstack.h: Delete use of IN_GCC to control whether
+	stddef.h or gstddef.h is included.
+
+Tue Mar 22 13:06:02 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* bfdlink.h (enum bfd_link_order_type): Add bfd_data_link_order.
+	(struct bfd_link_order): Add data field to union.
+
+Mon Mar 21 18:45:26 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* bfdlink.h (struct bfd_link_callbacks): Change bitsize argument
+	to add_to_set to reloc.  Remove bitsize argument from constructor.
+	Comment that reloc_overflow, reloc_dangerous and unattached_reloc
+	must handle NULL pointers for reloc location.
+	(enum bfd_link_order_type): Add bfd_section_reloc_link_order and
+	bfd_symbol_reloc_link_order.
+	(struct bfd_link_order): Add reloc field to union.
+	(struct bfd_link_order_reloc): Define.
+
+Mon Mar 14 12:27:50 1994  Ian Lance Taylor  (ian@cygnus.com)
+
+	* ieee-float.h: Removed; no longer used.
+
+Tue Mar  1 18:10:49 1994  Kung Hsu  (kung@mexican.cygnus.com)
+
+	* os9k.h: os9000 target specific header file, the header of the
+	object file is used now.
+
+Sun Feb 27 21:52:26 1994  Jim Kingdon  (kingdon@deneb.cygnus.com)
+
+	* floatformat.h: New file, intended to replace ieee-float.h.
+
+Sun Feb 20 17:15:42 1994  Ian Lance Taylor  (ian@lisa.cygnus.com)
+
+	* ansidecl.h (ANSI_PROTOTYPES): Define if using ANSI prototypes.
+
+Wed Feb 16 01:07:12 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* libiberty.h: Don't declare strsignal, to avoid conflicts with
+	Solaris system header files.
+
+Sat Feb 12 22:11:32 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
+
+	* libiberty.h (xexit): Use __volatile__ to avoid losing if
+	compiling with gcc -traditional.
+
+Thu Feb 10 14:05:41 1994  Ian Lance Taylor  (ian@cygnus.com)
+
+	* libiberty.h: New file.  Declares functions provided by
+	libiberty.
+
+Tue Feb  8 05:19:52 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+	Handle obstack_chunk_alloc returning NULL.  This allows
+	obstacks to be used by libraries, without forcing them
+	to call exit or longjmp.
+	* obstack.h (struct obstack): Add alloc_failed flag.
+	_obstack_begin, _obstack_begin_1): Declare to return int, not void.
+	(obstack_finish): If alloc_failed, return NULL.
+	(obstack_base, obstack_next_free, objstack_object_size):
+	If alloc_failed, return 0.
+	(obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
+	obstack_int_grow, obstack_blank): If alloc_failed, do nothing that
+	could corrupt the obstack.
+
+Mon Jan 24 15:06:05 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* bfdlink.h (struct bfd_link_callbacks): Add name, reloc_name and
+	addend argments to reloc_overflow callback.
+
+Fri Jan 21 19:13:12 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* dis-asm.h (print_insn_big_powerpc, print_insn_little_powerpc,
+	print_insn_rs6000): Declare.
+
+Thu Jan  6 14:15:55 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* bfdlink.h (struct bfd_link_callbacks): Add bitsize argument to
+	add_to_set field.  Add new callback named constructor.
+
+Thu Dec 30 10:44:06 1993  Ian Lance Taylor  (ian@rtl.cygnus.com)
+
+	* bfdlink.h: New file for new BFD linker backend routines.
+
+Mon Nov 29 10:43:57 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* dis-asm.h (enum dis_insn_tyupe): Remove non-ANSI trailing comma.
+
+Sat Oct  2 20:42:26 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
+
+	* dis-asm.h: Move comment to right place.
+
+Mon Aug  9 19:03:35 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+	* obstack.h (obstack_chunkfun, obstack_freefun): Add defns from
+	previous version.  Are these Cygnus local changes?
+
+Fri Aug  6 17:05:47 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+	* getopt.h, obstack.h: Update to latest FSF version.
+
+Mon Aug  2 14:45:29 1993  John Gilmore  (gnu@cygnus.com)
+
+	* dis-asm.h:  Move enum outside of struct defn to avoid warnings.
+
+Mon Aug  2 08:49:30 1993  Stu Grossman  (grossman at cygnus.com)
+
+	* wait.h (WEXITSTATUS, WSTOPSIG): Mask down to 8 bits.  This is
+	for systems that store stuff into the high 16 bits of a wait
+	status.
+
+Fri Jul 30 18:38:02 1993  John Gilmore  (gnu@cygnus.com)
+
+	* dis-asm.h:  Add new fields insn_info_valid, branch_delay_insns,
+	data_size, insn_type, target, target2.  These are used to return
+	information from the instruction decoders back to the calling
+	program.  Add comments, make more readable.
+
+Mon Jul 19 22:14:14 1993  Fred Fish  (fnf@deneb.cygnus.com)
+
+	* nlm:  New directory containing NLM/NetWare includes.
+
+Thu Jul 15 12:10:04 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
+
+	* dis-asm.h (struct disassemble_info): New field application_data.
+
+Thu Jul 15 12:41:15 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* dis-asm.h: Added declaration of print_insn_m88k.
+
+Fri Jul  2 10:31:59 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* ansidecl.h: Use ANSI macros if __mips and _SYSTYPE_SVR4 are
+	defined, since RISC/OS cc handles ANSI declarations in SVR4 mode
+	but does not define __STDC__.
+
+Sun Jun 20 18:27:52 1993  Ken Raeburn  (raeburn@poseidon.cygnus.com)
+
+	* dis-asm.h: Don't need to include ansidecl.h any more.
+
+Fri Jun 18 03:22:10 1993  John Gilmore  (gnu@cygnus.com)
+
+	* oasys.h:  Eliminate "int8_type", "int16_type", "int32_type", and
+	their variants.  These changes are coordinated with corresponding
+	changes in ../bfd/oasys.c.
+
+Wed Jun 16 10:43:08 1993  Fred Fish  (fnf@cygnus.com)
+
+	* bfd.h:  Note that it has been removed.
+
+Tue Jun  8 12:16:03 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)
+
+	 Support for H8/300-H
+	* dis-asm.h (print_insn_h8300, print_insn_h8300h): Declare it.
+
+Tue Jun  1 07:35:03 1993  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
+
+	* ansidecl.h (const): Don't define it if it's already defined.
+
+Thu May 27 18:19:51 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
+
+	* dis-asm.h (print_insn_hppa): Declare it.
+
+	* bfd.h: Moved to bfd directory.  Small stub here includes it
+	without requiring "-I../bfd".
+
+Thu Apr 29 12:06:13 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)
+
+	* bfd.h: Updated with BSF_FUNCTION.
+
+Mon Apr 26 18:15:50 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* bfd.h, dis-asm.h: Updated with Hitachi SH.
+
+Fri Apr 23 18:41:38 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* bfd.h: Updated with alpha changes.
+	* dis-asm.h: Added alpha.
+
+Fri Apr 16 17:35:30 1993  Jim Kingdon  (kingdon@cygnus.com)
+
+	* bfd.h: Update for signed bfd_*get_*.
+
+Thu Apr 15 09:24:21 1993  Jim Kingdon  (kingdon@cygnus.com)
+
+	* bfd.h: Updated for file_truncated error.
+
+Thu Apr  8 10:53:47 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* ansidecl.h: If no ANSI, define const to be empty.
+
+Thu Apr  1 09:00:10 1993  Jim Kingdon  (kingdon@cygnus.com)
+
+	* dis-asm.h: Declare a29k and i960 print_insn_*.
+
+	* dis-asm.h: Add print_address_func and related stuff.
+
+	* dis-asm.h (dis_asm_read_memory): Fix prototype.
+
+Wed Mar 31 17:40:16 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
+
+	* dis-asm.h: Add print_insn_sparc.
+
+Wed Mar 31 17:51:42 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* bfd.h: Updated for BFD_RELOC_MIPS_GPREL and bfd_[gs]et_gp_size
+	prototypes.
+
+Wed Mar 31 16:35:12 1993  Stu Grossman  (grossman@cygnus.com)
+
+	* dis-asm.h: (disassemble_info):  Fix typo in prototype of
+	dis_asm_memory_error().
+
+Tue Mar 30 19:09:23 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
+
+	* dis-asm.h (disassembler_info): Add read_memory_func,
+	memory_error_func, buffer, and length.
+	({GDB_,}INIT_DISASSEMBLE_INFO): Set them.
+	print_insn_*: Remove second argument.
+
+Tue Mar 30 14:48:55 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* bfd.h: Update for lma field of section.
+
+Tue Mar 30 12:22:55 1993  Jim Kingdon  (kingdon@cygnus.com)
+
+	* ansidecl.h: Use ANSI versions on AIX regardless of __STDC__.
+
+Fri Mar 19 14:49:49 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* dis-asm.h: Add h8500.
+
+Thu Mar 18 13:49:09 1993  Per Bothner  (bothner@rtl.cygnus.com)
+
+	* ieee-float.h:  Moved from ../gdb.
+	* dis-asm.h:  New file.  Interface to dis-assembler.
+
+Thu Mar 11 10:52:57 1993  Fred Fish  (fnf@cygnus.com)
+
+	* demangle.h (DMGL_NO_OPTS):  Add define (set to 0) to use
+	in place of bare 0, for readability reasons.
+
+Tue Mar  2 17:50:11 1993  Fred Fish  (fnf@cygnus.com)
+
+	* demangle.h:  Replace all references to cfront with ARM.
+
+Tue Feb 23 12:21:14 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* bfd.h: Update for new elements in JUMP_TABLE.
+
+Tue Feb 16 00:51:30 1993  John Gilmore  (gnu@cygnus.com)
+
+	* bfd.h:  Update for BFD_VERSION 2.1.
+
+Tue Jan 26 11:49:20 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* bfd.h: Update for SEC_IS_COMMON flag.
+
+Tue Jan 19 12:25:12 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* bfd.h: Update for bfd_asymbol_value bug fix.
+
+Fri Jan  8 16:37:18 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* bfd.h: Update to include ECOFF tdata and target_flavour.
+
+Sun Dec 27 17:52:30 1992  Fred Fish  (fnf@cygnus.com)
+
+	* bfd.h:  Add declaration for bfd_get_size().
+
+Tue Dec 22 22:42:46 1992  Fred Fish  (fnf@cygnus.com)
+
+	* demangle.h:  Protect file from multiple inclusions with
+	#if !defined(DEMANGLE_H)...#define DEMANGLE_H...#endif.
+
+Mon Dec 21 21:25:50 1992  Stu Grossman  (grossman at cygnus.com)
+
+	* bfd.h:  Update to get hppa_core_struct from bfd.c.
+
+Thu Dec 17 00:42:35 1992  John Gilmore  (gnu@cygnus.com)
+
+	* bfd.h:  Update to get tekhex tdata name change from bfd.
+
+Mon Nov  9 23:55:42 1992  John Gilmore  (gnu@cygnus.com)
+
+	* ansidecl.h:  Update comments to discourage use of EXFUN.
+
+Thu Nov  5 16:35:44 1992  Ian Lance Taylor  (ian@cygnus.com)
+
+	* bfd.h: Update to bring in SEC_SHARED_LIBRARY.
+
+Thu Nov  5 03:21:32 1992  John Gilmore  (gnu@cygnus.com)
+
+	* bfd.h:  Update to match EXFUN, bfd_seclet_struct, and SDEF
+	cleanups in bfd.
+
+Wed Nov  4 07:28:05 1992  Ken Raeburn  (raeburn@cygnus.com)
+
+	* bout.h (N_CALLNAME, N_BALNAME): Define as char-type values, so
+	widening works consistently.
+
+Fri Oct 16 03:17:08 1992  John Gilmore  (gnu@cygnus.com)
+
+	* getopt.h:  Update to Revised Standard FSF Version.
+
+Thu Oct 15 21:43:22 1992  K. Richard Pixley  (rich@sendai.cygnus.com)
+
+	* getopt.h (struct option): use the provided enum for has_arg.
+
+	* demangle.h (AUTO_DEMANGLING, GNU_DEMANGLING,
+	  LUCID_DEMANGLING): ultrix compilers require enums to be
+	  enums and ints to be ints and casts where they meet.  cast some
+	  enums into ints.
+
+Thu Oct 15 04:35:51 1992  John Gilmore  (gnu@cygnus.com)
+
+	* bfd.h:  Update after comment changes.
+
+Thu Oct  8 09:03:02 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* bfd.h (bfd_get_symbol_leading_char): new macro for getting in xvec
+
+Thu Sep  3 09:10:50 1992  Stu Grossman  (grossman at cygnus.com)
+
+	* bfd.h (struct reloc_howto_struct):  size needs to be signed if
+	it's going to hold negative values.
+
+Sun Aug 30 17:50:27 1992  Per Bothner  (bothner@rtl.cygnus.com)
+
+	* demangle.h:  New file, moved from ../gdb.  Made independent
+	of gdb.  Allow demangling style option to be passed as a
+	parameter to cplus_demangle(), but using the
+	current_demangling_style global as the default.
+
+Sat Aug 29 10:07:55 1992  Fred Fish  (fnf@cygnus.com)
+
+	* obstack.h:  Merge comment change from current FSF version.
+
+Thu Aug 27 12:59:29 1992  Brendan Kehoe  (brendan@cygnus.com)
+
+	* bfd.h: add we32k
+
+Tue Aug 25 15:07:47 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* bfd.h: new after Z8000 stuff
+
+Mon Aug 17 09:01:23 1992  Ken Raeburn  (raeburn@cygnus.com)
+
+	* bfd.h: Regenerated after page/segment size changes.
+
+Sat Aug  1 13:46:31 1992  Fred Fish  (fnf@cygnus.com)
+
+	* obstack.h: Merge changes from current FSF version.
+
+Mon Jul 20 21:06:23 1992  Fred Fish  (fnf@cygnus.com)
+
+	* obstack.h (area_id, flags):  Remove, replace with extra_arg,
+	use_extra_arg, and maybe_empty_object.
+	* obstack.h (OBSTACK_MAYBE_EMPTY_OBJECT, OBSTACK_MMALLOC_LIKE):
+	Remove, replaced by maybe_empty_object and use_extra_arg bitfields.
+	* obstack.h (obstack_full_begin, _obstack_begin):  Remove area_id
+	and flags arguments.
+	* obstack.h (obstack_alloc_arg):  New macro to set extra_arg.
+
+Thu Jul 16 08:12:44 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* bfd.h: new after adding BFD_IS_RELAXABLE
+
+Sat Jul  4 03:22:23 1992  John Gilmore  (gnu at cygnus.com)
+
+	* bfd.h:  Regen after adding BSF_FILE.
+
+Mon Jun 29 14:18:36 1992  Fred Fish  (fnf at sunfish)
+
+	* obstack.h:  Convert bcopy() use to memcpy(), which is more
+	portable, more standard, and can take advantage of gcc's builtin
+	functions for increased performance.
+
+Thu Jun 25 04:46:08 1992  John Gilmore  (gnu at cygnus.com)
+
+	* ansidecl.h (PARAMS):  Incorporate this macro from gdb's defs.h.
+	It's a cleaner way to forward-declare function prototypes.
+
+Fri Jun 19 15:46:32 1992  Stu Grossman  (grossman at cygnus.com)
+
+	* bfd.h:  HPPA merge.
+
+Tue Jun 16 21:30:56 1992  K. Richard Pixley  (rich@cygnus.com)
+
+	* getopt.h: gratuitous white space changes merged from other prep
+	  releases.
+
+Thu Jun 11 01:10:55 1992  John Gilmore  (gnu at cygnus.com)
+
+	* bfd.h:  Regen'd from bfd.c after removing elf_core_tdata_struct.
+
+Mon May 18 17:29:03 1992  K. Richard Pixley  (rich@cygnus.com)
+
+	* getopt.h: merged changes from make-3.62.11.
+
+	* getopt.h: merged changes from grep-1.6 (alpha).
+
+Fri May  8 14:53:32 1992  K. Richard Pixley  (rich@cygnus.com)
+
+	* getopt.h: merged changes from bison-1.18.
+
+Sat Mar 14 17:25:20 1992  Fred Fish  (fnf@cygnus.com)
+
+	* obstack.h:  Add "area_id" and "flags" members to obstack
+	structure.  Add obstack_chunkfun() and obstack_freefun() to
+	set functions explicitly.  Convert maybe_empty_object to
+	a bit in "flags".
+
+Thu Feb 27 22:01:02 1992  Per Bothner  (bothner@cygnus.com)
+
+	* wait.h (WIFSTOPPED):  Add IBM rs6000-specific version.
+
+Fri Feb 21 20:49:20 1992  John Gilmore  (gnu at cygnus.com)
+
+	* obstack.h:  Add obstack_full_begin.
+	* bfd.h, obstack.h:  Protolint.
+
+Thu Jan 30 01:18:42 1992  John Gilmore  (gnu at cygnus.com)
+
+	* bfd.h:  Remove comma from enum declaration.
+
+Mon Jan 27 22:01:13 1992  Steve Chamberlain  (sac at cygnus.com)
+
+	* bfd.h : new target entr, bfd_relax_section
+
+Wed Dec 18 17:19:44 1991  Stu Grossman  (grossman at cygnus.com)
+
+	* bfd.h, ieee.h:  ANSIfy enums.
+
+Thu Dec 12 20:59:56 1991  John Gilmore  (gnu at cygnus.com)
+
+	* fopen-same.h, fopen-bin.h:  New files for configuring
+	whether fopen distinguishes binary files or not.  For use
+	by host-dependent config files.
+
+Sat Nov 30 20:46:43 1991  Steve Chamberlain  (sac at rtl.cygnus.com)
+
+	* bfd.h: change the documentation format.
+
+	* created coff, elf and opcode and aout directories. Moved:
+
+	aout64.h	==> aout/aout64.h
+	ar.h		==> aout/ar.h
+	a.out.encap.h	==> aout/encap.h
+	a.out.host.h	==> aout/host.h
+	a.out.hp.h	==> aout/hp.h
+	a.out.sun4.h	==> aout/sun4.h
+	ranlib.h	==> aout/ranlib.h
+	reloc.h		==> aout/reloc.h
+	stab.def	==> aout/stab.def
+	stab.gnu.h	==> aout/stab_gnu.h
+
+	coff-a29k.h	==> coff/a29k.h
+	coff-h8300.h	==> coff/h8300.h
+	coff-i386.h	==> coff/i386.h
+	coff-i960.h	==> coff/i960.h
+	internalcoff.h	==> coff/internal.h
+	coff-m68k.h	==> coff/m68k.h
+	coff-m88k.h	==> coff/m88k.h
+	coff-mips.h	==> coff/mips.h
+	coff-rs6000.h	==> coff/rs6000.h
+
+	elf-common.h	==> elf/common.h
+	dwarf.h		==> elf/dwarf.h
+	elf-external.h	==> elf/external.h
+	elf-internal.h  ==> elf/internal.h
+
+	a29k-opcode.h	==> opcode/a29k.h
+	arm-opcode.h	==> opcode/arm.h
+	h8300-opcode.h	==> opcode/h8300.h
+	i386-opcode.h	==> opcode/i386.h
+	i860-opcode.h	==> opcode/i860.h
+	i960-opcode.h	==> opcode/i960.h
+	m68k-opcode.h	==> opcode/m68k.h
+	m88k-opcode.h	==> opcode/m88k.h
+	mips-opcode.h	==> opcode/mips.h
+	np1-opcode.h	==> opcode/np1.h
+	ns32k-opcode.h	==> opcode/ns32k.h
+	pn-opcode.h	==> opcode/pn.h
+	pyr-opcode.h	==> opcode/pyr.h
+	sparc-opcode.h	==> opcode/sparc.h
+	tahoe-opcode.h	==> opcode/tahoe.h
+	vax-opcode.h	==> opcode/vax.h
+
+
+
+Wed Nov 27 10:38:31 1991  Steve Chamberlain  (sac at rtl.cygnus.com)
+
+	* internalcoff.h: (internal_scnhdr) took out #def dependency, now
+	s_nreloc and s_nlnno are always long. 	(internal_reloc): allways
+	has an offset field now.
+
+Fri Nov 22 08:12:58 1991  John Gilmore  (gnu at cygnus.com)
+
+	* coff-rs6000.h:  Lint; use unsigned chars for external fields.
+	* internalcoff.h:  Lint; cast storage classes to signed char.
+
+Thu Nov 21 21:01:05 1991  Per Bothner  (bothner at cygnus.com)
+
+	* stab.def: Remove the GNU extended type codes (e.g. N_SETT).
+	* aout64.h:  The heuristic for distinguishing between
+	sunos-style and bsd-style ZMAGIC files (wrt. where the
+	text segment starts) is moved into (the default definition of)
+	the macro N_HEADER_IN_TEXT.  This definition is only used
+	if no other definition is used - e.g. bfd/newsos3.c defines
+	N_HEADER_IN_TEXT(x) to be always 0 (as before).
+
+Thu Nov 21 11:53:03 1991  John Gilmore  (gnu at cygnus.com)
+
+	* aout64.h (N_TXTADDR, N_TXTOFF, N_TXTSIZE):  New definitions
+	that should handle all uses.  LOGICAL_ versions deleted.
+	Eliminate N_HEADER_IN_TEXT, using a_entry to determine which
+	kind of zmagic a.out file we are looking at.
+	* coff-rs6000.h:  Typo.
+
+Tue Nov 19 18:43:37 1991  Per Bothner  (bothner at cygnus.com)
+
+	(Note:  This is a revised entry, as was aout64.h.)
+	* aout64.h:  Some cleanups of N_TXTADDR and N_TXTOFF:
+	Will now work for both old- and new-style ZMAGIC files,
+	depending on N_HEADER_IN_TEXT macro.
+	Add LOGICAL_TXTADDR, LOICAL_TXTOFF and LOGICAL_TXTSIZE
+	that don't count the exec header as part
+	of the text segment, to be consistent with bfd.
+	* a.out.sun4.h:  Simplified/fixed for previous change.
+
+Mon Nov 18 00:02:06 1991  Fred Fish  (fnf at cygnus.com)
+
+	* dwarf.h:  Update to DWARF draft 5 version from gcc2.
+
+Thu Nov 14 19:44:59 1991  Per Bothner  (bothner at cygnus.com)
+
+	* stab.def:  Added defs for extended GNU symbol types,
+	such as N_SETT.  These are normally ifdef'd out (because
+	of conflicts with a.out.gnu.h), but are used by bfb_stab_name().
+
+Thu Nov 14 19:17:03 1991  Fred Fish  (fnf at cygnus.com)
+
+	* elf-common.h:  Add defines to support ELF symbol table code.
+
+Mon Nov 11 19:01:06 1991  Fred Fish  (fnf at cygnus.com)
+
+	* elf-internal.h, elf-external.h, elf-common.h:  Add support for
+	note sections, which are used in ELF core files to hold copies
+	of various /proc structures.
+
+Thu Nov  7 08:58:26 1991  Steve Chamberlain  (sac at cygnus.com)
+
+	* internalcoff.h: took out the M88 dependency in the lineno
+	struct.
+	* coff-m88k.h: defines GET_LINENO_LNNO and PUT_LINENO_LNNO to use
+	32bit linno entries.
+	* a29k-opcode.h: fixed encoding of mtacc
+
+Sun Nov  3 11:54:22 1991  Per Bothner  (bothner at cygnus.com)
+
+	* bfd.h: Updated from ../bfd/bfd-in.h (q.v).
+
+Fri Nov  1 11:13:53 1991  John Gilmore  (gnu at cygnus.com)
+
+	* internalcoff.h:  Add x_csect defines.
+
+Fri Oct 25 03:18:20 1991  John Gilmore  (gnu at cygnus.com)
+
+	* Rename COFF-related files in `coff-ARCH.h' form.
+	coff-a29k.h, coff-i386.h, coff-i960.h, coff-m68k.h, coff-m88k.h,
+	coff-mips.h, coff-rs6000.h to be exact.
+
+Thu Oct 24 22:11:11 1991  John Gilmore  (gnu at cygnus.com)
+
+	RS/6000 support, by Metin G. Ozisik, Mimi Phûông-Thåo Võ, and
+	John Gilmore.
+
+	* a.out.gnu.h:  Update slightly.
+	* bfd.h:  Add new error code, fix doc, add bfd_arch_rs6000.
+	* internalcoff.h:  Add more F_ codes for filehdr.  Add
+	rs/6000-dependent fields to aouthdr.  Add storage classes
+	to syments.  Add 6000-specific auxent.  Add r_size in reloc.
+	* rs6000coff.c:  New file.
+
+Thu Oct 24 04:13:20 1991  Fred Fish  (fnf at cygnus.com)
+
+	* dwarf.h: New file for dwarf support.  Copied from gcc2
+	distribution.
+
+Wed Oct 16 13:31:45 1991  John Gilmore  (gnu at cygnus.com)
+
+	* aout64.h:  Remove PAGE_SIZE defines; they are target-dependent.
+	Add N_FN_SEQ for N_FN symbol type used on Sequent machines.
+	* stab.def:  Include N_FN_SEQ in table.
+	* bout.h:  External formats of structures use unsigned chars.
+
+Fri Oct 11 12:40:43 1991  Steve Chamberlain  (steve at cygnus.com)
+
+	* bfd.h:upgrade from bfd.c
+	* internalcoff.h: add n_name, n_zeroes and n_offset macros
+	* amdcoff.h: Define OMAGIC and AOUTHDRSZ.
+
+Fri Oct 11 10:58:06 1991  Per Bothner  (bothner at cygnus.com)
+
+	* a.out.host.h: Change SEGMENT_SIZE to 0x1000 for Sony.
+	* bfd.h (align_power): Add (actually move) comment.
+
+Tue Oct  8 15:29:32 1991  Per Bothner  (bothner at cygnus.com)
+
+	* sys/h-rtbsd.h: Define MISSING_VFPRINT (for binutils/bucomm.c).
+
+Sun Oct  6 19:24:39 1991  John Gilmore  (gnu at cygnus.com)
+
+	* aout64.h:  Move struct internal_exec to ../bfd/libaout.h so
+	it can be shared by all `a.out-family' code.  Rename
+	EXTERNAL_LIST_SIZE to EXTERNAL_NLIST_SIZE.  Use basic types
+	for nlist members, and make strx integral rather than pointer.
+	More commentary on n_type values.
+	* bout.h:  Provide a struct external_exec rather than an
+	internal_exec.
+	* m68kcoff.h:  Remove `tagentries' which snuck in from the i960
+	COFF port.
+
+Fri Oct  4 01:25:59 1991  John Gilmore  (gnu at cygnus.com)
+
+	* h8300-opcode.h:  Remove `_enum' from the typedef for an enum.
+	* bfd.h:  Update to match bfd changes.
+
+	* sys/h-i386mach.h, sysdep.h:  Add 386 Mach host support.
+
+Tue Oct  1 04:58:42 1991  John Gilmore  (gnu at cygnus.com)
+
+	* bfd.h, elf-common.h, elf-external.h, elf-internal.h:
+	Add preliminary ELF support, sufficient for GDB, from Fred Fish.
+	* sysdep.h, sys/h-amix.h:  Support Amiga SVR4.
+
+	* sys/h-vaxult.h:  Make it work.  (David Taylor <taylor@think.com>)
+	* a.out.vax.h:  Remove unused and confusing file.
+
+Mon Sep 30 12:52:35 1991  Per Bothner  (bothner at cygnus.com)
+
+	* sysdep.h: Define NEWSOS3_SYS, and use it.
+
+Fri Sep 20 13:38:21 1991  John Gilmore  (gnu at cygnus.com)
+
+	* a.out.gnu.h (N_FN):  Its value *really is* 0x1F.
+	Fix it, and add comments warning about or-ing N_EXT with it
+	and/or N_WARNING.
+	* aout64.h (N_FN):  Fix value, add comments about N_EXT.
+	* stab.def (table at end):  Update to show all the type
+	values <0x20, including low order bits.  Move N_FN to
+	its rightful place.
+
+Tue Sep 17 17:41:37 1991  Stu Grossman  (grossman at cygnus.com)
+
+	* sys/h-irix3.h:  sgi/irix support.
+
+Tue Sep 17 07:52:59 1991  John Gilmore  (gnu at cygint.cygnus.com)
+
+	* stab.def (N_DEFD):  Add GNU Modula-2 debug stab, from Andrew
+	Beers.
+
+Thu Sep 12 14:12:59 1991  John Gilmore  (gnu at cygint.cygnus.com)
+
+	* internalcoff.h (SYMNMLEN, FILNMLEN, DIMNUM):  Define these
+	for internalcoff, separately from the various external coff's.
+	* amdcoff.h, bcs88kcoff.h, i386coff.h, intel-coff.h, m68kcoff.h,
+	m88k-bcs.h: Prefix SYMNMLEN, FILNMLEN, and DIMNUM with E_'s for
+	the external struct definitions.
+	* ecoff.h: Remove these #define's, kludge no longer needed.
+
+	* sys/h-ultra3.h:  Add new Ultracomputer host.
+	* sysdep.h:  Add ULTRA3_SYM1_SYS and use it.
+
+Tue Sep 10 10:11:46 1991  John Gilmore  (gnu at cygint.cygnus.com)
+
+	* i386coff.h (LINESZ):  Always 6, not based on sizeof().
+	(Fix from Peter Schauer <pes@regent.e-technik.tu-muenchen.de>.)
+
+Wed Sep  4 08:58:37 1991  John Gilmore  (gnu at cygint.cygnus.com)
+
+	* a.out.gnu.h, aout64.h:  Add N_WARNING.  Change N_FN to 0x0E,
+	to match SunOS and BSD.  Add N_COMM as 0x12 for SunOS shared lib
+	support.
+	* stab.def:  Add N_COMM to table, fix overlap comment.
+
+Tue Sep  3 06:29:20 1991  John Gilmore  (gnu at cygint.cygnus.com)
+
+	Merge with latest FSF versions of these files.
+
+	* stab.gnu.h:  Add LAST_UNUSED_STAB_CODE.
+	* stab.def:  Update to GPL2.  Move N_WARNING out, since not a
+	debug symbol.  Change comments, and reorder table to numeric
+	order.  Update final table comment.
+	(N_DSLINE, N_BSLINE):  Renumber from 0x66 and 0x68, to 0x46 and 0x48.
+
+	* obstack.h:  GPL2.  Merge.
+
+Fri Aug 23 01:54:23 1991  John Gilmore  (gnu at cygint.cygnus.com)
+
+	* a.out.gnu.h, a.out.sun4.h:  Make SEGMENT_SIZE able to depend
+	on the particular a.out being examined.
+	* a.out.sun4.h:  Define segment sizes for Sun-3's and Sun-4's.
+	* FIXME:  a.out.gnu.h is almost obsolete.
+	* FIXME:  a.out.sun4.h should be renamed a.out.sun.h now.
+
+Wed Aug 21 20:32:13 1991  John Gilmore  (gnu at cygint.cygnus.com)
+
+	* Start a ChangeLog for the includes directory.
+
+	* a.out.gnu.h (N_FN):  Fix value -- was 15, should be 0x1E.
+	* stab.def:  Update allocation table in comments at end,
+	to reflect reality as I know it.
+
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/include/coff/ChangeLog-9103 b/include/coff/ChangeLog-9103
new file mode 100644
index 0000000..d18113d
--- /dev/null
+++ b/include/coff/ChangeLog-9103
@@ -0,0 +1,1160 @@
+2003-12-02  Graham Reed <grahamr@algorithmics.com>
+
+	* internal.h (C_WEAKEXT): Add alternative value for AIX 5.2
+	based targets.
+
+2003-08-23  Jason Eckhardt  <jle@rice.edu>
+
+	* coff/i860.h (COFF860_R_PAIR, COFF860_R_LOW0, COFF860_R_LOW1,
+	COFF860_R_LOW2, COFF860_R_LOW3, COFF860_R_LOW4, COFF860_R_SPLIT0,
+	COFF860_R_SPLIT1, COFF860_R_SPLIT2, COFF860_R_HIGHADJ,
+	COFF860_R_BRADDR): Define new relocation constants and document.
+	Minor formatting adjustments.
+
+2003-08-07  Alan Modra  <amodra@bigpond.net.au>
+
+	* ti.h (GET_SCNHDR_NRELOC): Rename PTR param to LOC.
+	(PUT_SCNHDR_NRELOC, GET_SCNHDR_NLNNO, PUT_SCNHDR_NLNNO): Likewise.
+	(GET_SCNHDR_FLAGS, PUT_SCNHDR_FLAGS): Likewise.
+	(GET_SCNHDR_PAGE, PUT_SCNHDR_PAGE): Likewise.
+
+2003-07-17  Jeff Muizelaar  <muizelaar@rogers.com>
+
+	* pe.h: (IMAGE_FILE_NET_RUN_FROM_SWAP): Define.
+	(IMAGE_FILE_MACHINE_WCEMIPSV2): Define.
+	(IMAGE_FILE_MACHINE_SH3DSP): Define.
+	(IMAGE_FILE_MACHINE_SH3E): Define.
+	(IMAGE_FILE_MACHINE_SH5): Define.
+	(IMAGE_FILE_MACHINE_AM33): Define.
+	(IMAGE_FILE_MACHINE_POWERPCFP): Define.
+	(IMAGE_FILE_MACHINE_AXP64): Define.
+	(IMAGE_FILE_MACHINE_TRICORE): Define.
+	(IMAGE_FILE_MACHINE_CEF): Define.
+	(IMAGE_FILE_MACHINE_EBC): Define.
+	(IMAGE_FILE_MACHINE_AMD64): Define.
+	(IMAGE_FILE_MACHINE_M32R): Define.
+	(IMAGE_FILE_MACHINE_CEE): Define.
+
+2003-07-14  Christian Groessler  <chris@groessler.org>
+
+        * i860.h (AOUTSZ): Define for i860 coff.
+
+2003-06-29  Andreas Jaeger  <aj@suse.de>
+
+	* xcoff.h (struct __rtinit ): Convert to ISO C90 prototypes.
+
+	* ecoff.h: Convert to ISO C90 prototypes.  Replace PTR by void *.
+
+2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+
+	* coff/h8300.h (H8300HNMAGIC, H8300SNMAGIC): New.
+	(H8300HNBADMAG, H8300SNBADMAG): New.
+
+2003-04-15  Rohit Kumar Srivastava <rohits@kpitcummins.com>
+
+	* sh.h: Replace occurrances of 'Hitachi' with 'Renesas'.
+	* h8300.h: Likewise.
+	* h8500.h: Likewise.
+
+2003-03-25  Stan Cox   <scox@redhat.com>
+	    Nick Clifton  <nickc@redhat.com>
+
+	Contribute support for Intel's iWMMXt chip - an	ARM variant:
+
+	* arm.h (ARM_NOTE_SECTION): Define.
+
+2002-11-30  Alan Modra  <amodra@bigpond.net.au>
+
+	* ecoff.h: Replace boolean with bfd_boolean.
+	* xcoff.h: Likewise.
+
+2002-03-18  Tom Rix  <trix@redhat.com>
+
+	* rs6k64.h: Add U64_TOCMAGIC, AIX 5 64 bit magic number.
+
+2002-02-01  Tom Rix  <trix@redhat.com>
+
+	* xcoff.h: Conditionally support <aiaff> for pre AIX 4.3.
+
+2002-01-31  Ivan Guzvinec  <ivang@opencores.org>
+
+	* or32.h: New file.
+
+2001-12-24  Tom Rix  <trix@redhat.com>
+
+	* xcoff.h (xcoff_big_format_p): Make <bigaf> the default archive
+	format.
+	(XCOFFARMAG_ELEMENT_SIZE, XCOFFARMAGBIG_ELEMENT_SIZE): Define for
+	archive header ascii elements.
+
+2001-12-17  Tom Rix  <trix@redhat.com>
+
+	* xcoff.h :  Add .except and .typchk section string and styp flags.
+	Fix xcoff_big_format_p macro.
+
+2001-12-16  Tom Rix  <trix@redhat.com>
+
+	* xcoff.h : Clean up formatting.
+
+2002-01-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm.h (F_VFP_FLOAT): Define.
+
+2001-11-11  Timothy Wall  <twall@alum.mit.edu>
+
+	* ti.h: Move arch-specific stuff from here...
+	(COFF_ADJUST_SYM_IN/OUT): Optionally put page flag into symbol
+	value.
+	* tic54x.h: ...to here.
+
+2001-10-26  Christian Groessler  <cpg@aladdin.de>
+
+	* external.h (GET_LINENO_LNNO): Fix usage of H_GET_32/16.
+	(PUT_LINENO_LNNO): Likewise with H_PUT_32/16.
+
+2001-09-21  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* ti.h (GET_SCNHDR_PAGE): Fix compile time warning.
+
+2001-09-18  Alan Modra  <amodra@bigpond.net.au>
+
+	* external.h (GET_LINENO_LNNO): Use H_GET_32/16.
+	(PUT_LINENO_LNNO): Use H_PUT_32/16.
+	* m88k.h (GET_LNSZ_SIZE, GET_LNSZ_LNNO, GET_SCN_NRELOC,
+	GET_SCN_NLINNO): Use H_GET_32.
+	(PUT_LNSZ_LNNO, PUT_LNSZ_SIZE, PUT_SCN_NRELOC, PUT_SCN_NLINNO):
+	Use H_PUT_32.
+	* ti.h: Formatting fixes.  Make use of H_GET_* and H_PUT_* throughout.
+	* xcoff.h: White space changes.
+
+2001-09-05  Tom Rix <trix@redhat.com>
+
+	* xcoff.h : Add XCOFF_SYSCALL32 and XCOFF_SYSCALL64 hash table flags.
+
+2001-08-27  Andreas Jaeger  <aj@suse.de>
+
+	* xcoff.h (struct __rtinit): Make proper prototype for rtl.
+
+Fri Aug 24 01:18:51 2001  J"orn Rennecke <amylaar@redhat.com>
+
+	* internal.h (R_JMP2, R_JMPL2, R_MOVL2): Comment spelling fix.
+
+2001-04-05  Tom Rix <trix@redhat.com>
+
+	* rs6000.h : move xcoff32 external structures from xcofflink.
+	* rs6k64.h : move xcoff64 external structures from xcofflink.
+	* internal.h : promote 32 bit structure elements to 64 bit
+	for xcoff64 support
+	* xcoff.h : New file.
+
+2001-03-23  Nick Clifton  <nickc@redhat.com>
+
+	* a29k.h: Fix compile time warning.
+	* external.h: Fix compile time warning.
+	* m88k.h: Fix compile time warning.
+
+2001-03-13  Nick Clifton  <nickc@redhat.com>
+
+	* external.h: New file. Common structure definitions found in
+	other COFF header files.
+
+	* a29k.h: Use external.h.
+	* apollo.h: Use external.h.
+	* arm.h: Use external.h.
+	* h8300.h: Use external.h.
+	* h8500.h: Use external.h.
+	* i386.h: Use external.h.
+	* i860.h: Use external.h.
+	* ia64.h: Use external.h.
+	* m68k.h: Use external.h.
+	* m88k.h: Use external.h.
+	* mcore.h: Use external.h.
+	* mips.h: Use external.h.
+	* mipspe.h: Use external.h.
+	* powerpc.h: Use external.h.
+	* rs6000.h: Use external.h.
+	* rs6k64.h: Use external.h.
+	* sh.h: Use external.h.
+	* sparc.h: Use external.h.
+	* tic30.h: Use external.h.
+	* tic80.h: Use external.h.
+	* w65.h: Use external.h.
+	* we32k.h: Use external.h.
+	* z8k.h: Use external.h.
+
+2001-02-09  David Mosberger  <davidm@hpl.hp.com>
+
+	* pe.h (PEPAOUTSZ): Rename from PEP64AOUTSZ.
+	Rename from PEPAOUTHDR.
+
+2001-01-23  H.J. Lu  <hjl@gnu.org>
+
+	* pe.h (struct external_PEI_DOS_hdr): New.
+	(struct external_PEI_IMAGE_hdr): New.
+
+2000-12-11  Alan Modra  <alan@linuxcare.com.au>
+
+	* ti.h (OCTETS_PER_BYTE_POWER): Change #warning to #error.
+
+2000-12-08  Alan Modra  <alan@linuxcare.com.au>
+
+	* ti.h (OCTETS_PER_BYTE_POWER): Change #warn to #warning.
+
+2000-06-30  DJ Delorie  <dj@cygnus.com>
+
+	* pe.h: Clarify a comment.
+
+2000-05-05  Clinton Popetz  <cpopetz@cygnus.com>
+
+	* rs6k64.h (U802TOC64MAGIC): Change to U803XTOCMAGIC.
+
+2000-04-24  Clinton Popetz  <cpopetz@cygnus.com>
+
+	* rs6k64.h: New file.
+
+2000-04-17  Timothy Wall  <twall@cygnus.com>
+
+	* ti.h: Load page cleanup.
+	* intental.h: Add load page field.
+
+Mon Apr 17 16:44:01 2000  David Mosberger  <davidm@hpl.hp.com>
+
+	* pe.h (PEP64AOUTHDR): New header for PE+.
+	(PEP64AOUTSZ): New macro.
+	(IMAGE_SUBSYSTEM_UNKNOWN): New macro.
+	(IMAGE_SUBSYSTEM_NATIVE): Ditto.
+	(IMAGE_SUBSYSTEM_WINDOWS_GUI): Ditto.
+	(IMAGE_SUBSYSTEM_WINDOWS_CUI): Ditto.
+	(IMAGE_SUBSYSTEM_POSIX_CUI): Ditto.
+	(IMAGE_SUBSYSTEM_WINDOWS_CE_GUI): Ditto.
+	(IMAGE_SUBSYSTEM_EFI_APPLICATION): Ditto.
+	(IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER): Ditto.
+	(IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER): Ditto.
+	* internal.h (PE_DEF_FILE_ALIGNMENT): Define only if not defined
+	already.
+	* ia64.h: New file.
+
+2000-04-13  Alan Modra  <alan@linuxcare.com.au>
+
+	* ti.h (ADDR_MASK): Don't use ul suffix on constants.
+	(PG_MASK): Ditto.
+
+2000-04-11  Timothy Wall  <twall@cygnus.com>
+
+	* ti.h: Remove load page references until load pages are
+	reimplemented.
+	* tic54x.h: Ditto.
+
+2000-04-07  Timothy Wall  <twall@cygnus.com>
+
+	* internal.h: Fix some comments related to TI COFF (instead of tic80).
+	* ti.h: New.
+	* tic54x.h: New.
+
+Wed Apr  5 22:08:41 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* sh.h (R_SH_LOOP_START, R_SH_LOOP_END): Define.
+
+2000-03-15  Kazu Hirata  <kazu@hxi.com>
+
+	* internal.h: Fix a typo in the comment for R_MOVL2.
+
+2000-02-28  Nick Clifton  <nickc@cygnus.com>
+
+	* mipspe.h (MIPS_PE_MAGIC): Define.
+	* sh.h (SH_PE_MAGIC): Define.
+
+2000-02-22  Nick Clifton  <nickc@cygnus.com>  DJ Delorie <dj@cygnus.com>
+
+	* sh.h: Add Windows CE definitions.
+	* arm.h: Add Windows CE definitions.
+	* mipspe.h: New file: Windows CE definitions for MIPS.
+	* pe.h: Add constants for ILF support.
+
+2000-01-05  Nick Clifton  <nickc@cygnus.com>
+
+	* pe.h: Fix formatting of comments.
+	(IMAGE_FILE_AGGRESSIVE_WS_TRIM): Define.
+	(IMAGE_FILE_LARGE_ADDRESS_AWARE): Define.
+	(IMAGE_FILE_16BIT_MACHINE): Define.
+	(IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP): Define.
+	(IMAGE_FILE_UP_SYSTEM_ONLY): Define.
+	(IMAGE_FILE_MACHINE_UNKNOWN): Define.
+	(IMAGE_FILE_MACHINE_ALPHA): Define.
+	(IMAGE_FILE_MACHINE_ALPHA64): Define.
+	(IMAGE_FILE_MACHINE_I386): Define.
+	(IMAGE_FILE_MACHINE_IA64): Define.
+	(IMAGE_FILE_MACHINE_M68K): Define.
+	(IMAGE_FILE_MACHINE_MIPS16): Define.
+	(IMAGE_FILE_MACHINE_MIPSFPU): Define.
+	(IMAGE_FILE_MACHINE_MIPSFPU16): Define.
+	(IMAGE_FILE_MACHINE_POWERPC): Define.
+	(IMAGE_FILE_MACHINE_R3000): Define.
+	(IMAGE_FILE_MACHINE_R4000): Define.
+	(IMAGE_FILE_MACHINE_R10000): Define.
+	(IMAGE_FILE_MACHINE_SH3): Define.
+	(IMAGE_FILE_MACHINE_SH4): Define.
+	(IMAGE_FILE_MACHINE_THUMB): Define.
+
+1999-09-20  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* internal.h: Delete bogus R_PCLONG, duplicate R_RELBYTE and
+	R_RELWORD, and rewrite some R_* as decimal.
+
+1999-09-06  Donn Terry  <donn@interix.com>
+
+	* internal.h (DTYPE): Define.
+	* pe.h (struct external_PEI_filehdr): Rename from
+	external_PE_filehdr.  Define even if COFF_IMAGE_WITH_PE is not
+	defined.
+
+1999-07-17  Nick Clifton  <nickc@cygnus.com>
+
+	* arm.h (F_SOFT_FLOAT): Rename from F_SOFTFLOAT.
+
+1999-06-21  Philip Blundell  <pb@nexus.co.uk>
+
+	* arm.h (F_SOFTFLOAT): Define.
+
+1999-07-05  Nick Clifton  <nickc@cygnus.com>
+
+	* arm.h (F_ARM_5): Define.
+
+Wed Jun  2 18:08:18 1999  Richard Henderson  <rth@cygnus.com>
+
+	* internal.h (BEOS_EXE_IMAGE_BASE, BEOS_DLL_IMAGE_BASE): New.
+
+Mon May 17 13:35:35 1999  Stan Cox  <scox@cygnus.com>
+
+	* arm.h (F_PIC, F_ARM_2, F_ARM_2a, F_ARM_3, F_ARM_3M,
+	F_ARM_4, F_ARM_4T, F_APCS26): Changed values to distinguish
+	F_ARM_2a, F_ARM_3M, F_ARM_4T.
+
+1999-05-15  Nick Clifton  <nickc@cygnus.com>
+
+	* mcore.h (IMAGE_REL_MCORE_RVA): Define.
+
+1999-04-21  Nick Clifton  <nickc@cygnus.com>
+
+	* mcore.h (GET_LINENO_LNNO): New macro.
+	(PUT_LINENO_LNNO): New macro.
+
+1999-04-08  Nick Clifton  <nickc@cygnus.com>
+
+	* mcore.h: New header file.  Defines for Motorola's MCore
+	processor.
+
+Sun Dec  6 21:36:37 1998  Mark Elbrecht  <snowball3@usa.net>
+
+	* internal.h (C_WEAKEXT): Define.
+
+Wed Jan 27 13:35:35 1999  Stan Cox  <scox@cygnus.com>
+
+	* arm.h (F_PIC_INT, F_ARM_2, F_ARM_3, F_ARM_4, F_APCS26):
+	Changed values to avoid clashing with IMAGE_FILE_* coff header
+	flag values.
+
+Wed Apr  1 16:06:15 1998  Nick Clifton  <nickc@cygnus.com>
+
+	* internal.h: Document numbers associated with Thumb symbol
+	types.
+
+Fri Mar 27 17:16:57 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+	* internal.h (ISPTR, ISFCN, ISARY): Add casts to unsigned long.
+
+Mon Feb  2 17:10:38 1998  Steve Haworth  <steve@pm.cse.rmit.EDU.AU>
+
+	* tic30.h: New file.
+
+Fri Dec 12 11:49:07 1997  Fred Fish  <fnf@cygnus.com>
+
+	* tic80.h (R_MPPCR15W): New relocation type, for 15 bit PC relative
+	offsets.
+
+Tue Dec  2 10:21:40 1997  Nick Clifton  <nickc@cygnus.com>
+
+	* arm.h (COFFARM): New define.
+
+Mon Dec  1 20:24:18 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* sh.h (R_SH_SWITCH8): New.
+
+Sat Nov 22 15:10:14 1997  Nick Clifton  <nickc@cygnus.com>
+
+	* internal.h (C_THUMBEXTFUNC, C_THUMBSTATFUNC): Constants to
+	define static and external functions.
+
+	* arm.h: Add bits to support PIC and APCS-FLOAT type binaries,
+	when implemented.
+
+Fri Oct  3 14:25:17 1997  Fred Fish  <fnf@cygnus.com>
+
+	* tic80.h (R_PPL16B): Make constant uppercase for consistency.
+
+Tue Jul 22 18:18:58 1997  Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
+
+	* go32exe.h: New file.
+
+Tue Jul  8 12:23:55 1997  Fred Fish  <fnf@cygnus.com>
+
+	* tic80.h (TIC80_TARGET_ID): Add define.
+	* internal.h (struct internal_filehdr): Add f_target_id field.
+
+Tue Jun  3 16:44:18 1997  Nick Clifton  <nickc@cygnus.com>
+
+	* internal.h: Add storage classes for Thumb symbols
+
+Mon May 26 14:07:55 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* tic80.h (R_PPL16B): Correct value.
+
+Tue May 13 10:21:14 1997  Nick Clifton  <nickc@cygnus.com>
+
+	* arm.h (constants):   Added new flag bits F_APCS_26 and
+	F_APCS_SET for the f_flags field of the filehdr structure.  Added new
+	flags: F_APCS26, F_ARM_2, F_ARM_3, F_ARM_7, F_ARM_7T to store
+	information in the flags field of the internal_f structure used by BFD
+	routines.
+
+Sat May  3 08:24:59 1997  Fred Fish  <fnf@cygnus.com>
+
+	* internal.h (C_UEXT, C_STATLAB, C_EXTLAB, C_SYSTEM):
+	New storage classes for TIc80.
+
+Fri Apr 18 11:52:55 1997  Niklas Hallqvist  <niklas@appli.se>
+
+	* alpha.h (ALPHA_ECOFF_BADMAG): Recognize *BSD/alpha magic too.
+	(ALPHA_R_LITERALSLEAZY): Define.
+	* ecoff.h (ALPHA_MAGIC_BSD): Define.
+
+Wed Jan 29 11:31:51 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* i960.h (R_IPR13, R_ALIGN): Define.
+
+Mon Jan 27 13:34:30 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* internal.h (R_IPRMED, R_OPTCALL, R_OPTCALLX): Move definitions
+	from here...
+	* i960.h (R_IPRMED, R_OPTCALL, R_OPTCALLX): ...to here.
+
+Wed Jan 22 20:10:47 1997  Fred Fish  <fnf@cygnus.com>
+
+	* tic80.h (TIC80MAGIC): Renamed to TIC80_AOUTHDR_MAGIC.
+
+Fri Dec 27 22:05:45 1996  Fred Fish  <fnf@cygnus.com>
+
+	* tic80.h: New file for TIc80 support.
+
+Thu Dec 19 16:18:11 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* arm.h (_LIT): Define.
+
+Fri Jun 28 12:54:38 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* pe.h (FILHSZ): Define.
+
+Wed Jun 26 16:24:26 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* All files: Define FILHSZ, AOUTSZ, AOUTHDRSZ, SCNHSZ, SYMESZ,
+	AUXESZ, LINESZ, RELSZ as numeric constants rather than uses of
+	sizeof.  Define AOUTHDRSZ in all files.
+	* pe.h (AOUTSZ): Define by adding to AOUTHDRSZ.
+
+Fri Jun 21 11:17:46 1996  Richard Henderson  <rth@tamu.edu>
+
+	* alpha.h: Add declarations for relocation types added for Alpha
+	OSF/1 3.0.
+
+Tue Jun 18 16:04:29 1996  Jeffrey A. Law  <law@rtl.cygnus.com>
+
+	* h8300.h (H8300SMAGIC): Define.
+	(H8300SBADMAG): Define.
+
+Mon Jun 10 11:53:28 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* internal.h (R_BCC_INV, R_JMP_DEL): New relocations for
+	relaxing in the H8/300 series.
+
+Thu May 16 15:49:22 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* sh.h (R_SH_CODE, R_SH_DATA, R_SH_LABEL): Define.
+
+Tue May  7 00:36:39 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* internal.h (R_JMPL2): Renamed from R_JMPL_B8 to be
+	consistent with other similar relocs.
+
+	* internal.h (H8/300 specific relocs): Add comments better
+	explaining what each reloc is used for.
+	(R_MOV16B1, R_MOV16B2): Renamed from R_MOVB1 and R_MOVB2.
+	(R_MOV24B1, R_MOV24B2): Renamed from R_MOVLB1 and R_MOVLB2.
+	(R_MOVL1, R_MOVL2): New relocs.
+
+Fri May  3 13:01:12 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* internal.h (R_PCRWORD_B): Define for the h8300 relaxing
+	linker.
+
+Wed May  1 19:21:03 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* internal.h (SCNNMLEN): Define.
+	(struct internal_scnhdr): Use SCNNMLEN for s_name field.
+
+Fri Mar 29 13:41:25 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* pe.h: Define IMAGE_COMDAT codes.
+
+Wed Mar 27 17:29:42 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* arm.h (union external_auxent): Add x_checksum, x_associated, and
+	x_comdat fields to x_scn struct.
+	* i386.h (union external_auxent): Likewise.
+	* powerpc.h (union external_auxent): Likewise.
+	* internal.h (union internal_auxent): Likewise.
+
+Thu Mar 21 16:25:57 1996  David Mosberger-Tang  <davidm@azstarnet.com>
+
+	* ecoff.h (struct ecoff_find_line): Add caching fields.
+
+Thu Mar 14 15:22:44 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* internal.h (R_MEM_INDIRECT): New reloc for the h8300.
+
+Fri Feb  9 10:44:11 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* aux-coff.h: Rename from aux.h, to avoid problems on hapless DOS
+	systems which think that aux is a com port.
+
+Mon Feb  5 18:35:00 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* i960.h (F_I960HX): Define.
+
+Wed Jan 31 13:11:54 1996  Richard Henderson  <rth@tamu.edu>
+
+	* aux.h: New file.
+	* internal.h, m68k.h: Protect against multiple inclusion.
+
+Wed Nov 22 13:48:39 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* ecoff.h (_RCONST, STYP_RCONST, RELOC_SECTION_RCONST): Define.
+	(NUM_RELOC_SECTIONS): Update.
+	* symconst.h (scRConst): Define.
+
+Tue Nov 14 18:54:29 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* internal.h (C_NT_WEAK): Define.
+
+Thu Nov  9 14:08:30 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* rs6000.h (STYP_OVRFLO): Define.
+
+Tue Nov  7 14:38:45 1995  Kim Knuttila  <krk@cygnus.com>
+
+	* powerpc.h (IMAGE_NT_OPTIONAL_HDR_MAGIC): Added define.
+	* pe.h: Added defines for file level flags
+
+Mon Nov  6 17:28:01 1995  Harry Dolan  <dolan@ssd.intel.com>
+
+	* i860.h: New file, based on i386.h.
+
+Wed Nov  1 15:25:18 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
+
+	* m68k.h (PAGEMAGICEXECSWAPPED): Define.
+	(PAGEMAGICPEXECSWAPPED): Define.
+	(PAGEMAGICPEXECTSHLIB): Define.
+	(PAGEMAGICPEXECPAGED): Define.
+	(_COMMENT): DEFINE.
+	* m88k.h (_COMMENT): Define.
+
+Wed Oct 18 18:36:19 1995  Geoffrey Noer  <noer@cygnus.com>
+
+	* sym.h: #if 0'd out runtime_pdr struct because it chokes
+	Visual C++ and there aren't any references to it elsewhere in gdb.
+
+Mon Oct 16 11:12:24 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* rs6000.h (SMALL_AOUTSZ): Define.
+
+	* internal.h (XMC_TD): Define.
+
+Tue Oct 10 18:41:03 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* internal.h (struct internal_aouthdr): Add o_cputype field.
+	* rs6000.h (AOUTHDR): Rename o_resv1 to o_cputype.
+
+Mon Oct  9 14:45:46 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* rs6000.h (AOUTHDR): Add o_maxdata field.  Add comments.
+	(_PAD, _LOADER): Define.
+	(STYP_LOADER): Define.
+	* internal.h (struct internal_aouthdr): Add o_maxdata field.
+
+Thu Oct  5 10:02:57 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* ecoff.h: Define section name macros and STYP macros for various
+	Alpha sections: .got, .hash, .dynsym, .dynstr, .rel.dyn, .conflic,
+	.comment, .liblist, .dynamic.
+
+Wed Oct  4 10:56:35 1995  Kim Knuttila  <krk@cygnus.com>
+
+	* pe.h: Moved DOSMAGIC and NT_SIGNATURE defines here
+	* powerpc.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines
+	Also removed other unused defines (various MAGIC ones)
+	* i386.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines
+	* arm.h: removed DOSMAGIC, NT_SIGNATURE, and DEFAULT_* defines
+	* apollo.h: removed unused DEFAULT_* defines
+	* alpha.h: removed unused DEFAULT_* defines
+	* h8500.h: removed unused DEFAULT_* defines
+	* h8300.h: removed unused DEFAULT_* defines
+	* i960.h: removed unused DEFAULT_* defines
+	* m88k.h: removed unused DEFAULT_* defines
+	* we32k.h: removed unused DEFAULT_* defines
+	* rs6000.h: removed unused DEFAULT_* defines
+	* mips.h: removed unused DEFAULT_* defines
+	* m68k.h: removed unused DEFAULT_* defines
+	* z8k.h: removed unused DEFAULT_* defines
+	* w65.h: removed unused DEFAULT_* defines
+	* sparc.h: removed unused DEFAULT_* defines
+	* sh.h: removed unused DEFAULT_* defines
+
+Fri Sep 29 08:40:08 1995  Kim Knuttila  <krk@cygnus.com>
+
+	* powerpc.h: Reformatted to GNU coding conventions.
+
+Wed Sep 27 06:50:50 1995  Kim Knuttila  <krk@nellie>
+
+	* pe.h: added defines for more section characteristics
+	* powerpc.h (new file): base coff definitions for ppc PE
+
+Tue Sep 12 12:08:20 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* internal.h (struct internal_syment): Change n_numaux field from
+	char to unsigned char.
+
+Fri Sep  1 15:39:36 1995  Kazumoto Kojima  <kkojima@info.kanagawa-u.ac.jp>
+
+	* mips.h (struct rpdr_ext): Define.
+
+Thu Aug 31 16:51:50 1995  steve chamberlain  <sac@slash.cygnus.com>
+
+	* internal.h (internal_aouthdr, internal_filehdr):
+	don't indirect the pe stuff.
+
+Tue Aug 29 14:16:07 1995  steve chamberlain  <sac@slash.cygnus.com>
+
+	* i386.h (NT_DEF_RESERVE, NT_DEF_COMMIT): Make the same
+	as 'the other' compiler.
+	* internal.h (NT_IMAGE_BASE): Deleted.
+	(NT_EXE_IMAGE_BASE, NT_DLL_IMAGE_BASE): New.
+	(PE_DEF_SECTION_ALIGNMENT, PE_DEF_FILE_ALIGNMENT): New.
+	(R_IMAGEBASE): New.
+
+Mon Aug 21 18:12:19 1995  steve chamberlain  <sac@slash.cygnus.com>
+
+	* internal.h: (internal_filehdr): Moved PE stuff into
+	internal_extra_pe_filehdr.
+	(internal_aouthdr): Moved PE stuff into
+	interanl_extra_pe_aouthdr.
+
+Mon Jul 24 14:05:39 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* internal.h: Move R_SH_* relocs from here...
+	* sh.h: ...to here.
+	(R_SH_SWITCH16, R_SH_SWITCH32): Define.
+	(R_SH_USES, R_SH_COUNT, R_SH_ALIGN): Define.
+
+Thu Jun 29 00:04:25 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+	* internal.h (NT_DEF_RESERVE, NT_DEF_COMMIT): Increase a lot.
+
+Tue May 16 15:08:20 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+	* internal.h (NT_subsystem, NT_stack_heap): Delete
+
+Tue May 16 15:08:20 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+	* internal.h (NT_subsystem, NT_stack_heap): Now extern.
+
+Sat May 13 10:14:08 1995  Steve Chamberlain  <sac@slash.cygnus.com>
+
+	* pe.h: New file.
+	* i386.h (NT_SECTION_ALIGNMENT, NT_FILE_ALIGNMENT,
+	NT_DEF_RESERVE, NT_DEF_COMMIT): New.
+	* internal.h (internal_filehdr):  New fields for PE.
+	(IMAGE_DATA_DIRECTORY): New.
+	(internal_aouthdr): New fields for PE.
+
+Tue Feb 14 17:59:37 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* ecoff.h (struct ecoff_fdrtab_entry): Define.
+	(struct ecoff_find_line): Define.
+
+Sat Feb  4 14:38:03 1995  David Mosberger-Tang  <davidm@piston.cs.arizona.edu>
+
+	* sym.h (struct pdr): field "prof" added.
+
+	* alpha.h (PDR_BITS1_PROF_*): added, macros for PDR_BITS*_RESERVED_*
+	updated accordingly.
+
+Sun Jan 15 18:38:33 1995  Steve Chamberlain  <sac@splat>
+
+	* w65.h: New file.
+
+Wed Nov 23 22:43:38 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
+
+	* sh.h (SH_ARCH_MAGIC_BIG, SH_ARCH_MAGIC_LITTLE): New.
+	(SHBADMAG): Changed to suit.
+
+Tue Jul 26 17:46:08 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+	* i960.h (F_I960JX): New macro.
+
+Wed Jul  6 00:48:57 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
+
+	* alpha.h:  Add definitions for alpha file header flags, encoding
+	the object type of the file.
+
+Mon Jun 20 13:47:01 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+	* ecoff.h (ecoff_swap_tir_in): Remove declaration.
+	(ecoff_swap_tir_out): Likewise.
+	(ecoff_swap_rndx_in, ecoff_swap_rndx_out): Likewise.
+	(struct ecoff_debug_swap): Add new fields: swap_tir_in,
+	swap_rndx_in, swap_tir_out, swap_rndx_out, read_debug_info.
+
+Sun Jun 12 03:51:52 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
+
+	* symconst.h:  Pick up SGI define for stIndirect.
+
+Fri Apr 22 13:05:28 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* ecoff.h (REGINFO): Don't define.
+	(struct ecoff_reginfo): Don't define.
+
+	* sh.h (SH_ARCH_MAGIC): Rename from SHMAGIC.  SHMAGIC is used by
+	several targets to mean a shared library.
+	(SHBADMAG): Corresponding change.
+
+Thu Apr 14 13:00:53 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* mips.h (RELOC_BITS3_TYPE_BIG): Changed from 0x1e to 0x3e.
+	(RELOC_BITS3_TYPEHI_LITTLE): Define.
+	(RELOC_BITS3_TYPEHI_SH_LITTLE): Define.
+	(MIPS_R_PCREL16): Change value from 8 to 12 to match Irix 4.
+	(MIPS_R_RELHI): Define.
+	(MIPS_R_RELLO): Define.
+	(MIPS_R_SWITCH): Change value from 9 to 22.
+
+Thu Apr  7 14:19:35 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* mips.h (MIPS_R_SWITCH): Define.
+
+Thu Mar 31 19:28:33 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+	* internal.h (internal_aouthdr): Added comments for Apollo fields.
+
+Thu Mar 31 16:28:02 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* ecoff.h (STYP_ECOFF_LIB): Define as used on Irix 4.
+
+Fri Mar 25 17:16:55 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* ecoff.h (struct ecoff_debug_info): Add adjust field.
+	(struct ecoff_value_adjust): Define.
+
+Tue Mar 22 13:22:47 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* mips.h (MIPS_R_PCREL16): Define.
+
+Sat Feb 26 10:26:38 1994  Ian Lance Taylor  (ian@cygnus.com)
+
+	* ecoff.h: Add casts to avoid warnings from SVR4 cc.
+
+Mon Feb 21 09:48:46 1994  Ian Lance Taylor  (ian@lisa.cygnus.com)
+
+	* sym.h (struct runtime_pdr): Make field adr bfd_vma, not unsigned
+	long.
+	(SYMR): Make field value bfd_vma, not long.
+
+Fri Feb  4 23:35:53 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* rs6000.h (STYP_DEBUG): Define.
+
+Wed Feb  2 14:31:37 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* internal.h (union internal_auxent): Change x_csect.x_scnlen into
+	a union of a long and a pointer to a symbol.  XCOFF sometimes uses
+	this field as a symbol index.
+
+Mon Jan 10 23:54:25 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* ecoff.h (ecoff_debug_info): Remove fields line_end,
+	external_dnr_end, external_pdr_end, external_sym_end,
+	external_opt_end, external_aux_end, ss_end, external_fdr_end.
+	Replace ifdbase with ifdmap.
+
+Wed Jan  5 17:05:36 1994  Ken Raeburn  (raeburn@deneb.cygnus.com)
+
+	* ecoff.h (STYP_EXTENDESC, STYP_COMMENT, STYP_XDATA, STYP_PDATA):
+	Define.
+
+Wed Jan  5 16:58:24 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* ecoff.h (NUM_RELOC_SECTIONS): Define.
+
+Tue Dec 21 09:24:56 1993  Ken Raeburn  (raeburn@rtl.cygnus.com)
+
+	* sparc.h (struct external_reloc): Rename field r_addend to
+	r_offset.
+
+Sat Dec 11 16:12:32 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* internal.h (R_DISP7, R_SH_IMM16): New reloc types.
+
+Tue Nov 23 14:23:19 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* ecoff.h (struct ecoff_debug_swap): Added *_end fields for all
+	the symbolic information pointers.
+
+	* sym.h: Named the EXTR structure ecoff_extr.
+
+Fri Nov 19 08:21:18 1993  Ken Raeburn  (raeburn@rover.cygnus.com)
+
+	* sparc.h (RELSZ): Use correct size.
+
+Wed Nov 17 17:18:16 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* mips.h (struct ecoff_debug_info): Define.
+
+Tue Nov  2 17:56:57 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* ecoff.h (struct ecoff_debug_swap): Define.
+
+Thu Oct 28 17:07:50 1993  Stan Shebs  (shebs@rtl.cygnus.com)
+
+	* i386.h (I386LYNXMAGIC): Rename to LYNXCOFFMAGIC.
+	* m68k.h (LYNXCOFFMAGIC): Define.
+	* sparc.h: New file.
+
+Tue Oct 19 15:34:50 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* alpha.h (external_aouthdr): Split four byte padding field into
+	two byte bldrev field and two byte padding field.
+
+	* ecoff.h (_LITA, _PDATA, _XDATA, STYP_LITA): Defined.
+
+Wed Oct 13 15:52:34 1993  Ken Raeburn  (raeburn@cygnus.com)
+
+	Sun Oct 10 17:27:10 1993  Troy Rollo (troy@cbme.unsw.edu.au)
+
+	* internal.h: Added o_sri, o_inlib and o_vid for Apollos as well
+	as R_DIR16.
+
+	* apollo.h: New file
+
+Mon Oct 11 17:16:48 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* ecoff.h (REGINFO, struct ecoff_reginfo): Define.
+
+Tue Oct  5 10:52:53 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
+
+	* rs6000.h: Change non-ASCII characters in comment to octal
+	escapes.
+
+Tue Sep 28 03:27:04 1993  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
+
+	* ecoff.h (_FINI, STYP_ECOFF_FINI):  Add to support .fini section.
+
+Fri Sep 24 11:53:53 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* mips.h (BADMAG): Recognize MIPS_MAGIC_LITTLE3 and MIPS_MAGIC_BIG3.
+	* ecoff.h: Define MIPS_MAGIC_LITTLE3 and MIPS_MAGIC_BIG3.
+
+Thu Sep 23 21:07:14 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
+
+	* mips.h (BADMAG): Recognize MIPS_MAGIC_LITTLE2 and MIPS_MAGIC_BIG2.
+	* ecoff.h: Define MIPS_MAGIC_LITTLE2 and MIPS_MAGIC_BIG2.
+
+Thu Sep 16 20:27:21 1993  Jim Kingdon  (kingdon@cirdan.cygnus.com)
+
+	* sym.h, symconst.h: Add comment stating these files are not part
+	of GDB, GAS, etc.  In 1991, when we asked rms whether we could
+	include these files in GDB (although they are copyrighted by
+	someone besides the FSF), he said it was OK if they were not
+	considered part of GDB.
+
+Fri Sep 10 17:40:35 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* ecoff.h (AUX_PUT_ANY): Cast val argument to bfd_vma.
+
+	* alpha.c (external_aouthdr): Need four bytes of padding between
+	vstamp and tsize.
+
+Tue Sep  7 14:20:43 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* ecoff.h (AUX_GET_ANY, AUX_PUT_ANY): Changed to reflect further
+	change in bfd swapping routine names.
+
+Tue Sep  7 10:15:17 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
+
+	* ecoff.h (AUX_GET_ANY): Change name of _do_getb32 to reflect bfd
+	changes.
+
+Fri Aug 13 14:30:32 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* ecoff.h (RELOC_SECTION_NONE): Define.
+
+Thu Aug 12 11:24:42 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* alpha.h (struct external_reloc): Add r_symndx field.
+	(RELSZ): Correct.
+	(RELOC_BITS*): Correct.
+	(ALPHA_R_*): Define.
+	* ecoff.h (RELOC_SECTION_{XDATA,PDATA,FINI,LITA,ABS}): Define.
+	(r_extern): Undefine.
+	* internal.h (struct internal_reloc): Make r_vaddr bfd_vma rather
+	than long.  Add r_extern field.
+
+	* alpha.h (PDR_BITS*): Define.
+	* sym.h (PDR): Give correct names to new fields.
+
+	* ecoff.h: Moved MIPS reloc definitions from here...
+	* mips.h: to here.
+
+Mon Aug  2 16:37:14 1993  Stu Grossman  (grossman at cygnus.com)
+
+	* i386.h:  Add Lynx magic number.
+
+Tue Aug  3 11:17:53 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* alpha.h: Corrected external symbolic debugging structures to
+	match actual usage.
+	* internal.h (internal_filehdr, internal_aouthdr,
+	internal_scnhdr): Changed type of some fields to bfd_vma so they
+	can hold 64 bits.
+	* sym.h (HDRR, FDR, PDR, EXTR): Likewise.
+	(PDR): Added new fields found on Alpha.
+	* symconst.h (magicSym2): Define; new value found on Alpha.
+
+	* ecoff.h: New file.
+	* alpha.h, mips.h: Moved common information into ecoff.h.  Moved
+	external structure definitions in from ecoff-ext.h.
+	* ecoff-ext.h: Removed; information now in alpha.h and mips.h.
+
+Sun Jul 18 21:43:59 1993  Jim Kingdon  (kingdon@rtl.cygnus.com)
+
+	* i386.h: Recognize I386PTXMAGIC.
+
+Fri Jul 16 09:54:35 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* mips.h (MIPS_AOUT_{OZ}MAGIC): Renamed from {OZ}MAGIC.
+
+Thu Jul 15 12:23:55 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* m88k.h (union external_auxent): Move x_fcn back inside x_fcnary.
+	({GET,PUT}_FCN_{LNNOPTR,ENDNDX}): Adjust accordingly.
+
+Sun Jul 11 18:00:18 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
+
+	* m68k.h: Define MC68KBCSMAGIC.
+
+Thu Jun 10 11:46:28 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* mips.h (_INIT, STYP_MIPS_INIT): Define (used on Irix4).
+	(STYP_OTHER_LOAD): Define as STYP_MIPS_INIT.
+
+Wed Jun  9 15:09:09 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* mips.h (OMAGIC): Define.
+
+Tue Jun  8 12:16:03 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)
+
+	 Support for H8/300-H
+	* h8300.h: New magic number.
+	* internal.h: New relocations.
+
+Mon Apr 26 18:04:47 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* internal.h, sh.h: Support for SH.
+
+Sat Apr 24 21:34:59 1993  Jim Kingdon  (kingdon@cygnus.com)
+
+	* a29k.h: Define _LIT.
+
+Fri Apr 23 18:41:23 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* alpha.h: New file.
+
+Thu Apr  8 12:36:34 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* internal.h (C_SHADOW, C_VERSION): Copied in from m88k.h.
+	* m88k.h, i386.h, we32k.h: Don't define all the storage classes;
+	they're already in internal.h.
+
+Wed Apr  7 11:51:24 1993  Jim Kingdon  (kingdon@cygnus.com)
+
+	* internal.h: Change n_sclass to unsigned char.
+	Change C_EFCN to 0xff, change RS/6000 dbx symbols
+	to no longer be signed.
+
+Fri Mar 19 14:52:56 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* internal.h: Add H8/500 reloc types.
+
+Wed Mar 17 09:46:03 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* ecoff-ext.h (AUX_PUT_ANY): Don't use void values in branches of
+	conditional expression.
+
+Thu Mar  4 14:12:06 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* ecoff-ext.h (AUX_GET_*): Rewrote to use new macro AUX_GET_ANY.
+	(AUX_PUT_*): New macros corresponding to the AUX_GET macros.
+	(ecoff_swap_tir_out): Added prototype.
+
+	* mips.h (N_BTMASK, N_TMASK, N_BTSHFT, N_TSHIFT): Define; these
+	are needed to interpret gcc debugging output.
+
+Tue Feb  9 07:43:27 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* we32k.h (BTYPE, ISPTR, ISFCN, ISARY, DECREF): Removed
+	more definitions duplicated in internal.h.
+
+Wed Feb  3 09:18:24 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* mips.h (RELOC_BITS3_TYPE_*): Correct for big endian machines.
+
+Mon Jan 25 11:35:51 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* internal.h (internal_aouthdr): Added additional fields used only
+	by MIPS ECOFF.
+
+Thu Jan 21 10:28:38 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* mips.h (AOUTHDR): Added additional fields used by ECOFF.
+
+Tue Jan 19 12:21:19 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* i386.h, we32k.h (N_*, T_*, DT_*): Removed still more definitions
+	duplicated in internal.h.
+
+	* mips.h (RELOC_SECTION_*, ECOFF_R_*): Defined constants for ECOFF
+	relocs.
+
+Fri Jan 15 18:17:00 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* ecoff-ext.h: Added prototypes for new ECOFF swapping functions.
+	(opt_ext): New structure.
+	* mips.h (ZMAGIC): Defined to be 0413.
+	(_LIB): Defined to be ".lib"
+	(external_reloc): MIPS ECOFF relocs are only 8 bytes.  Added
+	macros to aid in swapping.
+
+Fri Jan  8 16:19:26 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* ecoff-ext.h: Added prototypes for ECOFF swapping functions.
+	* internal.h (internal_scnhdr): Always provide s_align field, not
+	just on i960.
+	(internal_reloc): Always provide r_size field, not just on
+	RS/6000.
+	* mips.h (_RDATA, _SDATA, _SBSS, _LIT4, _LIT8, STYP_RDATA,
+	STYP_SDATA, STYP_SBSS, STYP_LIT4, STYP_LIT8): Defined.
+	(CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB,
+	STABS_SYMBOL): Moved in from gdb/mipsread.c.
+
+Wed Jan  6 14:01:46 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* i386.h, we32k.h: removed STYP_* defines, since they duplicated
+	those in internal.h.
+
+Tue Dec 29 15:40:07 1992  Ian Lance Taylor  (ian@cygnus.com)
+
+	* i386.h: define I386AIXMAGIC for Danbury AIX PS/2 compiler.
+
+Sat Dec 12 16:07:57 1992  Ian Lance Taylor  (ian@cygnus.com)
+
+	* i386.h: don't define BTYPE, ISPTR, ISFCN, ISARY, DECREF: they
+	are defined in internal.h.
+
+Thu Nov 12 09:52:01 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* internal.h: (internal_reloc): r_offset is now a long.
+	* z8k.h: slight comment enhancement
+
+Wed Sep 30 07:46:08 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* internal.h: changed z8k reloc types
+
+Fri Aug 28 10:16:31 1992  Brendan Kehoe  (brendan@cygnus.com)
+
+	* we32k.h: new file
+
+Thu Aug 27 13:00:01 1992  Brendan Kehoe  (brendan@cygnus.com)
+
+	* symconst.h: comment out cruft at the end of #endif
+
+Tue Aug 25 15:06:49 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* internal.h: added #define for STYP_LIT, removed from a29k and
+	h8300.
+
+	* z8k.h: added z8000 support
+
+Thu Jul 16 16:32:00 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* internal.h: added R_RELLONG_NEG reloc type
+
+Fri Jun 12 20:11:04 1992  John Gilmore  (gnu at cygnus.com)
+
+	* symconst.h:  Fix unterminated comment.
+
+Wed Jun 10 07:57:49 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* i386.h: a.out magic numbers from
+	mohring@informatik.tu-muenchen.de
+
+Mon Jun  8 20:13:33 1992  John Gilmore  (gnu at cygnus.com)
+
+	* ecoff-ext.h, mips.h:  Use unsigned chars everywhere.
+	(Suggested by Antti Miettinen.)
+
+Tue Apr 14 15:18:44 1992  John Gilmore  (gnu at cygnus.com)
+
+	* sym.h:  Add comments.
+	* symconst.h:  Merge with Fred's changes.
+
+Tue Apr 14 14:30:05 1992  Fred Fish  (fnf@cygnus.com)
+
+	* symconst.h:  Pick up SGI defines for stStruct, stUnion, stEnum,
+	langCplusplus, and langCplusplusV2.
+
+Thu Apr  2 19:47:43 1992  John Gilmore  (gnu at cygnus.com)
+
+	* sym.h, symconst.h:  MIPS has provided redistributable versions
+	of these files.  Thanks!
+	* ecoff-ext.h:  Add weakext bit to match new sym.h.
+
+Fri Mar  6 00:10:46 1992  John Gilmore  (gnu at cygnus.com)
+
+	* ecoff-ext.h:  Add relative file descriptors.
+
+Thu Feb 27 11:53:04 1992  John Gilmore  (gnu at cygnus.com)
+
+	* ecoff-ext.h:  New file for external (in-file) form of ecoff
+	symbol structures.
+
+Thu Feb  6 11:33:32 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
+
+	* h8300.h: made the external_lineno l_lnno field 4 bytes wide.
+	andded GET/PUT_LINENO_LNNO macros
+
+Sat Nov 30 20:38:35 1991  Steve Chamberlain  (sac at rtl.cygnus.com)
+
+	* a29k.h, h8300.h, i386.h, i960.h, internal.h, m68k.h, m88k.h,
+	mips.h, rs6000.h: Move from above coff-<foo>.h.
+
+
+Local Variables:
+version-control: never
+End:
diff --git a/include/elf/ChangeLog-9103 b/include/elf/ChangeLog-9103
new file mode 100644
index 0000000..713d80d
--- /dev/null
+++ b/include/elf/ChangeLog-9103
@@ -0,0 +1,1914 @@
+2003-12-19  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+
+	* elf/m32r.h : Added m32r-linux and PIC support.  Add new ABI that
+	uses RELA.
+	(R_M32R_16_RELA, R_M32R_32_RELA, R_M32R_24_RELA,
+	R_M32R_10_PCREL_RELA, R_M32R_18_PCREL_RELA,
+	R_M32R_26_PCREL_RELA, R_M32R_HI16_ULO_RELA,
+	R_M32R_HI16_SLO_RELA, R_M32R_LO16_RELA,
+	R_M32R_SDA16_RELA, R_M32R_RELA_GNU_VTINHERIT,
+	R_M32R_RELA_GNU_VTENTRY, R_M32R_GOT24,
+	R_M32R_26_PLTREL, R_M32R_COPY, R_M32R_GLOB_DAT,
+	R_M32R_JMP_SLOT, R_M32R_RELATIVE, R_M32R_GOTOFF,
+	R_M32R_GOTPC24, R_M32R_GOT16_HI_ULO,
+	R_M32R_GOT16_HI_SLO, R_M32R_GOT16_LO,
+	R_M32R_GOTPC_HI_ULO, R_M32R_GOTPC_HI_SLO,
+	R_M32R_GOTPC_LO): New relocs.
+
+2003-12-06  Alan Modra  <amodra@bigpond.net.au>
+
+	From Jan Beulich <JBeulich@novell.com>
+	* common.h (DT_HIOS): Correct value.
+
+2003-12-03   Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+
+	* elf/m32r.h: Add new machine type m32r2 and instruction modes.
+
+2003-11-06  Alan Modra  <amodra@bigpond.net.au>
+
+	* ppc.h (R_PPC_RELAX32PC): Define.
+
+2003-10-22  Alexandre Oliva  <aoliva@redhat.com>,
+	    Michael Snyder  <msnyder@redhat.com>
+
+	* sh.h (EF_SH4A, EF_SH4AL_DSP, EF_SH4_NOFPU, EF_SH4A_NOFPU): New.
+	(EF_SH_MERGE_MACH): Combine them.
+
+2003-10-18  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* mmix.h (R_MMIX_PUSHJ_STUBBABLE): New reloc number.
+	(_bfd_mmix_before_linker_allocation): Rename from
+	_bfd_mmix_prepare_linker_allocated_gregs.
+	(_bfd_mmix_after_linker_allocation): Rename from
+	_bfd_mmix_finalize_linker_allocated_gregs.
+
+2003-10-06  Dave Brolley  <brolley@redhat.com>
+
+	* frv.h (EF_FRV_CPU_FR550): New macro.
+
+2003-09-30  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips.h (E_MIPS_ARCH_64R2): New define.
+
+2003-09-23  DJ Delorie  <dj@redhat.com>
+
+	* sh.h (R_SH_SWITCH8, R_SH_GNU_VTINHERIT, R_SH_GNU_VTENTRY,
+	R_SH_LOOP_START,R_SH_LOOP_END): Move to "reserved" spaces.
+	(R_SH_DIR16, R_SH_DIR8, R_SH_DIR8UL, R_SH_DIR8UW, R_SH_DIR8U,
+	R_SH_DIR8SW, R_SH_DIR8S, R_SH_DIR4UL, R_SH_DIR4UW, R_SH_DIR4U,
+	R_SH_PSHA, R_SH_PSHL): New.
+
+2003-09-11  James Cownie <jcownie@etnus.com>
+
+	* dwarf2.h: Add HP dwarf extensions from their hacked gdb
+	header files (ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz).
+
+2003-09-04  Nick Clifton  <nickc@redhat.com>
+
+	* v850.h (E_V850E1_ARCH): Define.
+
+2003-08-21  James Cownie <jcownie@etnus.com>
+
+	* dwarf2.h: Add PGI dwarf extensions.
+
+2003-08-08 Dmitry Diky <diwil@mail.ru>
+
+	* msp430.h: Add xW42 and xE42 parts. Sort MPU list according to
+	gcc order.
+
+2003-08-07  Alan Modra  <amodra@bigpond.net.au>
+
+	* reloc-macros.h (START_RELOC_NUMBERS) : Remove PARAMS macro.  Use
+	C90 function definition.  Formatting.
+	(RELOC_NUMBER): Remove !__STDC__ code.
+
+2003-07-28  Eric Christopher  <echristo@redhat.com>
+
+	* ppc.h (R_PPC_RELAX32): New. Fake relocation.
+
+2003-07-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* v850.h (SHF_V850_GPREL): New.
+	(SHF_V850_EPREL): Likewise.
+	(SHF_V850_R0REL): Likewise.
+
+2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
+
+	2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
+	* mn10300.h: Introduce GOTPC16, GOTOFF24, GOTOFF16 and
+	PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32.
+	Renumbered all relocs.
+	2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
+	* mn10300.h (R_MN10300_GOTPC, R_MN10300_GOTOFF,
+	R_MN10300_PLT32, R_MN10300_GOT32, R_MN10300_GOT24,
+	R_MN10300_GOT16, R_MN10300_COPY, R_MN10300_GLOB_DAT,
+	R_MN10300_JMP_SLOT, R_MN10300_RELATIVE): New relocs.
+
+2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
+
+	2000-04-01  Alexandre Oliva  <aoliva@cygnus.com>
+	* mn10300.h (E_MN10300_MACH_AM33_2): Renamed from
+	E_MN10300_MACH_AM332.
+	2000-03-31  Alexandre Oliva  <aoliva@cygnus.com>
+	* mn10300.h (E_MN10300_MACH_AM332): Defined.
+
+2003-07-01  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* s390.h (elf_s390_reloc_type): Add long displacement relocations
+	R_390_20, R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20.
+
+2003-06-29  Andreas Jaeger  <aj@suse.de>
+
+	* mmix.h: Convert to ISO C90 prototypes.
+	* mips.h: Likewise.
+
+2003-06-13  Robert Millan <zeratul2@wanadoo.es>
+
+	* common.h (GNU_ABI_TAG_NETBSD): New tag.
+	(GNU_ABI_TAG_FREEBSD): New tag.
+
+2003-06-10  Richard Sandiford  <rsandifo@redhat.com>
+
+	* h8.h (E_H8_MACH_H8300SXN): New flag.
+
+2003-06-03  Nick Clifton  <nickc@redhat.com>
+
+	* v850.h (R_V850_32): Rename to R_V850_ABS32.
+	Add R_V850_REL32.
+
+2003-05-15  Roland McGrath  <roland@redhat.com>
+
+	* common.h (NT_AUXV, AT_*): New macros.
+	* external.h (Elf32_External_Auxv, Elf64_External_Auxv): New types.
+	* internal.h (Elf_Internal_Auxv): New type.
+
+2003-05-14  Michael Snyder  <msnyder@redhat.com>
+	From  Bernd Schmidt  <bernds@redhat.com>
+	* h8.h (E_H8_MACH_H8300SX): New.
+
+2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+
+	* elf/h8.h (E_H8_MACH_H8300HN, E_H8_MACH_H8300SN): New
+
+2003-04-23  J"orn Rennecke <joern.rennecke@superh.com>
+
+	* common.h (EM_SH): Amend comment to refer to SuperH.
+
+2003-04-22  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+
+	* common.h: Replace references to Mitsubishi M32R with
+	references to Renesas M32R.
+
+2003-04-15  Rohit Kumar Srivastava <rohits@kpitcummins.com>
+
+	* common.h: Replace occurrances of 'Hitachi' with 'Renesas'.
+
+2003-04-01  Bob Wilson  <bob.wilson@acm.org>
+
+	* elf/common.h (EM_XTENSA_OLD): Define.
+	* elf/xtensa.h: New file.
+
+2003-04-01  Nick Clifton  <nickc@redhat.com>
+
+	* arm.h (ARM_NOTE_SECTION): Include .gnu in the string.
+
+2003-03-25  Stan Cox   <scox@redhat.com>
+	    Nick Clifton  <nickc@redhat.com>
+
+	Contribute support for Intel's iWMMXt chip - an	ARM variant:
+
+	* arm.h (ARM_NOTE_SECTION): Define.
+
+2003-03-03  J"orn Rennecke <joern.rennecke@superh.com>
+
+	* sh.h (EF_SH_MERGE_MACH): Make sure SH2E & SH3/SH3E merge to SH3E,
+	and SH2E & SH4 merge to SH4, not SH2E.
+
+2003-02-21  Ian Wienand  <ianw@gelato.unsw.edu.au>
+
+	* ia64.h (SHT_IA_64_LOPSREG, SHT_IA_64_HIPSREG,
+	SHT_IA_64_PRIORITY_INIT): Define.
+
+2003-02-18  Alan Modra  <amodra@bigpond.net.au>
+
+	* ppc64.h (IS_PPC64_TLS_RELOC): Rename from IS_TLS_RELOC.
+
+	* ppc.h: Replace DTPMOD64, TPREL64, DTPREL64 with DTPMOD32 etc.
+	(IS_PPC_TLS_RELOC): Define.
+
+2003-02-10  Nick Clifton  <nickc@redhat.com>
+
+	* arm.h (EF_ARM_MAVERICK_FLOAT): Define.
+
+2003-02-05  Alan Modra  <amodra@bigpond.net.au>
+
+	* ppc.h: Add TLS relocs.  Format.
+	* ppc64.h: Likewise.
+
+2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
+
+	* mips.h (EF_MIPS_XGOT): Define.
+
+2003-01-24  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* s390.h: Add s390 TLS relocations.
+
+2003-01-23  Nick Clifton  <nickc@redhat.com>
+
+	* Add sh2e support:
+
+	2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
+
+		* sh.h (EF_SH_MERGE_MACH): Handle SH2E.
+
+	2002-04-02  Elena Zannoni  <ezannoni@redhat.com>
+
+		* sh.h (EF_SH2E): New.
+
+2003-01-23  Alan Modra  <amodra@bigpond.net.au>
+
+	* sh.h: Split out various bits to bfd/elf32-sh64.h.
+
+2003-01-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* s390.h: Rename R_390_GOTOFF to R_390_GOTOFF32. Add new gotoff,
+	gotplt and pltoff relocations.
+
+2003-01-17  Alan Modra  <amodra@bigpond.net.au>
+
+	* common.h: Formatting, typo fixes.
+	(DT_ENCODING): Correct value.
+
+2003-01-17  Fabio Alemagna  <falemagn@aros.org>
+
+	* common.h (ELFOSABI_AROS): Define.
+	(ELFOSABI_OPENVMS): Likewise.
+	(ELFOSABI_NSK): Likewise.
+
+2003-01-16  Alan Modra  <amodra@bigpond.net.au>
+
+	* ppc.h: Split out ppc64 definitions to..
+	* pcc64.h: ..here.  New file.
+	(R_PPC64_REL30): Rename from R_PPC64_ADDR30.
+
+2003-01-13 Dmitry Diky <diwil@mail.ru>
+
+	* elf/common.h (EM_MSP430): Change e_machine value to officially
+	assigned.
+
+2003-01-02  Ben Elliston  <bje@redhat.com>
+
+	* common.h (EM_IQ2000): Define.
+	* iq2000.h: New file.
+
+2002-12-30  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips.h (E_MIPS_ARCH_32R2): New define.
+
+2002-12-24    Dmitry Diky <diwil@mail.ru>
+
+	* common.h: Define msp430 machine numbers.
+	* msp430.h: New file.  Define msp430 relocs.
+
+2002-12-20  DJ Delorie  <dj@redhat.com>
+
+	* xstormy16.h: Add XSTORMY16_12.
+
+2002-12-16  Andrew MacLeod  <amacleod@redhat.com>
+
+	* xstormy16.h (START_RELOC_NUMBERS) Add relocation numbers
+	for R_XSTORMY16_LO16 and R_XSTORMY16_HI16.
+
+2002-12-10  James Cownie <jcownie@etnus.com>
+
+	* dwarf2.h (DW_TAG_upc_shared_type, DW_TAG_upc_strict_type,
+	DW_TAG_upc_relaxed_type, DW_AT_upc_threads_scaled, DW_LANG_Upc):
+	Define.
+
+2002-12-01  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* m68hc11.h (EF_M68HC12_MACH, EF_M68HCS12_MACH): Define.
+	(EF_M68HC11_MACH_MASK, EF_M68HC11_MACH): Define.
+	(EF_M68HC11_MERGE_MACH, EF_M68HC11_CAN_MERGE_MACH): Define.
+
+2002-11-30  Alan Modra  <amodra@bigpond.net.au>
+
+	* mmix.h: Replace boolean with bfd_boolean.
+	* sh.h: Likewise.
+
+2002-11-28  Alan Modra  <amodra@bigpond.net.au>
+
+	* internal.h (elf32_internal_ehdr, Elf32_Internal_Ehdr,
+	elf64_internal_ehdr, Elf64_Internal_Ehdr, elf32_internal_phdr,
+	Elf32_Internal_Phdr, elf64_internal_phdr, Elf64_Internal_Phdr,
+	elf32_internal_shdr, Elf32_Internal_Shdr, elf64_internal_shdr,
+	Elf64_Internal_Shdr, elf32_internal_sym, elf64_internal_sym,
+	Elf32_Internal_Sym, Elf64_Internal_Sym, Elf32_Internal_Note,
+	elf32_internal_note, elf32_internal_rel, Elf32_Internal_Rel,
+	elf64_internal_rel, Elf64_Internal_Rel, elf32_internal_rela,
+	elf64_internal_rela, Elf32_Internal_Rela, Elf64_Internal_Rela,
+	elf32_internal_dyn, elf64_internal_dyn, Elf32_Internal_Dyn,
+	Elf64_Internal_Dyn, elf32_internal_verdef, elf64_internal_verdef,
+	elf32_internal_verdaux, elf64_internal_verdaux, elf32_internal_verneed,
+	elf64_internal_verneed, elf32_internal_vernaux, elf64_internal_vernaux,
+	elf32_internal_versym, elf64_internal_versym, Elf32_Internal_Verdef,
+	Elf64_Internal_Verdef, Elf32_Internal_Verdaux, Elf64_Internal_Verdaux,
+	Elf32_Internal_Verneed, Elf64_Internal_Verneed, Elf32_Internal_Vernaux,
+	Elf64_Internal_Vernaux, Elf32_Internal_Versym, Elf64_Internal_Versym,
+	Elf32_Internal_Syminfo, Elf64_Internal_Syminfo): Delete.
+	(Elf_Internal_Rel): Delete.
+
+2002-10-11  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* sh.h: Add SH TLS relocs.
+
+2002-09-30  Gavin Romig-Koch  <gavin@redhat.com>
+	    Ken Raeburn  <raeburn@cygnus.com>
+	    Aldy Hernandez  <aldyh@redhat.com>
+	    Eric Christopher  <echristo@redhat.com>
+	    Richard Sandiford  <rsandifo@redhat.com>
+
+	* mips.h (E_MIPS_MACH_4120, E_MIPS_MACH_5400, E_MIPS_MACH_5500): New.
+
+2002-09-12  Roland McGrath  <roland@redhat.com>
+
+	* dwarf2.h: Updates from GCC version of thie file:
+	(enum dwarf_location_atom): DW_OP_calli -> DW_OP_call_ref.
+	Add DW_OP_GNU_push_tls_address.
+	(DW_OP_lo_user): Change to 0xe0.
+
+2002-08-28  Catherine Moore  <clm@redhat.com>
+
+	* elf/v850.h (R_V850_LONGCALL, R_V850_ALIGN,
+	R_V850_LONGJUMP): New relocations.
+
+2002-08-15  Alan Modra  <amodra@bigpond.net.au>
+
+	* i370.h: Define relocs using reloc-macros.h.
+
+2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* m68hc11.h (E_M68HC12_BANKS, E_M68HC11_I32, E_M68HC11_F64,
+	EF_M68HC11_ABI): Define for ABI specification.
+	(STO_M68HC12_FAR, STO_M68HC12_INTERRUPT): Symbol flags for
+	linker and debugger.
+	(R_M68HC11_24, R_M68HC11_LO16, R_M68HC11_PAGE): New relocs.
+	(R_M68HC11_RL_JUMP, R_M68HC11_RL_GROUP): New reloc for linker
+	relaxation.
+
+2002-07-15  Denis Chertykov  <denisc@overta.ru>
+	    Frank Ch. Eigler  <fche@redhat.com>
+	    Ben Elliston  <bje@redhat.com>
+	    Alan Lehotsky  <alehotsky@cygnus.com>
+	    John Healy  <jhealy@redhat.com>
+	    Graham Stott  <grahams@redhat.com>
+	    Jeff Johnston  <jjohnstn@redhat.com>
+
+	* common.h (EM_IP2K): New macro.
+	(EM_IP2K_OLD): New macro.
+	* ip2k.h: New file.
+
+2002-07-01  Matt Thomas  <matt@3am-software.com>
+
+	* vax.h: Rename EF_* to EF_VAX_*.
+
+2002-06-18  Dave Brolley  <brolley@redhat.com>
+
+	From Catherine Moore, Michael Meissner, Dave Brolley:
+	* common.h (EM_CYGNUS_FRV): New macro.
+	* frv.h: New file.
+
+2002-06-06  Lars Brinkhoff  <lars@nocrew.org>
+
+	* common.h: Change registry@sco.com to registry@caldera.com.
+	(EM_PDP10, EM_PDP11): Define.
+
+2002-06-04  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* sh.h (_bfd_sh64_crange_qsort_cmpb, _bfd_sh64_crange_qsort_cmpl)
+	(_bfd_sh64_crange_bsearch_cmpb, _bfd_sh64_crange_bsearch_cmpl): New
+	prototypes.
+
+2002-06-01  Richard Henderson  <rth@redhat.com>
+
+	* alpha.h (LITUSE_ALPHA_ADDR, LITUSE_ALPHA_BASE, LITUSE_ALPHA_BYTOFF,
+	LITUSE_ALPHA_JSR, LITUSE_ALPHA_TLSGD, LITUSE_ALPHA_TLSLDM): New.
+
+2002-05-30  Richard Henderson  <rth@redhat.com>
+
+	* alpha.h (R_ALPHA_TLSGD, R_ALPHA_TLSLDM, R_ALPHA_DTPMOD64,
+	R_ALPHA_GOTDTPREL, R_ALPHA_DTPREL64, R_ALPHA_DTPRELHI,
+	R_ALPHA_DTPRELLO, R_ALPHA_DTPREL16, R_ALPHA_GOTTPREL, R_ALPHA_TPREL64,
+	R_ALPHA_TPRELHI, R_ALPHA_TPRELLO, R_ALPHA_TPREL16): New.
+
+2002-05-29  Matt Thomas  <matt@3am-software.com>
+
+	* vax.h: New file
+
+2002-05-28  Kuang Hwa Lin <kuang@sbcglobal.net>
+
+	* common.h (EM_DLX): Define.
+	* dlx.h: New file.
+
+2002-05-08  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* common.h (NT_GNU_ABI_TAG): Define.
+	(GNU_ABI_TAG_LINUX): Define.
+	(GNU_ABI_TAG_HURD): Define.
+	(GNU_ABI_TAG_SOLARIS): Define.
+	(NT_NETBSD_IDENT): Define.
+	(NT_FREEBSD_ABI_TAG): Define.
+
+2002-04-24  Elena Zannoni  <ezannoni@redhat.com>
+
+	* dwarf2.h: Add DW_AT_GNU_vector.
+
+2002-02-13  Matt Fredette  <fredette@netbsd.org>
+
+	* m68k.h (EF_M68000): Define.
+
+2002-02-12  Alan Modra  <amodra@bigpond.net.au>
+
+	* ppc.h (DT_PPC64_OPD, DT_PPC64_OPDSZ): Define.
+
+2002-02-09  Richard Henderson  <rth@redhat.com>
+
+	* alpha.h (R_ALPHA_BRSGP): New.
+
+2002-02-08  Alexandre Oliva  <aoliva@redhat.com>
+
+	Contribute sh64-elf.
+	2002-01-23  Alexandre Oliva  <aoliva@redhat.com>
+	* sh.h (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.
+	(R_SH_FIRST_INVALID_RELOC_4): Adjust.
+	2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
+	* sh.h: Renumbered and renamed some SH5 relocations to match
+	official numbers and names; moved unmaching ones to the range
+	0xf2-0xff.
+	2001-01-06  Hans-Peter Nilsson  <hpn@cygnus.com>
+	* sh.h (sh64_get_contents_type): Declare.
+	(sh64_address_is_shmedia): Likewise.
+	2000-12-30  Hans-Peter Nilsson  <hpn@cygnus.com>
+	* sh.h (sh64_elf_crange): New type.
+	(struct sh64_section_data): New.
+	(sh64_elf_section_data): New macro.
+	(EF_SH5): Rename back from EF_SH64.
+	2000-12-18  Hans-Peter Nilsson  <hpn@cygnus.com>
+	* sh.h (SHF_SH5_ISA32_MIXED, SHT_SH5_CR_SORTED,
+	SH64_CRANGES_SECTION_NAME, SH64_CRANGE_SIZE,
+	SH64_CRANGE_CR_ADDR_OFFSET, SH64_CRANGE_CR_SIZE_OFFSET,
+	SH64_CRANGE_CR_TYPE_OFFSET): New macros.
+	2000-12-12  Hans-Peter Nilsson  <hpn@cygnus.com>
+	* sh.h (EF_SH64): Don't define EF_SH64_ABI64.
+	2000-11-27  Hans-Peter Nilsson  <hpn@cygnus.com>
+	* sh.h (EF_SH64_32BIT_ABI, EF_SH64_64BIT_ABI): Delete.
+	(EF_SH64_ABI64): New.
+	2000-11-23  Hans-Peter Nilsson  <hpn@cygnus.com>
+	* sh.h (EF_SH64): Rename from EF_SH5.
+	(EF_SH64_32BIT_ABI): New.
+	(EF_SH64_64BIT_ABI): New.
+	(R_SH_PT_16, R_SH_SHMEDIA_CODE
+	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): New
+	relocs.
+	2000-09-01  Ben Elliston  <bje@redhat.com>
+	* sh.h (EF_SH5): Define.
+
+2002-02-01  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* mmix.h: Tweak comments.
+	(MMIX_LD_ALLOCATED_REG_CONTENTS_SECTION_NAME): New.
+	[BFD_ARCH_SIZE] (_bfd_mmix_prepare_linker_allocated_gregs,
+	_bfd_mmix_finalize_linker_allocated_gregs,
+	_bfd_mmix_check_all_relocs): Provide prototypes.
+
+2002-01-31  Ivan Guzvinec  <ivang@opencores.org>
+
+	* or32.h: New file.
+	* common.h: Add support for or32 targets.
+
+2002-01-28  Jason Merrill  <jason@redhat.com>
+
+	* dwarf2.h: Sync with gcc version.
+
+2002-01-16  Alan Modra  <amodra@bigpond.net.au>
+
+	* ppc.h (DT_PPC64_GLINK): Define.
+
+2002-01-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm.h (F_VFP_FLOAT, EF_ARM_VFP_FLOAT): Define.
+
+2002-01-09  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* common.h: Update copyright years.
+	(NT_NETBSDCORE_PROCINFO): Define.
+	(NT_NETBSDCORE_FIRSTMACH): Define.
+
+2002-01-06  Steve Ellcey  <sje@cup.hp.com>
+
+	* ia64.h (ELF_STRING_ia64_unwind_hdr): New Macro for HP-UX.
+	(SHT_IA_64_HP_OPT_ANOT): Ditto
+	(PT_IA_64_HP_OPT_ANOT): Ditto
+	(PT_IA_64_HP_HSL_ANOT): Ditto
+	(PT_IA_64_HP_STACK): Ditto
+	(SHN_IA_64_ANSI_COMMON): Ditto
+
+2001-12-17  Alan Modra  <amodra@bigpond.net.au>
+
+	* external.h (Elf_External_Sym_Shndx): Declare.
+	* internal.h (struct elf_internal_sym <st_shndx>): Make it an
+	unsigned int.
+	* common.h (SHN_BAD): Define.
+
+2001-12-13  Jakub Jelinek  <jakub@redhat.com>
+
+	* elf/common.h (PT_GNU_EH_FRAME): Define.
+
+2001-12-11  Alan Modra  <amodra@bigpond.net.au>
+
+	* common.h (SHN_XINDEX): Comment typo fix.
+	* internal.h (Elf_Internal_Ehdr): Change existing "unsigned short"
+	size, count and index fields to "unsigned int".
+
+2001-12-07  Geoffrey Keating  <geoffk@redhat.com>
+	    Richard Henderson  <rth@redhat.com>
+
+	* common.h (EM_XSTORMY16): Define.
+	* xstormy16.h: New file.
+
+2001-11-15  Alan Modra  <amodra@bigpond.net.au>
+
+	* common.h (NT_ARCH): Define.  Remove incorrect comment.
+
+2001-11-11  Geoffrey Keating  <geoffk@redhat.com>
+
+	* dwarf2.h (dwarf_line_number_ops): Add DWARF 3 opcodes.
+
+2001-10-30  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* mmix.h: New file.
+
+2001-10-23  Alan Modra  <amodra@bigpond.net.au>
+
+	* internal.h: White space changes to keep lines under 80 chars.
+
+2001-10-16  Jeff Holcomb  <jeffh@redhat.com>
+
+	* internal.h (elf_internal_shdr): Make contents a unsigned char *.
+
+2001-09-18  Alan Modra  <amodra@bigpond.net.au>
+
+	* internal.h (elf_internal_rela): Make r_addend a bfd_vma.
+
+2001-09-13  Alexandre Oliva  <aoliva@redhat.com>
+
+	* common.h (EM_OPENRISC_OLD): Renamed the old EM_OPENRISC entry.
+
+2001-09-12  Alexandre Oliva  <aoliva@redhat.com>
+
+	* common.h (EM_AVR_OLD): Renamed from...
+	(EM_AVR): this, redefined as in the current ELF standard.
+	(EM_PJ_OLD): Renamed from...
+	(EM_PJ): this, redefined as in the current ELF standard.
+	(EM_R30, EM_D10V, EM_D30V, EM_V850, EM_M32R, EM_MN10300,
+	EM_MN10200, EM_OPENRISC, EM_ARC_A5, EM_XTENSA): Defined as in
+	the current ELF standard.
+	(EM_CYGNUS_ARC): Removed, unused for a long time.
+
+2001-09-04  Richard Henderson  <rth@redhat.com>
+
+	* alpha.h (R_ALPHA_OP*, R_ALPHA_IMMED*, R_ALPHA_GPVALUE): Remove.
+	(R_ALPHA_GPREL16): Rename from R_ALPHA_IMMED_GP_16.
+
+2001-08-30  Eric Christopher  <echristo@redhat.com>
+
+	* mips.h: Remove E_MIPS_MACH_MIPS32_4K.
+
+2001-08-29  Jeff Law <law@redhat.com>
+
+	* h8.h (EF_H8_MACH): New mask for encoded machine type.
+	(E_H8_MACH_H8300, E_H8_MACH_H8300H, E_H8_MACH_H8300S): New
+	machine types.
+
+2001-08-26  J"orn Rennecke <amylaar@redhat.com>
+
+	* h8.h: New file.
+
+2001-08-27  Staffan Ulfberg  <staffanu@swox.se>
+
+	* ppc.h: Add relocs from the 64-bit PowerPC ELF ABI revision 1.2.
+
+2001-06-30  Daniel Berlin  <dan@cgsoftware.com>
+
+	* dwarf2.h: Remerge with gcc version,
+	including all new DWARF 2.1 extensions.
+
+2001-06-29  James Cownie <jcownie@etnus.com>
+
+	* dwarf2.h: Add DWARF 2.1 attribues.
+
+2001-06-15  Per Bothner  <per@bothner.com>
+
+	* dwarf2.h:  Partial merge with gcc version.
+	(enum dwarf_descrim_list):  Fix typo -> dwarf_discrim_list.
+	(DW_LANG_Java):  Use value from dwarf 2.1 draft (also used in gcc).
+
+2001-05-15  Ralf Baechle  <ralf@gnu.org>
+
+	* common.h: Remove definition of EM_MIPS_RS4_BE.  The constant was
+	never in active use and is used otherwise by the ABI.
+
+2001-05-11  Jakub Jelinek  <jakub@redhat.com>
+
+	* ia64.h (ELF_STRING_ia64_unwind_once): Define.
+	(ELF_STRING_ia64_unwind_info_once): Define.
+
+2001-05-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* external.h: Fix typo.
+	* mips.h: Add/Extend many comments with reference to the MIPS ELF64
+	spec v. 2.4, available at e.g.
+	ftp://oss.sgi.com/pub/linux/mips/doc/ABI/ELF64.ps.
+	(EF_MIPS_UCODE): Define.
+	(EF_MIPS_OPTIONS_FIRST): Define.
+	(EF_MIPS_ARCH_ASE): Define.
+	(EF_MIPS_ARCH_ASE_MDMX): Define.
+	(EF_MIPS_ARCH_ASE_M16): Define.
+	(SHF_MIPS_ADDR): Renamed SHF_MIPS_ADDR32.
+	(SHF_MIPS_STRING): Renamed SHF_MIPS_ADDR64.
+	(SHF_MIPS_NODUPES): Define.
+	(ELF64_MIPS_R_SSYM): New MIPS ELF 64 relocation info access macro.
+	(ELF64_MIPS_R_TYPE3): Likewise.
+	(ELF64_MIPS_R_TYPE2): Likewise.
+	(ELF64_MIPS_R_TYPE): Likewise.
+	(OHW_R10KLDL): Define.
+
+2001-04-24  Todd Fries  <todd@fries.net>
+
+	* sparc.h: Fix typo.
+
+2001-04-20  Johan Rydberg  <jrydberg@opencores.org>
+
+	* openrisc.h: New file.
+	* common.h (EM_OPENRISC): New constant.
+
+2001-04-23  Bo Thorsen  <bo@suse.de>
+
+	* x86-64.h: Add vtable support.
+
+2001-03-23  Nick Clifton  <nickc@redhat.com>
+
+	* mips.h: Remove extraneous whitespace.
+
+2001-03-22  Hans-Peter Nilsson  <hp@axis.com>
+
+	* cris.h: Add leading comment about PC-relative location.
+	(R_CRIS_COPY, R_CRIS_GLOB_DAT, R_CRIS_JUMP_SLOT, R_CRIS_RELATIVE,
+	R_CRIS_16_GOT, R_CRIS_32_GOT, R_CRIS_16_GOTPLT, R_CRIS_32_GOTPLT,
+	R_CRIS_32_GOTREL, R_CRIS_32_PLT_GOTREL, R_CRIS_32_PLT_PCREL):
+	New relocs.
+
+2001-02-27  Philip Blundell  <pb@futuretv.com>
+
+	* arm.h: Add new definitions from ARM document SWS ESPC 0003 B-01.
+	(EF_PIC, et al.): Rename to EF_ARM_xx.
+
+2001-02-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* common.h: Add linux target for S/390.
+	* s390.h: New file.
+
+2001-01-11  Peter Targett  <peter.targett@arccores.com>
+
+	* arc.h (E_ARC_MACH_ARC5, E_ARC_MACH_ARC6, E_ARC_MACH_ARC7,
+	E_ARC_MACH_ARC8): New definitions for cpu types.
+
+	* common.h (EM_ARC): Change comment.
+
+2000-12-12  Nick Clifton  <nickc@redhat.com>
+
+	* mips.h: Fix formatting.
+
+2000-12-11  Jeffrey A Law  (law@cygnus.com)
+
+	* hppa.h (DT_HP_*): Define relative to OLD_DT_LOOS for hpux
+	compatibility.
+
+2000-10-16  Chris Demetriou  <cgd@sibyte.com>
+
+	* mips.h (E_MIPS_ARCH_32): New constant.
+	(E_MIPS_MACH_MIPS32, E_MIPS_MACH_MIPS32_4K): Replace the
+	former with the latter.
+
+	* mips.h (E_MIPS_ARCH_5, E_MIPS_ARCH_64): New definitions.
+
+	* mips.h (E_MIPS_MACH_SB1): New constant.
+
+2000-11-30  Jan Hubicka  <jh@suse.cz>
+
+	* common.h (EM_X86_64): New macro.
+	* x86-64.h: New file.
+
+2000-11-27  Hans-Peter Nilsson  <hp@axis.com>
+
+	* common.h (e_machine numbers): Clarify comments to describe how
+	EM_* constants are assigned.  Move EM_PJ from official section to
+	ad-hoc section.
+	(EM_CRIS): Correct comment to match official description.
+	(EM_MMIX): Ditto.
+
+2000-11-22  Nick Clifton  <nickc@redhat.com>
+
+	* common.h (EM_JAVELIN): New machine number.
+	(EM_FIREPATH): New machine number.
+	(EM_ZSP): New machine number.
+	(EM_MMIX): New machine number.
+	(EM_HUANY): New machine number.
+	(EM_PRISM): New machine number.
+	(SHT_GROUP): New section type.
+	(SHT_SYMTAB_SHNDX): New section type.
+	(SHF_GROUP): New section flag.
+	(SHN_XINDEX): New section index.
+	(GRP_COMDAT): New section group flag.
+
+2000-11-20  H.J. Lu  <hjl@gnu.org>
+
+	* common.h (ELFOSABI_MONTEREY): Renamed to ...
+	(ELFOSABI_AIX): This.
+
+2000-11-16  Richard Henderson  <rth@redhat.com>
+
+	Update relocations per August psABI docs.
+	* ia64.h (R_IA64_SEGBASE): Remove.
+	(R_IA64_LTV*): Renumber to 0x74 to 0x77.
+	(R_IA64_EPLTMSB, R_IA64_EPLTLSB): Remove.
+	(R_IA64_TPREL14, R_IA64_TPREL64I): New.
+	(R_IA64_DTPMOD*): New.
+	(R_IA64_DTPREL*): New.
+
+2000-09-29  Hans-Peter Nilsson  <hp@axis.com>
+
+	* cris.h (EF_CRIS_UNDERSCORE): New.
+
+2000-09-27  Alan Modra  <alan@linuxcare.com.au>
+
+	* hppa.h (R_PARISC_DIR14F): Add.
+
+2000-09-14  Alexandre Oliva  <aoliva@redhat.com>
+
+	* sh.h (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT,
+	R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): Change
+	numbers to the range from 160 to 167.
+	(R_SH_FIRST_INVALID_RELOC): Adjust.
+	(R_SH_FIRST_INVALID_RELOC_2, R_SH_LAST_INVALID_RELOC_2):
+	New relocs to fill in the gap.
+
+2000-09-13  Anders Norlander  <anorland@acc.umu.se>
+
+	* mips.h (E_MIPS_MACH_4K): New define.
+
+2000-09-05  Alan Modra  <alan@linuxcare.com.au>
+
+	* hppa.h: Fix a comment.
+	(R_PARISC_PCREL12F): Define.
+	(R_PARISC_GNU_VTENTRY): Define.
+	(R_PARISC_GNU_VTINHERIT): Define.
+
+2000-09-01  Alexandre Oliva  <aoliva@redhat.com>
+
+	* sh.h (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT,
+	R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): New relocs.
+	(R_SH_FIRST_INVALID_RELOC): Adjust.
+
+2000-08-14  Jim Wilson  <wilson@cygnus.com>
+
+	* ia64.h (EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP,
+	EF_IA_64_NOFUNCDESC_CONS_GP, EF_IA_64_ABSOLUTE): Define.
+
+2000-08-07  Nick Clifton  <nickc@cygnus.com>
+
+	* ppc.h: Remove spurious CYGNUS LOCAL comments.
+	* v850.h: Likewise.
+
+2000-07-22  Jason Eckhardt  <jle@cygnus.com>
+
+	* i860.h: New file.
+	(elf_i860_reloc_type): Defined ELF32 i860 relocations.
+
+2000-07-20  Hans-Peter Nilsson  <hp@axis.com>
+
+	common.h (EM_CRIS): New machine number.
+	cris.h: New file.
+
+2000-07-19  H.J. Lu  <hjl@gnu.org>
+
+	* common.h (DF_1_NODEFLIB): Renamed from DF_1_NODEPLIB.
+
+2000-07-19  H.J. Lu  <hjl@gnu.org>
+
+	* common.h (DT_CHECKSUM): Set to 0x6ffffdf8.
+	(DTF_1_CONFEXP): It is 0x00000002 as suspected.
+
+2000-07-19  H.J. Lu  <hjl@gnu.org>
+
+	* common.h (DT_FEATURE): Renamed from DT_FEATURE_1.
+	(DT_CONFIG): New. From Solaris 8.
+	(DT_DEPAUDIT): Likewise.
+	(DT_AUDIT): Likewise.
+	(DT_PLTPAD): Likewise.
+	(DT_MOVETAB): Likewise.
+	(DF_1_NODEPLIB): Likewise.
+	(DF_1_NODUMP): Likewise.
+	(DF_1_CONLFAT): Likewise.
+	(DT_CHECKSUM): Likewise. FIXME. Check the value on Solaris 8.
+	(DTF_1_CONFEXP): Likewise.
+
+2000-07-18  H.J. Lu  <hjl@gnu.org>
+
+	* common.h (DT_FLAGS_1): Renamed from DT_1_FLAGS.
+
+2000-07-12  Alan Modra  <alan@linuxcare.com.au>
+
+	* internal.h (struct elf_internal_sym): Update comment for st_other.
+
+2000-07-10  Alan Modra  <alan@linuxcare.com.au>
+
+	* hppa.h: Add comments to all the relocs.
+
+2000-06-26  Marek Michalkiewicz  <marekm@linux.org.pl>
+
+	* avr.h (E_AVR_MACH_AVR5): Define.
+
+2000-06-18  Stephane Carrez  <stcarrez@worldnet.fr>
+
+	* m68hc11.h: New file, definitions for the Motorola 68hc11.
+
+2000-06-06  Alan Modra  <alan@linuxcare.com.au>
+
+	* reloc-macros.h (START_RELOC_NUMBERS): Don't define initial dummy
+	-1 valued enum.
+	(RELOC_NUMBER, FAKE_RELOC, EMPTY_RELOC): Append rather than
+	prepend comma.
+	(END_RELOC_NUMBERS): Give macro an arg to define as last enum.
+
+	* alpha.h (R_ALPHA_max): Define via END_RELOC_NUMBERS rather than
+	with EMPTY_RELOC.
+	* arc.h (R_ARC_max): Likewise.
+	* avr.h (R_AVR_max): Likewise.
+	* fr30.h (R_FR30_max): Likewise.
+	* hppa.h (R_PARISC_UNIMPLEMENTED): Likewise.
+	* i960.h (R_960_max): Likewise.
+	* m32r.h (R_M32R_max): Likewise.
+	* m68k.h (R_68K_max): Likewise.
+	* mcore.h (R_MCORE_max): Likewise.
+	* mn10300.h (R_MN10300_MAX): Likewise.
+	* pj.h (R_PJ_max): Likewise.
+	* ppc.h (R_PPC_max): Likewise.
+	* sh.h (R_SH_max): Likewise.
+	* sparc.h (R_SPARC_max): Likewise.
+	* v850.h (R_V850_max): Likewise.
+
+	* arm.h (R_ARM_max): Define via END_RELOC_NUMBERS.
+	* d10v.h (R_D10V_max): Likewise.
+	* d30v.h (R_D30V_max): Likewise.
+	* ia64.h (R_IA64_max): Likewise.
+	* mips.h (R_MIPS_maxext): Likewise.
+	* mn10200.h (R_MN10200_max): Likewise.
+
+	* i386.h (R_386_max): Remove old RELOC_NUMBER definition, and
+	define via END_RELOC_NUMBERS.
+
+2000-06-03  Alan Modra  <alan@linuxcare.com.au>
+
+	* reloc-macros.h (START_RELOC_NUMBERS): Fix name clash for
+	!__STDC__ case.
+	(RELOC_NUMBER): Use ansi stringify if ALMOST_STDC defined.
+
+2000-05-22  Richard Henderson  <rth@cygnus.com>
+
+	* ia64.h (R_IA64_PCREL60B, R_IA64_PCREL21BI): New.
+	(R_IA64_PCREL22, R_IA64_PCREL64I): New.
+
+2000-05-02  H.J. Lu  <hjl@gnu.org>
+
+	* common.h (ELFOSABI_NONE): Renamed from ELFOSABI_SYSV.
+	(ELFOSABI_MODESTO): Defined.
+	(ELFOSABI_OPENBSD): Likewise.
+
+2000-04-21  Richard Henderson  <rth@cygnus.com>
+	    David Mosberger  <davidm@hpl.hp.com>
+
+	* ia64.h: New file.
+
+2000-04-14  H.J. Lu  <hjl@gnu.org>
+
+	* common.h (ELFOSABI_TRUE64): Renamed to ELFOSABI_TRU64.
+
+2000-04-14  H.J. Lu  <hjl@gnu.org>
+
+	* common.h (ELFOSABI_NETBSD): Defined.
+	(ELFOSABI_HURD): Likewise.
+	(ELFOSABI_SOLARIS): Likewise.
+	(ELFOSABI_MONTEREY): Likewise.
+	(ELFOSABI_IRIX): Likewise.
+	(ELFOSABI_FREEBSD): Likewise.
+	(ELFOSABI_TRUE64): Likewise.
+
+2000-04-07  Nick Clifton  <nickc@cygnus.com>
+
+	* arm-oabi.h: Delete.
+	* arm.h: Merge in definitions of old reloc numbers from
+	arm-oabi.h.
+
+2000-04-06  Nick Clifton  <nickc@cygnus.com>
+
+	* arm.h (EF_ARM_SYMSARESORTED): Define.
+	(EF_ARM_EABIMASK): Define.
+	(EF_ARM_EABI_VERSION): Define.
+	(EF_ARM_EABI_UNKNOWN): Define.
+	(EF_ARM_EABI_VER1): Define.
+	(PF_ARM_PI): Define.
+	(PF_ARM_ABS): Define.
+
+2000-04-05  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* sh.h (R_SH_LOOP_START, R_SH_LOOP_END): New RELOC_NUMBERs.
+
+2000-03-27  Denis Chertykov  <denisc@overta.ru>
+
+	* avr.h: New file.  AVR ELF support for BFD.
+	* common.h: Add AVR magic number.
+
+2000-03-10  Geoffrey Keating  <geoffk@cygnus.com>
+
+	* mips.h: Add R_MIPS_GNU_REL_HI16, R_MIPS_GNU_REL_LO16,
+	R_MIPS_GNU_REL16_S2, R_MIPS_PC64 and R_MIPS_PC32 relocation
+	numbers.
+
+2000-02-23  Linas Vepstas <linas@linas.org>
+
+	* i370.h: New file.
+
+2000-02-22  Nick Clifton  <nickc@cygnus.com>
+
+	* common.h (ELF_ST_OTHER): Remove definition.
+	(ELF32_ST_OTHER): Remove definition.
+	(ELF64_ST_OTHER): Remove definition.
+
+2000-02-22  H.J. Lu  <hjl@gnu.org>
+
+	* common.h (ELFOSABI_LINUX): Define.
+
+2000-02-17  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* sh.h: (EF_SH_MACH_MASK, EF_SH_UNKNOWN, EF_SH1, EF_SH2): New macros.
+	(EF_SH3, EF_SH_HAS_DSP, EF_SH_DSP, EF_SH3_DSP): Likewise.
+	(EF_SH_HAS_FP, EF_SH3E, EF_SH4, EF_SH_MERGE_MACH): Likewise.
+
+2000-02-03  H.J. Lu  <hjl@gnu.org>
+
+	* arm-oabi.h: Duplicate changes made to arm.h on Jan. 27,
+	2000 by Thomas de Lellis  <tdel@windriver.com>.
+
+2000-01-27  Thomas de Lellis  <tdel@windriver.com>
+
+	* arm.h (STT_ARM_TFUNC): Define in terms of STT_LOPROC.
+	(STT_ARM_16BIT): New flag.  Denotes a label that was defined in
+	Thumb block but was does not identify a function.
+
+2000-01-20  Nick Clifton  <nickc@cygnus.com>
+
+	* common.h (EM_MCORE): Fix spelling of Motorola.
+	* mcore.h (EM_MCORE): Fix spelling of Motorola.
+
+2000-01-13  Nick Clifton  <nickc@cygnus.com>
+
+	* common.h (EM_S370): Change comment - this is now the IBM
+	System/370.
+	(EM_IA_64): Change comment - this is now the IA-64.
+
+2000-01-11  Nick Clifton  <nickc@cygnus.com>
+
+	* common.h (DT_ENCODING): Fix definition of this value.
+	(DT_LOOS): Fix definition of this value.
+	(DT_HIOS): Fix definition of this value.
+	(OLD_DT_LOOS): Value of DT_LOOS before Oct 4, 1999 draft
+	of ELF spec changed it.
+	(OLD_DT_HIOS): Value of DT_HIOS before Oct 4, 1999 draft
+	of ELF spec changed it.
+
+2000-01-10  Egor Duda  <deo@logos-m.ru>
+
+	* common.h (NT_WIN32PSTATUS): Define.  (cygwin elf core dumps).
+
+1999-12-28  Nick Clifton  <nickc@cygnus.com>
+
+	* mips.h (STO_*): Redefine in terms of STV_* values now in
+	common.h.
+
+1999-12-27  Nick Clifton  <nickc@cygnus.com>
+
+	* common.h: Upgrade to match Oct4, 1999 Draft ELF ABI Spec.
+	(EM_MIPS_RS3_LE): New machine number.
+	(EM_RCE): New machine number.
+	(EM_MMA): New machine number.
+	(EM_PCP): New machine number.
+	(EM_NCPU): New machine number.
+	(EM_NDR1): New machine number.
+	(EM_STARCORE): New machine number.
+	(EM_ME16): New machine number.
+	(EM_ST100): New machine number.
+	(EM_TINYJ): New machine number.
+	(EM_FX66): New machine number.
+	(EM_ST9PLUS): New machine number.
+	(EM_ST7): New machine number.
+	(EM_68HC16): New machine number.
+	(EM_68HC11): New machine number.
+	(EM_68HC08): New machine number.
+	(EM_68HC05): New machine number.
+	(EM_SVX): New machine number.
+	(EM_VAX): New machine number.
+	(PF_MASKOS): Change value.
+	(SHT_INIT_ARRAY): New value for sh_type field.
+	(SHT_FINI_ARRAY): New value for sh_type field.
+	(SHT_PREINIT_ARRAY): New value for sh_type field.
+	(SHT_HIUSER): Change value.
+	(SHF_MERGE): New valye for sh_flags field.
+	(SHF_STRINGS): New valye for sh_flags field.
+	(SHF_INFO_LINK): New valye for sh_flags field.
+	(SHF_OS_NONCONFORMING): New valye for sh_flags field.
+	(SHF_MASKOS): Change value.
+	(ELF_ST_VISIBILITY): New macro.
+	(ELF_ST_OTHER): New macro.
+	(STT_COMMON): New symbol type.
+	(STV_DEFAULT): Value for symbol visibility.
+	(STV_INTERNAL): Value for symbol visibility.
+	(STV_HIDDEN): Value for symbol visibility.
+	(STV_PROTECTED): Value for symbol visibility.
+	(DT_RUNPATH): New dynamic section tag.
+	(DT_FLAGS): New dynamic section tag.
+	(DT_ENCODING): New dynamic section tag.
+	(DT_PREINIT_ARRAY): New dynamic section tag.
+	(DT_PREINIT_ARRAYSZ): New dynamic section tag.
+	(DT_LOPROC): New dynamic section tag index.
+	(DT_HIPROC): New dynamic section tag index.
+	(DF_ORIGIN): Value for dynamic section flag.
+	(DF_SYMBOLIC): Value for dynamic section flag.
+	(DF_TEXTREL): Value for dynamic section flag.
+	(DF_BIND_NOW): Value for dynamic section flag.
+
+1999-12-09  Fred Fish  <fnf@cygnus.com>
+
+	* i960.h (reloc-macros.h):  Include using relative dir elf/.
+	* i386.h (reloc-macros.h):  Include using relative dir elf/.
+	* hppa.h (reloc-macros.h):  Include using relative dir elf/.
+
+1999-12-07  Jim Blandy  <jimb@cygnus.com>
+
+	* common.h (NT_PRXFPREG): New definition.
+
+Wed Dec  1 03:02:15 1999  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.h (E_MN10300_MACH_AM33): Define.
+
+Mon Oct 11 22:42:37 1999  Jeffrey A Law  (law@cygnus.com)
+
+	* hppa.h (PF_HP_PAGE_SIZE): Define.
+	(PF_HP_FAR_SHARED, PF_HP_NEAR_SHARED, PF_HP_CODE): Likewise.
+	(PF_HP_MODIFY, PF_HP_LAZYSWAP, PF_HP_SBP): Likewise.
+
+Mon Oct  4 17:42:38 1999  Doug Evans  <devans@canuck.cygnus.com>
+
+	* m32r.h (E_M32RX_ARCH): Define.
+
+1999-09-15  Ulrich Drepper  <drepper@cygnus.com>
+
+	* hppa.h: Add DT_HP_GST_SIZE, DT_HP_GST_VERSION, and DT_HP_GST_HASHVAL.
+
+1999-09-04  Steve Chamberlain  <sac@pobox.com>
+
+	* pj.h: New file.
+	* common.h (EM_PJ): Define.
+
+1999-09-02  Ulrich Drepper  <drepper@cygnus.com>
+
+	* hppa.h: Add HPUX specific symbol type definitions.
+
+	* hppa.h: Add HPUX specific dynamic and program header table
+	specific definitions.
+
+1999-08-31  Scott Bambrough <scottb@netwinder.org>
+
+	* common.h (NT_TASKSTRUCT): Define.
+
+1999-07-16  Jakub Jelinek  <jj@ultra.linux.cz>
+
+	* sparc.h (EF_SPARC_SUN_US3): Define in Cheetah extensions
+	flag (as per SCD2.4.1).
+
+1999-07-16  Jakub Jelinek  <jj@ultra.linux.cz>
+
+	* sparc.h (ELF64_R_TYPE_DATA): Only use ELF64_R_TYPE bits, not
+	ELF64_R_SYM bits.
+
+1999-06-21  Philip Blundell  <pb@nexus.co.uk>
+
+	* arm.h (EF_SOFT_FLOAT, F_SOFT_FLOAT): Define.
+
+1999-07-13  Andreas Schwab  <schwab@suse.de>
+
+	* m68k.h (EF_CPU32): Move definition inside multiple inclusion
+	guard.
+
+1999-07-08  Richard Henderson  <rth@cygnus.com>
+
+	* sparc.h (ELF64_R_TYPE_DATA): Sign extend the value.
+	(ELF64_R_TYPE_INFO): Mask out all but low 24 bits of data.
+	(DT_SPARC_PLTFMT): Delete.
+	Based on a patch from Jakub Jelinek.
+
+Mon Jun 21 16:36:02 1999  Jeffrey A Law  (law@cygnus.com)
+
+	* hppa.h (elf_hppa_reloc_type): Renamed from elf32_hppa_reloc_type.
+
+1999-06-10  Jakub Jelinek  <jj@ultra.linux.cz>
+
+	* sparc.h (R_SPARC_max_std): Define.
+
+Wed Jun  9 15:16:34 1999  Jeffrey A Law  (law@cygnus.com)
+
+	* hppa.h: Update with various changes from newest PA ELF
+	specifications.
+
+1999-06-03  Ian Lance Taylor  <ian@zembu.com>
+
+	* common.h (EM_PPC64): Define.
+
+1999-06-02  Stu Grossman  <grossman@babylon-5.cygnus.com>
+
+	* dwarf.h: Add LANG_JAVA.
+	* dwarf2.h: Add DW_LANG_Java.
+
+1999-05-29  Nick Clifton  <nickc@cygnus.com>
+
+	* common.h (ELFOSABI_ARM): Define.
+
+1999-05-28  Nick Clifton  <nickc@cygnus.com>
+
+	* reloc-macros.h: Update comment.
+
+1999-05-28  Ian Lance Taylor  <ian@zembu.com>
+
+	* i960.h: New file.
+
+1999-05-16  Nick Clifton  <nickc@cygnus.com>
+
+	* mcore.h (R_MCORE_COPY): Define.
+	(R_MCORE_GLOB_DAT): Define.
+	(R_MCORE_JUMP_SLOT): Define.
+
+1999-05-15  Nick Clifton  <nickc@cygnus.com>
+
+	* mcore.h (R_MCORE_RELATIVE): Define.
+
+1999-05-05  Catherine Moore  <clm@cygnus.com>
+
+	* m68k.h (EF_CPU32): Define.
+
+1999-04-21  Nick Clifton  <nickc@cygnus.com>
+
+	* reloc-macros.h (START_RELOC_NUMBERS): Prepend an underscore to
+	fake reloc entry name (if possible), in order to avoid conflicts
+	with typedefs of the same name.
+
+1999-04-16  Gavin Romig-Koch  <gavin@cygnus.com>
+
+	* mips.h (EF_MIPS_32BITMODE): New.
+
+1999-04-08  Nick Clifton  <nickc@cygnus.com>
+
+	* mcore.h: New header file.  Defines for Motorola's MCore
+	processor.
+
+1999-04-08  Nick Clifton  <nickc@cygnus.com>
+
+	* common.h: Add new constants defined in: "System V Application
+	Binary Interface - DRAFT - April 29, 1998" found at the web site:
+	http://www.sco.com/developer/gabi/contents.html
+
+	(EM_MMA): Removed.  Replaced with EM_MCORE as Motorolla own this
+	value.
+
+1999-03-31  Nick Clifton  <nickc@cygnus.com>
+
+	* reloc-macros.h: Fixed to not generate an enum with a trailing
+	comma.
+
+1999-03-16  Gavin Romig-Koch  <gavin@cygnus.com>
+
+	* mips.h (E_MIPS_MACH_5000): New.
+
+1999-03-10  Ulrich Drepper  <drepper@cygnus.com>
+
+	* common.h: Add definitions for a few more Solaris ELF extensions.
+
+Thu Feb 18 18:58:26 1999  Ian Lance Taylor  <ian@cygnus.com>
+
+	* external.h: Only use attribute if __GNUC__ is defined.
+
+1999-02-17  Nick Clifton  <nickc@cygnus.com>
+
+	Patch submitted by: Scott Bambrough <scottb@corelcomputer.com>
+
+	* external.h: struct Elf_External_Versym must be packed on
+	ARM.  Code uses sizeof(Elf_External_Versym) and assumes it is
+	equal to sizeof(char[2]).  Reported by Jim Pick <jim@jimpick.com>
+
+1999-02-02  Nick Clifton  <nickc@cygnus.com>
+
+	* dwarf2.h (DWARF2_External_ARange): New structure.
+	(DWARF2_Internal_ARange): New structure.
+
+Mon Feb  1 11:33:56 1999  Catherine Moore  <clm@cygnus.com>
+
+	* arm.h:  Renumber relocs to conform to standard.
+	(EF_NEW_ABI):  Define.
+	(EF_OLD_ABI):  Define.
+	* arm-oabi.h:  New file.
+
+1999-01-28  Nick Clifton  <nickc@cygnus.com>
+
+	* fr30.h: Add R_FR30_GNU_VT{INHERIT,ENTRY} relocs.
+
+1999-01-27  Nick Clifton  <nickc@cygnus.com>
+
+	* dwarf2.h: Add typedefs for structures found in dwarf2 sections.
+
+1998-12-16  Gavin Romig-Koch  <gavin@cygnus.com>
+
+	* mips.h (E_MIPS_MACH_4111): New.
+
+1998-12-15  Gavin Romig-Koch  <gavin@cygnus.com>
+
+	* mips.h (EF_MIPS_ABI,E_MIPS_ABI_O32,E_MIPS_ABI_O64,
+	E_MIPS_ABI_EABI32,E_MIPS_ABI_EABI64):
+
+1998-12-03  Nick Clifton  <nickc@cygnus.com>
+
+	* fr30.h: Add R_FR30_48 reloc.
+
+1998-12-02  Ulrich Drepper  <drepper@cygnus.com>
+
+	* mips.h: Add external data type for conflict section.
+
+	* mips.h: Add more LL_* options from Irix 6.5.
+
+	* mips.h: Add R_MIPS_JALR and adjust R_MIPS_max appropriately.
+
+Mon Nov 30 15:25:58 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* sh.h (elf_sh_reloc_type): Add R_SH_FIRST_INVALID_RELOC,
+	R_SH_LAST_INVALID_RELOC, R_SH_SWITCH8 and R_SH_max.
+
+Tue Nov 10 15:12:28 1998  Nick Clifton  <nickc@cygnus.com>
+
+	* common.h (EM_CYGNUS_FR30): Reduce to a 16 bit value.
+
+Tue Nov 10 15:17:28 1998  Catherine Moore  <clm@cygnus.com>
+
+	* d10v.h:  Add vtable relocs.
+
+Wed Nov  4 15:56:50 1998  Nick Clifton  <nickc@cygnus.com>
+
+	* common.h (EM_CYGNUS_FR30): New machine number.
+
+	* fr30.h: New file: Definitions for the FR30.
+
+Fri Oct 30 11:54:15 1998  Catherine Moore  <clm@cygnus.com>
+
+	From Philip Blundell <pb@nexus.co.uk>:
+	* arm.h (R_ARM_COPY, et al.): New relocs, used by Linux for PIC.
+	(EF_ALIGN8): New flag.
+
+Tue Oct 20 11:19:50 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+	* common.h (NT_LWPSTATUS): Close comment accidentally left open.
+
+Mon Oct 19 20:24:11 1998  Catherine Moore  <clm@cygnus.com>
+
+	* sh.h:  Add vtable relocs.
+
+Mon Oct 19 01:44:42 1998  Felix Lee  <flee@cygnus.com>
+
+	* common.h (NT_PSTATUS, NT_FPREGS, NT_PSINFO,
+	NT_LWPSTATUS,NT_LWPSINFO): added.
+	* internal.h (Elf_Internal_Note): new structure members.
+
+Fri Oct 16 14:11:25 1998  Catherine Moore  <clm@cygnus.com>
+
+	* m32r.h:  Add vtable relocs.
+
+Tue Oct  6 09:22:22 1998  Catherine Moore  <clm@cygnus.com>
+
+	* sparc.h:  Add vtable relocs.
+
+Mon Oct  5 09:39:22 1998  Catherine Moore  <clm@cygnus.com>
+
+	* v850.h:  Add vtable relocs.
+
+Sun Oct  4 21:17:51 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+	* i386.h (R_386_max): Change from 252 to 24.
+
+Mon Sep 21 12:24:44 1998  Catherine Moore  <clm@cygnus.com>
+
+	* i386.h:  Change vtable reloc numbers.
+
+Sun Sep 20 00:54:22 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* m68k.h: Add vtable relocs and R_68K_max.
+
+Tue Sep 15 09:56:49 CDT 1998  Catherine Moore  <clm@cygnus.com>
+
+	* arm.h:  Add vtable relocs.
+
+Mon Aug 31 11:25:27 1998  Catherine Moore  <clm@cygnus.com>
+
+	* arm.h:  Define STT_ARM_TFUNC.  Remove ST_THUMB_xxxx
+	definitions.
+
+Sat Aug 29 22:25:51 1998  Richard Henderson  <rth@cygnus.com>
+
+	* i386.h: Add vtable relocs.
+
+1998-08-25 16:42  Ulrich Drepper  <drepper@cygnus.com>
+
+	* common.h: Add SYMINFO_* macros to access Elf*_Syminfo information.
+
+	* external.h: Add Elf_External_Syminfo definition.
+
+	* internal.h: Add Elf_Internal_Syminfo, Elf32_Internal_Syminfo,
+	and Elf64_Syminfo definitions.
+
+Sun Aug  9 20:26:49 CDT 1998  Catherine Moore  <clm@cygnus.com>
+
+	* arm.h:  Add ST_THUMB definitions.
+
+Wed Aug  5 15:52:35 1998  Nick Clifton  <nickc@cygnus.com>
+
+	* arm.h: Add ELF header flags to specify compile time optins:
+	EF_INTERWORK: New flag.
+	EF_APCS_26: New flag.
+	EF_APCS_FLOAT: New flag.
+	EF_PIC: New flag.
+
+1998-07-31 21:28  Ulrich Drepper  <drepper@cygnus.com>
+
+	* mips.h: Add missing RHF_* constants.
+
+Fri Jul 31 10:01:40 1998 Catherine Moore  <clm@cygnus.com>
+
+	* arm.h: Add R_ARM_THM_PC9 relocation.
+
+1998-07-30 16:25  Ulrich Drepper  <drepper@cygnus.com>
+
+	* common.h: Add new DT_* entries and there flag macros from Solaris.
+
+Tue Jul 28 18:14:07 1998  Stan Cox  <scox@equinox.cygnus.com>
+
+	* sparc.h: (R_SPARC_REV32): Added for little endian data e.g. sparc 86x.
+
+Fri Jul 24 11:22:06 1998  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.h: Add R_MN10300_24 relocation.
+
+1998-07-24  Ulrich Drepper  <drepper@cygnus.com>
+
+	* mips.h: Add MIPS64 relocation names and values.
+
+Wed Jul 22 19:29:00 Catherine Moore  <clm@cygnus.com>
+
+	* arm.h: Rename relocations.
+
+1998-07-22  Ulrich Drepper  <drepper@cygnus.com>
+
+	* ppc.h: Define enum as elf_ppc_reloc_type.
+
+Wed Jul 22 16:22:11 1998  Nick Clifton  <nickc@cygnus.com>
+
+	* reloc-macros.h: New file.  Provides relocation macros:
+	START_RELOC_NUMBERS, RELOC_NUMBER, FAKE_RELOC, EMPTY_RELOC and
+	END_RELOC_NUMBERS used by other elf header files.
+
+	* alpha.h: Use reloc-macros.h.
+	* arc.h: Use reloc-macros.h.
+	* arm.h: Use reloc-macros.h.
+	* d10v.h: Use reloc-macros.h.
+	* d30v.h: Use reloc-macros.h.
+	* hppa.h: Use reloc-macros.h.
+	* i386.h: Use reloc-macros.h.
+	* m32r.h: Use reloc-macros.h.
+	* m68k.h: Use reloc-macros.h.
+	* mips.h: Use reloc-macros.h.
+	* mn10200.h: Use reloc-macros.h.
+	* mn10300.h: Use reloc-macros.h.
+	* ppc.h: Use reloc-macros.h.
+	* sh.h: Use reloc-macros.h.
+	* sparc.h: Use reloc-macros.h.
+	* v850.h: Use reloc-macros.h.
+
+1998-07-22 13:07  Ulrich Drepper  <drepper@cygnus.com>
+
+	* mn10300.h: Rewrite relocation definition using macros.
+	* mips.h: Likewise.
+	* ppc.h: Likewise.
+	* alpha.h: Likewise.
+	* arm.h: Likewise.
+	* d10v.h: Likewise.
+	* d30v.h: Likewise.
+	* m32r.h: Likewise.
+	* m68k.h: Likewise.
+	* mn10200.h: Likewise.
+	* sh.h: Likewise.
+	* sparc.h: Likewise.
+
+1998-07-21 13:07  Ulrich Drepper  <drepper@cygnus.com>
+
+	* arm.h: New file.
+	* d10v.h: New file.
+	* d30v.h: New file.
+	* i386.h: New file.
+	* m68k.h: New file.
+	* mn10200.h: New file.
+	* sh.h: New file.
+
+	* mips.h: Add R_MIPS_* and SHT_MIPS_* entries.
+
+	* mn10300.h: Add R_MN10300_* entries.
+
+	* ppc.h: Add R_PPC_* entries.
+
+1998-07-20 07:11  Ulrich Drepper  <drepper@cygnus.com>
+
+	* mips.h: Add ODK_*, OEX_*, OPAD_*, OHW_*, and OGP_* constants.
+	Define Elf32_External_Lib.
+
+1998-07-19 15:24  Ulrich Drepper  <drepper@cygnus.com>
+
+	* mips.h (PT_MIPS_OPTIONS): New symbol.
+	Add lots of DT_MIPS_* symbols.
+
+Fri Jun 26 10:46:35 1998  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.h: New file.
+
+Thu Jun 18 19:27:56 1998  Nick Clifton  <nickc@cygnus.com>
+
+	* common.h (EM_960, EM_V800, EM_FR20, EM_RH32, EM_MMA,
+	EM_OLD_ALPHA): Add these constants.
+
+Thu Jun 11 17:59:01 1998  Nick Clifton  <nickc@cygnus.com>
+
+	* common.h (EM_486, EM_S370): Add these constants.
+
+Tue Jun  9 09:35:29 1998  Nick Clifton  <nickc@cygnus.com>
+
+	* common.h (EM_ARM): Add this constant.
+
+Wed May  6 09:45:30 1998  Gavin Koch  <gavin@cygnus.com>
+
+	* mips.h (EF_MIPS_MACH,E_MIPS_MACH_*): Added.
+
+Sat Apr 25 18:35:06 1998  Richard Henderson  <rth@cygnus.com>
+
+	* alpha.h (STO_ALPHA_NOPV, STO_ALPHA_STD_GPLOAD): New.
+
+Wed Apr 15 15:42:45 1998  Richard Henderson  <rth@cygnus.com>
+
+	* common.h (EM_SPARC64): Move and rename to EM_OLD_SPARCV9.
+	(EM_SPARCV9): New.  This is the official ABI name and number.
+
+Sat Feb 28 17:04:41 1998  Richard Henderson  <rth@cygnus.com>
+
+	* alpha.h (EF_ALPHA_32BIT, EF_ALPHA_CANRELAX): New.
+
+Mon Dec 15 15:07:49 1997  Nick Clifton  <nickc@cygnus.com>
+
+	* m32r.h (EF_M32R_ARCH, E_M32R_ARCH): New flags to
+	specify machine architecture.
+
+Fri Dec  5 11:20:08 1997  Nick Clifton  <nickc@cygnus.com>
+
+	* v850.h: New constants: SHN_V850_SCOMMON, SHN_V850_TCOMMON,
+	SHN_V850_ZCOMMON, SHT_V850_SCOMMON, SHT_V850_TCOMMON,
+	SHT_V850_ZCOMMON to handle v850 common sections.
+	enum reloc_type renamed to v850_reloc_type to avoid name
+	conflict.
+
+Thu Oct 23 13:55:24 1997  Richard Henderson  <rth@cygnus.com>
+
+	* sparc.h (enum elf_sparc_reloc_type): Add UA64 & UA16.
+
+Thu Oct 23 00:42:04 1997  Richard Henderson  <rth@dot.cygnus.com>
+
+	* sparc.h (DT_SPARC_REGISTER): New macro.
+	(DT_SPARC_PLTFMT): In support of old sparc64-linux .plts; will
+	go away soon.
+
+Tue Sep 30 13:26:58 1997  Doug Evans  <dje@canuck.cygnus.com>
+
+	* sparc.h (EF_SPARC_HAL_R1, EF_SPARC_EXT_MASK): New macros.
+	(EF_SPARCV9_{MM,TSO,PSO,RMO}): New macros.
+	(SHN_BEFORE,SHN_AFTER): New macros.
+	(SHF_EXCLUDE,SHF_ORDERED): New macros.
+	(STT_REGISTER): New macro.
+	(R_SPARC_GLOB_JMP): Deleted, but slot reserved.
+	(R_SPARC_{DISP64,PLT64,HIX22,LOX10}): New relocations.
+	(R_SPARC_{H44,M44,L44,REGISTER}): New relocations.
+	(ELF64_R_TYPE_{DATA,ID,INFO}): New macros.
+
+Wed Sep 17 16:41:42 1997  Nick Clifton  <nickc@cygnus.com>
+
+	* v850.h: Add R_V850_CALLT_6_7_OFFSET and R_V850_CALLT_16_16_OFFSET.
+
+Tue Sep 16 14:16:17 1997  Nick Clifton  <nickc@cygnus.com>
+
+	* v850.h (reloc_type): Add R_V850_TDA_16_16_OFFSET.
+
+Wed Sep  3 15:11:14 1997  Richard Henderson  <rth@cygnus.com>
+
+	* mips.h: Correct typo in comment.
+
+Wed Sep  3 11:25:57 1997  Nick Clifton  <nickc@cygnus.com>
+
+	* v850.h (reloc_type): Remove R_V850_16_PCREL.
+
+Tue Sep  2 17:41:05 1997  Nick Clifton  <nickc@cygnus.com>
+
+	* common.h: Remove magic number for V850E.
+	* common.h: Remove magic number for V850EA.
+	* v850.h: Add new flags for e_flags field in elf header.
+
+Mon Aug 25 16:06:47 1997  Nick Clifton  <nickc@cygnus.com>
+
+	* common.h (EM_CYGNUS_V850E): backend magic number for v850e.
+	* common.h (EM_CYGNUS_V850EA): backend magic number for v850ea.
+
+Mon Aug 18 11:05:23 1997  Nick Clifton  <nickc@cygnus.com>
+
+	* v850.h (reloc_type): Add 16 bit PC relative relocation.
+
+Fri Aug 15 05:10:09 1997  Doug Evans  <dje@canuck.cygnus.com>
+
+	* arc.h (enum reloc): Move here from elf32-arc.c.
+
+Fri Aug  8 17:05:29 1997  Doug Evans  <dje@canuck.cygnus.com>
+
+	* arc.h: New file.
+	* common.h (EM_CYGNUS_ARC): Define.
+
+Mon Jun 16 14:46:12 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* internal.h (Elf_Internal_Ehdr): Change e_phoff and e_shoff from
+	bfd_signed_vma to bfd_size_type, as they are not signed.
+
+Wed Mar  5 15:35:26 1997  Doug Evans  <dje@seba.cygnus.com>
+
+	* m32r.h (SHF_M32R_CAN_RELAX): Define.
+
+Mon Feb 24 17:49:01 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* external.h: Dump the 32/64 bit specific forms of the version
+	structures, and just define them as size independent.
+
+	* common.h (VERSYM_HIDDEN, VERSYM_VERSION): Define.
+
+Fri Feb 21 13:00:34 1997  Doug Evans  <dje@canuck.cygnus.com>
+
+	* m32r.h (enum reloc_type): Add R_M32R_SDA16.
+	(SHN_M32R_SCOMMON): Define.
+
+Wed Feb 19 15:35:31 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	From Eric Youngdale <eric@andante.jic.com>:
+	* external.h, internal.h, common.h: Added new structures and
+	definitions for ELF versions.
+
+Tue Feb 18 17:40:36 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>
+
+	* common.h (EM_CYGNUS_D30V): Define.
+
+Mon Jan 27 11:54:44 1997  Doug Evans  <dje@seba.cygnus.com>
+
+	* m32r.h (enum reloc_type): Add R_M32R_HI16_[SU]LO,R_M32R_LO16.
+
+Fri Jan  3 11:32:51 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* v850.h (V850_OTHER_{TDA_BYTE,ERROR}): New bits for the st_other
+	field.
+	(SHN_V850_*): Remove v850 specific section indexes, which are not
+	needed.
+	(enum reloc_type): Move the v850 relocations here from
+	elf32-v850.c
+
+Thu Jan  2 19:30:23 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* v850.h: New file, provide V850 specific definitions.
+
+Tue Dec 31 14:44:32 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* common.h (DT_AUXILIARY): Define.
+	(DT_FILTER): Define.
+
+Wed Dec  4 05:03:37 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2.h: Update.
+
+Tue Nov 26 10:44:47 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips.h (STO_MIPS16): Define.
+
+Tue Nov 12 15:45:42 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
+
+	* d10v.h: Remove empty file.
+
+Tue Oct  8 11:31:24 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips.h (EF_MIPS_ABI2): Define.
+
+Thu Oct  3 10:01:40 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* common.h: Break mn10x00 support into mn10200 and mn10300.
+
+Wed Oct  2 21:26:43 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* common.h (EM_CYGNUS_MN10x00): Define.
+
+Mon Sep 23 09:18:04 1996  Doug Evans  <dje@seba.cygnus.com>
+
+	* m32r.h: New file.
+
+Fri Aug 30 17:06:21 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* common.h (EM_SH): Define.
+
+Tue Aug 20 14:47:54 1996  J.T. Conklin  <jtc@hippo.cygnus.com>
+
+	* common.h (EM_CYGNUS_V850): Define.
+
+Mon Aug 19 10:59:10 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+	* common.h (EM_CYGNUS_M32R): Define.
+
+Mon Jul 22 18:59:55 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips.h (SHT_MIPS_IFACE, SHT_MIPS_CONTENT): Define.
+	(SHT_MIPS_SYMBOL_LIB): Define.
+	(SHF_MIPS_MERGE, SHF_MIPS_ADDR32, SHF_MIPS_ADDR64): Define.
+	(SHF_MIPS_NOSTRIP, SHF_MIPS_LOCAL, SHF_MIPS_NAMES): Define.
+
+Thu Jul 18 19:12:15 1996  Stan Shebs  <shebs@andros.cygnus.com>
+
+	* dwarf2.h: New file.
+
+Jul 18 13:20:39 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
+
+	* common.h (EM_CYGNUS_D10V): Define.
+	* d10v.h: New file.
+
+Fri Jun 21 12:33:24 1996  Richard Henderson  <rth@tamu.edu>
+
+	* alpha.h: New file.
+	* common.h (EM_ALPHA): Define.
+
+Fri May 31 17:28:05 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips.h (Elf_External_Options, Elf_Internal_Options): Define.
+	(bfd_mips_elf_swap_options_in): Declare.
+	(bfd_mips_elf_swap_options_out): Declare.
+	(ODK_*): Define.
+	(Elf64_External_RegInfo, Elf64_Internal_RegInfo): Define.
+	(bfd_mips_elf64_swap_reginfo_in): Declare.
+	(bfd_mips_elf64_swap_reginfo_out): Declare.
+
+Thu May 30 12:35:57 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips.h (E_MIPS_ARCH_4): Define.
+
+Wed May 29 15:35:33 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips.h (Elf64_Mips_External_Rel): Define.
+	(Elf64_Mips_Internal_Rel): Define.
+	(Elf64_Mips_External_Rela, Elf64_Mips_Internal_Rela): Define.
+	(RSS_*): Define.
+
+Mon Apr 22 18:26:30 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+	* sparc.h (R_SPARC_[56]): Always define.
+
+Mon Feb 19 01:55:56 1996  Doug Evans  <dje@charmed.cygnus.com>
+
+	* sparc.h (R_SPARC_{PLT32,HIPLT22,LOPLT10,PCPLT32,PCPLT22,
+	PCPLT10,5,6}): Don't define ifdef SPARC64_OLD_RELOCS.
+
+Tue Feb  6 11:33:58 1996  Doug Evans  <dje@charmed.cygnus.com>
+
+	* sparc.h (enum sparc_elf_reloc_type): Define.
+
+Wed Jan 17 09:09:16 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+	* common.h: Define EM_SPARC32PLUS.
+	* sparc.h: New file.
+
+Thu Jan 11 16:27:34 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* ppc.h (SHF_EXCLUDE, SHT_ORDERED): New fields from the abi.
+
+Thu Nov 30 16:47:18 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* internal.h (struct elf_segment_map): Add includes_filehdr and
+	includes_phdrs fields.
+
+Tue Nov 28 16:58:10 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* internal.h (struct elf_segment_map): Define.
+
+Tue Oct 31 15:19:36 1995  Fred Fish  <fnf@cygnus.com>
+
+	* common.h, dwarf.h, external.h, hppa.h, internal.h,
+	mips.h, ppc.h:  Protect against multiple inclusions.
+
+Thu Sep 21 13:51:58 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* ppc.h (EF_PPC_RELOCATABLE_LIB): Add new flag bit.
+
+Fri Sep  1 15:32:17 1995  Kazumoto Kojima  <kkojima@info.kanagawa-u.ac.jp>
+
+	* mips.h: Add some definitions used on Irix 5.
+
+Tue Jun 20 10:18:28 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+	* hppa.h (CPU_PA_RISC1_0): Protect from redefinitions.
+	(CPU_PA_RISC1_1): Likewise.
+
+Wed Mar  8 18:14:37 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* ppc.h: New file for PowerPC support.
+
+Tue Feb 14 13:59:13 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* common.h (EM_PPC): Use offical value of 20, not 17.
+	(EM_PPC_OLD): Define this to be the old value of EM_PPC.
+
+Tue Jan 24 09:40:59 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* common.h (EM_PPC): New macro, PowerPC machine id.
+
+Tue Jan 17 10:51:38 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+	* mips.h (SHT_MIPS_MSYM, SHT_MIPS_DWARF, SHT_MIPS_EVENTS): Define.
+
+Mon Oct 17 13:43:59 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+	* internal.h (Elf_Internal_Shdr): Remove rawdata and size fields.
+	Add bfd_section field.
+
+Tue May 24 16:11:50 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* mips.h (Elf32_External_gptab): Define.
+
+Mon May 16 13:22:04 1994  Jeff Law  (law@snake.cs.utah.edu)
+
+	* common.h (EM_HPPA): Delete.
+	(EM_PARISC): Add.
+	* hppa.h: New file.
+
+Mon May  9 13:27:03 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* common.h (SHN_LORESERVE): Rename from SHN_LORESERV.
+	(ELF32_R_TYPE, ELF32_R_INFO): Don't rely on size of unsigned char.
+	(ELF64_R_TYPE): Don't rely on size of unsigned long.
+
+Mon Apr 25 15:53:09 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* internal.h (Elf_Internal_Shdr): Use PTR, not void *.
+
+Fri Mar 11 00:34:59 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
+
+	* mips.h (SHN_MIPS_TEXT, SHN_MIPS_DATA):  Define.
+
+Sat Mar  5 14:08:54 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
+
+	* internal.h:  Remove Elf32_*, Elf64_* typedefs.  These names
+	cause conflicts with system headers, e.g. link.h in gdb/solib.c.
+	Combine 32- and 64-bit versions of *_Internal_Dyn.
+	* common.h:  Replace uses of Elf64_Word, Elf64_Xword typedefs
+	by their expansion.
+	* mips.h:  Replace uses of Elf32_Word, Elf32_Sword, Elf32_Addr
+	typedefs by their expansion. Add DT_MIPS_RLD_MAP definition.
+
+Fri Feb 18 10:39:54 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* common.h (EM_CYGNUS_POWERPC): Define.  This may be temporary,
+	depending upon how quickly I can find a real PowerPC ABI.
+
+Mon Feb  7 08:27:13 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
+
+	* internal.h: Change HOST_64_BIT to BFD_HOST_64_BIT.
+
+Wed Feb  2 14:12:18 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
+
+	* common.h: Add comments regarding value of EM_HPPA and how to
+	pick an unofficial value.
+
+Wed Nov 17 17:14:26 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* mips.h (SHT_MIPS_OPTIONS): Define.
+
+Mon Nov  8 17:57:00 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* mips.h: Added some more MIPS ABI macro definitions.
+
+Wed Nov  3 22:07:17 1993  Ken Raeburn  (raeburn@rtl.cygnus.com)
+
+	* common.h (EM_MIPS_RS4_BE): New macro.
+
+Tue Oct 12 07:28:18 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* mips.h: New file.  MIPS ABI specific information.
+
+Mon Jun 21 13:13:43 1993  Ken Raeburn  (raeburn@poseidon.cygnus.com)
+
+	* internal.h: Combined 32- and 64-bit versions of all structures
+	except *_Internal_Dyn.  This will simply the assembler interface,
+	and some bfd code.
+
+Tue May 25 02:00:16 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
+
+	* external.h, internal.h, common.h: Added 64-bit versions of some
+	structures and macros.  Renamed old versions to put "32" in the
+	name.  Some are unchanged.
+
+Thu Apr 29 12:12:20 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)
+
+	* common.h (EM_HPPA, NT_VERSION, STN_UNDEF, DT_*): New macros.
+	* external.h (Elf_External_Dyn): New type.
+
+	* internal.h (Elf_Intenral_Shdr): New field `size'.
+	(Elf_Internal_Dyn): New type.
+
+Tue Apr 20 16:03:45 1993  Fred Fish  (fnf@cygnus.com)
+
+	* dwarf.h (LANG_CHILL):  Change value to one randomly picked in
+	the user defined range, to reduce probability of collisions.
+
+Sun Nov 15 09:34:02 1992  Fred Fish  (fnf@cygnus.com)
+
+	* dwarf.h (AT_src_coords):  Whitespace change only.
+	* dwarf.h (AT_body_begin, AT_body_end, LANG_MODULA2):
+	Add from latest gcc.
+	* dwarf.h (LANG_CHILL):  Add as GNU extension.
+
+Sat Aug  1 13:46:53 1992  Fred Fish  (fnf@cygnus.com)
+
+	* dwarf.h:  Replace with current version from gcc distribution.
+
+Fri Jun 19 19:05:09 1992  John Gilmore  (gnu at cygnus.com)
+
+	* internal.h:  Add real struct tags to all the Type_Defs, so they
+	can be used in prototypes where the Type_Defs are not known.
+
+Fri Apr  3 20:58:58 1992  Mark Eichin  (eichin at cygnus.com)
+
+	* common.h: added ELF_R_{SYM,TYPE,INFO} for handling relocation
+	info
+	added EM_MIPS, and corrected value of EM_860 based on System V ABI
+	manual.
+
+	* external.h: added Elf_External_{Rel,Rela}.
+
+	* internal.h: added Elf_Internal_{Rel,Rela}.
+	added rawdata to Elf_Internal_Shdr.
+
+Sat Nov 30 20:43:59 1991  Steve Chamberlain  (sac at rtl.cygnus.com)
+
+	* common.h, dwarf.h, external.h, internal.h, ChangeLog; moved from
+	../elf-<foo>
+
+
+Local Variables:
+version-control: never
+End:
diff --git a/include/opcode/ChangeLog-9103 b/include/opcode/ChangeLog-9103
new file mode 100644
index 0000000..0cdb1f3
--- /dev/null
+++ b/include/opcode/ChangeLog-9103
@@ -0,0 +1,3102 @@
+2003-10-21  Peter Barada  <pbarada@mail.wm.sps.mot.com>
+	    Bernardo Innocenti  <bernie@develer.com>
+
+	* m68k.h: Add MCFv4/MCF5528x support.
+
+2003-10-19  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* mmix.h (JMP_INSN_BYTE): Define.
+
+2003-09-30  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips.h: Document +E, +F, +G, +H, and +I operand types.
+	Update documentation of I, +B and +C operand types.
+	(INSN_ISA64R2, ISA_MIPS64R2, CPU_MIPS64R2): New defines.
+	(M_DEXT, M_DINS): New enum values.
+
+2003-09-04  Nick Clifton  <nickc@redhat.com>
+
+	* v850.h (PROCESSOR_V850E1): Define.
+
+2003-08-19  Alan Modra  <amodra@bigpond.net.au>
+
+	* ppc.h (PPC_OPCODE_440): Define.  Formatting.  Use hex for other
+	PPC_OPCODE_* defines.
+
+2003-08-16  Jason Eckhardt  <jle@rice.edu>
+
+	* i860.h (fmov.ds): Expand as famov.ds.
+	(fmov.sd): Expand as famov.sd.
+	(pfmov.ds): Expand as pfamov.ds.
+
+2003-08-07  Michael Meissner  <gnu@the-meissners.org>
+
+	* cgen.h: Remove PARAM macro usage in all prototypes.
+	(CGEN_EXTRACT_INFO): Use void * instead of PTR.
+	(cgen_print_fn): Ditto.
+	(CGEN_HW_ENTRY): Ditto.
+	(CGEN_MAYBE_MULTI_IFLD): Ditto.
+	(struct cgen_insn): Ditto.
+	(CGEN_CPU_TABLE): Ditto.
+
+2003-08-07  Alan Modra  <amodra@bigpond.net.au>
+
+	* alpha.h: Remove PARAMS macro.
+	* arc.h: Likewise.
+	* d10v.h: Likewise.
+	* d30v.h: Likewise.
+	* i370.h: Likewise.
+	* or32.h: Likewise.
+	* pj.h: Likewise.
+	* ppc.h: Likewise.
+	* sparc.h: Likewise.
+	* tic80.h: Likewise.
+	* v850.h: Likewise.
+
+2003-07-18  Michael Snyder  <msnyder@redhat.com>
+
+	* include/opcode/h8sx.h (DO_MOVA1, DO_MOVA2): Reformatting.
+
+2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
+
+	* mips.h (CPU_RM7000): New macro.
+	(OPCODE_IS_MEMBER): Match CPU_RM7000 against 4650 insns.
+
+2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
+
+	2000-04-01  Alexandre Oliva  <aoliva@cygnus.com>
+	* mn10300.h (AM33_2): Renamed from AM33.
+	2000-03-31  Alexandre Oliva  <aoliva@cygnus.com>
+	* mn10300.h (AM332, FMT_D3): Defined.
+	(MN10300_OPERAND_FSREG, MN10300_OPERAND_FDREG): Likewise.
+	(MN10300_OPERAND_FPCR): Likewise.
+
+2003-07-01  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* s390.h (s390_opcode_cpu_val): Add enum for cpu type z990.
+
+2003-06-25  Richard Sandiford  <rsandifo@redhat.com>
+
+	* h8300.h (IMM2_NS, IMM8_NS, IMM16_NS): Remove.
+	(IMM8U, IMM8U_NS): Define.
+	(h8_opcodes): Use IMM8U_NS for mov.[wl] #xx:8,@yy.
+
+2003-06-25  Richard Sandiford  <rsandifo@redhat.com>
+
+	* h8300.h (h8_opcodes): Fix the mov.l @(dd:32,ERs),ERd and
+	mov.l ERs,@(dd:32,ERd) entries.
+
+2003-06-23  H.J. Lu <hongjiu.lu@intel.com>
+
+	* i386.h (i386_optab): Support Intel Precott New Instructions.
+
+2003-06-10  Gary Hade <garyhade@us.ibm.com>
+
+	* ppc.h (PPC_OPERAND_DQ): Define.
+
+2003-06-10  Richard Sandiford  <rsandifo@redhat.com>
+
+	* h8300.h (IMM4_NS, IMM8_NS): New.
+	(h8_opcodes): Replace IMM4 with IMM4_NS in mov.b and mov.w entries.
+	Likewise IMM8 for mov.w and mov.l.  Likewise IMM16U for mov.l.
+
+2003-06-03  Michael Snyder  <msnyder@redhat.com>
+
+	* h8300.h (enum h8_model): Add AV_H8S to distinguish from H8H.
+	(ldc): Split ccr ops from exr ops (which are only available
+	on H8S or H8SX).
+	(stc): Ditto.
+	(andc, orc, xorc): Ditto.
+	(ldmac, stmac, clrmac, mac): Change access to AV_H8S.
+
+2003-06-03  Michael Snyder  <msnyder@redhat.com>
+	and Bernd Schmidt   <bernds@redhat.com>
+	and Alexandre Oliva <aoliva@redhat.com>
+	* h8300.h: Add support for h8300sx instruction set.
+
+2003-05-23  Jason Eckhardt  <jle@rice.edu>
+
+	* i860.h (expand_type): Add XP_ONLY.
+	(scyc.b): New XP instruction.
+	(ldio.l): Likewise.
+	(ldio.s): Likewise.
+	(ldio.b): Likewise.
+	(ldint.l): Likewise.
+	(ldint.s): Likewise.
+	(ldint.b): Likewise.
+	(stio.l): Likewise.
+	(stio.s): Likewise.
+	(stio.b): Likewise.
+	(pfld.q): Likewise.
+
+2003-05-20  Jason Eckhardt  <jle@rice.edu>
+
+	* i860.h (flush): Set lower 3 bits properly and use 'L'
+	for the immediate operand type instead of 'i'.
+
+2003-05-20  Jason Eckhardt  <jle@rice.edu>
+
+	* i860.h (fzchks): Both S and R bits must be set.
+	(pfzchks): Likewise.
+	(faddp): Likewise.
+	(pfaddp): Likewise.
+	(fix.ss): Remove (invalid instruction).
+	(pfix.ss): Likewise.
+	(ftrunc.ss): Likewise.
+	(pftrunc.ss): Likewise.
+
+2003-05-18  Jason Eckhardt  <jle@rice.edu>
+
+	* i860.h (form, pform): Add missing .dd suffix.
+
+2003-05-13  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* m68hc11.h (M68HC12_BANK_VIRT): Define to 0x010000
+
+2003-04-07  Michael Snyder  <msnyder@redhat.com>
+
+	* h8300.h (ldc/stc): Fix up src/dst swaps.
+
+2003-04-09  J. Grant  <jg-binutils@jguk.org>
+
+	* mips.h: Correct comment typo.
+
+2003-03-21  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* s390.h (s390_opcode_arch_val): Rename to s390_opcode_mode_val.
+	(S390_OPCODE_ESAME): Rename to S390_OPCODE_ZARCH.
+	(s390_opcode): Remove architecture. Add modes and min_cpu.
+
+2003-03-17 D.Venkatasubramanian <dvenkat@noida.hcltech.com>
+
+	* h8300.h (O_SYS_CMDLINE): New pseudo opcode for command line
+	processing.
+
+2003-02-21  Noida D.Venkatasubramanian  <dvenkat@noida.hcltech.com>
+
+	* h8300.h (ldmac, stmac): Replace MACREG with MS32 and MD32.
+
+2003-01-23  Alan Modra  <amodra@bigpond.net.au>
+
+	* m68hc11.h (cpu6812s): Define.
+
+2003-01-07  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips.h: Fix missing space in comment.
+	(INSN_ISA1, INSN_ISA2, INSN_ISA3, INSN_ISA4, INSN_ISA5)
+	(INSN_ISA32, INSN_ISA32R2, INSN_ISA64): Shift values right
+	by four bits.
+
+2003-01-02  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips.h: Update copyright years to include 2002 (which had
+	been missed previously) and 2003.  Make comments about "+A",
+	"+B", and "+C" operand types more descriptive.
+
+2002-12-31  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips.h: Note that the "+D" operand type name is now used.
+
+2002-12-30  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips.h: Document "+" as the start of two-character operand
+	type names, and add new "K", "+A", "+B", and "+C" operand types.
+	(OP_MASK_INSMSB, OP_SH_INSMSB, OP_MASK_EXTMSB)
+	(OP_SH_EXTMSB, INSN_ISA32R2, ISA_MIPS32R2, CPU_MIPS32R2): New
+	defines.
+
+2002-12-24    Dmitry Diky <diwil@mail.ru>
+
+	* msp430.h: New file.  Defines msp430 opcodes.
+
+2002-12-30 D.Venkatasubramanian <dvenkat@noida.hcltech.com>
+
+	* h8300.h: Added some more pseudo opcodes for system call
+	processing.
+
+2002-12-19  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips.h (OP_OP_COP0, OP_OP_COP1, OP_OP_COP2, OP_OP_COP3)
+	(OP_OP_LWC1, OP_OP_LWC2, OP_OP_LWC3, OP_OP_LDC1, OP_OP_LDC2)
+	(OP_OP_LDC3, OP_OP_SWC1, OP_OP_SWC2, OP_OP_SWC3, OP_OP_SDC1)
+	(OP_OP_SDC2, OP_OP_SDC3): Define.
+
+2002-12-16  Alan Modra  <amodra@bigpond.net.au>
+
+	* hppa.h (completer_chars): #if 0 out.
+
+	* ns32k.h (struct ns32k_opcode): Constify "name", "operands" and
+	"default_args".
+	(struct not_wot): Constify "args".
+	(struct not): Constify "name".
+	(numopcodes): Delete.
+	(endop): Delete.
+
+2002-12-13  Alan Modra  <amodra@bigpond.net.au>
+
+	* pj.h (pj_opc_info_t): Add union.
+
+2002-12-04  David Mosberger  <davidm@hpl.hp.com>
+
+	* ia64.h: Fix copyright message.
+	(IA64_OPND_AR_CSD): New operand kind.
+
+2002-12-03  Richard Henderson  <rth@redhat.com>
+
+	* ia64.h (enum ia64_opnd): Add IA64_OPND_LDXMOV.
+
+2002-12-03  Alan Modra  <amodra@bigpond.net.au>
+
+	* cgen.h (struct cgen_maybe_multi_ifield): Add "const PTR p" to union.
+	Constify "leaf" and "multi".
+
+2002-11-19  Klee Dienes  <kdienes@apple.com>
+
+	* h8300.h (h8_opcode): Remove 'noperands', 'idx', and 'size'
+	fields.
+	(h8_opcodes). Modify initializer and initializer macros to no
+	longer initialize the removed fields.
+
+2002-11-19  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+	* tic4x.h (c4x_insts): Fixed LDHI constraint
+
+2002-11-18  Klee Dienes  <kdienes@apple.com>
+
+	* h8300.h (h8_opcode): Remove 'length' field.
+	(h8_opcodes): Mark as 'const' (both the declaration and
+	definition).  Modify initializer and initializer macros to no
+	longer initialize the length field.
+
+2002-11-18  Klee Dienes  <kdienes@apple.com>
+
+	* arc.h (arc_ext_opcodes): Declare as extern.
+	(arc_ext_operands): Declare as extern.
+	* i860.h (i860_opcodes): Declare as const.
+
+2002-11-18  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+	* tic4x.h: File reordering. Added enhanced opcodes.
+
+2002-11-16  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+	* tic4x.h: Major rewrite of entire file. Define instruction
+	  classes, and put each instruction into a class.
+
+2002-11-11  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+	* tic4x.h: Added new opcodes and corrected some bugs.  Add support
+	for new DSP types.
+
+2002-10-14  Alan Modra  <amodra@bigpond.net.au>
+
+	* cgen.h: Test __BFD_H_SEEN__ rather than BFD_VERSION_DATE.
+
+2002-09-30  Gavin Romig-Koch  <gavin@redhat.com>
+	    Ken Raeburn  <raeburn@cygnus.com>
+	    Aldy Hernandez  <aldyh@redhat.com>
+	    Eric Christopher  <echristo@redhat.com>
+	    Richard Sandiford  <rsandifo@redhat.com>
+
+	* mips.h: Update comment for new opcodes.
+	(OP_MASK_VECBYTE, OP_SH_VECBYTE): New.
+	(OP_MASK_VECALIGN, OP_SH_VECALIGN): New.
+	(INSN_4111, INSN_4120, INSN_5400, INSN_5500): New.
+	(CPU_VR4120, CPU_VR5400, CPU_VR5500): New.
+	(OPCODE_IS_MEMBER): Handle the new CPU_* values and INSN_* flags.
+	Don't match CPU_R4111 with INSN_4100.
+
+2002-08-19  Elena Zannoni <ezannoni@redhat.com>
+
+	From matthew green  <mrg@redhat.com>
+
+	* ppc.h (PPC_OPCODE_SPE): New opcode flag for Powerpc e500
+	instructions.
+	(PPC_OPCODE_ISEL, PPC_OPCODE_BRLOCK, PPC_OPCODE_PMR,
+	PPC_OPCODE_CACHELCK, PPC_OPCODE_RFMCI): New opcode flags for the
+	e500x2 Integer select, branch locking, performance monitor,
+	cache locking and machine check APUs, respectively.
+	(PPC_OPCODE_EFS): New opcode type for efs* instructions.
+	(PPC_OPCODE_CLASSIC): New opcode type for Classic PowerPC instructions.
+
+2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* m68hc11.h (M6812_OP_PAGE): Define to identify call operand.
+	(M68HC12_BANK_VIRT, M68HC12_BANK_MASK, M68HC12_BANK_BASE,
+	M68HC12_BANK_SHIFT, M68HC12_BANK_PAGE_MASK): Define for 68HC12
+	memory banks.
+	(M6811_OC1M5, M6811_OC1M4, M6811_MODF): Fix value.
+
+2002-07-09  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* mips.h (INSN_MIPS16): New define.
+
+2002-07-08  Alan Modra  <amodra@bigpond.net.au>
+
+	* i386.h: Remove IgnoreSize from movsx and movzx.
+
+2002-06-08  Alan Modra  <amodra@bigpond.net.au>
+
+	* a29k.h: Replace CONST with const.
+	(CONST): Don't define.
+	* convex.h: Replace CONST with const.
+	(CONST): Don't define.
+	* dlx.h: Replace CONST with const.
+	* or32.h (CONST): Don't define.
+
+2002-05-30  Chris G. Demetriou  <cgd@broadcom.com>
+
+	* mips.h (OP_SH_ALN, OP_MASK_ALN, OP_SH_VSEL, OP_MASK_VSEL)
+	(MDMX_FMTSEL_IMM_QH, MDMX_FMTSEL_IMM_OB, MDMX_FMTSEL_VEC_QH)
+	(MDMX_FMTSEL_VEC_OB, INSN_READ_MDMX_ACC, INSN_WRITE_MDMX_ACC)
+	(INSN_MDMX): New constants, for MDMX support.
+	(opcode character list): Add "O", "Q", "X", "Y", and "Z" for MDMX.
+
+2002-05-28  Kuang Hwa Lin <kuang@sbcglobal.net>
+
+	* dlx.h: New file.
+
+2002-05-25  Alan Modra  <amodra@bigpond.net.au>
+
+	* ia64.h: Use #include "" instead of <> for local header files.
+	* sparc.h: Likewise.
+
+2002-05-22  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* mips.h: Add M_DROL, M_DROL_I, M_DROR, M_DROR_I macro cases.
+
+2002-05-17  Andrey Volkov  <avolkov@sources.redhat.com>
+
+	* h8300.h: Corrected defs of all control regs
+	and eepmov instr.
+
+2002-04-11  Alan Modra  <amodra@bigpond.net.au>
+
+	* i386.h: Add intel mode cmpsd and movsd.
+	Put them before SSE2 insns, so that rep prefix works.
+
+2002-03-15  Chris G. Demetriou  <cgd@broadcom.com>
+
+	* mips.h (INSN_MIPS3D): New definition used to mark MIPS-3D
+	instructions.
+	(OPCODE_IS_MEMBER): Adjust comments to indicate that ASE bit masks
+	may be passed along with the ISA bitmask.
+
+2002-03-05  Paul Koning  <pkoning@equallogic.com>
+
+	* pdp11.h: Add format codes for float instruction formats.
+
+2002-02-25  Alan Modra  <amodra@bigpond.net.au>
+
+	* ppc.h (PPC_OPCODE_POWER4, PPC_OPCODE_NOPOWER4): Define.
+
+Mon Feb 18 17:31:48 CET 2002  Jan Hubicka  <jh@suse.cz>
+
+	* i386.h (push,pop): Fix Reg64 to WordReg to allow 16bit operands.
+
+Mon Feb 11 12:53:19 CET 2002  Jan Hubicka  <jh@suse.cz>
+
+	* i386.h (push,pop): Allow 16bit operands in 64bit mode.
+	(xchg): Fix.
+	(in, out): Disable 64bit operands.
+	(call, jmp): Avoid REX prefixes.
+	(jcxz): Prohibit in 64bit mode
+	(jrcxz, loop): Add 64bit variants.
+	(movq): Fix patterns.
+	(movmskps, pextrw, pinstrw): Add 64bit variants.
+
+2002-01-31  Ivan Guzvinec  <ivang@opencores.org>
+
+	* or32.h: New file.
+
+2002-01-22  Graydon Hoare  <graydon@redhat.com>
+
+	* cgen.h (CGEN_MAYBE_MULTI_IFLD): New structure.
+	(CGEN_OPERAND): Add CGEN_MAYBE_MULTI_IFLD field.
+
+2002-01-21  Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
+
+	* h8300.h: Comment typo fix.
+
+2002-01-03  matthew green  <mrg@redhat.com>
+
+	* ppc.h (PPC_OPCODE_BOOKE): BookE is not Motorola specific.
+	(PPC_OPCODE_BOOKE64): Likewise.
+
+Mon Dec 31 16:45:41 2001  Jeffrey A Law  (law@cygnus.com)
+
+	* hppa.h (call, ret): Move to end of table.
+	(addb, addib): PA2.0 variants should have been PA2.0W.
+	(ldw, ldh, ldb, stw, sth, stb, stwa): Reorder to keep disassembler
+	happy.
+	(fldw, fldd, fstw, fstd, bb): Likewise.
+	(short loads/stores): Tweak format specifier slightly to keep
+	disassembler happy.
+	(indexed loads/stores): Likewise.
+	(absolute loads/stores): Likewise.
+
+2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
+
+	* d10v.h (OPERAND_NOSP): New macro.
+
+2001-11-29  Alexandre Oliva  <aoliva@redhat.com>
+
+	* d10v.h (OPERAND_SP): New macro.
+
+2001-11-15  Alan Modra  <amodra@bigpond.net.au>
+
+	* ppc.h (struct powerpc_operand <insert, extract>): Add dialect param.
+
+2001-11-11  Timothy Wall  <twall@alum.mit.edu>
+
+	* tic54x.h: Revise opcode layout; don't really need a separate
+	structure for parallel opcodes.
+
+2001-11-13  Zack Weinberg <zack@codesourcery.com>
+	    Alan Modra  <amodra@bigpond.net.au>
+
+	* i386.h (i386_optab): Add entries for "sldr", "smsw" and "str" to
+	accept WordReg.
+
+2001-11-04  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips.h (OPCODE_IS_MEMBER): Remove extra space.
+
+2001-10-30  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* mmix.h: New file.
+
+2001-10-18  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips.h (OPCODE_IS_MEMBER): Add a no-op term to the end
+	of the expression, to make source code merging easier.
+
+2001-10-17  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips.h: Sort coprocessor instruction argument characters
+	in comment, add a few more words of description for "H".
+
+2001-10-17  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips.h (INSN_SB1): New cpu-specific instruction bit.
+	(OPCODE_IS_MEMBER): Allow instructions matching INSN_SB1
+	if cpu is CPU_SB1.
+
+2001-10-17  matthew green  <mrg@redhat.com>
+
+	* ppc.h (PPC_OPCODE_BOOKE64): Fix typo.
+
+2001-10-12  matthew green  <mrg@redhat.com>
+
+	* ppc.h (PPC_OPCODE_BOOKE, PPC_OPCODE_BOOKE64, PPC_OPCODE_403): New
+	opcode flags for BookE 32-bit, BookE 64-bit and PowerPC 403
+	instructions, respectively.
+
+2001-09-27  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* v850.h: Remove spurious comment.
+
+2001-09-21  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* h8300.h: Fix compile time warning messages
+
+2001-09-04  Richard Henderson  <rth@redhat.com>
+
+	* alpha.h (struct alpha_operand): Pack elements into bitfields.
+
+2001-08-31  Eric Christopher  <echristo@redhat.com>
+
+	* mips.h: Remove CPU_MIPS32_4K.
+
+2001-08-27  Torbjorn Granlund  <tege@swox.com>
+
+	* ppc.h (PPC_OPERAND_DS): Define.
+
+2001-08-25  Andreas Jaeger  <aj@suse.de>
+
+	* d30v.h: Fix declaration of reg_name_cnt.
+
+	* d10v.h: Fix declaration of d10v_reg_name_cnt.
+
+	* arc.h: Add prototypes from opcodes/arc-opc.c.
+
+2001-08-16  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* mips.h (INSN_10000): Define.
+	(OPCODE_IS_MEMBER): Check for INSN_10000.
+
+2001-08-10  Alan Modra  <amodra@one.net.au>
+
+	* ppc.h: Revert 2001-08-08.
+
+2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
+
+	* mips.h (INSN_GP32): Remove.
+	(OPCODE_IS_MEMBER): Remove gp32 parameter.
+	(M_MOVE): New macro identifier.
+
+2001-08-08  Alan Modra  <amodra@one.net.au>
+
+	1999-10-25  Torbjorn Granlund  <tege@swox.com>
+	* ppc.h (struct powerpc_operand): New field `reloc'.
+
+2001-08-01  Aldy Hernandez  <aldyh@redhat.com>
+
+	* mips.h (INSN_ISA_MASK): Nuke bits 12-15.
+
+2001-07-12  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* cgen.h (CGEN_INSN): Add regex support.
+	(build_insn_regex): Declare.
+
+2001-07-11  Frank Ch. Eigler  <fche@redhat.com>
+
+	* cgen.h (CGEN_MACH): Add insn_chunk_bitsize field.
+	(cgen_cpu_desc): Ditto.
+
+2001-07-07  Ben Elliston  <bje@redhat.com>
+
+	* m88k.h: Clean up and reformat. Remove unused code.
+
+2001-06-14  Geoffrey Keating  <geoffk@redhat.com>
+
+	* cgen.h (cgen_keyword): Add nonalpha_chars field.
+
+2001-05-23  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* mips.h (CPU_R12000): Define.
+
+2001-05-23  John Healy  <jhealy@redhat.com>
+
+	* cgen.h: Increased CGEN_MAX_SYNTAX_ELEMENTS to 48.
+
+2001-05-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* mips.h (INSN_ISA_MASK): Define.
+
+2001-05-12  Alan Modra  <amodra@one.net.au>
+
+	* i386.h (i386_optab): Second operand of cvtps2dq is an xmm reg,
+	not an mmx reg.  Swap xmm/mmx regs on both movdq2q and movq2dq,
+	and use InvMem as these insns must have register operands.
+
+2001-05-04  Alan Modra  <amodra@one.net.au>
+
+	* i386.h (i386_optab): Move InvMem to first operand of pmovmskb
+	and pextrw to swap reg/rm assignments.
+
+2001-04-05  Hans-Peter Nilsson  <hp@axis.com>
+
+	* cris.h (enum cris_insn_version_usage): Correct comment for
+	cris_ver_v3p.
+
+2001-03-24  Alan Modra  <alan@linuxcare.com.au>
+
+	* i386.h (i386_optab): Correct entry for "movntdq".  Add "punpcklqdq".
+	Add InvMem to first operand of "maskmovdqu".
+
+2001-03-22  Hans-Peter Nilsson  <hp@axis.com>
+
+	* cris.h (ADD_PC_INCR_OPCODE): New macro.
+
+2001-03-21  Kazu Hirata  <kazu@hxi.com>
+
+	* h8300.h: Fix formatting.
+
+2001-03-22  Alan Modra  <alan@linuxcare.com.au>
+
+	* i386.h (i386_optab): Add paddq, psubq.
+
+2001-03-19  Alan Modra  <alan@linuxcare.com.au>
+
+	* i386.h (REGNAM_AL, REGNAM_AX, REGNAM_EAX): Define.
+
+2001-02-28  Igor Shevlyakov  <igor@windriver.com>
+
+	* m68k.h: new defines for Coldfire V4. Update mcf to know
+	about mcf5407.
+
+2001-02-18  lars brinkhoff  <lars@nocrew.org>
+
+	* pdp11.h: New file.
+
+2001-02-12  Jan Hubicka  <jh@suse.cz>
+
+	* i386.h (i386_optab): SSE integer converison instructions have
+	64bit versions on x86-64.
+
+2001-02-10  Nick Clifton  <nickc@redhat.com>
+
+	* mips.h: Remove extraneous whitespace.  Formating change to allow
+	for future contribution.
+
+2001-02-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* s390.h: New file.
+
+2001-02-02  Patrick Macdonald  <patrickm@redhat.com>
+
+	* cgen.h (CGEN_SYNTAX_CHAR_TYPE): Typedef as unsigned short.
+	(CGEN_MAX_SYNTAX_ELEMENTS): Rename from CGEN_MAX_SYNTAX_BYTES.
+	(CGEN_SYNTAX): Define using CGEN_MAX_SYNTAX_ELEMENTS.
+
+2001-01-24  Karsten Keil  <kkeil@suse.de>
+
+	* i386.h (i386_optab): Fix swapgs
+
+2001-01-14  Alan Modra  <alan@linuxcare.com.au>
+
+	* hppa.h: Describe new '<' and '>' operand types, and tidy
+	existing comments.
+	(pa_opcodes): Add entries for missing wide mode ldi,ldo,ldw,stw.
+	Remove duplicate "ldw j(s,b),x".  Sort some entries.
+
+2001-01-13  Jan Hubicka  <jh@suse.cz>
+
+	* i386.h (i386_optab): Fix pusha and ret templates.
+
+2001-01-11  Peter Targett  <peter.targett@arccores.com>
+
+	* arc.h (ARC_MACH_5, ARC_MACH_6, ARC_MACH_7, ARC_MACH_8): New
+	definitions for masking cpu type.
+	(arc_ext_operand_value) New structure for storing extended
+	operands.
+	(ARC_OPERAND_*) Flags for operand values.
+
+2001-01-10  Jan Hubicka  <jh@suse.cz>
+
+	* i386.h (pinsrw): Add.
+	(pshufw): Remove.
+	(cvttpd2dq): Fix operands.
+	(cvttps2dq): Likewise.
+	(movq2q): Rename to movdq2q.
+
+2001-01-10  Richard Schaal  <richard.schaal@intel.com>
+
+	* i386.h: Correct movnti instruction.
+
+2001-01-09  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* cgen.h (CGEN_SYNTAX_CHAR_TYPE): New typedef based on max number
+	of operands (unsigned char or unsigned short).
+	(CGEN_SYNTAX): Changed to make array CGEN_SYNTAX_CHAR_TYPE.
+	(CGEN_SYNTAX_CHAR): Changed to cast to unsigned char.
+
+2001-01-05  Jan Hubicka  <jh@suse.cz>
+
+	* i386.h (i386_optab): Make [sml]fence template to use immext field.
+
+2001-01-03  Jan Hubicka  <jh@suse.cz>
+
+	* i386.h (i386_optab): Fix 64bit pushf template; Add instructions
+	introduced by Pentium4
+
+2000-12-30  Jan Hubicka  <jh@suse.cz>
+
+	* i386.h (i386_optab): Add "rex*" instructions;
+	add swapgs; disable jmp/call far direct instructions for
+	64bit mode; add syscall and sysret; disable registers for 0xc6
+	template.  Add 'q' suffixes to extendable instructions, disable
+	obsolete instructions, add new sign/zero extension ones.
+	(i386_regtab): Add extended registers.
+	(*Suf): Add No_qSuf.
+	(q_Suf, wlq_Suf, bwlq_Suf): New.
+
+2000-12-20  Jan Hubicka  <jh@suse.cz>
+
+	* i386.h (i386_optab): Replace "Imm" with "EncImm".
+	(i386_regtab): Add flags field.
+
+2000-12-12  Nick Clifton  <nickc@redhat.com>
+
+	* mips.h: Fix formatting.
+
+2000-12-01  Chris Demetriou  <cgd@sibyte.com>
+
+	mips.h (OP_MASK_SYSCALL, OP_SH_SYSCALL): Delete.
+	(OP_MASK_CODE20, OP_SH_CODE20): Define, with values of old
+	OP_*_SYSCALL definitions.
+	(OP_SH_CODE19, OP_MASK_CODE19): Define, for use as
+	19 bit wait codes.
+	(MIPS operand specifier comments): Remove 'm', add 'U' and
+	'J', and update the meaning of 'B' so that it's more general.
+
+	* mips.h (INSN_ISA1, INSN_ISA2, INSN_ISA3, INSN_ISA4,
+	INSN_ISA5): Renumber, redefine to mean the ISA at which the
+	instruction was added.
+	(INSN_ISA32): New constant.
+	(INSN_4650, INSN_4010, INSN_4100, INSN_3900, INSN_GP32):
+	Renumber to avoid new and/or renumbered INSN_* constants.
+	(INSN_MIPS32): Delete.
+	(ISA_UNKNOWN): New constant to indicate unknown ISA.
+	(ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4, ISA_MIPS5,
+	ISA_MIPS32): New constants, defined to be the mask of INSN_*
+	constants available at that ISA level.
+	(CPU_UNKNOWN): New constant to indicate unknown CPU.
+	(CPU_4K, CPU_MIPS32_4K): Rename the former to the latter,
+	define it with a unique value.
+	(OPCODE_IS_MEMBER): Update for new ISA membership-related
+	constant meanings.
+
+	* mips.h (INSN_ISA64, ISA_MIPS5, ISA_MIPS64): New
+	definitions.
+
+	* mips.h (CPU_SB1): New constant.
+
+2000-10-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* sparc.h (enum sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_V9B.
+	Note that '3' is used for siam operand.
+
+2000-09-22  Jim Wilson  <wilson@cygnus.com>
+
+	* ia64.h (enum ia64_dependency_semantics): Add IA64_DVS_STOP.
+
+2000-09-13  Anders Norlander  <anorland@acc.umu.se>
+
+	* mips.h: Use defines instead of hard-coded processor numbers.
+	(CPU_R2000, CPU_R3000, CPU_R3900, CPU_R4000, CPU_R4010,
+	CPU_VR4100, CPU_R4111, CPU_R4300, CPU_R4400, CPU_R4600, CPU_R4650,
+	CPU_R5000, CPU_R6000, CPU_R8000, CPU_R10000, CPU_MIPS32, CPU_4K,
+	CPU_4KC, CPU_4KM, CPU_4KP): Define..
+	(OPCODE_IS_MEMBER): Use new defines.
+	(OP_MASK_SEL, OP_SH_SEL): Define.
+	(OP_MASK_CODE20, OP_SH_CODE20): Define.
+	Add 'P' to used characters.
+	Use 'H' for coprocessor select field.
+	Use 'm' for 20 bit breakpoint code.
+	Document new arg characters and add to used characters.
+	(INSN_MIPS32): New define for MIPS32 extensions.
+	(OPCODE_IS_MEMBER): Recognize MIPS32 instructions.
+
+2000-09-05  Alan Modra  <alan@linuxcare.com.au>
+
+	* hppa.h: Mention cz completer.
+
+2000-08-16  Jim Wilson  <wilson@cygnus.com>
+
+	* ia64.h (IA64_OPCODE_POSTINC): New.
+
+2000-08-15  H.J. Lu  <hjl@gnu.org>
+
+	* i386.h: Swap the Intel syntax "movsx"/"movzx" due to the
+	IgnoreSize change.
+
+2000-08-08  Jason Eckhardt  <jle@cygnus.com>
+
+	* i860.h: Small formatting adjustments.
+
+2000-07-29  Marek Michalkiewicz  <marekm@linux.org.pl>
+
+	* avr.h (AVR_UNDEF_P, AVR_SKIP_P, AVR_DISP0_P): New macros.
+	Move related opcodes closer to each other.
+	Minor changes in comments, list undefined opcodes.
+
+2000-07-26  Dave Brolley  <brolley@redhat.com>
+
+	* cgen.h (cgen_hw_lookup_by_num): Second parameter is unsigned.
+
+2000-07-22  Jason Eckhardt  <jle@cygnus.com>
+
+	* i860.h (btne, bte, bla): Changed these opcodes
+	to use sbroff ('r') instead of split16 ('s').
+	(J, K, L, M): New operand types for 16-bit aligned fields.
+	(ld.x, {p}fld.x, fst.x, pst.d): Changed these opcodes to
+	use I, J, K, L, M instead of just I.
+	(T, U): New operand types for split 16-bit aligned fields.
+	(st.x): Changed these opcodes to use S, T, U instead of just S.
+	(andh, andnoth, orh, xorh): Deleted 3-register forms as they do not
+	exist on the i860.
+	(pfgt.sd, pfle.sd): Deleted these as they do not exist on the i860.
+	(pfeq.ss, pfeq.dd): New opcodes.
+	(st.s): Fixed incorrect mask bits.
+	(fmlow): Fixed incorrect mask bits.
+	(fzchkl, pfzchkl): Fixed incorrect mask bits.
+	(faddz, pfaddz): Fixed incorrect mask bits.
+	(form, pform): Fixed incorrect mask bits.
+	(pfld.l): Fixed incorrect mask bits.
+	(fst.q): Fixed incorrect mask bits.
+	(all floating point opcodes): Fixed incorrect mask bits for
+	handling of dual bit.
+
+2000-07-20  Hans-Peter Nilsson  <hp@axis.com>
+
+	cris.h: New file.
+
+2000-06-26  Marek Michalkiewicz  <marekm@linux.org.pl>
+
+	* avr.h (AVR_ISA_WRAP): Remove, now assumed if not AVR_ISA_MEGA.
+	(AVR_ISA_ESPM): Remove, because ESPM removed in databook update.
+	(AVR_ISA_85xx): Remove, all uses changed back to AVR_ISA_2xxx.
+	(AVR_ISA_M83): Define for ATmega83, ATmega85.
+	(espm): Remove, because ESPM removed in databook update.
+	(eicall, eijmp): Move to the end of opcode table.
+
+2000-06-18  Stephane Carrez  <stcarrez@worldnet.fr>
+
+	* m68hc11.h: New file for support of Motorola 68hc11.
+
+Fri Jun  9 21:51:50 2000  Denis Chertykov  <denisc@overta.ru>
+
+	* avr.h: clr,lsl,rol, ... moved after add,adc, ...
+
+Wed Jun  7 21:39:54 2000  Denis Chertykov  <denisc@overta.ru>
+
+	* avr.h: New file with AVR opcodes.
+
+Wed Apr 12 17:11:20 2000  Donald Lindsay  <dlindsay@hound.cygnus.com>
+
+	* d10v.h: added ALONE attribute for d10v_opcode.exec_type.
+
+2000-05-23  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+
+	* i386.h: Allow d suffix on iret, and add DefaultSize modifier.
+
+2000-05-17  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+
+	* i386.h: Use sl_FP, not sl_Suf for fild.
+
+2000-05-16  Frank Ch. Eigler  <fche@redhat.com>
+
+	* cgen.h (CGEN_MAX_SYNTAX_BYTES): Increase to 32.  Check that
+	it exceeds CGEN_ACTUAL_MAX_SYNTAX_BYTES, if set.
+	(CGEN_MAX_IFMT_OPERANDS): Increase to 16.  Check that it exceeds
+	CGEN_ACTUAL_MAX_IFMT_OPERANDS, if set.
+
+2000-05-13  Alan Modra  <alan@linuxcare.com.au>,
+
+	* i386.h (i386_optab): Cpu686 for sysenter,sysexit,fxsave,fxrestore.
+
+2000-05-13  Alan Modra  <alan@linuxcare.com.au>,
+	    Alexander Sokolov <robocop@netlink.ru>
+
+	* i386.h (i386_optab): Add cpu_flags for all instructions.
+
+2000-05-13  Alan Modra  <alan@linuxcare.com.au>
+
+	From Gavin Romig-Koch <gavin@cygnus.com>
+	* i386.h (wld_Suf): Define.  Use on pushf, popf, pusha, popa.
+
+2000-05-04  Timothy Wall  <twall@cygnus.com>
+
+	* tic54x.h: New.
+
+2000-05-03  J.T. Conklin  <jtc@redback.com>
+
+	* ppc.h (PPC_OPCODE_ALTIVEC): New opcode flag for vector unit.
+	(PPC_OPERAND_VR): New operand flag for vector registers.
+
+2000-05-01  Kazu Hirata  <kazu@hxi.com>
+
+	* h8300.h (EOP): Add missing initializer.
+
+Fri Apr 21 15:03:37 2000  Jason Eckhardt  <jle@cygnus.com>
+
+	* hppa.h (pa_opcodes): New opcodes for PA2.0 wide mode
+	forms of ld/st{b,h,w,d} and fld/fst{w,d} (16-bit displacements).
+	New operand types l,y,&,fe,fE,fx added to support above forms.
+	(pa_opcodes): Replaced usage of 'x' as source/target for
+	floating point double-word loads/stores with 'fx'.
+
+Fri Apr 21 13:20:53 2000  Richard Henderson  <rth@cygnus.com>
+			  David Mosberger  <davidm@hpl.hp.com>
+			  Timothy Wall <twall@cygnus.com>
+			  Jim Wilson  <wilson@cygnus.com>
+
+	* ia64.h: New file.
+
+2000-03-27  Nick Clifton  <nickc@cygnus.com>
+
+	* d30v.h (SHORT_A1): Fix value.
+	(SHORT_AR): Renumber so that it is at the end of the list of short
+	instructions, not the end of the list of long instructions.
+
+2000-03-26  Alan Modra  <alan@linuxcare.com>
+
+	* i386.h: (UNIXWARE_COMPAT): Rename to SYSV386_COMPAT as the
+	problem isn't really specific to Unixware.
+	(OLDGCC_COMPAT): Define.
+	(i386_optab): If !OLDGCC_COMPAT, don't handle fsubp etc. with
+	destination %st(0).
+	Fix lots of comments.
+
+2000-03-02  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* d30v.h:
+	(SHORT_B2r, SHORT_B3, SHORT_B3r, SHORT_B3b, SHORT_B3br): Updated.
+	(SHORT_D1r, SHORT_D2, SHORT_D2r, SHORT_D2Br, SHORT_U): Updated.
+	(SHORT_F, SHORT_AF, SHORT_T, SHORT_A5, SHORT_CMP, SHORT_CMPU): Updated.
+	(SHORT_A1, SHORT_AA, SHORT_RA, SHORT_MODINC, SHORT_MODDEC): Updated.
+	(SHORT_C1, SHORT_C2, SHORT_UF, SHORT_A2, SHORT_NONE, LONG): Updated.
+	(LONG_U, LONG_Ur, LONG_CMP, LONG_M, LONG_M2, LONG_2, LONG_2r): Updated.
+	(LONG_2b, LONG_2br, LONG_D, LONG_Dr, LONG_Dbr): Updated.
+
+2000-02-25  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* i386.h (fild, fistp): Change intel d_Suf form to fildd and
+	fistpd without suffix.
+
+2000-02-24  Nick Clifton  <nickc@cygnus.com>
+
+	* cgen.h (cgen_cpu_desc): Rename field 'flags' to
+	'signed_overflow_ok_p'.
+	Delete prototypes for cgen_set_flags() and cgen_get_flags().
+
+2000-02-24  Andrew Haley  <aph@cygnus.com>
+
+	* cgen.h (CGEN_INSN_MACH_HAS_P): New macro.
+	(CGEN_CPU_TABLE): flags: new field.
+	Add prototypes for new functions.
+
+2000-02-24  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* i386.h: Add some more UNIXWARE_COMPAT comments.
+
+2000-02-23  Linas Vepstas <linas@linas.org>
+
+	* i370.h: New file.
+
+2000-02-22  Chandra Chavva  <cchavva@cygnus.com>
+
+	* d30v.h (FLAG_NOT_WITH_ADDSUBppp): Redefined as operation
+	cannot be combined in parallel with ADD/SUBppp.
+
+2000-02-22  Andrew Haley  <aph@cygnus.com>
+
+	* mips.h: (OPCODE_IS_MEMBER): Add comment.
+
+1999-12-30  Andrew Haley  <aph@cygnus.com>
+
+	* mips.h (OPCODE_IS_MEMBER): Add gp32 arg, which determines
+	whether synthetic opcodes (e.g. move) generate 32-bit or 64-bit
+	insns.
+
+2000-01-15  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* i386.h: Qualify intel mode far call and jmp with x_Suf.
+
+1999-12-27  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* i386.h: Add JumpAbsolute qualifier to all non-intel mode
+	indirect jumps and calls.  Add FF/3 call for intel mode.
+
+Wed Dec  1 03:05:25 1999  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.h: Add new operand types.  Add new instruction formats.
+
+Wed Nov 24 20:28:58 1999  Jeffrey A Law  (law@cygnus.com)
+
+	* hppa.h (pa_opcodes): Correctly handle immediate for PA2.0 "bb"
+	instruction.
+
+1999-11-18  Gavin Romig-Koch  <gavin@cygnus.com>
+
+	* mips.h (INSN_ISA5): New.
+
+1999-11-01  Gavin Romig-Koch  <gavin@cygnus.com>
+
+	* mips.h (OPCODE_IS_MEMBER): New.
+
+1999-10-29  Nick Clifton  <nickc@cygnus.com>
+
+	* d30v.h (SHORT_AR): Define.
+
+1999-10-18  Michael Meissner  <meissner@cygnus.com>
+
+	* alpha.h (alpha_num_opcodes): Convert to unsigned.
+	(alpha_num_operands): Ditto.
+
+Sun Oct 10 01:46:56 1999  Jerry Quinn <jerry.quinn.adv91@alum.dartmouth.org>
+
+	* hppa.h (pa_opcodes): Add load and store cache control to
+	instructions.  Add ordered access load and store.
+
+	* hppa.h (pa_opcode): Add new entries for addb and addib.
+
+	* hppa.h (pa_opcodes): Fix cmpb and cmpib entries.
+
+	* hppa.h (pa_opcodes): Add entries for cmpb and cmpib.
+
+Thu Oct  7 00:12:25 MDT 1999	Diego Novillo <dnovillo@cygnus.com>
+
+	* d10v.h: Add flag RESTRICTED_NUM3 for imm3 operands.
+
+Thu Sep 23 07:08:38 1999  Jerry Quinn <jquinn@nortelnetworks.com>
+
+	* hppa.h (pa_opcodes): Add "call" and "ret".  Clean up "b", "bve"
+	and "be" using completer prefixes.
+
+	* hppa.h (pa_opcodes): Add initializers to silence compiler.
+
+	* hppa.h: Update comments about character usage.
+
+Mon Sep 20 03:55:31 1999  Jeffrey A Law  (law@cygnus.com)
+
+	* hppa.h (pa_opcodes): Fix minor thinkos introduced while cleaning
+	up the new fstw & bve instructions.
+
+Sun Sep 19 10:40:59 1999  Jeffrey A Law  (law@cygnus.com)
+
+	* hppa.h (pa_opcodes): Add remaining PA2.0 integer load/store
+	instructions.
+
+	* hppa.h (pa_opcodes): Add remaining PA2.0 FP load/store instructions.
+
+	* hppa.h (pa_opcodes): Add long offset double word load/store
+	instructions.
+
+	* hppa.h (pa_opcodes): Add FLAG_STRICT variants of FP loads and
+	stores.
+
+	* hppa.h (pa_opcodes): Handle PA2.0 fcnv, fcmp and ftest insns.
+
+	* hppa.h (pa_opcodes): Finish support for PA2.0 "b" instructions.
+
+	* hppa.h (pa_opcodes): Handle PA2.0 "bve" instructions.
+
+	* hppa.h (pa_opcodes): Add new syntax "be" instructions.
+
+	* hppa.h (pa_opcodes): Note use of 'M' and 'L'.
+
+	* hppa.h (pa_opcodes): Add support for "b,l".
+
+	* hppa.h (pa_opcodes): Add support for "b,gate".
+
+Sat Sep 18 11:41:16 1999  Jeffrey A Law  (law@cygnus.com)
+
+	* hppa.h (pa_opcodes): Use 'fX' for first register operand
+	in xmpyu.
+
+	* hppa.h (pa_opcodes): Fix mask for probe and probei.
+
+	* hppa.h (pa_opcodes): Fix mask for depwi.
+
+Tue Sep  7 13:44:25 1999  Jeffrey A Law  (law@cygnus.com)
+
+	* hppa.h (pa_opcodes): Add "addil" variant which has the %r1 as
+	an explicit output argument.
+
+Mon Sep  6 04:41:42 1999  Jeffrey A Law  (law@cygnus.com)
+
+	* hppa.h: Add strict variants of PA1.0/PA1.1 loads and stores.
+	Add a few PA2.0 loads and store variants.
+
+1999-09-04  Steve Chamberlain  <sac@pobox.com>
+
+	* pj.h: New file.
+
+1999-08-29  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* i386.h (i386_regtab): Move %st to top of table, and split off
+	other fp reg entries.
+	(i386_float_regtab): To here.
+
+Sat Aug 28 00:25:25 1999  Jerry Quinn <jquinn@nortelnetworks.com>
+
+	* hppa.h (pa_opcodes): Replace 'f' by 'v'.  Prefix float register args
+	by 'f'.
+
+	* hppa.h (pa_opcodes): Add extrd, extrw, depd, depdi, depw, depwi.
+	Add supporting args.
+
+	* hppa.h: Document new completers and args.
+	* hppa.h (pa_opcodes): Add 64 bit patterns and pa2.0 syntax for uxor,
+	uaddcm, dcor, addi, add, sub, subi, shladd, rfi, and probe.  Add pa2.0
+	extensions for ssm, rsm, pdtlb, pitlb.  Add performance instructions
+	pmenb and pmdis.
+
+	* hppa.h (pa_opcodes): Add pa2.0 instructions hadd, hshl,
+	hshr, hsub, mixh, mixw, permh.
+
+	* hppa.h (pa_opcodes): Change completers in instructions to
+	use 'c' prefix.
+
+	* hppa.h (pa_opcodes): Add popbts, new forms of bb, havg,
+	hshladd, hshradd, shrpd, and shrpw instructions.  Update arg comments.
+
+	* hppa.h (pa_opcodes): Change fmpyfadd, fmpynfadd, fneg,
+	fnegabs to use 'I' instead of 'F'.
+
+1999-08-21  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* i386.h: Add AMD athlon instructions, pfnacc, pfpnacc, pswapd.
+	Document pf2iw and pi2fw as athlon insns.  Remove pswapw.
+	Alphabetically sort PIII insns.
+
+Wed Aug 18 18:14:40 1999  Doug Evans  <devans@canuck.cygnus.com>
+
+	* cgen.h (CGEN_INSN_MACH_HAS_P): New macro.
+
+Fri Aug  6 09:46:35 1999  Jerry Quinn <jquinn@nortelnetworks.com>
+
+	* hppa.h (pa_opcodes): Add 64 bit versions of or, xor, and,
+	and andcm.  Add 32 and 64 bit version of cmpclr, cmpiclr.
+
+	* hppa.h: Document 64 bit condition completers.
+
+Thu Aug  5 16:56:07 1999  Jerry Quinn <jquinn@nortelnetworks.com>
+
+	* hppa.h (pa_opcodes): Change condition args to use '?' prefix.
+
+1999-08-04  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* i386.h (i386_optab): Add DefaultSize modifier to all insns
+	that implicitly modify %esp.  #undef d_Suf, x_suf, sld_suf,
+	sldx_suf, bwld_Suf, d_FP, x_FP, sld_FP, sldx_FP at end of table.
+
+Wed Jul 28 02:04:24 1999  Jerry Quinn <jquinn@nortelnetworks.com>
+			  Jeff Law <law@cygnus.com>
+
+	* hppa.h (pa_opcodes): Add "pushnom" and "pushbts".
+
+	* hppa.h (pa_opcodes): Mark all PA2.0 opcodes with FLAG_STRICT.
+
+	* hppa.h (pa_opcodes): Change xmpyu, fmpyfadd,
+	and fmpynfadd to use 'J' and 'K' instead of 'E' and 'X'.
+
+1999-07-13  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* i386.h: Add "undocumented" AMD 3DNow! pf2iw, pi2fw, pswapw insns.
+
+Thu Jul  1 00:17:24 1999  Jeffrey A Law  (law@cygnus.com)
+
+	* hppa.h (struct pa_opcode): Add new field "flags".
+	(FLAGS_STRICT): Define.
+
+Fri Jun 25 04:22:04 1999  Jerry Quinn <jquinn@nortelnetworks.com>
+			  Jeff Law <law@cygnus.com>
+
+	* hppa.h (pa_opcodes): Add pa2.0 clrbts instruction.
+
+	* hppa.h (pa_opcodes): Add entries for mfia and mtsarcm instructions.
+
+1999-06-23  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* i386.h: Allow `l' suffix on bswap.  Allow `w' suffix on arpl,
+	lldt, lmsw, ltr, str, verr, verw.  Add FP flag to fcmov*.  Add FP
+	flag to fcomi and friends.
+
+Fri May 28 15:26:11 1999  Jeffrey A Law  (law@cygnus.com)
+
+	* hppa.h (pa_opcodes): Move integer arithmetic instructions after
+	integer logical instructions.
+
+1999-05-28  Linus Nordberg  <linus.nordberg@canit.se>
+
+	* m68k.h: Document new formats `E', `G', `H' and new places `N',
+	`n', `o'.
+
+	* m68k.h: Define mcf5206e, mcf5307, mcf.  Document new format `u'
+	and new places `m', `M', `h'.
+
+Thu May 27 04:13:54 1999  Joel Sherrill (joel@OARcorp.com
+
+	* hppa.h (pa_opcodes): Add several processor specific system
+	instructions.
+
+Wed May 26 16:57:44 1999  Jeffrey A Law  (law@cygnus.com)
+
+	* hppa.h (pa_opcodes): Add second entry for "comb", "comib",
+	"addb", and "addib" to be used by the disassembler.
+
+1999-05-12  Alan Modra  <alan@apri.levels.unisa.edu.au>
+
+	* i386.h (ReverseModrm): Remove all occurences.
+	(InvMem): Add to control/debug/test mov insns, movhlps, movlhps,
+	movmskps, pextrw, pmovmskb, maskmovq.
+	Change NoSuf to FP on all MMX, XMM and AMD insns as these all
+	ignore the data size prefix.
+
+	* i386.h (i386_optab, i386_regtab): Add support for PIII SIMD.
+	Mostly stolen from Doug Ledford <dledford@redhat.com>
+
+Sat May  8 23:27:35 1999  Richard Henderson  <rth@cygnus.com>
+
+	* ppc.h (PPC_OPCODE_64_BRIDGE): New.
+
+1999-04-14  Doug Evans  <devans@casey.cygnus.com>
+
+	* cgen.h (CGEN_ATTR): Delete member num_nonbools.
+	(CGEN_ATTR_TYPE): Update.
+	(CGEN_ATTR_MASK): Number booleans starting at 0.
+	(CGEN_ATTR_VALUE): Update.
+	(CGEN_INSN_ATTR): Update.
+
+Mon Apr 12 23:43:27 1999  Jeffrey A Law  (law@cygnus.com)
+
+	* hppa.h (fmpyfadd, fmpynfadd, fneg, fnegabs): New PA2.0
+	instructions.
+
+Tue Mar 23 11:24:38 1999  Jeffrey A Law  (law@cygnus.com)
+
+	* hppa.h (bb, bvb): Tweak opcode/mask.
+
+
+1999-03-22  Doug Evans  <devans@casey.cygnus.com>
+
+	* cgen.h (CGEN_ISA,CGEN_MACH): New typedefs.
+	(struct cgen_cpu_desc): Rename member mach to machs.  New member isas.
+	New members word_bitsize,default_insn_bitsize,base_insn-bitsize,
+	min_insn_bitsize,max_insn_bitsize,isa_table,mach_table,rebuild_tables.
+	Delete member max_insn_size.
+	(enum cgen_cpu_open_arg): New enum.
+	(cpu_open): Update prototype.
+	(cpu_open_1): Declare.
+	(cgen_set_cpu): Delete.
+
+1999-03-11  Doug Evans  <devans@casey.cygnus.com>
+
+	* cgen.h (CGEN_HW_TABLE): Delete `num_init_entries' member.
+	(CGEN_OPERAND_NIL): New macro.
+	(CGEN_OPERAND): New member `type'.
+	(@arch@_cgen_operand_table): Delete decl.
+	(CGEN_OPERAND_INDEX,CGEN_OPERAND_TYPE,CGEN_OPERAND_ENTRY): Delete.
+	(CGEN_OPERAND_TABLE): New struct.
+	(cgen_operand_lookup_by_name,cgen_operand_lookup_by_num): Declare.
+	(CGEN_OPINST): Pointer to operand table entry replaced with enum.
+	(CGEN_CPU_TABLE): New member `isa'.  Change member `operand_table',
+	now a CGEN_OPERAND_TABLE.  Add CGEN_CPU_DESC arg to
+	{get,set}_{int,vma}_operand.
+	(@arch@_cgen_cpu_open): New arg `isa'.
+	(cgen_set_cpu): Ditto.
+
+Fri Feb 26 02:36:45 1999  Richard Henderson  <rth@cygnus.com>
+
+	* i386.h: Fill in cmov and fcmov alternates.  Add fcomi short forms.
+
+1999-02-25  Doug Evans  <devans@casey.cygnus.com>
+
+	* cgen.h (enum cgen_asm_type): Add CGEN_ASM_NONE.
+	(CGEN_HW_ENTRY): Delete member `next'.  Change type of `type' to
+	enum cgen_hw_type.
+	(CGEN_HW_TABLE): New struct.
+	(hw_table): Delete declaration.
+	(CGEN_OPERAND): Change member hw to hw_type, change type from pointer
+	to table entry to enum.
+	(CGEN_OPINST): Ditto.
+	(CGEN_CPU_TABLE): Change member hw_list to hw_table.
+
+Sat Feb 13 14:13:44 1999  Richard Henderson  <rth@cygnus.com>
+
+	* alpha.h (AXP_OPCODE_EV6): New.
+	(AXP_OPCODE_NOPAL): Include it.
+
+1999-02-09  Doug Evans  <devans@casey.cygnus.com>
+
+	* cgen.h (CGEN_CPU_DESC): Renamed from CGEN_OPCODE_DESC.
+	All uses updated.  New members int_insn_p, max_insn_size,
+	parse_operand,insert_operand,extract_operand,print_operand,
+	sizeof_fields,set_fields_bitsize,get_int_operand,set_int_operand,
+	get_vma_operand,set_vma_operand,parse_handlers,insert_handlers,
+	extract_handlers,print_handlers.
+	(CGEN_ATTR): Change type of num_nonbools to unsigned int.
+	(CGEN_ATTR_BOOL_OFFSET): New macro.
+	(CGEN_ATTR_MASK): Subtract it to compute bit number.
+	(CGEN_ATTR_VALUE): Redo bool/nonbool attr calculation.
+	(cgen_opcode_handler): Renamed from cgen_base.
+	(CGEN_HW_ATTR_VALUE): Renamed from CGEN_HW_ATTR, all uses updated.
+	(CGEN_OPERAND_ATTR_VALUE): Renamed from CGEN_OPERAND_ATTR,
+	all uses updated.
+	(CGEN_OPERAND_INDEX): Rewrite to use table entry, not global.
+	(enum cgen_opinst_type): Renamed from cgen_operand_instance_type.
+	(CGEN_IFLD_ATTR_VALUE): Renamed from CGEN_IFLD_ATTR, all uses updated.
+	(CGEN_OPCODE,CGEN_IBASE): New types.
+	(CGEN_INSN): Rewrite.
+	(CGEN_{ASM,DIS}_HASH*): Delete.
+	(init_opcode_table,init_ibld_table): Declare.
+	(CGEN_INSN_ATTR): New type.
+
+Mon Feb  1 21:09:14 1999  Catherine Moore  <clm@cygnus.com>
+
+	* i386.h (d_Suf, x_Suf, sld_Suf, sldx_Suf, bwld_Suf): Define.
+	(x_FP, d_FP, dls_FP, sldx_FP): Define.
+	Change *Suf definitions to include x and d suffixes.
+	(movsx): Use w_Suf and b_Suf.
+	(movzx): Likewise.
+	(movs): Use bwld_Suf.
+	(fld): Change ordering.  Use sld_FP.
+	(fild): Add Intel Syntax equivalent of fildq.
+	(fst): Use sld_FP.
+	(fist): Use sld_FP.
+	(fstp): Use sld_FP.  Add x_FP version.
+	(fistp): LLongMem version for Intel Syntax.
+	(fcom, fcomp): Use sld_FP.
+	(fadd, fiadd, fsub): Use sld_FP.
+	(fsubr): Use sld_FP.
+	(fmul, fimul, fdvi, fidiv, fdivr): Use sld_FP.
+
+1999-01-27  Doug Evans  <devans@casey.cygnus.com>
+
+	* cgen.h (enum cgen_mode): Add CGEN_MODE_TARGET_MAX, CGEN_MODE_INT,
+	CGEN_MODE_UINT.
+
+1999-01-16  Jeffrey A Law  (law@cygnus.com)
+
+	* hppa.h (bv): Fix mask.
+
+1999-01-05  Doug Evans  <devans@casey.cygnus.com>
+
+	* cgen.h (CGEN_ATTR_VALUE_TYPE): New typedef.
+	(CGEN_ATTR): Use it.
+	(CGEN_ATTR_TYPE,CGEN_ATTR_ENTRY): Ditto.
+	(CGEN_ATTR_TABLE): New member dfault.
+
+1998-12-30  Gavin Romig-Koch  <gavin@cygnus.com>
+
+	* mips.h (MIPS16_INSN_BRANCH): New.
+
+Wed Dec  9 10:38:48 1998  David Taylor  <taylor@texas.cygnus.com>
+
+	The following is part of a change made by Edith Epstein
+	<eepstein@sophia.cygnus.com> as part of a project to merge in
+	changes by HP; HP did not create ChangeLog entries.
+
+	* hppa.h (completer_chars): list of chars to not put a space
+	after.
+
+Sun Dec  6 13:21:34 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+	* i386.h (i386_optab): Permit w suffix on processor control and
+	status word instructions.
+
+1998-11-30  Doug Evans  <devans@casey.cygnus.com>
+
+	* cgen.h (struct cgen_hw_entry): Delete const on attrs member.
+	(struct cgen_keyword_entry): Ditto.
+	(struct cgen_operand): Ditto.
+	(CGEN_IFLD): New typedef, with associated access macros.
+	(CGEN_IFMT): New typedef, with associated access macros.
+	(CGEN_IFMT): Renamed from CGEN_FORMAT.  New member `iflds'.
+	(CGEN_IVALUE): New typedef.
+	(struct cgen_insn): Delete const on syntax,attrs members.
+	`format' now points to format data.  Type of `value' is now
+	CGEN_IVALUE.
+	(struct cgen_opcode_table): New member ifld_table.
+
+1998-11-18  Doug Evans  <devans@casey.cygnus.com>
+
+	* cgen.h (cgen_extract_fn): Update type of `base_insn' arg.
+	(CGEN_OPERAND_INSTANCE): New member `attrs'.
+	(CGEN_OPERAND_INSTANCE_{ATTRS,ATTR}): New macros.
+	(cgen_dis_lookup_insn): Update type of `base_insn' arg.
+	(cgen_opcode_table): Update type of dis_hash fn.
+	(extract_operand): Update type of `insn_value' arg.
+
+Thu Oct 29 11:38:36 1998  Doug Evans  <devans@canuck.cygnus.com>
+
+	* cgen.h (CGEN_VERSION_{MAJOR,MINOR,FIXLEVEL}): Delete.
+
+Tue Oct 27 08:57:59 1998  Gavin Romig-Koch  <gavin@cygnus.com>
+
+	* mips.h (INSN_MULT): Added.
+
+Tue Oct 20 11:31:34 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* i386.h (MAX_MNEM_SIZE): Rename from MAX_OPCODE_SIZE.
+
+Mon Oct 19 12:50:00 1998  Doug Evans  <devans@seba.cygnus.com>
+
+	* cgen.h (CGEN_INSN_INT): New typedef.
+	(CGEN_INT_INSN_P): Renamed from CGEN_INT_INSN.
+	(CGEN_INSN_BYTES): Renamed from cgen_insn_t.
+	(CGEN_INSN_BYTES_PTR): New typedef.
+	(CGEN_EXTRACT_INFO): New typedef.
+	(cgen_insert_fn,cgen_extract_fn): Update.
+	(cgen_opcode_table): New member `insn_endian'.
+	(assemble_insn,lookup_insn,lookup_get_insn_operands): Update.
+	(insert_operand,extract_operand): Update.
+	(cgen_get_insn_value,cgen_put_insn_value): Add prototypes.
+
+Fri Oct  9 13:38:13 1998  Doug Evans  <devans@seba.cygnus.com>
+
+	* cgen.h (CGEN_ATTR_BOOLS): New macro.
+	(struct CGEN_HW_ENTRY): New member `attrs'.
+	(CGEN_HW_ATTR): New macro.
+	(struct CGEN_OPERAND_INSTANCE): New member `name'.
+	(CGEN_INSN_INVALID_P): New macro.
+
+Mon Oct  5 00:21:07 1998  Jeffrey A Law  (law@cygnus.com)
+
+	* hppa.h: Add "fid".
+
+Sun Oct  4 21:00:00 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	From Robert Andrew Dale <rob@nb.net>
+	* i386.h (i386_optab): Add AMD 3DNow! instructions.
+	(AMD_3DNOW_OPCODE): Define.
+
+Tue Sep 22 17:53:47 1998  Nick Clifton  <nickc@cygnus.com>
+
+	* d30v.h (EITHER_BUT_PREFER_MU): Define.
+
+Mon Aug 10 14:09:38 1998  Doug Evans  <devans@canuck.cygnus.com>
+
+	* cgen.h (cgen_insn): #if 0 out element `cdx'.
+
+Mon Aug  3 12:21:57 1998  Doug Evans  <devans@seba.cygnus.com>
+
+	Move all global state data into opcode table struct, and treat
+	opcode table as something that is "opened/closed".
+	* cgen.h (CGEN_OPCODE_DESC): New type.
+	(all fns): New first arg of opcode table descriptor.
+	(cgen_set_parse_operand_fn): Add prototype.
+	(cgen_current_machine,cgen_current_endian): Delete.
+	(CGEN_OPCODE_TABLE): New members mach,endian,operand_table,
+	parse_operand_fn,asm_hash_table,asm_hash_table_entries,
+	dis_hash_table,dis_hash_table_entries.
+	(opcode_open,opcode_close): Add prototypes.
+
+	* cgen.h (cgen_insn): New element `cdx'.
+
+Thu Jul 30 21:44:25 1998  Frank Ch. Eigler  <fche@cygnus.com>
+
+	* d30v.h (FLAG_LKR): New flag for "left-kills-right" instructions.
+
+Tue Jul 28 10:59:07 1998  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.h: Add "no_match_operands" field for instructions.
+	(MN10300_MAX_OPERANDS): Define.
+
+Fri Jul 24 11:44:24 1998  Doug Evans  <devans@canuck.cygnus.com>
+
+	* cgen.h (cgen_macro_insn_count): Declare.
+
+Tue Jul 21 13:12:13 1998  Doug Evans  <devans@seba.cygnus.com>
+
+	* cgen.h (CGEN_VERSION_{MAJOR,MINOR,FIXLEVEL}): Define.
+	(cgen_insert_fn,cgen_extract_fn): New arg `pc'.
+	(get_operand,put_operand): Replaced with get_{int,vma}_operand,
+	set_{int,vma}_operand.
+
+Fri Jun 26 11:09:06 1998  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.h: Add "machine" field for instructions.
+	(MN103, AM30): Define machine types.
+
+Fri Jun 19 16:09:09 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* i386.h: Use FP, not sl_Suf, for fxsave and fxrstor.
+
+1998-06-18  Ulrich Drepper  <drepper@cygnus.com>
+
+	* i386.h: Add support for fxsave, fxrstor, sysenter and sysexit.
+
+Sat Jun 13 11:31:35 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* i386.h (i386_optab): Add general form of aad and aam.  Add ud2a
+	and ud2b.
+	(i386_regtab): Allow cr0..7, db0..7, dr0..7, tr0..7, not just
+	those that happen to be implemented on pentiums.
+
+Tue Jun  9 12:16:01 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* i386.h: Change occurences of Data16 to Size16, Data32 to Size32,
+	IgnoreDataSize to IgnoreSize.  Flag address and data size prefixes
+	with Size16|IgnoreSize or Size32|IgnoreSize.
+
+Mon Jun  8 12:15:52 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* i386.h (REPNE): Rename to REPNE_PREFIX_OPCODE.
+	(REPE): Rename to REPE_PREFIX_OPCODE.
+	(i386_regtab_end): Remove.
+	(i386_prefixtab, i386_prefixtab_end): Remove.
+	(i386_optab): Use NULL as sentinel rather than "" to suit rewrite
+	of md_begin.
+	(MAX_OPCODE_SIZE): Define.
+	(i386_optab_end): Remove.
+	(sl_Suf): Define.
+	(sl_FP): Use sl_Suf.
+
+	* i386.h (i386_optab): Allow 16 bit displacement for `mov
+	mem,acc'.  Combine 16 and 32 bit forms of various insns.  Allow 16
+	bit form of ljmp.  Add IsPrefix modifier to prefixes.  Add addr32,
+	data32, dword, and adword prefixes.
+	(i386_regtab): Add BaseIndex modifier to valid 16 bit base/index
+	regs.
+
+Fri Jun  5 23:42:43 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* i386.h (i386_regtab): Remove BaseIndex modifier from esp.
+
+	* i386.h: Allow `l' suffix on fld, fst, fstp, fcom, fcomp with
+	register operands, because this is a common idiom.  Flag them with
+	a warning.  Allow illegal faddp, fsubp, fsubrp, fmulp, fdivp,
+	fdivrp because gcc erroneously generates them.  Also flag with a
+	warning.
+
+	* i386.h: Add suffix modifiers to most insns, and tighter operand
+	checks in some cases.  Fix a number of UnixWare compatibility
+	issues with float insns.  Merge some floating point opcodes, using
+	new FloatMF modifier.
+	(WORD_PREFIX_OPCODE): Rename to DATA_PREFIX_OPCODE for
+	consistency.
+
+	* i386.h: Change occurence of ShortformW to W|ShortForm.  Add
+	IgnoreDataSize where appropriate.
+
+Wed Jun  3 18:28:45 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* i386.h: (one_byte_segment_defaults): Remove.
+	(two_byte_segment_defaults): Remove.
+	(i386_regtab): Add BaseIndex to 32 bit regs reg_type.
+
+Fri May 15 15:59:04 1998  Doug Evans  <devans@seba.cygnus.com>
+
+	* cgen.h (cgen_hw_lookup_by_name): Renamed from cgen_hw_lookup.
+	(cgen_hw_lookup_by_num): Declare.
+
+Thu May  7 09:27:58 1998  Frank Ch. Eigler  <fche@cygnus.com>
+
+	* mips.h (OP_{SH,MASK}_CODE2): Added "q" operand format for lower
+	ten bits of MIPS ISA1 "break" instruction, and for "sdbbp"
+
+Thu May  7 02:14:08 1998  Doug Evans  <devans@charmed.cygnus.com>
+
+	* cgen.h (cgen_asm_init_parse): Delete.
+	(cgen_save_fixups,cgen_restore_fixups,cgen_swap_fixups): Delete.
+	(cgen_asm_record_register,cgen_asm_finish_insn): Delete.
+
+Mon Apr 27 10:13:11 1998  Doug Evans  <devans@seba.cygnus.com>
+
+	* cgen.h (CGEN_ATTR_TYPE): Delete `const', moved to uses.
+	(cgen_asm_finish_insn): Update prototype.
+	(cgen_insn): New members num, data.
+	(CGEN_INSN_TABLE): Members asm_hash, asm_hash_table_size,
+	dis_hash, dis_hash_table_size moved to ...
+	(CGEN_OPCODE_TABLE).  Here.  Renamed from CGEN_OPCODE_DATA.
+	All uses updated.  New members asm_hash_p, dis_hash_p.
+	(CGEN_MINSN_EXPANSION): New struct.
+	(cgen_expand_macro_insn): Declare.
+	(cgen_macro_insn_count): Declare.
+	(get_insn_operands): Update prototype.
+	(lookup_get_insn_operands): Declare.
+
+Tue Apr 21 17:11:32 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* i386.h (i386_optab): Change iclrKludge and imulKludge to
+	regKludge.  Add operands types for string instructions.
+
+Mon Apr 20 14:40:29 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* i386.h (X): Renamed from `Z_' to preserve formatting of opcode
+	table.
+
+Sun Apr 19 13:54:06 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* i386.h (Z_): Renamed from `_' to avoid clash with common alias
+	for `gettext'.
+
+Fri Apr  3 12:04:48 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* i386.h: Remove NoModrm flag from all insns: it's never checked.
+	Add IsString flag to string instructions.
+	(IS_STRING): Don't define.
+	(LOCK_PREFIX_OPCODE, CS_PREFIX_OPCODE, DS_PREFIX_OPCODE): Define.
+	(ES_PREFIX_OPCODE, FS_PREFIX_OPCODE, GS_PREFIX_OPCODE): Define.
+	(SS_PREFIX_OPCODE): Define.
+
+Mon Mar 30 21:31:56 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+	* i386.h: Revert March 24 patch; no more LinearAddress.
+
+Mon Mar 30 10:25:54 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* i386.h (i386_optab): Remove fwait (9b) from all floating point
+	instructions, and instead add FWait opcode modifier.  Add short
+	form of fldenv and fstenv.
+	(FWAIT_OPCODE): Define.
+
+	* i386.h (i386_optab): Change second operand constraint of `mov
+	sreg,reg|mem' instruction from Reg16|Mem to WordReg|WordMem to
+	allow legal instructions such as `movl %gs,%esi'
+
+Fri Mar 27 18:30:52 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+	* h8300.h: Various changes to fully bracket initializers.
+
+Tue Mar 24 18:32:47 1998  H.J. Lu  <hjl@gnu.org>
+
+	* i386.h: Set LinearAddress for lidt and lgdt.
+
+Mon Mar  2 10:44:07 1998  Doug Evans  <devans@seba.cygnus.com>
+
+	* cgen.h (CGEN_BOOL_ATTR): New macro.
+
+Thu Feb 26 15:54:31 1998  Michael Meissner  <meissner@cygnus.com>
+
+	* d30v.h (FLAG_DELAY): New flag for delayed branches/jumps.
+
+Mon Feb 23 10:38:21 1998  Doug Evans  <devans@seba.cygnus.com>
+
+	* cgen.h (CGEN_CAT3): Delete.  Use CONCAT3 now.
+	(cgen_insn): Record syntax and format entries here, rather than
+	separately.
+
+Tue Feb 17 21:42:56 1998  Nick Clifton  <nickc@cygnus.com>
+
+	* cgen.h (CGEN_SYNTAX_MAKE_FIELD): New macro.
+
+Tue Feb 17 16:00:56 1998  Doug Evans  <devans@seba.cygnus.com>
+
+	* cgen.h (cgen_insert_fn): Change type of result to const char *.
+	(cgen_parse_{signed,unsigned}_integer): Delete min,max arguments.
+	(CGEN_{INSN,KEYWORD,OPERAND}_NBOOL_ATTRS): Renamed from ..._MAX_ATTRS.
+
+Thu Feb 12 18:30:41 1998  Doug Evans  <devans@canuck.cygnus.com>
+
+	* cgen.h (lookup_insn): New argument alias_p.
+
+Thu Feb 12 03:41:00 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+Fix rac to accept only a0:
+	* d10v.h (OPERAND_ACC): Split into:
+	(OPERAND_ACC0, OPERAND_ACC1) .
+	(OPERAND_GPR): Define.
+
+Wed Feb 11 17:31:53 1998  Doug Evans  <devans@seba.cygnus.com>
+
+	* cgen.h (CGEN_FIELDS): Define here.
+	(CGEN_HW_ENTRY): New member `type'.
+	(hw_list): Delete decl.
+	(enum cgen_mode): Declare.
+	(CGEN_OPERAND): New member `hw'.
+	(enum cgen_operand_instance_type): Declare.
+	(CGEN_OPERAND_INSTANCE): New type.
+	(CGEN_INSN): New member `operands'.
+	(CGEN_OPCODE_DATA): Make hw_list const.
+	(get_insn_operands,lookup_insn): Add prototypes for.
+
+Tue Feb  3 17:11:23 1998  Doug Evans  <devans@seba.cygnus.com>
+
+	* cgen.h (CGEN_INSN_MAX_ATTRS): Renamed from CGEN_MAX_INSN_ATTRS.
+	(CGEN_HW_ENTRY): Move `next' entry to end of struct.
+	(CGEN_KEYWORD_MAX_ATTRS): Renamed from CGEN_MAX_KEYWORD_ATTRS.
+	(CGEN_OPERAND_MAX_ATTRS): Renamed from CGEN_MAX_OPERAND_ATTRS.
+
+Mon Feb  2 19:19:15 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+	* cgen.h: Correct typo in comment end marker.
+
+Mon Feb  2 17:10:38 1998  Steve Haworth  <steve@pm.cse.rmit.EDU.AU>
+
+	* tic30.h: New file.
+
+Thu Jan 22 17:54:56 1998  Nick Clifton  <nickc@cygnus.com>
+
+	* cgen.h: Add prototypes for cgen_save_fixups(),
+	cgen_restore_fixups(), and cgen_swap_fixups().  Change prototype
+	of cgen_asm_finish_insn() to return a char *.
+
+Wed Jan 14 17:21:43 1998  Nick Clifton  <nickc@cygnus.com>
+
+	* cgen.h: Formatting changes to improve readability.
+
+Mon Jan 12 11:37:36 1998  Doug Evans  <devans@seba.cygnus.com>
+
+	* cgen.h (*): Clean up pass over `struct foo' usage.
+	(CGEN_ATTR): Make unsigned char.
+	(CGEN_ATTR_TYPE): Update.
+	(CGEN_ATTR_{ENTRY,TABLE}): New types.
+	(cgen_base): Move member `attrs' to cgen_insn.
+	(CGEN_KEYWORD): New member `null_entry'.
+	(CGEN_{SYNTAX,FORMAT}): New types.
+	(cgen_insn): Format and syntax separated from each other.
+
+Tue Dec 16 15:15:52 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* d30v.h (d30v_opcode): Reorder flags somewhat, add new flags for
+	2 word load/store, ADDppp/SUBppp, 16/32 bit multiply.  Make
+	flags_{used,set} long.
+	(d30v_operand): Make flags field long.
+
+Mon Dec  1 12:24:44 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* m68k.h: Fix comment describing operand types.
+
+Sun Nov 23 22:31:27 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* d30v.h (SHORT_CMPU): Add case for cmpu instruction, and move
+	everything else after down.
+
+Tue Nov 18 18:45:14 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+	* d10v.h (OPERAND_FLAG): Split into:
+	(OPERAND_FFLAG, OPERAND_CFLAG) .
+
+Thu Nov 13 11:04:24 1997  Gavin Koch  <gavin@cygnus.com>
+
+	* mips.h (struct mips_opcode): Changed comments to reflect new
+	field usage.
+
+Fri Oct 24 22:36:20 1997  Ken Raeburn  <raeburn@cygnus.com>
+
+	* mips.h: Added to comments a quick-ref list of all assigned
+	operand type characters.
+	(OP_{MASK,SH}_PERFREG): New macros.
+
+Wed Oct 22 17:28:33 1997  Richard Henderson  <rth@cygnus.com>
+
+	* sparc.h: Add '_' and '/' for v9a asr's.
+	Patch from David Miller <davem@vger.rutgers.edu>
+
+Tue Oct 14 13:22:29 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* h8300.h: Bit ops with absolute addresses not in the 8 bit
+	area are not available in the base model (H8/300).
+
+Thu Sep 25 13:03:41 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* m68k.h: Remove documentation of ` operand specifier.
+
+Wed Sep 24 19:00:34 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* m68k.h: Document q and v operand specifiers.
+
+Mon Sep 15 18:28:37 1997  Nick Clifton  <nickc@cygnus.com>
+
+	* v850.h (struct v850_opcode): Add processors field.
+	(PROCESSOR_V850, PROCESSOR_ALL): New bit constants.
+	(PROCESSOR_V850E, PROCESSOR_NOT_V850): New bit constants.
+	(PROCESSOR_V850EA): New bit constants.
+
+Mon Sep 15 11:29:43 1997  Ken Raeburn  <raeburn@cygnus.com>
+
+	Merge changes from Martin Hunt:
+
+	* d30v.h: Allow up to 64 control registers. Add
+	SHORT_A5S format.
+
+	* d30v.h (LONG_Db): New form for delayed branches.
+
+	* d30v.h: (LONG_Db): New form for repeati.
+
+	* d30v.h (SHORT_D2B): New form.
+
+	* d30v.h (SHORT_A2): New form.
+
+	* d30v.h (OPERAND_2REG): Add new operand to indicate 2
+	registers are used.  Needed for VLIW optimization.
+
+Mon Sep  8 14:05:45 1997  Doug Evans  <dje@canuck.cygnus.com>
+
+	* cgen.h: Move assembler interface section
+	up so cgen_parse_operand_result is defined for cgen_parse_address.
+	(cgen_parse_address): Update prototype.
+
+Tue Sep  2 15:32:32 1997  Nick Clifton  <nickc@cygnus.com>
+
+	* v850.h (V850_OPREAND_ADJUST_SHORT_MEMORY): Removed.
+
+Tue Aug 26 12:21:52 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* i386.h (two_byte_segment_defaults): Correct base register 5 in
+	modes 1 and 2 to be ss rather than ds.  From Gabriel Paubert
+	<paubert@iram.es>.
+
+	* i386.h: Set ud2 to 0x0f0b.  From Gabriel Paubert
+	<paubert@iram.es>.
+
+	* i386.h: Comment fixes for ficom[p]?{s,l} from Gabriel Paubert
+	<paubert@iram.es>.
+
+	* i386.h (JUMP_ON_CX_ZERO): Uncomment (define again).
+	(JUMP_ON_ECX_ZERO): Remove commented out macro.
+
+Fri Aug 22 10:38:29 1997  Nick Clifton  <nickc@cygnus.com>
+
+	* v850.h (V850_NOT_R0): New flag.
+
+Mon Aug 18 11:05:58 1997  Nick Clifton  <nickc@cygnus.com>
+
+	* v850.h (struct v850_opcode): Remove flags field.
+
+Wed Aug 13 18:45:48 1997  Nick Clifton  <nickc@cygnus.com>
+
+	* v850.h (struct v850_opcode): Add flags field.
+	(struct v850_operand): Extend meaning of 'bits' and 'shift'
+	fields.
+	(V850E_INSTRUCTION, V850EA_INSTRUCTION): New flags.
+	(V850E_PUSH_POP, V850E_IMMEDIATE16, V850E_IMMEDIATE32): New flags.
+
+Fri Aug  8 16:58:42 1997  Doug Evans  <dje@canuck.cygnus.com>
+
+	* arc.h: New file.
+
+Thu Jul 24 21:16:58 1997  Doug Evans  <dje@canuck.cygnus.com>
+
+	* sparc.h (sparc_opcodes): Declare as const.
+
+Thu Jul 10 12:53:25 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* mips.h (FP_S, FP_D): Define.  Bitmasks indicating if an insn
+	uses single or double precision floating point resources.
+	(INSN_NO_ISA, INSN_ISA1): Define.
+	(cpu specific INSN macros): Tweak into bitmasks outside the range
+	of INSN_ISA field.
+
+Mon Jun 16 14:10:00 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
+
+	* i386.h: Fix pand opcode.
+
+Mon Jun  2 11:35:09 1997  Gavin Koch  <gavin@cygnus.com>
+
+	* mips.h: Widen INSN_ISA and move it to a more convenient
+	bit position.  Add INSN_3900.
+
+Tue May 20 11:25:29 1997  Gavin Koch  <gavin@cygnus.com>
+
+	* mips.h (struct mips_opcode): added new field membership.
+
+Mon May 12 16:26:50 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
+
+	* i386.h (movd): only Reg32 is allowed.
+
+	* i386.h: add fcomp and ud2.  From Wayne Scott
+	<wscott@ichips.intel.com>.
+
+Mon May  5 17:16:21 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* i386.h: Add MMX instructions.
+
+Mon May  5 12:45:19 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
+
+	* i386.h: Remove W modifier from conditional move instructions.
+
+Mon Apr 14 14:56:58 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* i386.h: Change the opcodes for fsubp, fsubrp, fdivp, and fdivrp
+	with no arguments to match that generated by the UnixWare
+	assembler.
+
+Thu Apr 10 14:35:00 1997  Doug Evans  <dje@canuck.cygnus.com>
+
+	* cgen.h (<cpu>_cgen_assemble_insn): New arg for errmsg.
+	(cgen_parse_operand_fn): Declare.
+	(cgen_init_parse_operand): Declare.
+	(cgen_parse_operand): Renamed from cgen_asm_parse_operand,
+	new argument `want'.
+	(enum cgen_parse_operand_result): Renamed from cgen_asm_result.
+	(enum cgen_parse_operand_type): New enum.
+
+Sat Apr  5 13:14:05 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* i386.h: Revert last patch for the NON_BROKEN_OPCODES cases.
+
+Fri Apr  4 11:46:11 1997  Doug Evans  <dje@canuck.cygnus.com>
+
+	* cgen.h: New file.
+
+Fri Apr  4 14:02:32 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* i386.h: Correct opcode values for fsubp, fsubrp, fdivp, and
+	fdivrp.
+
+Tue Mar 25 22:57:26 1997  Stu Grossman  (grossman@critters.cygnus.com)
+
+	* v850.h (extract): Make unsigned.
+
+Mon Mar 24 14:38:15 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* i386.h: Add iclr.
+
+Thu Mar 20 19:49:10 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* i386.h: Change DW to W for cmpxchg and xadd, since they don't
+	take a direction bit.
+
+Sat Mar 15 19:03:29 1997  H.J. Lu  <hjl@lucon.org>
+
+	* sparc.h (sparc_opcode_lookup_arch): Use full prototype.
+
+Fri Mar 14 15:22:01 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* sparc.h: Include <ansidecl.h>.  Update function declarations to
+	use prototypes, and to use const when appropriate.
+
+Thu Mar  6 14:18:30 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.h (MN10300_OPERAND_RELAX): Define.
+
+Mon Feb 24 15:15:56 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>
+
+	* d10v.h: Change pre_defined_registers to
+	d10v_predefined_registers and reg_name_cnt to d10v_reg_name_cnt.
+
+Sat Feb 22 21:25:00 1997  Dawn Perchik  <dawn@cygnus.com>
+
+	* mips.h: Add macros for cop0, cop1 cop2 and cop3.
+	Change mips_opcodes from const array to a pointer,
+	and change bfd_mips_num_opcodes from const int to int,
+	so that we can increase the size of the mips opcodes table
+	dynamically.
+
+Fri Feb 21 16:34:18 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>
+
+	* d30v.h (FLAG_X): Remove unused flag.
+
+Tue Feb 18 17:37:20 1997  Martin M. Hunt  <hunt@pizza.cygnus.com>
+
+	* d30v.h: New file.
+
+Fri Feb 14 13:16:15 1997  Fred Fish  <fnf@cygnus.com>
+
+	* tic80.h (PDS_NAME): Macro to access name field of predefined symbols.
+	(PDS_VALUE): Macro to access value field of predefined symbols.
+	(tic80_next_predefined_symbol): Add prototype.
+
+Mon Feb 10 10:32:17 1997  Fred Fish  <fnf@cygnus.com>
+
+	* tic80.h (tic80_symbol_to_value): Change prototype to match
+	change in function, added class parameter.
+
+Thu Feb  6 17:30:15 1997  Fred Fish  <fnf@cygnus.com>
+
+	* tic80.h (TIC80_OPERAND_ENDMASK): Add for flagging TIc80
+	endmask fields, which are somewhat weird in that 0 and 32 are
+	treated exactly the same.
+
+Thu Jan 30 13:46:18 1997  Fred Fish  <fnf@cygnus.com>
+
+	* tic80.h: Change all the OPERAND defines to use the form (1 << X)
+	rather than a constant that is 2**X.  Reorder them to put bits for
+	operands that have symbolic names in the upper bits, so they can
+	be packed into an int where the lower bits contain the value that
+	corresponds to that symbolic name.
+	(predefined_symbo): Add struct.
+	(tic80_predefined_symbols): Declare array of translations.
+	(tic80_num_predefined_symbols): Declare size of that array.
+	(tic80_value_to_symbol): Declare function.
+	(tic80_symbol_to_value): Declare function.
+
+Wed Jan 29 09:37:25 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10200.h (MN10200_OPERAND_RELAX): Define.
+
+Sat Jan 18 15:18:59 1997  Fred Fish  <fnf@cygnus.com>
+
+	* tic80.h (TIC80_NO_R0_DEST): Add for opcodes where r0 cannot
+	be the destination register.
+
+Thu Jan 16 20:48:55 1997  Fred Fish  <fnf@cygnus.com>
+
+	* tic80.h (struct tic80_opcode): Change "format" field to "flags".
+	(FMT_UNUSED, FMT_SI, FMT_LI, FMT_REG): Delete.
+	(TIC80_VECTOR): Define a flag bit for the flags.  This one means
+	that the opcode can have two vector instructions in a single
+	32 bit word and we have to encode/decode both.
+
+Tue Jan 14 19:37:09 1997  Fred Fish  <fnf@cygnus.com>
+
+	* tic80.h (TIC80_OPERAND_PCREL): Renamed from
+	TIC80_OPERAND_RELATIVE for PC relative.
+	(TIC80_OPERAND_BASEREL): New flag bit for register
+	base relative.
+
+Mon Jan 13 15:56:38 1997  Fred Fish  <fnf@cygnus.com>
+
+	* tic80.h (TIC80_OPERAND_FLOAT): Add for floating point operands.
+
+Mon Jan  6 10:51:15 1997  Fred Fish  <fnf@cygnus.com>
+
+	* tic80.h (TIC80_OPERAND_SCALED): Operand may have optional
+	":s" modifier for scaling.
+
+Sun Jan  5 12:12:19 1997  Fred Fish  <fnf@cygnus.com>
+
+	* tic80.h (TIC80_OPERAND_M_SI): Add operand modifier for ":m".
+	(TIC80_OPERAND_M_LI): Ditto
+
+Sat Jan  4 19:02:44 1997  Fred Fish  <fnf@cygnus.com>
+
+	* tic80.h (TIC80_OPERAND_BITNUM): Renamed from TIC80_OPERAND_CC_SZ.
+	(TIC80_OPERAND_CC): New define for condition code operand.
+	(TIC80_OPERAND_CR): New define for control register operand.
+
+Fri Jan  3 16:22:23 1997  Fred Fish  <fnf@cygnus.com>
+
+	* tic80.h (struct tic80_opcode): Name changed.
+	(struct tic80_opcode): Remove format field.
+	(struct tic80_operand): Add insertion and extraction functions.
+	(TIC80_OPERAND_*): Remove old bogus values, start adding new
+	correct ones.
+	(FMT_*): Ditto.
+
+Tue Dec 31 15:05:41 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* v850.h (V850_OPERAND_ADJUST_SHORT_MEMORY): New flag to adjust
+	type IV instruction offsets.
+
+Fri Dec 27 22:23:10 1996  Fred Fish  <fnf@cygnus.com>
+
+	* tic80.h: New file.
+
+Wed Dec 18 10:06:31 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10200.h (MN10200_OPERAND_NOCHECK): Define.
+
+Sat Dec 14 10:48:31 1996  Fred Fish  <fnf@ninemoons.com>
+
+	* mn10200.h: Fix comment, mn10200_operand not powerpc_operand.
+	* mn10300.h: Fix comment, mn10300_operand not powerpc_operand.
+	* v850.h: Fix comment, v850_operand not powerpc_operand.
+
+Mon Dec  9 16:45:39 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10200.h: Flesh out structures and definitions needed by
+	the mn10200 assembler & disassembler.
+
+Tue Nov 26 10:46:56 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips.h: Add mips16 definitions.
+
+Mon Nov 25 17:56:54 1996  J.T. Conklin  <jtc@cygnus.com>
+
+	* m68k.h: Document new <, >, m, n, o and p operand specifiers.
+
+Wed Nov 20 10:59:41 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.h (MN10300_OPERAND_PCREL): Define.
+	(MN10300_OPERAND_MEMADDR): Define.
+
+Tue Nov 19 13:30:40 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.h (MN10300_OPERAND_REG_LIST): Define.
+
+Wed Nov  6 13:41:08 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.h (MN10300_OPERAND_SPLIT): Define.
+
+Tue Nov  5 13:26:12 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.h (MN10300_OPERAND_EXTENDED): Define.
+
+Mon Nov  4 12:52:48 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.h (MN10300_OPERAND_REPEATED): Define.
+
+Fri Nov  1 10:31:02 1996  Richard Henderson  <rth@tamu.edu>
+
+	* alpha.h: Don't include "bfd.h"; private relocation types are now
+	negative to minimize problems with shared libraries.  Organize
+	instruction subsets by AMASK extensions and PALcode
+	implementation.
+	(struct alpha_operand): Move flags slot for better packing.
+
+Tue Oct 29 12:19:10 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* v850.h (V850_OPERAND_RELAX): New operand flag.
+
+Thu Oct 10 14:29:11 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.h (FMT_*): Move operand format definitions
+	here.
+
+Tue Oct  8 14:48:07 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.h (MN10300_OPERAND_PAREN): Define.
+
+Mon Oct  7 16:52:11 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.h (mn10300_opcode): Add "format" field.
+	(MN10300_OPERAND_*): Define.
+
+Thu Oct  3 10:33:46 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10x00.h: Delete.
+	* mn10200.h, mn10300.h: New files.
+
+Wed Oct  2 21:31:26 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10x00.h: New file.
+
+Fri Sep 27 18:26:46 1996  Stu Grossman  (grossman@critters.cygnus.com)
+
+	* v850.h: Add new flag to indicate this instruction uses a PC
+	displacement.
+
+Fri Sep 13 14:58:13 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* h8300.h (stmac): Add missing instruction.
+
+Sat Aug 31 16:02:03 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* v850.h (v850_opcode): Remove "size" field.  Add "memop"
+	field.
+
+Fri Aug 23 10:39:08 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* v850.h (V850_OPERAND_EP): Define.
+
+	* v850.h (v850_opcode): Add size field.
+
+Thu Aug 22 16:51:25 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
+
+	* v850.h (v850_operands): Add insert and extract fields, pointers
+	to functions used to handle unusual operand encoding.
+	(V850_OPERAND_REG, V850_OPERAND_SRG, V850_OPERAND_CC,
+	V850_OPERAND_SIGNED): Defined.
+
+Wed Aug 21 17:45:10 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
+
+	* v850.h (v850_operands): Add flags field.
+	(OPERAND_REG, OPERAND_NUM): Defined.
+
+Tue Aug 20 14:52:02 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
+
+	* v850.h: New file.
+
+Fri Aug 16 14:44:15 1996  James G. Smith  <jsmith@cygnus.co.uk>
+
+	* mips.h (OP_SH_LOCC, OP_SH_HICC, OP_MASK_CC, OP_SH_COP1NORM,
+	OP_MASK_COP1NORM, OP_SH_COP1SPEC, OP_MASK_COP1SPEC,
+	OP_MASK_COP1SCLR, OP_MASK_COP1CMP, OP_SH_COP1CMP, OP_SH_FORMAT,
+	OP_MASK_FORMAT, OP_SH_TRUE, OP_MASK_TRUE, OP_SH_GE, OP_MASK_GE,
+	OP_SH_UNSIGNED, OP_MASK_UNSIGNED, OP_SH_HINT, OP_MASK_HINT):
+	Defined.
+
+Fri Aug 16 00:15:15 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* hppa.h (pitlb, pitlbe, iitlba, iitlbp, fic, fice): Accept
+	a 3 bit space id instead of a 2 bit space id.
+
+Thu Aug 15 13:11:46 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
+
+	* d10v.h: Add some additional defines to support the
+	assembler in determining which operations can be done in parallel.
+
+Tue Aug  6 11:13:22 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* h8300.h (SN): Define.
+	(eepmov.b): Renamed from "eepmov"
+	(nop, bpt, rte, rts, sleep, clrmac): These have no size associated
+	with them.
+
+Fri Jul 26 11:47:10 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
+
+	* d10v.h (OPERAND_SHIFT): New operand flag.
+
+Thu Jul 25 12:06:22 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
+
+	* d10v.h: Changes for divs, parallel-only instructions, and
+	signed numbers.
+
+Mon Jul 22 11:21:15 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
+
+	* d10v.h (pd_reg): Define. Putting the definition here allows
+	the assembler and disassembler to share the same struct.
+
+Mon Jul 22 12:15:25 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* i960.h (i960_opcodes): "halt" takes an argument.  From Stephen
+	Williams <steve@icarus.com>.
+
+Wed Jul 17 14:46:38 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
+
+	* d10v.h: New file.
+
+Thu Jul 11 12:09:15 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* h8300.h (band, bclr): Force high bit of immediate nibble to zero.
+
+Wed Jul  3 14:30:12 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
+
+	* m68k.h (mcf5200): New macro.
+	Document names of coldfire control registers.
+
+Tue Jul  2 23:05:45 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* h8300.h (SRC_IN_DST): Define.
+
+	* h8300.h (UNOP3): Mark the register operand in this insn
+	as a source operand, not a destination operand.
+	(SHIFT_2, SHIFT_IMM): Remove.  Eliminate all references.
+	(UNOP3): Change SHIFT_IMM to IMM for H8/S bitops.  Mark
+	register operand with SRC_IN_DST.
+
+Fri Jun 21 13:52:17 1996  Richard Henderson  <rth@tamu.edu>
+
+	* alpha.h: New file.
+
+Thu Jun 20 15:02:57 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* rs6k.h: Remove obsolete file.
+
+Wed Jun 19 15:29:38 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* i386.h: Correct opcode values for faddp, fsubp, fsubrp, fmulp,
+	fdivp, and fdivrp.  Add ffreep.
+
+Tue Jun 18 16:06:00 1996  Jeffrey A. Law  <law@rtl.cygnus.com>
+
+	* h8300.h: Reorder various #defines for readability.
+	(ABS32SRC, ABS32DST, DSP32LIST, ABS32LIST, A32LIST): Define.
+	(BITOP): Accept additional (unused) argument.  All callers changed.
+	(EBITOP): Likewise.
+	(O_LAST): Bump.
+	(ldc, stc, movb, movw, movl): Use 32bit offsets and absolutes.
+
+	* h8300.h (EXR, SHIFT_2, MACREG, SHIFT_IMM, RDINC): Define.
+	(O_TAS, O_CLRMAC, O_LDMAC, O_MAC, O_LDM, O_STM): Define.
+	(BITOP, EBITOP): Handle new H8/S addressing modes for
+	bit insns.
+	(UNOP3): Handle new shift/rotate insns on the H8/S.
+	(insns using exr): New instructions.
+	(tas, mac, ldmac, clrmac, ldm, stm): New instructions.
+
+Thu May 23 16:56:48 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* h8300.h (add.l): Undo Apr 5th change.  The manual I had
+	was incorrect.
+
+Mon May  6 23:38:22 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* h8300.h (START): Remove.
+	(MEMRELAX): Define.  Mark absolute memory operands in mov.b, mov.w
+	and mov.l insns that can be relaxed.
+
+Tue Apr 30 18:30:58 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* i386.h: Remove Abs32 from lcall.
+
+Mon Apr 22 17:09:23 1996  Doug Evans  <dje@blues.cygnus.com>
+
+	* sparc.h (SPARC_OPCODE_ARCH_V9_P): New macro.
+	(SLCPOP): New macro.
+	Mark X,Y opcode letters as in use.
+
+Thu Apr 11 17:28:18 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* sparc.h (F_FLOAT, F_FBR): Define.
+
+Fri Apr  5 16:55:34 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* h8300.h (ABS8MEM): Renamed from ABSMOV.  Remove ABSMOV
+	from all insns.
+	(ABS8SRC,ABS8DST): Add ABS8MEM.
+	(add.l): Fix reg+reg variant.
+	(eepmov.w): Renamed from eepmovw.
+	(ldc,stc): Fix many cases.
+
+Sun Mar 31 13:30:03 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+	* sparc.h (SPARC_OPCODE_ARCH_MASK): New macro.
+
+Thu Mar  7 15:08:23 1996  Doug Evans  <dje@charmed.cygnus.com>
+
+	* sparc.h (O): Mark operand letter as in use.
+
+Tue Feb 20 20:46:21 1996  Doug Evans  <dje@charmed.cygnus.com>
+
+	* sparc.h (sparc_{encode,decode}_sparclet_cpreg): Declare.
+	Mark operand letters uU as in use.
+
+Mon Feb 19 01:59:08 1996  Doug Evans  <dje@charmed.cygnus.com>
+
+	* sparc.h (sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_SPARCLET.
+	(sparc_opcode_arch): Delete member `conflicts'.  Add `supported'.
+	(SPARC_OPCODE_SUPPORTED): New macro.
+	(SPARC_OPCODE_CONFLICT_P): Rewrite.
+	(F_NOTV9): Delete.
+
+Fri Feb 16 12:23:34 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* sparc.h (sparc_opcode_lookup_arch) Make return type in
+	declaration consistent with return type in definition.
+
+Wed Feb 14 18:14:11 1996  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* i386.h (i386_optab): Remove Data32 from pushf and popf.
+
+Thu Feb  8 14:27:21 1996  James Carlson <carlson@xylogics.com>
+
+	* i386.h (i386_regtab): Add 80486 test registers.
+
+Mon Feb  5 18:35:46 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* i960.h (I_HX): Define.
+	(i960_opcodes): Add HX instruction.
+
+Mon Jan 29 12:43:39 1996  Ken Raeburn  <raeburn@cygnus.com>
+
+	* i386.h: Fix waiting forms of finit, fstenv, fsave, fstsw, fstcw,
+	and fclex.
+
+Wed Jan 24 22:36:59 1996  Doug Evans  <dje@charmed.cygnus.com>
+
+	* sparc.h (enum sparc_opcode_arch_val): Replaces sparc_architecture.
+	(SPARC_OPCODE_CONFLICT_P): Renamed from ARCHITECTURES_CONFLICT_P.
+	(bfd_* defines): Delete.
+	(sparc_opcode_archs): Replaces architecture_pname.
+	(sparc_opcode_lookup_arch): Declare.
+	(NUMOPCODES): Delete.
+
+Mon Jan 22 08:24:32 1996  Doug Evans  <dje@charmed.cygnus.com>
+
+	* sparc.h (enum sparc_architecture): Add v9a.
+	(ARCHITECTURES_CONFLICT_P): Update.
+
+Thu Dec 28 13:27:53 1995  John Hassey  <hassey@rtp.dg.com>
+
+	* i386.h: Added Pentium Pro instructions.
+
+Thu Nov  2 22:59:22 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* m68k.h: Document new 'W' operand place.
+
+Tue Oct 24 10:49:10 1995  Jeffrey A Law  (law@cygnus.com)
+
+	* hppa.h: Add lci and syncdma instructions.
+
+Mon Oct 23 11:09:16 1995  James G. Smith  <jsmith@pasanda.cygnus.co.uk>
+
+	* mips.h: Added INSN_4100 flag to mark NEC VR4100 specific
+	instructions.
+
+Mon Oct 16 10:28:15 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* ppc.h (PPC_OPCODE_{COMMON,ANY}): New opcode flags for
+	assembler's -mcom and -many switches.
+
+Wed Oct 11 16:56:33 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+	* i386.h: Fix cmpxchg8b extension opcode description.
+
+Thu Oct  5 18:03:36 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+	* i386.h: Add Pentium instructions wrmsr, rdtsc, rdmsr, cmpxchg8b,
+	and register cr4.
+
+Tue Sep 19 15:26:43 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* m68k.h: Change comment: split type P into types 0, 1 and 2.
+
+Wed Aug 30 13:50:55 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+	* sparc.h (sparc_{encode,decode}_prefetch): Declare.
+
+Tue Aug 29 15:34:58 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+	* sparc.h (sparc_{encode,decode}_{asi,membar}): Declare.
+
+Wed Aug  2 18:32:19 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* m68kmri.h: Remove.
+
+	* m68k.h: Move tables into opcodes/m68k-opc.c, leaving just the
+	declarations.  Remove F_ALIAS and flag field of struct
+	m68k_opcode.  Change arch field of struct m68k_opcode to unsigned
+	int.  Make name and args fields of struct m68k_opcode const.
+
+Wed Aug  2 08:16:46 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+	* sparc.h (F_NOTV9): Define.
+
+Tue Jul 11 14:20:42 1995  Jeff Spiegel  <jeffs@lsil.com>
+
+	* mips.h (INSN_4010): Define.
+
+Wed Jun 21 18:49:51 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+	* m68k.h (TBL1): Reverse sense of "round" argument in result.
+
+	Changes from Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>:
+	* m68k.h: Fix argument descriptions of coprocessor
+	instructions to allow only alterable operands where appropriate.
+	[!NO_DEFAULT_SIZES]: An omitted size defaults to `w'.
+	(m68k_opcode_aliases): Add more aliases.
+
+Fri Apr 14 22:15:34 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+	* m68k.h: Added explcitly short-sized conditional branches, and a
+	bunch of aliases (fmov*, ftest*, tdivul) to support gcc's
+	svr4-based configurations.
+
+Mon Mar 13 21:30:01 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+	Mon Feb 27 08:36:39 1995  Bryan Ford  <baford@cs.utah.edu>
+	* i386.h: added missing Data16/Data32 flags to a few instructions.
+
+Wed Mar  8 15:19:53 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips.h (OP_MASK_FR, OP_SH_FR): Define.
+	(OP_MASK_BCC, OP_SH_BCC): Define.
+	(OP_MASK_PREFX, OP_SH_PREFX): Define.
+	(OP_MASK_CCC, OP_SH_CCC): Define.
+	(INSN_READ_FPR_R): Define.
+	(INSN_RFE): Delete.
+
+Wed Mar  8 03:13:23 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+	* m68k.h (enum m68k_architecture): Deleted.
+	(struct m68k_opcode_alias): New type.
+	(m68k_opcodes): Now const.  Deleted opcode aliases with exactly
+	matching constraints, values and flags.  As a side effect of this,
+	the MOTOROLA_SYNTAX_ONLY and MIT_SYNTAX_ONLY macros, which so far
+	as I know were never used, now may need re-examining.
+	(numopcodes): Now const.
+	(m68k_opcode_aliases, numaliases): New variables.
+	(endop): Deleted.
+	[DONT_DEFINE_TABLE]: Declare numopcodes, numaliases, and
+	m68k_opcode_aliases; update declaration of m68k_opcodes.
+
+Mon Mar  6 10:02:00 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+	* hppa.h (delay_type): Delete unused enumeration.
+	(pa_opcode): Replace unused delayed field with an architecture
+	field.
+	(pa_opcodes): Mark each instruction as either PA1.0 or PA1.1.
+
+Fri Mar  3 16:10:24 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips.h (INSN_ISA4): Define.
+
+Fri Feb 24 19:13:37 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips.h (M_DLA_AB, M_DLI): Define.
+
+Thu Feb 23 17:33:09 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+	* hppa.h (fstwx): Fix single-bit error.
+
+Wed Feb 15 12:19:52 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips.h (M_ULD, M_ULD_A, M_USD, M_USD_A): Define.
+
+Mon Feb  6 10:35:23 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
+
+	* i386.h: added cpuid instruction , and dr[0-7] aliases for the
+	  debug registers.  From Charles Hannum (mycroft@netbsd.org).
+
+Mon Feb  6 03:31:54 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+	Changes from Bryan Ford <baford@schirf.cs.utah.edu> for 16-bit
+	i386 support:
+	* i386.h (MOV_AX_DISP32): New macro.
+	(i386_optab): Added Data16 and Data32 as needed.  Added "w" forms
+	of several call/return instructions.
+	(ADDR_PREFIX_OPCODE): New macro.
+
+Mon Jan 23 16:45:43 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+	Sat Jan 21 17:50:38 1995  Pat Rankin  (rankin@eql.caltech.edu)
+
+	* vax.h (struct vot_wot, field `args'): Make it pointer to const
+	char.
+	(struct vot, field `name'): ditto.
+
+Thu Jan 19 14:47:53 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
+
+	* vax.h: Supply and properly group all values in end sentinel.
+
+Tue Jan 17 10:55:30 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+	* mips.h (INSN_ISA, INSN_4650): Define.
+
+Wed Oct 19 13:34:17 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
+
+	* a29k.h: Add operand type 'I' for `inv' and `iretinv'.  On
+	systems with a separate instruction and data cache, such as the
+	29040, these instructions take an optional argument.
+
+Wed Sep 14 17:44:20 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+	* mips.h (INSN_STORE_MEMORY): Correct value to not conflict with
+	INSN_TRAP.
+
+Tue Sep  6 11:39:08 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+	* mips.h (INSN_STORE_MEMORY): Define.
+
+Thu Jul 28 19:28:07 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+	* sparc.h: Document new operand type 'x'.
+
+Tue Jul 26 17:48:05 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+	* i960.h (I_CX2): New instruction category.  It includes
+	instructions available on Cx and Jx processors.
+	(I_JX): New instruction category, for JX-only instructions.
+	(i960_opcodes): Put eshro and sysctl in I_CX2 category.  Added
+	Jx-only instructions, in I_JX category.
+
+Wed Jul 13 18:43:47 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+	* ns32k.h (endop): Made pointer const too.
+
+Sun Jul 10 11:01:09 1994  Ian Dall  (dall@hfrd.dsto.gov.au)
+
+	* ns32k.h: Drop Q operand type as there is no correct use
+	for it. Add I and Z operand types which allow better checking.
+
+Thu Jul  7 12:34:48 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
+
+	* h8300.h (xor.l) :fix bit pattern.
+	(L_2): New size of operand.
+	(trapa): Use it.
+
+Fri Jun 10 16:38:11 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* m68k.h: Move "trap" before "tpcc" to change disassembly.
+
+Fri Jun  3 15:57:36 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+	* sparc.h: Include v9 definitions.
+
+Thu Jun  2 12:23:17 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+	* m68k.h (m68060): Defined.
+	(m68040up, mfloat, mmmu): Include it.
+	(struct m68k_opcode): Widen `arch' field.
+	(m68k_opcodes): Updated for M68060.  Removed comments that were
+	instructions commented out by "JF" years ago.
+
+Thu Apr 28 18:31:14 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+	* m68k.h (struct m68k_opcode): Shorten `arch' field to 8 bits, and
+	add a one-bit `flags' field.
+	(F_ALIAS): New macro.
+
+Wed Apr 27 11:29:52 1994  Steve Chamberlain  (sac@cygnus.com)
+
+	* h8300.h (dec, inc): Get encoding right.
+
+Mon Apr  4 13:12:43 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* ppc.h (struct powerpc_operand): Removed signedp field; just use
+	a flag instead.
+	(PPC_OPERAND_SIGNED): Define.
+	(PPC_OPERAND_SIGNOPT): Define.
+
+Thu Mar 31 19:34:08 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+	* i386.h (IS_JUMP_ON_ECX_ZERO, "jcxz" pattern): Operand size
+	prefix is 0x66, not 0x67.  Patch from H.J. Lu (hlu@nynexst.com).
+
+Thu Mar  3 15:51:05 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+	* i386.h: Reverse last change.  It'll be handled in gas instead.
+
+Thu Feb 24 15:29:05 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+	* i386.h (sar): Disabled the two-operand Imm1 form, since it was
+	slower on the 486 and used the implicit shift count despite the
+	explicit operand.  The one-operand form is still available to get
+	the shorter form with the implicit shift count.
+
+Thu Feb 17 12:27:52 1994  Torbjorn Granlund  (tege@mexican.cygnus.com)
+
+	* hppa.h: Fix typo in fstws arg string.
+
+Wed Feb  9 21:23:52 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* ppc.h (struct powerpc_opcode): Make operands field unsigned.
+
+Mon Feb  7 19:14:58 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* ppc.h (PPC_OPCODE_601): Define.
+
+Fri Feb  4 23:43:50 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
+
+	* hppa.h (addb): Use '@' for addb and addib pseudo ops.
+	(so we can determine valid completers for both addb and addb[tf].)
+
+	* hppa.h (xmpyu): No floating point format specifier for the
+	xmpyu instruction.
+
+Fri Feb  4 23:36:52 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* ppc.h (PPC_OPERAND_NEXT): Define.
+	(PPC_OPERAND_NEGATIVE): Change value to make room for above.
+	(struct powerpc_macro): Define.
+	(powerpc_macros, powerpc_num_macros): Declare.
+
+Fri Jan 21 19:13:50 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* ppc.h: New file.  Header file for PowerPC opcode table.
+
+Mon Jan 17 00:14:23 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
+
+	* hppa.h: More minor template fixes for sfu and copr (to allow
+	for easier disassembly).
+
+	* hppa.h: Fix templates for all the sfu and copr instructions.
+
+Wed Dec 15 15:12:42 1993  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+	* i386.h (push): Permit Imm16 operand too.
+
+Sat Dec 11 16:14:06 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	*  h8300.h (andc): Exists in base arch.
+
+Wed Dec  1 12:15:32 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
+
+	* From Hisashi MINAMINO <minamino@sramhc.sra.co.jp>
+	* hppa.h: #undef NONE to avoid conflict with hiux include files.
+
+Sun Nov 21 22:06:57 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
+
+	* hppa.h: Add FP quadword store instructions.
+
+Wed Nov 17 17:13:16 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* mips.h: (M_J_A): Added.
+	(M_LA): Removed.
+
+Mon Nov  8 12:12:47 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* mips.h (OP_MASK_CACHE, OP_SH_CACHE): Define.  From Ted Lemon
+	<mellon@pepper.ncd.com>.
+
+Sun Nov  7 00:30:11 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
+
+	* hppa.h: Immediate field in probei instructions is unsigned,
+	not low-sign extended.
+
+Wed Nov  3 10:30:00 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
+
+	* m88k.h (RRI10MASK): Change from 0xfc00ffe0 to 0xfc00fc00.
+
+Tue Nov  2 12:41:30 1993  Ken Raeburn  (raeburn@rover.cygnus.com)
+
+	* i386.h: Add "fxch" without operand.
+
+Mon Nov  1 18:13:03 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* mips.h (M_JAL_1, M_JAL_2, M_JAL_A): Added.
+
+Sat Oct  2 22:26:11 1993  Jeffrey A Law  (law@snake.cs.utah.edu)
+
+	* hppa.h: Add gfw and gfr to the opcode table.
+
+Wed Sep 29 16:23:00 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
+
+	* m88k.h: extended to handle m88110.
+
+Tue Sep 28 19:19:08 1993  Jeffrey A Law  (law@snake.cs.utah.edu)
+
+	* hppa.h (be, ble): Use operand type 'z' to denote absolute branch
+	addresses.
+
+Tue Sep 14 14:04:35 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* i960.h (i960_opcodes): Properly bracket initializers.
+
+Mon Sep 13 12:50:52 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
+
+	* m88k.h (BOFLAG): rewrite to avoid nested comment.
+
+Mon Sep 13 15:46:06 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* m68k.h (two): Protect second argument with parentheses.
+
+Fri Sep 10 16:29:47 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
+
+	* i386.h (i386_optab): Added new instruction "rsm" (for i386sl).
+	Deleted old in/out instructions in "#if 0" section.
+
+Thu Sep  9 17:42:19 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* i386.h (i386_optab): Properly bracket initializers.
+
+Wed Aug 25 13:50:56 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
+
+	* hppa.h (pa_opcode): Use '|' for movb and movib insns.  (From
+	Jeff Law, law@cs.utah.edu).
+
+Mon Aug 23 16:55:03 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
+
+	* i386.h (lcall): Accept Imm32 operand also.
+
+Mon Aug 23 12:43:11 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* mips.h (M_ABSU): Removed (absolute value of unsigned number??).
+	(M_DABS): Added.
+
+Thu Aug 19 15:08:37 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* mips.h (INSN_*): Changed values.  Removed unused definitions.
+	Added INSN_COND_BRANCH_LIKELY, INSN_ISA2 and INSN_ISA3.  Split
+	INSN_LOAD_DELAY into INSN_LOAD_MEMORY_DELAY and
+	INSN_LOAD_COPROC_DELAY.  Split INSN_COPROC_DELAY into
+	INSN_COPROC_MOVE_DELAY and INSN_COPROC_MEMORY_DELAY.
+	(M_*): Added new values for r6000 and r4000 macros.
+	(ANY_DELAY): Removed.
+
+Wed Aug 18 15:37:48 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* mips.h: Added M_LI_S and M_LI_SS.
+
+Tue Aug 17 07:08:08 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)
+
+	* h8300.h: Get some rare mov.bs correct.
+
+Thu Aug  5 09:15:17 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
+
+	* sparc.h: Don't define const ourself; rely on ansidecl.h having
+	been included.
+
+Fri Jul 30 18:41:11 1993  John Gilmore  (gnu@cygnus.com)
+
+	* sparc.h (F_JSR, F_UNBR, F_CONDBR): Add new flags to mark
+	jump instructions, for use in disassemblers.
+
+Thu Jul 22 07:25:27 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* m88k.h: Make bitfields just unsigned, not unsigned long or
+	unsigned short.
+
+Wed Jul 21 11:55:31 1993  Jim Kingdon  (kingdon@deneb.cygnus.com)
+
+	* hppa.h: New argument type 'y'.  Use in various float instructions.
+
+Mon Jul 19 17:17:03 1993  Jim Kingdon  (kingdon@deneb.cygnus.com)
+
+	* hppa.h (break): First immediate field is unsigned.
+
+	* hppa.h: Add rfir instruction.
+
+Sun Jul 18 16:28:08 1993  Jim Kingdon  (kingdon@rtl.cygnus.com)
+
+	* mips.h: Split the actual table out into ../../opcodes/mips-opc.c.
+
+Fri Jul 16 09:59:29 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* mips.h: Reworked the hazard information somewhat, and fixed some
+	bugs in the instruction hazard descriptions.
+
+Thu Jul 15 12:42:01 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* m88k.h: Corrected a couple of opcodes.
+
+Tue Jul  6 15:17:35 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* mips.h: Replaced with version from Ralph Campbell and OSF.  The
+	new version includes instruction hazard information, but is
+	otherwise reasonably similar.
+
+Thu Jul  1 20:36:17 1993  Doug Evans  (dje@canuck.cygnus.com)
+
+	* h8300.h: Fix typo in UNOP3 (affected sh[al][lr].l).
+
+Fri Jun 11 18:38:44 1993  Ken Raeburn  (raeburn@cygnus.com)
+
+	Patches from Jeff Law, law@cs.utah.edu:
+	* hppa.h: Clean up some of the OLD_TABLE, non-OLD_TABLE braindamage.
+	Make the tables be the same for the following instructions:
+	"bb", "addb[tf]", "addib[tf]", "add", "add[loc]", "addco",
+	"sh[123]add", "sh[123]add[lo]", "sub", "sub[obt]", "sub[bt]o",
+	"ds", "comclr", "addi", "addi[ot]", "addito", "subi", "subio",
+	"comiclr", "fadd", "fsub", "fmpy", "fdiv", "fsqrt", "fabs",
+	"frnd", "fcpy", "fcnvff", "fcnvxf", "fcnvfx", "fcnvfxt",
+	"fcmp", and "ftest".
+
+	* hppa.h: Make new and old tables the same for "break", "mtctl",
+	"mfctl", "bb", "ssm", "rsm", "xmpyu", "fmpyadd", "fmpysub".
+	Fix typo in last patch.  Collapse several #ifdefs into a
+	single #ifdef.
+
+	* hppa.h: Delete remaining OLD_TABLE code.  Bring some
+	of the comments up-to-date.
+
+	* hppa.h: Update "free list" of letters and update
+	comments describing each letter's function.
+
+Thu Jul  8 09:05:26 1993  Doug Evans  (dje@canuck.cygnus.com)
+
+	* h8300.h: Lots of little fixes for the h8/300h.
+
+Tue Jun  8 12:16:03 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)
+
+	 Support for H8/300-H
+	* h8300.h: Lots of new opcodes.
+
+Fri Jun  4 15:41:37 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)
+
+	* h8300.h: checkpoint, includes H8/300-H opcodes.
+
+Thu Jun  3 15:42:59 1993  Stu Grossman  (grossman@cygnus.com)
+
+	* Patches from Jeffrey Law <law@cs.utah.edu>.
+	* hppa.h: Rework single precision FP
+	instructions so that they correctly disassemble code
+	PA1.1 code.
+
+Thu May 27 19:21:22 1993  Bruce Bauman  (boot@osf.org)
+
+	* i386.h (i386_optab, mov pattern): Remove Mem16 restriction from
+	mov to allow instructions like mov ss,xyz(ecx) to assemble.
+
+Tue May 25 00:39:40 1993  Ken Raeburn  (raeburn@cygnus.com)
+
+	* hppa.h: Use new version from Utah if OLD_TABLE isn't defined;
+	gdb will define it for now.
+
+Mon May 24 15:20:06 1993  Ken Raeburn  (raeburn@cambridge.cygnus.com)
+
+	* sparc.h: Don't end enumerator list with comma.
+
+Fri May 14 15:15:50 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+	* Based on patches from davidj@ICSI.Berkeley.EDU (David Johnson):
+	* mips.h (OP_MASK_COPZ, OP_SH_COPZ): Define.
+	("bc2t"): Correct typo.
+	("[ls]wc[023]"): Use T rather than t.
+	("c[0123]"): Define general coprocessor instructions.
+
+Mon May 10 06:02:25 1993  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
+
+	* m68k.h: Move split point for gcc compilation more towards
+	middle.
+
+Fri Apr  9 13:26:16 1993  Jim Kingdon  (kingdon@cygnus.com)
+
+	* rs6k.h: Clean up instructions for primary opcode 19 (many were
+	simply wrong, ics, rfi, & rfsvc were missing).
+	Add "a" to opr_ext for "bb".  Doc fix.
+
+Thu Mar 18 13:45:31 1993  Per Bothner  (bothner@rtl.cygnus.com)
+
+	* i386.h: 486 extensions from John Hassey (hassey@dg-rtp.dg.com).
+	* mips.h: Add casts, to suppress warnings about shifting too much.
+	* m68k.h: Document the placement code '9'.
+
+Thu Feb 18 02:03:14 1993  John Gilmore  (gnu@cygnus.com)
+
+	* m68k.h (BREAK_UP_BIG_DECL, AND_OTHER_PART): Add kludge which
+	allows callers to break up the large initialized struct full of
+	opcodes into two half-sized ones.  This permits GCC to compile
+	this module, since it takes exponential space for initializers.
+	(numopcodes, endop): Revise to use AND_OTHER_PART in size calcs.
+
+Thu Feb  4 02:06:56 1993  John Gilmore  (gnu@cygnus.com)
+
+	* a29k.h: Remove RCS crud, update GPL to v2, update copyrights.
+	* convex.h: Added, from GDB's convx-opcode.h.  Added CONST to all
+	initialized structs in it.
+
+Thu Jan 28 21:32:22 1993  John Gilmore  (gnu@cygnus.com)
+
+	Delta 88 changes inspired by Carl Greco, <cgreco@Creighton.Edu>:
+	* m88k.h (PMEM): Avoid previous definition from <sys/param.h>.
+	(AND): Change to AND_ to avoid ansidecl.h `AND' conflict.
+
+Sat Jan 23 18:10:49 PST 1993  Ralph Campbell  (ralphc@pyramid.com)
+
+	* mips.h: document "i" and "j" operands correctly.
+
+Thu Jan  7 15:58:13 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+	* mips.h: Removed endianness dependency.
+
+Sun Jan  3 14:13:35 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* h8300.h: include info on number of cycles per instruction.
+
+Mon Dec 21 21:29:08 1992  Stu Grossman  (grossman at cygnus.com)
+
+	* hppa.h: Move handy aliases to the front.  Fix masks for extract
+	and deposit instructions.
+
+Sat Dec 12 16:09:48 1992  Ian Lance Taylor  (ian@cygnus.com)
+
+	* i386.h: accept shld and shrd both with and without the shift
+	count argument, which is always %cl.
+
+Fri Nov 27 17:13:18 1992  Ken Raeburn  (raeburn at cygnus.com)
+
+	* i386.h (i386_optab_end, i386_regtab_end): Now const.
+	(one_byte_segment_defaults, two_byte_segment_defaults,
+	i386_prefixtab_end): Ditto.
+
+Mon Nov 23 10:47:25 1992  Ken Raeburn  (raeburn@cygnus.com)
+
+	* vax.h (bb*): Use "v" (bitfield type), not "a" (address operand)
+	for operand 2; from John Carr, jfc@dsg.dec.com.
+
+Wed Nov  4 07:36:49 1992  Ken Raeburn  (raeburn@cygnus.com)
+
+	* m68k.h: Define FIXED_SIZE_BRANCH, so bsr and bra instructions
+	always use 16-bit offsets.  Makes calculated-size jump tables
+	feasible.
+
+Fri Oct 16 22:52:43 1992  Ken Raeburn  (raeburn@cygnus.com)
+
+	* i386.h: Fix one-operand forms of in* and out* patterns.
+
+Tue Sep 22 14:08:14 1992  Ken Raeburn  (raeburn@cambridge.cygnus.com)
+
+	* m68k.h: Added CPU32 support.
+
+Tue Sep 22 00:38:41 1992  John Gilmore  (gnu@cygnus.com)
+
+	* mips.h (break): Disassemble the argument.  Patch from
+	jonathan@cs.stanford.edu (Jonathan Stone).
+
+Wed Sep  9 11:25:28 1992  Ian Lance Taylor  (ian@cygnus.com)
+
+	* m68k.h: merged Motorola and MIT syntax.
+
+Thu Sep  3 09:33:22 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* m68k.h (pmove): make the tests less strict, the 68k book is
+	wrong.
+
+Tue Aug 25 23:25:19 1992  Ken Raeburn  (raeburn@cambridge.cygnus.com)
+
+	* m68k.h (m68ec030): Defined as alias for 68030.
+	(m68k_opcodes): New type characters "3" for 68030 MMU regs and "t"
+	for immediate 0-7 added.  Set up some opcodes (ptest, bkpt) to use
+	them.  Tightened description of "fmovex" to distinguish it from
+	some "pmove" encodings.  Added "pmove" for 68030 MMU regs, cleaned
+	up descriptions that claimed versions were available for chips not
+	supporting them.  Added "pmovefd".
+
+Mon Aug 24 12:04:51 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* m68k.h: fix where the . goes in divull
+
+Wed Aug 19 11:22:24 1992  Ian Lance Taylor  (ian@cygnus.com)
+
+	* m68k.h: the cas2 instruction is supposed to be written with
+	indirection on the last two operands, which can be either data or
+	address registers.  Added a new operand type 'r' which accepts
+	either register type.  Added new cases for cas2l and cas2w which
+	use them.  Corrected masks for cas2 which failed to recognize use
+	of address register.
+
+Fri Aug 14 14:20:38 1992  Per Bothner  (bothner@cygnus.com)
+
+	* m68k.h: Merged in patches (mostly m68040-specific) from
+	Colin Smith <colin@wrs.com>.
+
+	* m68k.h: Merged m68kmri.h and m68k.h (using the former as a
+	base).  Also cleaned up duplicates, re-ordered instructions for
+	the sake of dis-assembling (so aliases come after standard names).
+	* m68kmri.h: Now just defines some macros, and #includes m68k.h.
+
+Wed Aug 12 16:38:15 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
+
+	* m68kmri.h: added various opcodes. Moved jbxx to bxxes. Filled in
+	all missing .s
+
+Mon Aug 10 23:22:33 1992  Ken Raeburn  (raeburn@cygnus.com)
+
+	* sparc.h: Moved tables to BFD library.
+
+	* i386.h (i386_optab): Add fildq, fistpq aliases used by gcc.
+
+Sun Jun 28 13:29:03 1992  Fred Fish  (fnf@cygnus.com)
+
+	* h8300.h: Finish filling in all the holes in the opcode table,
+	so that the Lucid C compiler can digest this as well...
+
+Fri Jun 26 21:27:17 1992  John Gilmore  (gnu at cygnus.com)
+
+	* i386.h: Add setc, setnc, addr16, data16, repz, repnz aliases.
+	Fix opcodes on various sizes of fild/fist instructions
+	(16bit=no suffix, 32bit="l" suffix, 64bit="ll" suffix).
+	Use tabs to indent for comments.  Fixes suggested by Minh Tran-Le.
+
+Thu Jun 25 16:13:26 1992  Stu Grossman  (grossman at cygnus.com)
+
+	* h8300.h: Fill in all the holes in the opcode table so that the
+	losing HPUX C compiler can digest this...
+
+Thu Jun 11 12:15:25 1992  John Gilmore  (gnu at cygnus.com)
+
+	* mips.h: Fix decoding of coprocessor instructions, somewhat.
+	(Fix by Eric Anderson, 3jean@maas-neotek.arc.nasa.gov.)
+
+Thu May 28 11:17:44 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
+
+	* sparc.h: Add new architecture variant sparclite; add its scan
+	and divscc opcodes.  Define ARCHITECTURES_CONFLICT_P macro.
+
+Tue May  5 14:23:27 1992  Per Bothner  (bothner@rtl.cygnus.com)
+
+	* mips.h: Add some more opcode synonyms (from Frank Yellin,
+	fy@lucid.com).
+
+Thu Apr 16 18:25:26 1992  Per Bothner  (bothner@cygnus.com)
+
+	* rs6k.h: New version from IBM (Metin).
+
+Thu Apr  9 00:31:19 1992  Per Bothner  (bothner@rtl.cygnus.com)
+
+	* rs6k.h: Fix incorrect extended opcode for instructions `fm'
+	and `fd'.  (From metin@ibmpa.awdpa.ibm.com (Metin G. Ozisik).)
+
+Tue Apr  7 13:38:47 1992  Stu Grossman  (grossman at cygnus.com)
+
+	* rs6k.h: Move from ../../gdb/rs6k-opcode.h.
+
+Fri Apr  3 11:30:20 1992  Fred Fish  (fnf@cygnus.com)
+
+	* m68k.h (one, two): Cast macro args to unsigned to suppress
+	complaints from compiler and lint about integer overflow during
+	shift.
+
+Sun Mar 29 12:22:08 1992  John Gilmore  (gnu at cygnus.com)
+
+	* sparc.h (OP): Avoid signed overflow when shifting to high order bit.
+
+Fri Mar  6 00:22:38 1992  John Gilmore  (gnu at cygnus.com)
+
+	* mips.h: Make bitfield layout depend on the HOST compiler,
+	not on the TARGET system.
+
+Fri Feb 21 01:29:51 1992  K. Richard Pixley  (rich@cygnus.com)
+
+	* i386.h: added inb, inw, outb, outw opcodes, added att syntax for
+	  scmp, slod, smov, ssca, ssto.  Curtesy Minh Tran-Le
+	  <TRANLE@INTELLICORP.COM>.
+
+Thu Jan 30 07:31:44 1992  Steve Chamberlain  (sac at rtl.cygnus.com)
+
+	* h8300.h: turned op_type enum into #define list
+
+Thu Jan 30 01:07:24 1992  John Gilmore  (gnu at cygnus.com)
+
+	* sparc.h: Remove "cypress" architecture.  Remove "fitox" and
+	similar instructions -- they've been renamed to "fitoq", etc.
+	REALLY fix tsubcctv.  Fix "fcmpeq" and "fcmpq" which had wrong
+	number of arguments.
+	* h8300.h: Remove extra ; which produces compiler warning.
+
+Tue Jan 28 22:59:22 1992  Stu Grossman  (grossman at cygnus.com)
+
+	* sparc.h: fix opcode for tsubcctv.
+
+Tue Jan  7 17:19:39 1992  K. Richard Pixley  (rich at cygnus.com)
+
+	* sparc.h: fba and cba are now aliases for fb and cb respectively.
+
+Fri Dec 27 10:55:50 1991  Per Bothner  (bothner at cygnus.com)
+
+	* sparc.h (nop): Made the 'lose' field be even tighter,
+	so only a standard 'nop' is disassembled as a nop.
+
+Sun Dec 22 12:18:18 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* sparc.h (nop): Add RD_GO to `lose' so that only %g0 in dest is
+	disassembled as a nop.
+
+Wed Dec 18 17:19:44 1991  Stu Grossman  (grossman at cygnus.com)
+
+	* m68k.h, sparc.h: ANSIfy enums.
+
+Tue Dec 10 00:22:20 1991  K. Richard Pixley  (rich at rtl.cygnus.com)
+
+	* sparc.h: fix a typo.
+
+Sat Nov 30 20:40:51 1991  Steve Chamberlain  (sac at rtl.cygnus.com)
+
+	* a29k.h, arm.h, h8300.h,  i386.h,  i860.h, i960.h , m68k.h,
+	m88k.h, mips.h , np1.h, ns32k.h, pn.h, pyr.h, sparc.h, tahoe.h,
+	vax.h: Renamed from ../<foo>-opcode.h.
+
+
+Local Variables:
+version-control: never
+End:
diff --git a/libiberty/configure.ac b/libiberty/configure.ac
new file mode 100644
index 0000000..e8907e7
--- /dev/null
+++ b/libiberty/configure.ac
@@ -0,0 +1,530 @@
+dnl Process this file with autoconf to produce a configure script
+
+AC_PREREQ(2.57)
+AC_INIT(xmalloc.c)
+
+# This works around the fact that libtool configuration may change LD
+# for this particular configuration, but some shells, instead of
+# keeping the changes in LD private, export them just because LD is
+# exported.  We don't use libtool yet, but some day we might, so...
+ORIGINAL_LD_FOR_MULTILIBS=$LD
+
+dnl We use these options to decide which functions to include.
+AC_ARG_WITH(target-subdir,
+[  --with-target-subdir=SUBDIR      Configuring in a subdirectory for target])
+AC_ARG_WITH(build-subdir,
+[  --with-build-subdir=SUBDIR       Configuring in a subdirectory for build])
+AC_ARG_WITH(cross-host,
+[  --with-cross-host=HOST           Configuring with a cross compiler])
+AC_ARG_WITH(newlib,
+[  --with-newlib                    Configuring with newlib])
+
+if test "${srcdir}" = "."; then
+  if test -n "${with_build_subdir}"; then
+    libiberty_topdir="${srcdir}/../.."
+    with_target_subdir=
+  elif test -z "${with_target_subdir}"; then
+    libiberty_topdir="${srcdir}/.."
+  else
+    if test "${with_target_subdir}" != "."; then
+      libiberty_topdir="${srcdir}/${with_multisrctop}../.."
+    else
+      libiberty_topdir="${srcdir}/${with_multisrctop}.."
+    fi
+  fi
+else
+  libiberty_topdir="${srcdir}/.."
+fi
+AC_SUBST(libiberty_topdir)
+AC_CONFIG_AUX_DIR($libiberty_topdir)
+
+dnl Very limited version of automake's enable-maintainer-mode
+
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+  dnl maintainer-mode is disabled by default
+  AC_ARG_ENABLE(maintainer-mode,
+[  --enable-maintainer-mode
+                          enable make rules and dependencies not useful
+                          (and sometimes confusing) to the casual installer],
+      maintainer_mode=$enableval,
+      maintainer_mode=no)
+
+AC_MSG_RESULT($maintainer_mode)
+
+if test "$maintainer_mode" = "yes"; then
+  MAINT=''
+  NOTMAINT='#'
+else
+  MAINT='#'
+  NOTMAINT=''
+fi
+AC_SUBST(MAINT)dnl
+AC_SUBST(NOTMAINT)dnl
+
+# Do we have a single-tree copy of texinfo?  Even if we do, we can't
+# rely on it - libiberty is built before texinfo.
+AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, )
+if test "x$MAKEINFO" = "x"; then
+    MAKEINFO="@echo makeinfo missing; true"
+    BUILD_INFO=
+else
+    BUILD_INFO=info
+    case "$MAKEINFO" in
+      */missing\ makeinfo*)
+	BUILD_INFO=
+	AC_MSG_WARN([
+*** Makeinfo is missing. Info documentation will not be built.])
+        ;;
+      *)
+	case x"`$MAKEINFO --version | grep 'GNU texinfo'`" in
+	  x*\ [[1-3]].* )
+	    MAKEINFO="@echo $MAKEINFO is too old, 4.0 or newer required; true"
+	    BUILD_INFO=
+	    AC_MSG_WARN([
+*** Makeinfo is too old. Info documentation will not be built.])
+	  ;;
+	esac
+	;;
+    esac
+fi
+AC_SUBST(MAKEINFO)
+AC_SUBST(BUILD_INFO)
+
+AC_CHECK_PROG(PERL, perl, perl, )
+if test x"$PERL" = x""; then
+  HAVE_PERL='#'
+else
+  HAVE_PERL=''
+fi
+AC_SUBST(HAVE_PERL)
+
+AC_CANONICAL_HOST
+
+dnl When we start using automake:
+dnl AM_INIT_AUTOMAKE(libiberty, 1.0)
+
+dnl These must be called before AM_PROG_LIBTOOL, because it may want
+dnl to call AC_CHECK_PROG.
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+GCC_NO_EXECUTABLES
+AC_PROG_CC
+AC_PROG_CPP_WERROR
+
+if test x$GCC = xyes; then
+  ac_libiberty_warn_cflags='-W -Wall -Wtraditional -pedantic'
+fi
+AC_SUBST(ac_libiberty_warn_cflags)
+
+AC_PROG_CC_C_O
+# autoconf is lame and doesn't give us any substitution variable for this.
+if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then
+  NO_MINUS_C_MINUS_O=yes
+else
+  OUTPUT_OPTION='-o $@'
+fi
+AC_SUBST(NO_MINUS_C_MINUS_O)
+AC_SUBST(OUTPUT_OPTION)
+
+AC_C_CONST
+AC_C_INLINE
+AC_C_BIGENDIAN_CROSS
+
+dnl When we start using libtool:
+dnl Default to a non shared library.  This may be overridden by the
+dnl configure option --enable-shared.
+dnl AM_DISABLE_SHARED
+
+dnl When we start using libtool:
+dnl AM_PROG_LIBTOOL
+
+dnl When we start using automake:
+dnl AM_CONFIG_HEADER(config.h:config.in)
+AC_CONFIG_HEADER(config.h:config.in)
+
+dnl When we start using automake:
+dnl AM_MAINTAINER_MODE
+dnl AC_EXEEXT
+
+dnl When we start using automake:
+dnl AM_PROG_INSTALL
+AC_PROG_INSTALL
+
+. ${srcdir}/config.table
+host_makefile_frag=${frag}
+AC_SUBST_FILE(host_makefile_frag)
+
+# It's OK to check for header files.  Although the compiler may not be
+# able to link anything, it had better be able to at least compile
+# something.
+AC_CHECK_HEADERS(sys/file.h sys/param.h limits.h stdlib.h malloc.h string.h unistd.h strings.h sys/time.h time.h sys/resource.h sys/stat.h sys/mman.h fcntl.h alloca.h sys/pstat.h sys/sysmp.h sys/sysinfo.h machine/hal_sysinfo.h sys/table.h sys/sysctl.h sys/systemcfg.h)
+AC_HEADER_SYS_WAIT
+AC_HEADER_TIME
+
+libiberty_AC_DECLARE_ERRNO
+
+AC_CHECK_TYPE(uintptr_t, unsigned long)
+# Given the above check, we always have uintptr_t or a fallback
+# definition.  So define HAVE_UINTPTR_T in case any imported code
+# relies on it.
+AC_DEFINE(HAVE_UINTPTR_T, 1, [Define if you have the \`uintptr_t' type.])
+
+AC_TYPE_PID_T
+
+# This is the list of functions which libiberty will provide if they
+# are not available on the host.
+
+funcs="asprintf"
+funcs="$funcs atexit"
+funcs="$funcs basename"
+funcs="$funcs bcmp"
+funcs="$funcs bcopy"
+funcs="$funcs bsearch"
+funcs="$funcs bzero"
+funcs="$funcs calloc"
+funcs="$funcs clock"
+funcs="$funcs ffs"
+funcs="$funcs getcwd"
+funcs="$funcs getpagesize"
+funcs="$funcs index"
+funcs="$funcs insque"
+funcs="$funcs memchr"
+funcs="$funcs memcmp"
+funcs="$funcs memcpy"
+funcs="$funcs memmove"
+funcs="$funcs mempcpy"
+funcs="$funcs memset"
+funcs="$funcs mkstemps"
+funcs="$funcs putenv"
+funcs="$funcs random"
+funcs="$funcs rename"
+funcs="$funcs rindex"
+funcs="$funcs setenv"
+funcs="$funcs snprintf"
+funcs="$funcs sigsetmask"
+funcs="$funcs stpcpy"
+funcs="$funcs stpncpy"
+funcs="$funcs strcasecmp"
+funcs="$funcs strchr"
+funcs="$funcs strdup"
+funcs="$funcs strncasecmp"
+funcs="$funcs strrchr"
+funcs="$funcs strstr"
+funcs="$funcs strtod"
+funcs="$funcs strtol"
+funcs="$funcs strtoul"
+funcs="$funcs tmpnam"
+funcs="$funcs vasprintf"
+funcs="$funcs vfprintf"
+funcs="$funcs vprintf"
+funcs="$funcs vsnprintf"
+funcs="$funcs vsprintf"
+funcs="$funcs waitpid"
+
+# Also in the old function.def file: alloca, vfork, getopt.
+
+vars="sys_errlist sys_nerr sys_siglist"
+
+checkfuncs="getrusage on_exit psignal strerror strsignal sysconf times sbrk gettimeofday"
+checkfuncs="$checkfuncs realpath canonicalize_file_name pstat_getstatic pstat_getdynamic sysmp"
+checkfuncs="$checkfuncs getsysinfo table sysctl"
+
+# These are neither executed nor required, but they help keep
+# autoheader happy without adding a bunch of text to acconfig.h.
+if test "x" = "y"; then
+  AC_CHECK_FUNCS(asprintf atexit basename bcmp bcopy bsearch bzero calloc clock \
+  getcwd getpagesize index insque mkstemps memchr memcmp memcpy \
+  memmove mempcpy memset putenv random rename rindex sigsetmask \
+  strcasecmp setenv stpcpy stpncpy strchr strdup strncasecmp strrchr strstr \
+  strtod strtol strtoul tmpnam vasprintf vfprintf vprintf \
+  vsprintf waitpid getrusage on_exit psignal strerror strsignal \
+  sysconf times sbrk gettimeofday ffs snprintf vsnprintf \
+  pstat_getstatic pstat_getdynamic sysmp getsysinfo table sysctl \
+  realpath canonicalize_file_name)
+  AC_DEFINE(HAVE_SYS_ERRLIST, 1, [Define if you have the sys_errlist variable.])
+  AC_DEFINE(HAVE_SYS_NERR,    1, [Define if you have the sys_nerr variable.])
+  AC_DEFINE(HAVE_SYS_SIGLIST, 1, [Define if you have the sys_siglist variable.])
+fi
+
+# For each of these functions, if the host does not provide the
+# function we want to put FN.o in LIBOBJS, and if the host does
+# provide the function, we want to define HAVE_FN in config.h.
+
+setobjs=
+CHECK=
+target_header_dir=
+if test -n "${with_target_subdir}"; then
+
+  # We are being configured as a target library.  AC_REPLACE_FUNCS
+  # may not work correctly, because the compiler may not be able to
+  # link executables.  Note that we may still be being configured
+  # native.
+
+  # If we are being configured for newlib, we know which functions
+  # newlib provide and which ones we will be expected to provide.
+
+  if test "x${with_newlib}" = "xyes"; then
+    AC_LIBOBJ([asprintf])
+    AC_LIBOBJ([basename])
+    AC_LIBOBJ([insque])
+    AC_LIBOBJ([random])
+    AC_LIBOBJ([strdup])
+    AC_LIBOBJ([vasprintf])
+
+    for f in $funcs; do
+      case "$f" in
+	asprintf | basename | insque | random | strdup | vasprintf)
+	  ;;
+	*)
+	  n=HAVE_`echo $f | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+	  AC_DEFINE_UNQUOTED($n)
+	  ;;
+      esac
+    done
+
+    # newlib doesnt provide any of the variables in $vars, so we
+    # dont have to check them here.
+
+    # Of the functions in $checkfuncs, newlib only has strerror.
+    AC_DEFINE_NOAUTOHEADER(HAVE_STRERROR)
+
+    setobjs=yes
+
+  fi
+
+  # We may wish to install the target headers somewhere.
+  AC_ARG_ENABLE(install-libiberty,
+  [  --enable-install-libiberty       Install headers for end users],
+  enable_install_libiberty=$enableval,
+  enable_install_libiberty=no)dnl
+  
+  # Option parsed, now set things appropriately.
+  case x"$enable_install_libiberty" in
+    xyes|x)
+      target_header_dir=libiberty
+      ;;
+    xno)   
+      target_header_dir=
+      ;;
+    *) 
+      # This could be sanity-checked in various ways...
+      target_header_dir="${enable_install_libiberty}"
+      ;;
+  esac
+
+
+else
+
+   # Not a target library, so we set things up to run the test suite.
+   CHECK=check-cplus-dem
+
+fi
+
+AC_SUBST(CHECK)
+AC_SUBST(target_header_dir)
+
+case "${host}" in
+  *-*-cygwin* | *-*-mingw*)
+    AC_DEFINE_NOAUTOHEADER(HAVE_SYS_ERRLIST)
+    AC_DEFINE_NOAUTOHEADER(HAVE_SYS_NERR)
+    ;;
+esac
+
+if test -z "${setobjs}"; then
+  case "${host}" in
+
+  *-*-vxworks*)
+    # Handle VxWorks configuration specially, since on VxWorks the
+    # libraries are actually on the target board, not in the file
+    # system.
+    AC_LIBOBJ([basename])
+    AC_LIBOBJ([getpagesize])
+    AC_LIBOBJ([insque])
+    AC_LIBOBJ([random])
+    AC_LIBOBJ([strcasecmp])
+    AC_LIBOBJ([strncasecmp])
+    AC_LIBOBJ([strdup])
+    AC_LIBOBJ([vfork])
+    AC_LIBOBJ([waitpid])
+    AC_LIBOBJ([vasprintf])
+    for f in $funcs; do
+      case "$f" in
+	basename | getpagesize | insque | random | strcasecmp)
+	  ;;
+	strncasecmp | strdup | vfork | waitpid | vasprintf)
+	  ;;
+	*)
+	  n=HAVE_`echo $f | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+	  AC_DEFINE_UNQUOTED($n)
+	  ;;
+      esac
+    done
+
+    # VxWorks doesn't provide any of the variables in $vars, so we
+    # don't have to check them here.
+
+    # Of the functions in $checkfuncs, VxWorks only has strerror.
+    AC_DEFINE_NOAUTOHEADER(HAVE_STRERROR)
+
+    setobjs=yes
+    ;;
+
+  esac
+fi
+
+if test -z "${setobjs}"; then
+
+  case "${host}" in
+
+  *-*-cygwin*)
+    # The Cygwin library actually uses a couple of files from
+    # libiberty when it is built.  If we are building a native
+    # Cygwin, and we run the tests, we will appear to have these
+    # files.  However, when we go on to build winsup, we will wind up
+    # with a library which does not have the files, since they should
+    # have come from libiberty.
+
+    # We handle this by removing the functions the winsup library
+    # provides from our shell variables, so that they appear to be
+    # missing.
+
+    # DJ - only if we're *building* cygwin, not just building *with* cygwin
+  
+    if test -n "${with_target_subdir}"
+    then
+      funcs="`echo $funcs | sed -e 's/random//'`"
+      AC_LIBOBJ([random])
+      vars="`echo $vars | sed -e 's/sys_siglist//'`"
+      checkfuncs="`echo $checkfuncs | sed -e 's/strsignal//' -e 's/psignal//'`"
+    fi
+    ;;
+
+  *-*-mingw32*)
+    # Under mingw32, sys_nerr and sys_errlist exist, but they are
+    # macros, so the test below won't find them.
+    libiberty_cv_var_sys_nerr=yes
+    libiberty_cv_var_sys_errlist=yes
+    ;;
+
+  *-*-uwin*)
+    # Under some versions of uwin, vfork is notoriously buggy and the test 
+    # can hang configure; on other versions, vfork exists just as a stub.
+    # FIXME: This should be removed once vfork in uwin's runtime is fixed.
+    ac_cv_func_vfork_works=no
+    # Under uwin 2.0+, sys_nerr and sys_errlist exist, but they are
+    # macros (actually, these are imported from a DLL, but the end effect 
+    # is the same), so the test below won't find them.
+    libiberty_cv_var_sys_nerr=yes
+    libiberty_cv_var_sys_errlist=yes
+    ;;
+
+  *-*-*vms*)
+    # Under VMS, vfork works very different than on Unix. The standard test 
+    # won't work, and it isn't easily adaptable. It makes more sense to
+    # just force it.
+    ac_cv_func_vfork_works=yes
+    ;;
+
+  esac
+
+  # We haven't set the list of objects yet.  Use the standard autoconf
+  # tests.  This will only work if the compiler works.
+  AC_ISC_POSIX
+  AC_REPLACE_FUNCS($funcs)
+  libiberty_AC_FUNC_C_ALLOCA
+  AC_FUNC_VFORK
+  if test $ac_cv_func_vfork_works = no; then
+    AC_LIBOBJ([vfork])
+  fi
+  # We only need _doprnt if we might use it to implement v*printf.
+  if test $ac_cv_func_vprintf != yes \
+     || test $ac_cv_func_vfprintf != yes \
+     || test $ac_cv_func_vsprintf != yes; then
+    AC_REPLACE_FUNCS(_doprnt)
+  else
+    AC_CHECK_FUNCS(_doprnt)
+  fi
+
+  for v in $vars; do
+    AC_MSG_CHECKING([for $v])
+    AC_CACHE_VAL(libiberty_cv_var_$v,
+      [AC_TRY_LINK([int *p;], [extern int $v []; p = $v;],
+		   [eval "libiberty_cv_var_$v=yes"],
+		   [eval "libiberty_cv_var_$v=no"])])
+    if eval "test \"`echo '$libiberty_cv_var_'$v`\" = yes"; then
+      AC_MSG_RESULT(yes)
+      n=HAVE_`echo $v | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+      AC_DEFINE_UNQUOTED($n)
+    else
+      AC_MSG_RESULT(no)
+    fi
+  done
+
+  # special check for _system_configuration because AIX <4.3.2 do not
+  # contain the `physmem' member.
+  AC_MSG_CHECKING([for external symbol _system_configuration])
+  AC_TRY_COMPILE([#include <sys/systemcfg.h>],
+                 [double x = _system_configuration.physmem;],
+    [AC_MSG_RESULT([yes])
+    AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1,
+              [Define if you have the _system_configuration variable.])],
+    [AC_MSG_RESULT([no])])
+
+  AC_CHECK_FUNCS($checkfuncs)
+  libiberty_NEED_DECLARATION(canonicalize_file_name)
+fi
+
+# Figure out which version of pexecute to use.
+case "${host}" in
+     *-*-mingw* | *-*-winnt*)	pexecute=./pex-win32.o  ;;
+     *-*-msdosdjgpp*)		pexecute=./pex-djgpp.o  ;;
+     *-*-msdos*)		pexecute=./pex-msdos.o  ;;
+     *-*-os2-emx*)		pexecute=./pex-os2.o    ;;
+     *)				pexecute=./pex-unix.o   ;;
+esac
+AC_SUBST(pexecute)
+
+libiberty_AC_FUNC_STRNCMP
+
+# Install a library built with a cross compiler in $(tooldir) rather
+# than $(libdir).
+if test -z "${with_cross_host}"; then
+  INSTALL_DEST=libdir
+else
+  INSTALL_DEST=tooldir
+fi
+AC_SUBST(INSTALL_DEST)
+
+m4_pattern_allow(LIBOBJS)
+L=""
+for l in x $LIBOBJS; do
+  case $l in
+    x) ;;
+    *) L="$L ./$l" ;;
+  esac
+done
+LIBOBJS="$L"
+
+# We need multilib support, but only if configuring for the target.
+AC_OUTPUT(Makefile testsuite/Makefile,
+[test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
+if test -n "$CONFIG_FILES"; then
+  if test -n "${with_build_subdir}" || test -n "${with_target_subdir}"; then
+    # FIXME: We shouldn't need to set ac_file
+    ac_file=Makefile
+    LD="${ORIGINAL_LD_FOR_MULTILIBS}"
+    . ${libiberty_topdir}/config-ml.in
+  fi
+fi],
+srcdir=${srcdir}
+host=${host}
+target=${target}
+with_target_subdir=${with_target_subdir}
+with_build_subdir=${with_build_subdir}
+with_multisubdir=${with_multisubdir}
+ac_configure_args="--enable-multilib ${ac_configure_args}"
+CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
+libiberty_topdir=${libiberty_topdir}
+)
diff --git a/libiberty/cp-demangle.h b/libiberty/cp-demangle.h
new file mode 100644
index 0000000..d3c57ce
--- /dev/null
+++ b/libiberty/cp-demangle.h
@@ -0,0 +1,139 @@
+/* Internal demangler interface for g++ V3 ABI.
+   Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+   Written by Ian Lance Taylor <ian@wasabisystems.com>.
+
+   This file is part of the libiberty library, which is part of GCC.
+
+   This file is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   In addition to the permissions in the GNU General Public License, the
+   Free Software Foundation gives you unlimited permission to link the
+   compiled version of this file into combinations with other programs,
+   and to distribute those combinations without any restriction coming
+   from the use of this file.  (The General Public License restrictions
+   do apply in other respects; for example, they cover modification of
+   the file, and distribution when not linked into a combined
+   executable.)
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 
+*/
+
+/* This file provides some definitions shared by cp-demangle.c and
+   cp-demint.c.  It should not be included by any other files.  */
+
+/* Information we keep for operators.  */
+
+struct demangle_operator_info
+{
+  /* Mangled name.  */
+  const char *code;
+  /* Real name.  */
+  const char *name;
+  /* Length of real name.  */
+  int len;
+  /* Number of arguments.  */
+  int args;
+};
+
+/* How to print the value of a builtin type.  */
+
+enum d_builtin_type_print
+{
+  /* Print as (type)val.  */
+  D_PRINT_DEFAULT,
+  /* Print as integer.  */
+  D_PRINT_INT,
+  /* Print as long, with trailing `l'.  */
+  D_PRINT_LONG,
+  /* Print as bool.  */
+  D_PRINT_BOOL,
+  /* Print in usual way, but here to detect void.  */
+  D_PRINT_VOID
+};
+
+/* Information we keep for a builtin type.  */
+
+struct demangle_builtin_type_info
+{
+  /* Type name.  */
+  const char *name;
+  /* Length of type name.  */
+  int len;
+  /* Type name when using Java.  */
+  const char *java_name;
+  /* Length of java name.  */
+  int java_len;
+  /* How to print a value of this type.  */
+  enum d_builtin_type_print print;
+};
+
+/* The information structure we pass around.  */
+
+struct d_info
+{
+  /* The string we are demangling.  */
+  const char *s;
+  /* The end of the string we are demangling.  */
+  const char *send;
+  /* The options passed to the demangler.  */
+  int options;
+  /* The next character in the string to consider.  */
+  const char *n;
+  /* The array of components.  */
+  struct demangle_component *comps;
+  /* The index of the next available component.  */
+  int next_comp;
+  /* The number of available component structures.  */
+  int num_comps;
+  /* The array of substitutions.  */
+  struct demangle_component **subs;
+  /* The index of the next substitution.  */
+  int next_sub;
+  /* The number of available entries in the subs array.  */
+  int num_subs;
+  /* The number of substitutions which we actually made from the subs
+     array, plus the number of template parameter references we
+     saw.  */
+  int did_subs;
+  /* The last name we saw, for constructors and destructors.  */
+  struct demangle_component *last_name;
+  /* A running total of the length of large expansions from the
+     mangled name to the demangled name, such as standard
+     substitutions and builtin types.  */
+  int expansion;
+};
+
+#define d_peek_char(di) (*((di)->n))
+#define d_peek_next_char(di) ((di)->n[1])
+#define d_advance(di, i) ((di)->n += (i))
+#define d_next_char(di) (*((di)->n++))
+#define d_str(di) ((di)->n)
+
+/* Functions and arrays in cp-demangle.c which are referenced by
+   functions in cp-demint.c.  */
+
+extern const struct demangle_operator_info cplus_demangle_operators[];
+
+#define D_BUILTIN_TYPE_COUNT (26)
+
+extern const struct demangle_builtin_type_info
+cplus_demangle_builtin_types[D_BUILTIN_TYPE_COUNT];
+
+extern struct demangle_component *
+cplus_demangle_mangled_name PARAMS ((struct d_info *, int));
+
+extern struct demangle_component *
+cplus_demangle_type PARAMS ((struct d_info *));
+
+extern void
+cplus_demangle_init_info PARAMS ((const char *, int, size_t, struct d_info *));
diff --git a/libiberty/cp-demint.c b/libiberty/cp-demint.c
new file mode 100644
index 0000000..533202d
--- /dev/null
+++ b/libiberty/cp-demint.c
@@ -0,0 +1,241 @@
+/* Demangler component interface functions.
+   Copyright (C) 2004 Free Software Foundation, Inc.
+   Written by Ian Lance Taylor <ian@wasabisystems.com>.
+
+   This file is part of the libiberty library, which is part of GCC.
+
+   This file is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   In addition to the permissions in the GNU General Public License, the
+   Free Software Foundation gives you unlimited permission to link the
+   compiled version of this file into combinations with other programs,
+   and to distribute those combinations without any restriction coming
+   from the use of this file.  (The General Public License restrictions
+   do apply in other respects; for example, they cover modification of
+   the file, and distribution when not linked into a combined
+   executable.)
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 
+*/
+
+/* This file implements a few interface functions which are provided
+   for use with struct demangle_component trees.  These functions are
+   declared in demangle.h.  These functions are closely tied to the
+   demangler code in cp-demangle.c, and other interface functions can
+   be found in that file.  We put these functions in a separate file
+   because they are not needed by the demangler, and so we avoid
+   having them pulled in by programs which only need the
+   demangler.  */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+
+#include "ansidecl.h"
+#include "libiberty.h"
+#include "demangle.h"
+#include "cp-demangle.h"
+
+/* Fill in most component types.  */
+
+int
+cplus_demangle_fill_component (p, type, left, right)
+     struct demangle_component *p;
+     enum demangle_component_type type;
+     struct demangle_component *left;
+     struct demangle_component *right;
+{
+  if (p == NULL)
+    return 0;
+  switch (type)
+    {
+    case DEMANGLE_COMPONENT_QUAL_NAME:
+    case DEMANGLE_COMPONENT_LOCAL_NAME:
+    case DEMANGLE_COMPONENT_TYPED_NAME:
+    case DEMANGLE_COMPONENT_TEMPLATE:
+    case DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE:
+    case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:
+    case DEMANGLE_COMPONENT_FUNCTION_TYPE:
+    case DEMANGLE_COMPONENT_ARRAY_TYPE:
+    case DEMANGLE_COMPONENT_PTRMEM_TYPE:
+    case DEMANGLE_COMPONENT_ARGLIST:
+    case DEMANGLE_COMPONENT_TEMPLATE_ARGLIST:
+    case DEMANGLE_COMPONENT_UNARY:
+    case DEMANGLE_COMPONENT_BINARY:
+    case DEMANGLE_COMPONENT_BINARY_ARGS:
+    case DEMANGLE_COMPONENT_TRINARY:
+    case DEMANGLE_COMPONENT_TRINARY_ARG1:
+    case DEMANGLE_COMPONENT_TRINARY_ARG2:
+    case DEMANGLE_COMPONENT_LITERAL:
+    case DEMANGLE_COMPONENT_LITERAL_NEG:
+      break;
+
+      /* These component types only have one subtree.  */
+    case DEMANGLE_COMPONENT_VTABLE:
+    case DEMANGLE_COMPONENT_VTT:
+    case DEMANGLE_COMPONENT_TYPEINFO:
+    case DEMANGLE_COMPONENT_TYPEINFO_NAME:
+    case DEMANGLE_COMPONENT_TYPEINFO_FN:
+    case DEMANGLE_COMPONENT_THUNK:
+    case DEMANGLE_COMPONENT_VIRTUAL_THUNK:
+    case DEMANGLE_COMPONENT_COVARIANT_THUNK:
+    case DEMANGLE_COMPONENT_JAVA_CLASS:
+    case DEMANGLE_COMPONENT_GUARD:
+    case DEMANGLE_COMPONENT_REFTEMP:
+    case DEMANGLE_COMPONENT_RESTRICT:
+    case DEMANGLE_COMPONENT_VOLATILE:
+    case DEMANGLE_COMPONENT_CONST:
+    case DEMANGLE_COMPONENT_RESTRICT_THIS:
+    case DEMANGLE_COMPONENT_VOLATILE_THIS:
+    case DEMANGLE_COMPONENT_CONST_THIS:
+    case DEMANGLE_COMPONENT_POINTER:
+    case DEMANGLE_COMPONENT_REFERENCE:
+    case DEMANGLE_COMPONENT_COMPLEX:
+    case DEMANGLE_COMPONENT_IMAGINARY:
+    case DEMANGLE_COMPONENT_VENDOR_TYPE:
+    case DEMANGLE_COMPONENT_CAST:
+      if (right != NULL)
+	return 0;
+      break;
+
+    default:
+      /* Other types do not use subtrees.  */
+      return 0;
+    }
+
+  p->type = type;
+  p->u.s_binary.left = left;
+  p->u.s_binary.right = right;
+
+  return 1;
+}
+
+/* Fill in a DEMANGLE_COMPONENT_BUILTIN_TYPE.  */
+
+int
+cplus_demangle_fill_builtin_type (p, typename)
+     struct demangle_component *p;
+     const char *typename;
+{
+  int len;
+  unsigned int i;
+
+  if (p == NULL || typename == NULL)
+    return 0;
+  len = strlen (typename);
+  for (i = 0; i < D_BUILTIN_TYPE_COUNT; ++i)
+    {
+      if (len == cplus_demangle_builtin_types[i].len
+	  && strcmp (typename, cplus_demangle_builtin_types[i].name) == 0)
+	{
+	  p->type = DEMANGLE_COMPONENT_BUILTIN_TYPE;
+	  p->u.s_builtin.type = &cplus_demangle_builtin_types[i];
+	  return 1;
+	}
+    }
+  return 0;
+}
+
+/* Fill in a DEMANGLE_COMPONENT_OPERATOR.  */
+
+int
+cplus_demangle_fill_operator (p, opname, args)
+     struct demangle_component *p;
+     const char *opname;
+     int args;
+{
+  int len;
+  unsigned int i;
+
+  if (p == NULL || opname == NULL)
+    return 0;
+  len = strlen (opname);
+  for (i = 0; cplus_demangle_operators[i].name != NULL; ++i)
+    {
+      if (len == cplus_demangle_operators[i].len
+	  && args == cplus_demangle_operators[i].args
+	  && strcmp (opname, cplus_demangle_operators[i].name) == 0)
+	{
+	  p->type = DEMANGLE_COMPONENT_OPERATOR;
+	  p->u.s_operator.op = &cplus_demangle_operators[i];
+	  return 1;
+	}
+    }
+  return 0;
+}
+
+/* Translate a mangled name into components.  */
+
+struct demangle_component *
+cplus_demangle_v3_components (mangled, options, mem)
+     const char *mangled;
+     int options;
+     void **mem;
+{
+  size_t len;
+  int type;
+  struct d_info di;
+  struct demangle_component *dc;
+
+  len = strlen (mangled);
+
+  if (mangled[0] == '_' && mangled[1] == 'Z')
+    type = 0;
+  else
+    {
+      if ((options & DMGL_TYPES) == 0)
+	return NULL;
+      type = 1;
+    }
+
+  cplus_demangle_init_info (mangled, options, len, &di);
+
+  di.comps = ((struct demangle_component *)
+	      malloc (di.num_comps * sizeof (struct demangle_component)));
+  di.subs = ((struct demangle_component **)
+	     malloc (di.num_subs * sizeof (struct demangle_component *)));
+  if (di.comps == NULL || di.subs == NULL)
+    {
+      if (di.comps != NULL)
+	free (di.comps);
+      if (di.subs != NULL)
+	free (di.subs);
+      return NULL;
+    }
+
+  if (! type)
+    dc = cplus_demangle_mangled_name (&di, 1);
+  else
+    dc = cplus_demangle_type (&di);
+
+  /* If DMGL_PARAMS is set, then if we didn't consume the entire
+     mangled string, then we didn't successfully demangle it.  */
+  if ((options & DMGL_PARAMS) != 0 && d_peek_char (&di) != '\0')
+    dc = NULL;
+
+  free (di.subs);
+
+  if (dc != NULL)
+    *mem = di.comps;
+  else
+    free (di.comps);
+
+  return dc;
+}
diff --git a/opcodes/ChangeLog-0001 b/opcodes/ChangeLog-0001
new file mode 100644
index 0000000..085453a
--- /dev/null
+++ b/opcodes/ChangeLog-0001
@@ -0,0 +1,2224 @@
+2001-12-31  Jeffrey A Law  (law@redhat.com)
+
+	* hppa-dis.c (print_insn_hppa): Handle new 'c' mode completers,
+	'X', 'M', and 'A'.  No longer emit a space after 'x' or 's'.
+	Always emit a space after 'H'.
+
+2001-12-18  matthew green  <mrg@redhat.com>
+
+	* ppc-opc.c (PPCVEC): Include PPC_OPCODE_ANY.
+
+2001-12-17  Richard Henderson  <rth@redhat.com>
+
+	* alpha-opc.c (unop): Encode with RB as $sp.
+
+2001-12-07  Geoffrey Keating  <geoffk@redhat.com>
+
+	* Makefile.am: Add support for xstormy16.
+	* Makefile.in: Regenerate.
+	* configure.in: Add support for xstormy16.
+	* configure: Regenerate.
+	* disassemble.c: Add support for xstormy16.
+	* xstormy16-asm.c: New generated file.
+	* xstormy16-desc.c: New generated file.
+	* xstormy16-desc.h: New generated file.
+	* xstormy16-dis.c: New generated file.
+	* xstormy16-ibld.c: New generated file.
+	* xstormy16-opc.c: New generated file.
+	* xstormy16-opc.h: New generated file.
+
+2001-12-06  Richard Henderson  <rth@redhat.com>
+
+	* alpha-opc.c (alpha_opcodes): Add wh64en.
+
+2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
+
+	* d10v-opc.c (d10v_predefined_registers): Remove warnings
+	introduced in Nov 29's patch.
+
+	* d10v-dis.c (print_operand): Apply REGISTER_MASK to `num' of
+	unmatched register.
+
+	* d10v-dis.c (print_operand): Disregard OPERAND_SP in register
+	predefined value.
+
+	* d10v-opc.c (RSRC_NOSP): New macro.
+	(d10v_operands): Add it.
+	(d10v_opcodes): Use RSRC_NOSP in post-decrement "st" and "st2w".
+
+2001-11-29  Alexandre Oliva  <aoliva@redhat.com>
+
+	* d10v-opc.c (d10v_predefined_registers): Mark `sp' as OPERAND_SP.
+	(RSRC_SP): New macro.
+	(d10v_operands): Add it.
+	(d10v_opcodes): Adjust "st" and "st2w" to use RSRC_SP.
+
+2001-11-23  Lars Brinkhoff  <lars@nocrew.org>
+
+	* pdp11-dis.c (print_insn_pdp11): Handle illegal instructions.
+	Also, break out of the loop as soon as an instruction has been
+	printed.
+
+2001-11-17  matthew green  <mrg@redhat.com>
+
+	* ppc-opc.c (mfvrsave, mtvrsave): New instructions.
+
+2001-11-15  Alan Modra  <amodra@bigpond.net.au>
+
+	* po/POTFILES.in: Regenerate.
+
+	* ppc-opc.c (PPC64): Revert 2001-10-12. Do include PPC_OPCODE_PPC.
+	(insert_bat, extract_bat, insert_bba, extract_bba,
+	insert_bd, extract_bd, insert_bdm, extract_bdm,
+	insert_bdp, extract_bdp, valid_bo,
+	insert_bo, extract_bo, insert_boe, extract_boe,
+	insert_ds, extract_ds, insert_de, extract_de,
+	insert_des, extract_des, insert_li, extract_li,
+	insert_mbe, extract_mbe, insert_mb6, extract_mb6,
+	insert_nb, extract_nb, insert_nsi, extract_nsi,
+	insert_ral, insert_ram, insert_ras,
+	insert_rbs, extract_rbs, insert_sh6, extract_sh6,
+	insert_spr, extract_spr, insert_tbr, extract_tbr): Add dialect param.
+	(extract_bd, extract_bdm, extract_bdp,
+	extract_ds, extract_des,
+	extract_li, extract_nsi): Implement sign extension without conditional.
+	(insert_bdm, extract_bdm,
+	insert_bdp, extract_bdp, valid_bo): Handle 64 bit branch hints.
+	(extract_bdm, extract_bdp): Correct 32 bit validation.
+	(AT1_MASK, AT2_MASK): Define.
+	(BBOAT_MASK): Define.
+	(BBOATCB_MASK, BBOAT2CB_MASK, BBOATBI_MASK): Define.
+	(BOFM64, BOFP64, BOTM64, BOTP64): Define.
+	(BODNZM64, BODNZP64, BODZM64, BODZP64): Define.
+	(PPCCOM32, PPCCOM64): Define.
+	(powerpc_opcodes): Modify existing 32 bit insns with branch hints
+	and add new patterns to implement 64 bit branches with hints.  Move
+	booke instructions so they match before ppc64.
+
+	* ppc-dis.c (powerpc_dialect): Set PPC_OPCODE_64 in dialect for
+	64 bit default targets, and parse "32" and "64" in options.
+	Formatting fixes.
+	(print_insn_powerpc): Pass dialect to operand->extract.
+
+2001-11-14  Dave Brolley  <brolley@redhat.com>
+
+	* cgen-dis.c (count_decodable_bits): New function.
+	(add_insn_to_hash_chain): New function.
+	(hash_insn_array): Call add_insn_to_hash_chain.
+	(hash_insn_list): Call add_insn_to_hash_chain.
+	* m32r-dis.c: Regenerated.
+	* fr30-dis.c: Regenerated.
+
+2001-11-14  Andreas Jaeger  <aj@suse.de>
+
+	* i386-dis.c (print_insn): Use x86-64 as option.
+
+2001-11-14  Alan Modra  <amodra@bigpond.net.au>
+
+	* disassemble.c (disassembler): Call print_insn_i386.
+	* i386-dis.c (SUFFIX_ALWAYS): Define.
+	(struct dis_private): Add orig_sizeflag.
+	(print_insn_i386): Make it a wrapper, calling..
+	(print_insn): ..The old body of print_insn_i386.  Avoid longjmp
+	warning without using volatile by moving orig_sizeflag to priv,
+	and removing inbuf.  Parse disassembler_options.
+	(print_insn_i386_att, print_insn_i386_intel): Move initialisation
+	code to print_insn.
+	(putop): Remove #ifdef SUFFIX_ALWAYS.
+
+2001-11-11  Timothy Wall  <twall@alum.mit.edu>
+
+	* tic54x-dis.c: Use revised opcode structure.  Export opcode
+	template lookup.
+	(has_lkaddr): Don't forget about Lmem insns.
+	* tic54x-opc.c: Add emulation trap.  Parallel table now uses
+	standard opcode templates.
+
+2001-11-13  Zack Weinberg <zack@codesourcery.com>
+
+	* i386-dis.c (grps): Change "sldt", "str", and "smsw" entries
+	to "sldtQ", "strQ", "smswQ" respectively; all with Ev operand
+	category instead of Ew.
+
+2001-11-12  Niraj Gupta <ngupta@zumanetworks.com>
+
+	* m68k-opc.c: Fix definitions of wddata[bwl].
+
+2001-11-09  Richard Sandiford  <rsandifo@redhat.com>
+
+	* cgen-asm.c (cgen_parse_keyword): If the keyword is too big to
+	fit in the buffer, try to match the empty keyword.
+
+2001-11-09  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* cgen-ibld.in (extract_1): Fix badly placed #if 0.
+	* fr30-ibld.c: Regenerate.
+	* m32r-ibld.c: Regenerate.
+	* openrisc-ibld.c: Regenerate.
+
+2001-11-04  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips-dis.c (print_insn_mips): Remove spaces at end of line.
+
+2001-11-02  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* configure.in (ALL_LINGUAS): Add "fr", "sv" and "tr".
+	* configure: Regernate.
+	* po/fr.po: New file.
+	* po/sv.po: New file.
+	* po/tr.po: New file.
+
+2001-11-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+	* m68hc11-dis.c (print_insn): Fix disassembly of movb with a
+	constant as source.
+
+2001-10-30  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* Makefile.am (CFILES): Add mmix-dis.c and mmix-opc.c.  Regenerate
+	dependencies.
+	* Makefile.in: Regenerate.
+	* mmix-dis.c, mmix-opc.c: New files.
+
+2001-10-29  Kazu Hirata  <kazu@hxi.com>
+
+	* d30v-dis.c: Fix a comment typo.
+
+2001-10-23  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips-opc.c (mips_builtin_opcodes): Mark "bgezall" and
+	"bltzall" as writing GPR 31 (since they do).
+
+	* mips-dis.c (print_insn_arg): Calculate info->target
+	where appropriate.
+	(print_insn_mips): Fill in instruction info.
+	(print_mips16_insn_arg): Remove unneded variable 'val'.
+	Removed duplicated instruction target calculations,
+	calculate once and print that result.  Use same idiom for
+	masking the jump segment bits as is used in print_insn_arg.
+
+2001-10-20  Alan Modra  <amodra@bigpond.net.au>
+
+	* ppc-opc.c (CT): Make it an optional operand.
+
+2001-10-17  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips-dis.c (mips_isa_type): Make the ISA used to disassemble
+	SB-1 binaries include instructions specific to the SB-1.
+	* mips-opc.c (SB1): New definition.
+	(mips_builtin_opcodes): Add SB-1 extension opcodes "div.ps",
+	"recip.ps", "rsqrt.ps", and "sqrt.ps".
+
+2001-10-17  matthew green  <mrg@redhat.com>
+
+	* ppc-opc.c (STRM): New AltiVec operand.
+	(XDSS): New AltiVec instruction form.
+	(mtvscr): Correct operand list.
+	(dst, dstt, dstst, dststt, dss, dssall): AltiVec instructions.
+
+2001-10-17  Alan Modra  <amodra@bigpond.net.au>
+
+	* po/POTFILES.in: Regenerate.
+
+2001-10-13  matthew green  <mrg@redhat.com>
+
+	* ppc-opc.c (MO): New macro for MO field of mbar instruction.
+	(powerpc_opcodes): Add rfci, wrtee, wrteei, mfdcrx, mfdcr,
+	mtdcrx, mtdcr, msync, dcba and mbar as BookE instructions.
+
+2001-10-13  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* cgen-ibld.in: Include safe-ctype.h in preference to
+	ctype.h.
+	* cgen-asm.in: Include safe-ctype.h in preference to
+	ctype.h.  Fix formatting.  Use ISSPACE instead of isspace and
+	TOLOWER instead of tolower.
+	(@arch@_cgen_build_insn_regex): Remove duplication of syntax
+	string elements in constructed regular expression.
+	* fr30-asm.c: Regenerate.
+	* fr30-desc.c: Regenerate.
+	* fr30-ibld.c: Regenerate.
+	* m32r-asm.c: Regenerate.
+	* m32r-desc.c: Regenerate.
+	* m32r-ibld.c: Regenerate.
+	* openrisc-asm.c: Regenerate.
+	* openrisc-desc.c: Regenerate.
+	* openrisc-ibld.c: Regenerate.
+	* po/opcodes.pot: Regenerate.
+
+2001-10-12  matthew green  <mrg@redhat.com>
+
+	* ppc-opc.c (insert_de, extract_de, insert_des, extract_des): New
+	instruction field instruction/extraction functions for new BookE
+	DE form instructions.
+	(CT): New macro for CT field in an X form instruction.
+	(DE, DES, DEO, DE_MASK): New macros for DE/DES fields in DE form
+	instructions.
+	(PPC64): Don't include PPC_OPCODE_PPC.
+	(403): New opcode macro for PPC403 processors.
+	(BOOKE): New opcode macro for BookE processors.
+	(bce, bcel, bcea, bcela, bclre, bclrel: New BookE instructions.
+	(bcctre, bcctrel, be, bel, bea, bela, icbt, icbte, lwzxe): Likewise.
+	(dcbste, lwzuxe, luxe, dcbfe, lbzxe, lwarxe, lbzuxe): Likewise.
+	(stwcxe, stwxe, stxe, stwuxe, stuxe, stbxe, dcbtste, stbuxe): Likewise.
+	(mfapidi, dcbte, lhzxe, lhzuxe, lhaxe, lhauxe, subfe64): Likewise.
+	(subfeo64, adde64, addeo64, sthxe, sthuxe, subfze64): Likewise.
+	(subfzeo64, addze64, addzeo64, dcbie, subfme64, subfmeo64): Likewise.
+	(addme64, addmeo64, stdcxe., mcrxr64, lwbrxe, lfsxe, lfsuxe): Likewise.
+	(lfdxe, lfduxe, stwbrxe, stfsxe, stfsuxe, stfdxe, dcbae): Likewise.
+	(stfduxe, tlbivax, tlbivaxe, lhbrxe, ldxe, lduxe, tlbsx): Likewise.
+	(tlbsxe, sthbrxe, stdxe, stduxe, icbie, stfiwxe, dcbze, lbze): Likewise.
+	(lbzue, ldue, lhze, lhzue, lhae, lhaue, lwze, lwzue): Likewise.
+	(stbe, stbue, sthe, sthue, stwe, stwue, lfse, lfsue, lfde): Likewise.
+	(lfdue, stde, stdue, stfse, stfsue, stfde, stfdue): Likewise.
+
+	* ppc-dis.c (print_insn_big_powerpc, print_insn_little_powerpc): Look
+	for a disassembler option of `booke', `booke32' or `booke64' to enable
+	BookE support in the disassembler.
+
+2001-10-12  John Healy  <jhealy@redhat.com>
+
+	* cgen-dis.in (print_insn): Use min (cd->base_insn_bitsize, buflen*8)
+	for the length when extracting the base part of the insn.
+
+2001-10-09  Bruno Haible  <haible@clisp.cons.org>
+
+	* cgen-asm.in (*_cgen_build_insn_regex): Generate a case sensitive
+	regular expression.  Fix some formatting problems.
+	* fr30-asm.c: Regenerate.
+	* openrisc-asm.c: Regenerate.
+	* m32r-asm.c: Regenerate.
+
+2001-10-09  Christian Groessler <cpg@aladdin.de>
+
+	* z8k-dis.c (unparse_instr): Fixed formatting. Change disassembly
+	of indirect register memory accesses to be same format the
+	assembler accepts.
+
+2001-10-09  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* sh-opc.h: Fix encoding of least significant nibble of the
+	DSP single data transfer instructions.
+
+	* sh-dis.c (print_insn_shx): Fix decoding of As opcode in DSP
+	instructions.
+
+2001-10-08  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* cgen-asm.in: Fix compile time warning messages in generated
+	C files.
+	* cgen-dis.in: The same.
+	* cgen-ibld.in: The same.
+	* fr30-asm.c: Regenerate.
+	* fr30-desc.c: Regenerate.
+	* fr30-dis.c: Regenerate.
+	* fr30-ibld.c: Regenerate.
+	* fr30-opc.c: Regenerate.
+	* m32r-asm.c: Regenerate.
+	* m32r-desc.c: Regenerate.
+	* m32r-dis.c: Regenerate.
+	* m32r-ibld.c: Regenerate.
+	* m32r-opc.c: Regenerate.
+	* m32r-opinst.c Regenerate.
+	* openrisc-asm.c: Regenerate.
+	* openrisc-desc.c: Regenerate.
+	* openrisc-dis.c: Regenerate.
+	* openrisc-ibld.c: Regenerate.
+	* openrisc-opc.c: Regenerate.
+	* openrisc-opc.h: Regenerate.
+	* Makefile.in: Regenerate.
+	* po/POTFILES.in: Regenerate.
+	* po/opcodes.pot: Regenerate.
+
+2001-10-08  Aldy Hernandez  <aldyh@redhat.com>
+
+	* arm-opc.h (arm_opcodes): Add cirrus insns.
+
+	* arm-dis.c (print_insn_arm): Add 'I' case.
+
+2001-10-03  Alan Modra  <amodra@bigpond.net.au>
+
+	* po/POTFILES.in: Regenerate.
+	* configure: Regenerate.
+
+2001-10-02  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am (Makefile): Depend on bfd/configure.in.
+	Run "make dep-am".
+	* Makefile.in: Regenerate.
+
+2001-09-30  John Healy  <jhealy@redhat.com>
+
+	* cgen-ibld.in (insert_1): Switched bfd_get_bits and bfd_set_bits
+	calls to cgen_get_insn_value and cgen_put_insn_value calls.
+	(extract_1): Switched bfd_get_bits call to cgen_get_insn_value call.
+
+2001-09-30  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* Makefile.am: Update dependencies with "make dep-am".
+	* Makefile.in: Regenerate.
+
+2001-09-26  Alan Modra  <amodra@bigpond.net.au>
+
+	* arc-dis.c: Formatting fixes.
+	(my_sprintf): Define using VPARAMS, VA_OPEN, VA_FIXEDARG, VA_CLOSE.
+
+2001-09-21  Bruno Haible  <haible@clisp.cons.org>
+
+	* arc-dis.c: Don't include <ctype.h>.
+	* openrisc-desc.c: Likewise.
+	* openrisc-ibld.c: Likewise.
+
+2001-09-20  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* fr30-opc.c: Fix compile time warning messages.
+	* i370-opc.c: Fix compile time warning messages.
+	* i960-dis.c: Fix compile time warning messages.
+	* m32r-asm.c: Fix compile time warning messages.
+	* m32r-desc.c: Fix compile time warning messages.
+	* m32r-dis.c: Fix compile time warning messages.
+	* m32r-ibld.c: Fix compile time warning messages.
+	* m32r-opc.c: Fix compile time warning messages.
+	* m32r-opinst.c: Fix compile time warning messages.
+	* ns32k-dis.c: Fix compile time warning messages.
+	* openrisc-asm.c: Fix compile time warning messages.
+	* openrisc-desc.c: Fix compile time warning messages.
+	* openrisc-dis.c: Fix compile time warning messages.
+	* openrisc-ibld.c: Fix compile time warning messages.
+	* openrisc-opc.c: Fix compile time warning messages.
+	* pdp11-dis.c: Fix compile time warning messages.
+	* tic54x-dis.c: Fix compile time warning messages.
+	* v850-opc.c: Fix compile time warning messages.
+	* vax-dis.c: Fix compile time warning messages.
+	* w65-opc.h: Fix compile time warning messages.
+	* z8k-opc.h: Fix compile time warning messages.
+	* z8kgen.c: Fix compile time warning messages.
+
+2001-09-19  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* arm-dis.c:   Fix compile time warning messages.
+	* cgen-asm.c:  Fix compile time warning messages.
+	* cgen-dis.c:  Fix compile time warning messages.
+	* cris-dis.c:  Fix compile time warning messages.
+	* d10v-dis.c:  Fix compile time warning messages.
+	* fr30-asm.c:  Fix compile time warning messages.
+	* fr30-desc.c: Fix compile time warning messages.
+	* fr30-dis.c:  Fix compile time warning messages.
+	* fr30-ibld.c: Fix compile time warning messages.
+
+2001-09-18  Bruno Haible  <haible@clisp.cons.org>
+
+	* cgen-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
+	(cgen_parse_keyword): Use ISALNUM instead of isalnum.
+	* cgen-opc.c: Include "safe-ctype.h" instead of <ctype.h>.
+	(cgen_keyword_lookup_name): Use ISALPHA/TOLOWER instead of
+	isalpha/tolower.
+	(cgen_keyword_add): Use ISALNUM instead of isalnum.
+	(hash_keyword_name): Use TOLOWER instead of tolower.
+	* fr30-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
+	(parse_insn_normal): Use TOLOWER/ISSPACE instead of
+	tolower/isspace.
+	(fr30_cgen_assemble_insn): Use ISSPACE instead of isspace.
+	* fr30-desc.c: Don't include <ctype.h>.
+	* fr30-ibld.c: Likewise.
+	* ia64-gen.c: Include "safe-ctype.h" instead of <ctype.h>.
+	(load_insn_classes, parse_resource_users, load_depfile): Use
+	ISSPACE instead of isspace.
+	* m32r-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
+	(parse_insn_normal): Use TOLOWER/ISSPACE instead of
+	tolower/isspace.
+	(m32r_cgen_assemble_insn): Use ISSPACE instead of isspace.
+	* m32r-desc.c: Don't include <ctype.h>.
+	* m32r-ibld.c: Likewise.
+	* openrisc-asm.c: Include "safe-ctype.h" instead of <ctype.h>.
+	(parse_insn_normal): Use TOLOWER/ISSPACE instead of
+	tolower/isspace.
+	(openrisc_cgen_assemble_insn): Use ISSPACE instead of isspace.
+
+2001-09-18  Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+	* Makefile.am: Add rules and dependencies to create the s/390 opcode
+	table out of s390-opc.txt automatically.
+	* configure.in: Add BFD_CC_FOR_BUILD to allow CC_FOR_BUILD to be used.
+	* s390-mkopc.c (dumpTable): Change output to create a complete file.
+	* s390-opc.c: New improved opcode format macros and remove the
+	pregenerated opcode table.
+	* s390-opc.txt: Adapt to new improved opcode format macros.
+
+2001-09-14  David Schleef <ds@schleef.org>
+
+	* ppc-opc.c (VXA, VXA_MASK): Fix mask bits.
+
+2001-09-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* i386-dis.c (grps): Don't print the implicit al/ax/eax register
+	for opcode 0xf6 or 0xf7 forms of mul, imul, div, idiv insns.
+
+2001-08-31  Eric Christopher  <echristo@redhat.com>
+	    Jason Eckhardt    <jle@redhat.com>
+
+	* mips-dis.c: Add support for bfd_mach_mipsisa32 and
+	bfd_mach_mipsisa64. Remove bfd_mach_mips32, bfd_mach_mips32_4k,
+	bfd_mach_mips64.
+
+2001-08-31  Andreas Jaeger  <aj@suse.de>
+
+	* tic54x-opc.c: Add default initializers to avoid warnings.
+
+	* arc-opc.c: Include "sysdep.h" to get stdio.h as include file.
+	* arc-ext.c: Likewise.
+
+2001-08-28  matthew green  <mrg@redhat.com>
+
+	* ppc-opc.c (icbt): Order correctly.
+
+2001-08-27  David Edelsohn  <dje@watson.ibm.com>
+	    Torbjorn Granlund  <tege@swox.com>
+
+	* ppc-opc.c (DS): Add PPC_OPERAND_DS flag.
+	(LS): Define.
+	(insert_ds): Complain if not a multiple of 4.
+	(XSYNC): Define.
+	(XSYNC_MASK): Define.
+	(powerpc_opcodes): Add "slbmte", "lwsync", "ptesync", "slbmfev",
+	"slbmfee".  Modify "sync" to use XSYNC_MASK and LS.
+
+2001-08-26  Andreas Jaeger  <aj@suse.de>
+
+	* h8500-opc.h: Add default initializers to h8500_table to shut up
+	GCC warnings.
+
+2001-08-25  Andreas Jaeger  <aj@suse.de>
+
+	* tic54x-dis.c: Add unused attributes where needed.
+
+	* z8k-dis.c (output_instr): Add unused attribute.
+
+	* h8300-dis.c: Add missing prototypes.
+	(bfd_h8_disassemble): Make static.
+
+	* cris-dis.c: Add missing prototype.
+	* h8500-dis.c: Likewise.
+	* m68hc11-dis.c: Likewise.
+	* pj-dis.c: Likewise.
+	* tic54x-dis.c: Likewise.
+	* v850-dis.c: Likewise.
+	* vax-dis.c: Likewise.
+	* w65-dis.c: Likewise.
+	* z8k-dis.c: Likewise.
+
+	* d10v-dis.c: Add missing prototype.
+	(dis_long): Remove unused variable.
+	(dis_2_short): Likewise.
+
+	* sh-dis.c: Add missing prototypes.
+	* v850-opc.c: Likewise.
+	Add unused attributes where needed.
+
+	* ns32k-dis.c: Add missing prototypes.
+	(bit_extract_simple): Remove unused variable.
+
+2001-08-23  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* s390-opc.c: Add "low or high" and "not low or high"
+	branch instructions for gcc 3.0.
+	* s390-opc.txt: Likewise.
+
+2001-08-21  Andreas Jaeger  <aj@suse.de>
+
+	* i960-dis.c: Add parameters for prototypes
+	(ctrl): Add unused attributes.
+	(cobr): Likewise.
+	(put_abs): Likewise.
+
+	* mips-dis.c: Add missing prototypes.
+	* a29k-dis.c: Likewise.
+	* arc-dis.c: Likewise.
+	* ia64-opc.c: Likewise.
+
+	* s390-dis.c: Add missing prototypes.
+	(init_disasm): Remove unused attribute since the parameter is
+	used.
+
+2001-08-16  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* mips-opc.c (M1): Define. Reformatted Code.
+	(mips_builtin_opcodes): Added performance counter opcodes mfpc, mfps,
+	mtps, mtps. Typo.
+
+2001-08-16  Jonathan Larmour  <jlarmour@redhat.com>
+
+	* mips-opc.c: R3900s can support all branch likely INSN_MACROs where
+	the corresponding non-likely insn is in MIPS I.
+
+2001-08-13  Kazu Hirata  <kazu@hxi.com>
+
+	* mcore-dis.c: Fix formatting.
+	* mips-dis.c: Likewise.
+	* pj-dis.c: Likewise.
+	* z8k-dis.c: Likewise.
+
+2001-08-12  Richard Henderson  <rth@redhat.com>
+
+	* cgen-ibld.in (extract_normal): Match type of VALUE and MASK
+	to *VALUEP.  Regenerate all cgen files.
+
+2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
+
+	* mips-dis.c (print_insn_mips): Remove OPCODE_IS_MEMBER's gp32
+	argument.
+	* mips-opc.c (G6): Undefine.
+	(mips_builtin_opcodes): Remove gp32 entry for "move".  Add macro
+	as the first "move" alternative.
+
+2001-08-10  Andreas Jaeger  <aj@suse.de>
+
+	* configure.in: Add -Wstrict-prototypes and -Wmissing-prototypes
+	to build warnings.
+	* configure: Regenerate.
+
+2001-08-10  Alan Modra  <amodra@bigpond.net.au>
+
+	* ppc-opc.c: Revert 2001-08-08.
+
+2001-08-09  Alan Modra  <amodra@bigpond.net.au>
+
+	* dis-buf.c (generic_strcat_address): Add missing prototype.
+	#if 0 the functions as it is unused.
+
+2001-08-08  Alan Modra  <amodra@bigpond.net.au>
+
+	1999-10-25  Torbjorn Granlund  <tege@swox.com>
+	* ppc-opc.c: Include "bfd.h".
+	(powerpc_operands): Add new field for reloc type.
+
+2001-07-21  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* mips-dis.c (print_insn_arg): Don't use software integer registers
+	for coprocessor registers.
+	(get_mips_isa): Removed.
+	(is_newabi): New function, checks if NewABI is used.
+	(_print_insn_mips): Get distinction between old ABI and new ABI right.
+
+2001-08-01  Christian Groessler <cpg@aladdin.de>
+
+	* z8kgen.c: Fixed indentation of opt[] array.  Include stdio.h to
+	get stderr definition.
+	(internal, gas): Removed warnings.
+	(gas): Create a correct final entry for created array.
+	* z8k-opc.h: Recreated with new z8kgen.
+
+2001-07-28  Kazu Hirata  <kazu@hxi.com>
+
+	* i386-dis.c: Fix formatting.
+
+2001-07-28  Matthias Kramm <kramm@quiss.org>
+
+	* i386-dis.c: Change formatting conventions for architecture
+	i386:intel to better match the format of various intel i386
+	assemblers, like nasm, tasm or masm.
+
+2001-07-24  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am: Update dependencies with "make dep-am".
+	* Makefile.in: Regenerate
+
+2001-07-24  Kazu Hirata  <kazu@hxi.com>
+
+	* alpha-dis.c: Fix formatting.
+	* cris-dis.c: Likewise.
+	* d10v-dis.c: Likewise.
+	* d30v-dis.c: Likewise.
+	* m10300-dis.c: Likewise.
+	* tic54x-dis.c: Likewise.
+
+2001-07-23  Kazu Hirata  <kazu@hxi.com>
+
+	* m68k-dis.c: Fix formatting.
+	* pj-dis.c: Likewise.
+	* s390-dis.c: Likewise.
+	* z8k-dis.c: Likewise.
+
+2001-07-21  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips-opc.c (mips_builtin_opcodes): Sort c.le.s and c.lt.s
+	into the rest of the surrounding definitions.
+
+2001-07-18  Alan Modra  <amodra@bigpond.net.au>
+
+	* i386-dis.c (grps): Print l or w suffix, and require mem modrm
+	for lgdt, lidt, sgdt, sidt.
+
+2001-07-13  Philip Blundell  <philb@gnu.org>
+
+	* arm-dis.c (print_insn_arm): Use decimal for offsets in LDR/STR.
+
+2001-07-12  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* cgen-asm.in: Include "xregex.h" always to enable the libiberty
+	regex support.
+	(@arch@_cgen_build_insn_regex): New routine from Graydon.
+	(@arch@_cgen_assemble_insn): Add Graydon's code to use regex
+	to verify if it is worth parsing the insn as insn "x".  Also update
+	error message when insn is not a recognized format of the insn vs
+	when the insn is completely unrecognized.
+
+2001-07-11  Frank Ch. Eigler  <fche@redhat.com>
+
+	* cgen-dis.in (print_insn): Use cgen_get_insn_value instead of
+	bfd_get_bits.
+	* cgen-opc.c (cgen_get_insn_value, cgen_put_insn_value): Respect
+	non-zero CGEN_CPU_DESC->insn_chunk_bitsize.
+
+2001-07-09  Andreas Jaeger  <aj@suse.de>, Karsten Keil <kkeil@suse.de>
+
+	* i386-dis.c (set_op): Handle 64 bit and 32 bit mode.
+	(OP_J): Use bfd_vma for mask to work properly with 64 bits.
+	(op_address,op_riprel): Use bfd_vma to handle 64 bits.
+
+2001-07-05  Ben Elliston  <bje@redhat.com>
+
+	* Makefile.am (CPUDIR): Define.
+	(stamp-m32r): Update dependencies.
+	(stamp-fr30): Ditto.
+	(stamp-openrisc): Ditto.
+	* Makefile.in: Regenerate.
+
+2001-07-03  Zoltan Hidvegi <hzoli@hzoli.2y.net>
+
+	* ppc-opc.c: Fix encoding of 'clf' instruction.
+
+2001-06-30  Geoffrey Keating  <geoffk@redhat.com>
+
+	* cgen-ibld.in (insert_normal): Support CGEN_IFLD_SIGN_OPT.
+
+2001-06-28  Geoffrey Keating  <geoffk@redhat.com>
+
+	* cgen-asm.c (cgen_parse_keyword): Allow any first character.
+	* cgen-opc.c (cgen_keyword_add): Ignore special first
+	character when building nonalpha_chars field.
+
+2001-06-24  Ben Elliston  <bje@redhat.com>
+
+	* m88k-dis.c: Format to conform to GNU coding standards.
+
+2001-06-23  Andreas Jaeger  <aj@suse.de>
+
+	* disassemble.c (disassembler_usage): Add unused attribute.
+
+2001-06-22  Eric Christopher  <echristo@redhat.com>
+
+	* mips-opc.c: Move prefx to start of the table.
+
+2001-06-22  Stacey Sheldon <ssheldon@Catena.com>
+
+	* arc-opc.c (insert_st_syntax): Fix over-optimisation of ST
+	instruction.
+
+2001-06-22  Pauli <pauli@moreton.com.au>
+
+	* m68k-opc.c: Add wdebug instruction.
+
+2001-06-15  Aldy Hernandez  <aldyh@redhat.com>
+
+	* m10300-opc.c (mn10300_opcodes): Change opcode for AM33 subc.
+
+2001-06-14  Geoffrey Keating  <geoffk@redhat.com>
+
+	* cgen-asm.c (cgen_parse_keyword): When looking for the
+	boundaries of a keyword, allow any special characters
+	that are actually in one of the allowed keyword.
+	* cgen-opc.c (cgen_keyword_add): Add any special characters
+	to the nonalpha_chars field.
+
+2001-06-12  Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+	* s390-opc.c: Add lgh instruction.
+	* s390-opc.txt: Likewise.
+
+2001-06-11  Alan Modra  <amodra@bigpond.net.au>
+
+	* i386-dis.c: Group function prototypes in one place.
+	(FLOATCODE): Redefine as 1.
+	(USE_GROUPS): Redefine as 2.
+	(USE_PREFIX_USER_TABLE): Redefine as 3.
+	(X86_64_SPECIAL): Define as 4.
+	(GRP1b..GRPAMD): Move USE_GROUPS to bytecode1, index to bytecode2.
+	(PREGRP0..PREGRP26): Similarly with USE_PREFIX_USER_TABLE.
+	(dis386_att, dis386_intel, disx86_64_att, disx86_64_intel): Delete.
+	(dis386): New table combining above four tables.
+	(dis386_twobyte_att, dis386_twobyte_intel): Delete.
+	(dis386_twobyte): New table combining above two tables.
+	(x86_64_table): New table to handle x86_64.
+	(X86_64_0): Define.
+	(float_mem_att, float_mem_intel): Delet.
+	(float_mem): New table combining above two tables.
+	(print_insn_i386): Modify for above.
+	(dofloat): Likewise.
+	(putop): Handle '{', '|' and '}' to select alternative mnemonics.
+	Return 0 on success, 1 if no valid alternative.
+	(putop <case 'F'>, <case 'H'>): Print nothing for intel_syntax.
+	(putop <case 'T'>): Move to case 'U', and share case 'Q' code.
+	(putop <case 'I'>): Move to case 'T', and share case 'P' code.
+	(OP_REG <case rAX_reg .. rDI_reg>): Handle as for eAX_reg .. eDI_reg
+	if not 64-bit mode.
+	(OP_I <case q_mode>): Handle as for v_mode if not 64-bit mode.
+	(OP_I64): If not 64-bit mode, call OP_I.
+	OP_OFF64): If not 64-bit mode, call OP_OFF.
+	(OP_ST, OP_STi, OP_SEG, OP_DIR, OP_OFF, OP_OFF64, OP_MMX): Rename
+	'ignore'/'ignored' to 'bytemode'.
+
+2001-06-10  Alan Modra  <amodra@bigpond.net.au>
+
+	* configure.in: Sort 'ta' case statement.
+	* configure: Regenerate.
+
+	* i386-dis.c (dis386_att): Add 'H' to conditional branch and
+	loop,jcxz insns.
+	(disx86_64_att): Likewise.
+	(dis386_twobyte_att): Likewise.
+	(print_insn_i386): Don't print branch hints as a prefix.
+	(putop): 'H' macro prints branch hints.
+	(get64): Kill compile warnings.
+
+2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
+
+	* sh-opc.h (sh_table): Don't use empty initializers.
+
+2001-06-06  Christian Groessler <cpg@aladdin.de>
+
+	* z8k-dis.c: Fix formatting.
+	(unpack_instr): Remove unused cases in switch statement. Add
+	safety abort() in default case.
+	(unparse_instr): Add safety abort() in default case.
+
+2001-06-06  Peter Jakubek <pjak@snafu.de>
+
+	* m68k-dis.c (print_insn_m68k): Fix typo.
+	* m68k-opc.c (m68k_opcodes): Correct allowed operands for
+	mcf (ColdFire) div, rem and moveb instructions.
+
+2001-06-06  Alan Modra  <amodra@bigpond.net.au>
+
+	* i386-dis.c (cond_jump_flag, loop_jcxz_flag): Define.
+	(cond_jump_mode, loop_jcxz_mode): Define.
+	(dis386_att): Add cond_jump_flag and loop_jcxz_flag as
+	appropriate, and 'F' suffix to loop insns.
+	(disx86_64_att): Likewise.
+	(dis386_twobyte_att): Likewise.
+	(print_insn_i386): Don't output addr prefix for loop, jcxz insns.
+	Output data size prefix for long conditional jumps.  Output cs and
+	ds branch hints.
+	(putop): Handle 'F', and mark PREFIX_ADDR used for case 'E'.
+	(OP_J): Don't make PREFIX_DATA used.
+
+2001-06-04  Alexandre Oliva  <aoliva@redhat.com>
+
+	* sh-opc.h (sh_table): Complete last element entry to avoid
+	compiler warning.
+
+2001-05-16  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* mips-dis.c (mips_isa_type): Add MIPS r12k support.
+
+2001-05-23  Alan Modra  <amodra@one.net.au>
+
+	* arc-opc.c: Whitespace changes.
+
+2001-05-18  Hans-Peter Nilsson  <hp@axis.com>
+
+	* cris-opc.c (cris_spec_regs): Add missing initializer field for
+	last element.
+
+2001-05-15  Frank Ch. Eigler  <fche@redhat.com>
+
+	* cgen-dis.in (extract_normal): Complete support for min<base case.
+
+2001-05-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* mips-dis.c (INSNLEN): Rename MAXLEN.
+	(std_reg_names): Replace by mips32_reg_names and mips64_reg_names.
+	(print_insn_arg): Remove $ prefix of register names.
+	(set_mips_isa_type): Remove.
+	(mips_isa_type): New function.
+	(get_mips_isa): New Function.
+	(print_insn_mips): Rename _print_insn_mips.
+	(_print_insn_mips): New function, contains code which was
+	duplicated in print_insn_big_mips and print_insn_little_mips.
+	(print_insn_big_mips): Moved code to _print_insn_mips.
+	(print_insn_little_mips): Likewise.
+	(print_mips16_insn_arg): Remove $ prefix of register names.
+	Print error message before abort.
+
+2001-05-14  J.T. Conklin  <jtc@redback.com>
+
+	* ppc-opc.c (powerpc_opcodes): Fixed extended opcode field of
+	simplified mnemonics used for setting PPC750-specific special
+	purpose	registers.
+
+2001-05-12  H.J. Lu  <hjl@gnu.org>
+
+	* i386-dis.c (print_insn_i386): Always set `mod', `reg' and
+	`rm'.
+
+2001-05-12  Peter Targett  <peter.targett@arccores.com>
+
+	* arc-opc.c (arc_reg_names): Correct attribute for lp_count
+	register to r/w.  Formatting fixes throughout file.
+
+2001-05-12  Alan Modra  <amodra@one.net.au>
+
+	* i386-dis.c (prefix_user_table): Correct movq2dq, movdq2q, and
+	movq operands.
+	(twobyte_has_modrm): Update table.
+	(need_modrm): Give it file scope.
+	(MODRM_CHECK): Define.
+	(dofloat): Use MODRM_CHECK.
+	(OP_E): Likewise.
+	(OP_EM): Likewise.
+	(OP_EX): Likewise.
+
+2001-05-07  Frank Ch. Eigler  <fche@redhat.com>
+
+	* cgen-dis.in (default_print_insn): Tolerate min<base instructions
+	even at end of a section.
+	* cgen-ibld.in (extract_normal): Tolerate min!=base!=max instructions
+	by ignoring precariously-unpacked insn_value in favor of raw buffer.
+
+2001-05-03  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* disassemble.c (disassembler_usage): Remove unused attribute.
+
+2001-05-04  Frank Ch. Eigler  <fche@redhat.com>
+
+	* m32r-dis.c, -asm.c, -ibld.c: Regenerated with disassembler fixes.
+
+2001-05-04  Frank Ch. Eigler  <fche@redhat.com>
+
+	* cgen-dis.in (print_insn): Remove call to read_insn.  Instead,
+	assume incoming buffer already has the base insn loaded.  Handle
+	smaller-than-base instructions for variable-length case.
+
+2001-05-04  Alan Modra  <amodra@one.net.au>
+
+	* i386-dis.c (Ev, Ed): Remove duplicate define.
+	(Gd): Define.
+	(XS): Define.
+	(OP_XS): New function.
+	(dis386_twobyte_att): Correct pinsrw, pextrw, pmovmskb, and
+	movmskp operands.
+	(dis386_twobyte_intel): Likewise.
+	(prefix_user_table): Use MS for maskmovq operand.
+
+2001-04-27  Johan Rydberg  <jrydberg@opencores.org>
+
+	* Makefile.am: Add OpenRISC target.
+	* Makefile.in: Regenerated.
+
+	* disassemble.c (disassembler): Recognize the OpenRISC disassembly.
+
+	* configure.in (bfd_openrisc_arch): Add target.
+	* configure: Regenerated.
+
+	* openrisc-asm.c: New file.
+	* openrisc-desc.c: Likewise.
+	* openrisc-desc.h: Likewise.
+	* openrisc-dis.c: Likewise.
+	* openrisc-ibld.c: Likewise.
+	* openrisc-opc.c: Likewise.
+	* openrisc-opc.h: Likewise.
+
+2001-04-24  Christian Groessler  <cpg@aladdin.de>
+
+	* z8k-dis.c: add names of control registers (ctrl_names);
+	(seg_length): provides instruction length fixup for segmented
+	mode; (unpack_instr): correctly handle ARG_DISP16, ARG_DISP12,
+	CLASS_0DISP7, CLASS_1DISP7, CLASS_DISP8 and CLASS_PR cases;
+	(unparse_intr): handle CLASS_PR, print addresses without '#'
+	* z8k-opc.h: re-created with new z8kgen
+	* z8kgen.c: merged in fixes which were in existing z8k-opc.h; new
+	entries for ldctl/ldctlb instruction
+
+2001-04-06  Andreas Jaeger  <aj@suse.de>
+
+	* i386-dis.c: Add ffreep instruction.
+
+2001-03-30  Alexandre Oliva  <aoliva@redhat.com>
+
+	* ppc-opc.c (insert_mbe): Shift mask initializer as long.
+
+2001-03-24  Alan Modra  <alan@linuxcare.com.au>
+
+	* i386-dis.c (PREGRP25): Define.
+	(dis386_twobyte_att): Use here in place of "movntq" entry.
+	(dis386_twobyte_intel): Likewise.
+	(prefix_user_table): Add PREGRP25 entry for "movntq" and "movntdq".
+	(PREGRP26): Define.
+	(dis386_twobyte_att): Use here.
+	(dis386_twobyte_intel): Likewise.
+	(prefix_user_table): Add PREGRP26 entry for "punpcklqdq".
+	(prefix_user_table <maskmovdqu>): XM operand, not MX.
+	(prefix_user_table): Cosmetic changes to "bad" entries.
+
+2001-03-23  Nick Clifton  <nickc@redhat.com>
+
+	* mips-opc.c: Remove extraneous whitespace.
+	* mips-dis.c: Remove extraneous whitespace.
+
+2001-03-22  Ben Elliston  <bje@redhat.com>
+
+	* cgen-asm.in (@arch@_cgen_assemble_insn): Move tmp_errmsg
+	declaration inside CGEN_VERBOSE_ASSEMBLER_ERRORS conditional.
+	* cgen-ibld.in (put_insn_int_value): Mark cd parameter as unused
+	to allay a compiler warning.
+
+2001-03-22  Alan Modra  <alan@linuxcare.com.au>
+
+	* i386-dis.c (dis386_twobyte_att): Add entries for paddq, psubq.
+	(dis386_twobyte_intel): Likewise.
+	(twobyte_has_modrm): Set entry for paddq, psubq.
+
+2001-03-20  Patrick Macdonald  <patrickm@redhat.com>
+
+	* cgen-dis.in (print_insn_@arch@): Add support for target machine
+	determination via CGEN_COMPUTE_MACH.
+	* fr30-desc.c: Regenerate.
+	* fr30-dis.c: Regenerate.
+	* fr30-opc.h: Regenerate.
+	* m32r-desc.c: Regenerate.
+	* m32r-dis.c: Regenerate.
+	* m32r-opc.h: Regenerate.
+	* m32r-opinst.c: Regenerate.
+
+2001-03-20  H.J. Lu  <hjl@gnu.org>
+
+	* configure.in: Remove the redundent AC_ARG_PROGRAM.
+	* configure: Rebuild.
+
+2001-03-19  Jim Wilson  <wilson@redhat.com>
+
+	* ia64-gen.c (fetch_insn_class): If xsect, then ignore comment and
+	notestr if larger than xsect.
+	(in_class): Handle format M5.
+	* ia64-asmtab.c: Regnerate.
+
+2001-03-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+	* vax-dis.c (print_insn_vax): Only fetch two bytes if the info buffer
+	has more than one byte left to read.
+
+2001-03-16  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* s390-opc.c: Add new opcodes.  Smooth out formatting.
+	* s390-opc.txt: Add new opcodes.
+
+2001-03-06  Nick Clifton  <nickc@redhat.com>
+
+	* arm-dis.c (print_insn_thumb): Compute destination address
+	of BLX(1) instruction by taking bit 1 from PC and not from bit
+	0 of the offset.
+
+2001-03-06  Igor Shevlyakov  <igor@windriver.com>
+
+	* m68k-dis.c (print_insn_m68k): Recognize Coldfire CPUs
+	so command line switches will work.
+
+2001-03-05  Dave Brolley  <brolley@redhat.com>
+
+	* fr30-asm.c: Regenerate.
+	* fr30-desc.c: Regenerate.
+	* fr30-desc.h: Regenerate.
+	* fr30-dis.c: Regenerate.
+	* fr30-ibld.c: Regenerate.
+	* fr30-opc.c: Regenerate.
+	* fr30-opc.h: Regenerate.
+	* m32r-asm.c: Regenerate.
+	* m32r-desc.c: Regenerate.
+	* m32r-desc.h: Regenerate.
+	* m32r-dis.c: Regenerate.
+	* m32r-ibld.c: Regenerate.
+	* m32r-opc.c: Regenerate.
+	* m32r-opc.h: Regenerate.
+	* m32r-opinst.c: Regenerate.
+
+2001-02-28  Igor Shevlyakov  <igor@windriver.com>
+
+	* m68k-opc.c: fix cpushl according to Motorola. Enable
+	bunch of instructions for Coldfire 5407 and add all new.
+
+2001-02-27  Alan Modra  <alan@linuxcare.com.au>
+
+	* configure.in (BFD_VERSION): Do without grep.
+	* configure: Regenerate.
+	* Makefile.am: Run "make dep-am".
+	* Makefile.in: Regenerate.
+
+2001-02-23  David Mosberger  <davidm@hpl.hp.com>
+
+	* ia64-opc-a.c: Add missing pseudo-ops for "cmp" and "cmp4".
+	* ia64-asmtab.c: Regenerate.
+
+2001-02-21  David Mosberger  <davidm@hpl.hp.com>
+
+	* ia64-opc-d.c (ia64_opcodes_d): Break the "add" pattern into two
+	separate variants: one for IMM22 and the other for IMM14.
+	* ia64-asmtab.c: Regenerate.
+
+2001-02-21  Greg McGary  <greg@mcgary.org>
+
+	* cgen-opc.c (cgen_get_insn_value): Add missing `return'.
+
+2001-02-20  H.J. Lu  <hjl@gnu.org>
+
+	* Makefile.am (ia64-ic.tbl): Remove the target.
+	(ia64-raw.tbl): Likewise.
+	(ia64-waw.tbl): Likewise.
+	(ia64-war.tbl): Likewise.
+	(ia64-asmtab.c): Generate it in the source directory.
+	* Makefile.in: Regenerated.
+
+2001-02-18  lars brinkhoff  <lars@nocrew.org>
+
+	* Makefile.am: Add PDP-11 target.
+	* configure.in: Likewise.
+	* disassemble.c: Likewise.
+	* pdp11-dis.c: New file.
+	* pdp11-opc.c: New file.
+
+2001-02-14  Jim Wilson  <wilson@redhat.com>
+
+	* ia64-ic.tbl: Update from Intel.  Add setf to fr-writers.
+	* ia64-asmtab.c: Regenerate.
+
+2001-02-12  Jan Hubicka  <jh@suse.cz>
+
+	* i386-dis.c (prefix_user_t): Add 'Y' to SSE ineger converison
+	instructions.
+	(putop): Handle 'Y'
+
+2001-02-11  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+
+	* mips-dis.c (print_insn_arg): Use top four bits of the address of
+	the following instruction not of the jump itself for the jump
+	target.
+	(print_mips16_insn_arg): Likewise.
+
+2001-02-11  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
+
+	* Makefile.am (stamp-lib): ranlib the libopcodes.a in the build
+	directory.
+	* Makefile.in: Regenerate.
+
+2001-02-09  Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* Makefile.am: Add linux target for S/390.
+	* Makefile.in: Likewise.
+	* configure.in: Likewise.
+	* disassemble.c: Likewise.
+	* s390-dis.c: New file.
+	* s390-mkopc.c: New file.
+	* s390-opc.c: New file.
+	* s390-opc.txt: New file.
+
+2001-02-05  Jim Wilson  <wilson@redhat.com>
+
+	* ia64-asmtab.c: Revert 2000-12-16 change.
+
+2001-02-02  Patrick Macdonald  <patrickm@redhat.com>
+
+	* fr30-desc.h: Regenerate with CGEN_MAX_SYNTAX_ELEMENTS.
+	* m32r-desc.h: Regenerate.
+
+2001-02-01  Jan Hubicka  <jh@suse.cz>
+
+	* i386-dis.c (dis386_att, grps): Use 'T' for push/pop
+	(putop): Handle 'T', alphabetize order, fix 'I' handling in Intel syntax
+
+2001-01-14  Alan Modra  <alan@linuxcare.com.au>
+
+	* hppa-dis.c (print_insn_hppa): Handle '>' and '<' arg types.
+
+2001-01-13  Nick Clifton  <nickc@redhat.com>
+
+	* disassemble.c: Remove spurious white space.
+
+2001-01-13  Jan Hubicka  <jh@suse.cz>
+
+	* i386-dis.c (dis386_att, disx86_64_att): Fix ret, lret and iret
+	templates.
+
+2001-01-11  Peter Targett  <peter.targett@arccores.com>
+
+	* configure.in: Add arc-ext.lo for bfd_arc_arch selection.
+	* Makefile.am (C_FILES): Add arc-ext.c.
+	(ALL_MACHINES) Add arc-ext.lo.
+	(INCLUDES) Add opcode directory to list.
+	New dependency entry for arc-ext.lo.
+	* disassemble.c (disassembler): Correct call to
+	arc_get_disassembler.
+	* arc-opc.c: New update for ARC, including full base
+	instructions for ARC variants.
+	* arc-dis.h, arc-dis.c: New update for ARC, including
+	extensibility functionality.
+	* arc-ext.h, arc-ext.c: New files for handling extensibility.
+
+2001-01-10  Jan Hubicka  <jh@suse.cz>
+
+	* i386-dis.c (PREGRP15 - PREGRP24): New.
+	(dis386_twobyt): Add SSE2 instructions.
+	(twobyte_uses_SSE_prefix: Rename from ... ; add new SSE instructions.
+	(twobyte_uses_f3_prefix): ... this one.
+	(grps): Add SSE instructions.
+	(prefix_user_table): Add two new slots; add SSE2 instructions.
+	(print_insn_i386): Rename uses_f3_prefix to uses_SSE_prefix;
+	Handle the REPNZ and Data16 prefixes as well; do proper lookup
+	to prefix_user_table.
+	(OP_E): Accept mfence and lfence as well.
+	(OP_MMX): Data16 prefix turns MMX to SSE; support REX extensions.
+	(OP_XMM): Support REX extensions.
+	(OP_EM): Likewise.
+	(OP_EX): Likewise.
+
+2001-01-09  Nick Clifton  <nickc@redhat.com>
+
+	* arm-dis.c (print_insn): Set pc to zero for instructions with
+	a reloc associated with them.
+
+2001-01-09  Jeff Johnston  <jjohnstn@redhat.com>
+
+	* cgen-asm.in (parse_insn_normal): Changed syn to be
+	CGEN_SYNTAX_CHAR_TYPE.  Changed all references to *syn
+	as character to use CGEN_SYNTAX_CHAR macro and all comparisons
+	to '\0' to use 0 instead.
+	* cgen-dis.in (print_insn_normal): Ditto.
+	* cgen-ibld.in (insert_insn_normal, extract_insn_normal): Ditto.
+
+2001-01-05  Jan Hubicka  <jh@suse.cz>
+
+	* i386-dis.c: Add x86_64 support.
+	(rex): New static variable.
+	(REX_MODE64, REX_EXTX, REX_EXTY, REX_EXTZ): New constants.
+	(USED_REX): New macro.
+	(Ev, Ed, Rm, Iq, Iv64, Cm, Dm, Rm*, Ob64, Ov64): New macros.
+	(OP_I64, OP_OFF64, OP_IMREG): New functions.
+	(OP_REG, OP_OFF): Declare.
+	(get64, get32, get32s): New functions.
+	(r??_reg): New constants.
+	(dis386_att): Change templates of instruction implicitly promoted
+	to 64bit; change e?? to RMe?? for unwind RM byte instructions.
+	(grps): Likewise.
+	(dis386_intel): Likewise.
+	(dixx86_64_att): New table based on dis386_att.
+	(dixx86_64_intel): New table based on dis386_intel.
+	(names64, names8rex): New global variable.
+	(names32, names16): Add extended registers.
+	(prefix_user_t): Recognize rex prefixes.
+	(prefix_name): Print REX prefixes nicely.
+	(op_riprel): New global variable.
+	(start_pc): Set type to bfd_vma.
+	(print_insn_i386): Detect the 64bit mode and use proper table;
+	move ckprefix after initializing the buffer; output unused rex prefixes;
+	output information about target of RIP relative addresses.
+	(putop): Support 'O' and 'I'. Update handling of "P', 'Q', 'R' and 'S';
+	(print_operand_value): New function.
+	(OP_E, OP_G, OP_REG, OP_I, OP_J, OP_DIR, OP_OFF, OP_D): Add support for
+	REX prefix and new modes.
+	(get64, get32s): New.
+	(get32): Return bfd_signed_vma type.
+	(set_op): Initialize the op_riprel.
+	* disassemble.c (disassembler): Recognize the x86-64 disassembly.
+
+2001-01-03  Richard Sandiford  <r.sandiford@redhat.com>
+
+	 cgen-dis.in (read_insn): Use bfd_get_bits()
+
+2001-01-02  Richard Sandiford  <rsandifo@redhat.com>
+
+	* cgen-dis.c (hash_insn_array): Use bfd_put_bits().
+	(hash_insn_list): Likewise
+	* cgen-ibld.in (insert_1): Use bfd_put_bits() and bfd_get_bits().
+	(extract_1): Use bfd_get_bits().
+	(extract_normal): Apply sign extension to both extraction
+	methods.
+	* cgen-opc.c (cgen_get_insn_value): Use bfd_get_bits()
+	(cgen_put_insn_value): Use bfd_put_bits()
+
+2000-12-28  Frank Ch. Eigler  <fche@redhat.com>
+
+	* cgen-asm.in (parse_insn_normal): Print better error message for
+	instructions with missing operands.
+
+2000-12-21  Santeri Paavolainen <santtu@ssh.com>
+
+	* cgen-opc.c: Include alloca.h if HAVE_ALLOCA_H is defined.
+
+2000-12-16  Nick Clifton  <nickc@redhat.com>
+
+	* Makefile.in: Regenerate.
+	* aclocal.m4: Regenerate.
+	* config.in: Regenerate.
+	* configure.in: Add spacing.
+	* configure: Regenerate.
+	* ia64-asmtab.c: Regenerate.
+	* po/opcodes.pot: Regenerate.
+
+2000-12-12  Frank Ch. Eigler  <fche@redhat.com>
+
+	* cgen-asm.in (@arch@_cgen_assemble_insn): Prefer printing insert-time
+	error messages over later parse-time ones.
+
+2000-12-12  Jim Wilson  <wilson@redhat.com>
+
+	* ia64-dis.c (print_insn_ia64): Cast away const on ia64_free_opcode
+	argument.
+	* ia64-gen.c (insert_deplist): Cast sizeof result to int.
+	(print_dependency_table): Print NULL if semantics field not set.
+	(insert_opcode_dependencies): Mark cmp parameter as unused.
+	(print_main_table): Use fprintf_vma to print long long fields.
+	(main): Mark argv paramter as unused.  Convert to old style definition.
+	* ia64-opc.c (ia64_find_dependency): Cast sizeof result to int.
+	* ia64-asmtab.c: Regnerate.
+
+2000-12-09  Nick Clifton  <nickc@redhat.com>
+
+	* m32r-dis.c (print_insn): Prevent re-read of instruction from
+	wrong address.
+
+	* fr30-dis.c: Regenerate.
+
+2000-12-08  Peter Targett  <peter.targett@arccores.com>
+
+	* configure.in: Add arc-ext.lo for bfd_arc_arch selection.
+	* Makefile.am (C_FILES): Add arc-ext.c.
+	(ALL_MACHINES) Add arc-ext.lo.
+	(INCLUDES) Add opcode directory to list.
+	New dependency entry for arc-ext.lo.
+	* disassemble.c (disassembler): Correct call to
+	arc_get_disassembler.
+	* arc-opc.c: New update for ARC, including full base
+	instructions for ARC variants.
+	* arc-dis.h, arc-dis.c: New update for ARC, including
+	extensibility functionality.
+	* arc-ext.h, arc-ext.c: New files for handling extensibility.
+
+2000-12-03  Chris Demetriou   cgd@sibyte.com
+
+	* mips-opc.c (mips_builtin_opcodes): Use the WR_HILO, RD_HILO,
+	MOD_HILO, and MOD_LO macros.
+
+	* mips-opc.c (M1, M2): Delete.
+	(mips_builtin_opcodes): Remove all uses of M1.
+
+	* mips-opc.c (mips_builtin_opcodes): Make the dmfc2 and dmtc2
+	instructions take "G" format second operands and use the
+	correct flags.
+	There are mfc3 and mtc3 opcodes, so add dmfc3 and dmtc3 opcodes to
+	match.
+	Delete "sel" code operands from mfc1 and mtc1.
+	Add MIPS64 opcode changes (dclo, dclz), and "sel" code variants
+	for dm[ft]c[023].
+
+2000-12-03  Ed Satterthwaite  ehs@sibyte.com  and
+	    Chris Demetriou   cgd@sibyte.com
+
+	* mips-opc.c (mips_builtin_opcodes): Finish additions
+	for MIPS32 support, and clean up existing entries for
+	aesthetics, consistency with the MIPS32 ISA, and
+	with consistency the rest of the table.
+
+2000-12-01  Nick Clifton  <nickc@redhat.com>
+
+	* mips16-opc.c (mips16_opcodes): Add initialiser for membership
+	field.
+
+2000-12-01  Chris Demetriou <cgd@sibyte.com>
+
+	mips-dis.c (print_insn_arg): Handle new 'U' and 'J' argument
+	specifiers.  Update 'B' for new constant names, and remove
+	'm'.
+	mips-opc.c (mips_builtin_opcodes): Place "pref" and "ssnop"
+	near the top of the array, so they are disassembled properly.
+	Enable "ssnop" for MIPS32.  Add "break" variant with 20 bit
+	code for MIPS32.  Update "clo" and "clz" to use 'U' operand
+	specifier.  Add 'H' format specifier variants for "mfc1,"
+	"mfc2," "mfc3," "mtc1," "mtc2," and "mtc3" for MIPS32.  Update
+	MIPS32 "sdbbp" to use 'B' operand specifier.  Add MIPS32
+	"wait" variant which uses 'J' operand specifier.
+
+	* mips-dis.c (set_mips_isa_type): Update to use
+	CPU_UNKNOWN and ISA_* constants.  Add bfd_mach_mips32 case.
+	Replace bfd_mach_mips4K with bfd_mach_mips32_4k case.
+	* mips-opc.c (I32): New constant for instructions added in
+	MIPS32.
+	(P4): Delete.
+	(mips_builtin_opcodes) Replace all uses of P4 with I32.
+
+	* mips-dis.c (set_mips_isa_type): Add cases for
+	bfd_mach_mips5 and bfd_mach_mips64.
+	* mips-opc.c (I64): New definitions.
+
+	* mips-dis.c (set_mips_isa_type): Add case for
+	bfd_mach_mips_sb1.
+
+2000-11-28  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* sh-dis.c (print_insn_ddt): Make insn_x, insn_y unsigned.
+	(print_insn_ppi): Make nib1, nib2, nib3 unsigned.
+	Initialize variable dc to NULL.
+	(print_insn_shx): Remove unused label d_reg_n.
+
+2000-11-24  Nick Clifton  <nickc@redhat.com>
+
+	* arm-opc.h: Add new opcode formatting parameter 'B'.
+	(arm_opcodes): Add XScale, v5, and v5te	instructions.
+	(thumb_opcodes): Add v5t instructions.
+
+	* arm-dis.c (print_insn_arm): Handle new 'B' format
+	parameter.
+	(print_insn_thumb): Decode BLX(1) instruction.
+
+2000-11-21  Chris Demetriou  <cgd@sibyte.com>
+
+	* mips-opc.c: Fix file header comment.
+
+2000-11-14  Hans-Peter Nilsson  <hp@axis.com>
+
+	* cris-dis.c (cris_get_disassembler): If abfd is NULL, return
+	print_insn_cris_with_register_prefix.
+
+2000-11-11  Alexandre Oliva  <aoliva@redhat.com>
+
+	* sh-opc.h: The operand of `mov.w r0, (<disp>,GBR)' is IMM1, not 0.
+
+2000-11-07  Matthew Green  <mrg@redhat.com>
+
+	* cgen-dis.in (print_insn): All insns which can fit into insn_value
+	must be loaded there in their entirety.
+
+2000-10-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* sparc-dis.c (v9a_asr_reg_names): Add v9b ASRs.
+	(compute_arch_mask): Add v8plusb and v9b machines.
+	(print_insn_sparc): siam mode decoding, accept ASRs up to 25.
+	* sparc-opc.c: Support for Cheetah instruction set.
+	(prefetch_table): Add #invalidate.
+
+2000-10-16  Nick Clifton  <nickc@redhat.com>
+
+	* mcore-dis.c (imsk): Change mask for OC to 0xFE00.
+
+2000-10-06  Dave Brolley  <brolley@redhat.com>
+
+	* fr30-desc.h: Regenerate.
+	* m32r-desc.h: Regenerate.
+	* m32r-ibld.c: Regenerate.
+
+2000-10-05  Jim Wilson  <wilson@redhat.com>
+
+	* ia64-ic.tbl: Update from Intel.
+	* ia64-asmtab.c: Regenerate.
+
+2000-10-04  Kazu Hirata  <kazu@hxi.com>
+
+	* ia64-gen.c: Convert C++-style comments to C-style comments.
+	* tic54x-dis.c: Likewise.
+
+2000-09-29  Hans-Peter Nilsson  <hp@axis.com>
+
+	Changes to add dollar prefix to registers for files where user symbols
+	don't have a leading underscore.  Fix formatting.
+	* cris-dis.c (REGISTER_PREFIX_CHAR): New.
+	(format_reg): Add parameter with_reg_prefix.  All callers changed.
+	(print_with_operands): Ditto.
+	(print_insn_cris_generic): Renamed from print_insn_cris, add
+	parameter with_reg_prefix.
+	(print_insn_cris_with_register_prefix,
+	print_insn_cris_without_register_prefix, cris_get_disassembler):
+	New.
+	* disassemble.c (disassembler) [ARCH_cris]: Call cris_get_disassembler.
+
+2000-09-22  Jim Wilson  <wilson@redhat.com>
+
+	* ia64-opc-f.c (ia64_opcodes_f): Add fpcmp pseudo-ops for
+	gt, ge, ngt, and nge.
+	* ia64-asmtab.c: Regenerate.
+
+	* ia64-dis.c (print_insn_ia64): Revert Aug 7 byte skip count change.
+	* ia64-gen.c (parse_semantics): Handle IA64_DVS_STOP.
+	(lookup_specifier): Handle "PR%, 1 to 15" and "PR%, 16 to 62".
+	* ia64-ic.tbl, ia64-raw.tbl, ia64-war.tbl, ia64-waw.tbl: Update.
+	* ia64-asmtab.c: Regnerate.
+
+2000-09-13  Anders Norlander  <anorland@acc.umu.se>
+
+	* mips-opc.c (mips_builtin_opcodes): Support cache instruction on 4K cores.
+	Add mfc0 and mtc0 with sub-selection values.
+	Add clo and clz opcodes.
+	Add msub and msubu instructions for MIPS32.
+	Add madd/maddu aliases for mad/madu for MIPS32.
+	Support wait, deret, eret, movn, pref for MIPS32.
+	Support tlbp, tlbr, tlbwi, tlbwr.
+	(P4): New define.
+
+	* mips-dis.c (print_insn_arg): Print sdbbp 'm' args.
+	(print_insn_arg): Handle 'H' args.
+	(set_mips_isa_type): Recognize 4K.
+	Use CPU_* defines instead of hardcoded numbers.
+
+2000-09-11  Catherine Moore <clm@redhat.com>
+
+	* d30v-opc.c (d30v_operand_t): New operand type Rb2.
+	(d30v_format_tab): Use Rb2 for modinc and moddec.
+
+2000-09-07  Catherine Moore  <clm@redhat.com>
+
+	* d30v-opc.c (d30v_format_tab): Use format Ra for
+	modinc and moddec.
+
+2000-09-06  Alexandre Oliva  <aoliva@redhat.com>
+
+	* configure: Rebuilt with new libtool.m4.
+
+2000-09-05  Nick Clifton  <nickc@redhat.com>
+
+	* configure: Regenerate.
+	* po/opcodes.pot: Regenerate.
+
+2000-08-31  Alexandre Oliva  <aoliva@redhat.com>
+
+	* acinclude.m4: Include libtool and gettext macros from the
+	top level.
+	* aclocal.m4, configure: Rebuilt.
+
+2000-08-30  Kazu Hirata  <kazu@hxi.com>
+
+	* tic80-dis.c: Fix formatting.
+
+2000-08-29  Kazu Hirata  <kazu@hxi.com>
+
+	* w65-dis.c: Fix formatting.
+
+2000-08-28  Mark Hatle  <mhatle@mvista.com>
+
+	* ppc-opc.c: Add XTLB macro for a few PPC 4xx extended mnemonics.
+	(powerpc_opcodes): Add table entries for PPC 405 instructions.
+	Changed rfci, icbt, mfdcr, dccci, mtdcr, iccci from PPC to PPC403
+	instructions.  Added extended mnemonic mftbl as defined in the
+	405GP manual for all PPCs.
+
+2000-08-28  Jim Wilson  <wilson@redhat.com>
+
+	* ia64-dis.c (print_insn_ia64): Add failed label after ia64_free_opcode
+	call.  Change last goto to use failed instead of done.
+
+2000-08-28  Dave Brolley  <brolley@redhat.com>
+
+	* cgen-ibld.in (cgen_put_insn_int_value): New function.
+	(insert_normal): Allow for non-zero word_offset with CGEN_INT_INSN_P.
+	(insert_insn_normal): Use cgen_put_insn_int_value with CGEN_INT_INSN_P.
+	(extract_normal): Allow for non-zero word_offset with CGEN_INT_INSN_P.
+	* cgen-dis.in (read_insn): New static function.
+	(print_insn): Use read_insn to read the insn into the buffer and set
+	up for disassembly.
+	(print_insn): in CGEN_INT_INSN_P, make sure that the entire insn is
+	in the buffer.
+	* fr30-asm.c: Regenerated.
+	* fr30-desc.c: Regenerated.
+	* fr30-desc.h: Regenerated.
+	* fr30-dis.c: Regenerated.
+	* fr30-ibld.c: Regenerated.
+	* fr30-opc.c: Regenerated.
+	* fr30-opc.h: Regenerated.
+	* m32r-asm.c: Regenerated.
+	* m32r-desc.c: Regenerated.
+	* m32r-desc.h: Regenerated.
+	* m32r-dis.c: Regenerated.
+	* m32r-ibld.c: Regenerated.
+	* m32r-opc.c: Regenerated.
+
+2000-08-28  Kazu Hirata  <kazu@hxi.com>
+
+	* tic30-dis.c: Fix formatting.
+
+2000-08-27  Kazu Hirata  <kazu@hxi.com>
+
+	* sh-dis.c: Fix formatting.
+
+2000-08-24  David Edelsohn  <dje@watson.ibm.com>
+
+	* ppc-opc.c (powerpc_opcodes): Add rfid, mtsrd, mtsrdin, mtmsrd.
+
+2000-08-24  Kazu Hirata  <kazu@hxi.com>
+
+	* z8k-dis.c: Fix formatting.
+
+2000-08-16  Jim Wilson  <wilson@redhat.com>
+
+	* ia64-ic.tbl (pr-readers-nobr-nomovpr): Add addl, adds.  Delete
+	break, mov-immediate, nop.
+	* ia64-opc-f.c: Delete fpsub instructions.
+	* ia64-opc-m.c: Add POSTINC to all instructions with postincrement
+	address operand.  Rewrite using macros to avoid long lines.
+	* ia64-opc.h (POSTINC): Define.
+	* ia64-asmtab.c: Regenerate.
+
+2000-08-15  Jim Wilson  <wilson@redhat.com>
+
+	* ia64-ic.tbl: Add missing entries.
+
+2000-08-08  Jason Eckhardt  <jle@redhat.com>
+
+	* i860-dis.c (print_br_address): Change third argument from int
+	to long.
+
+2000-08-07  Richard Henderson  <rth@redhat.com>
+
+	* ia64-dis.c (print_insn_ia64): Get byte skip count correct
+	for MLI templates.  Handle IA64_OPND_TGT64.
+
+2000-08-04  Ben Elliston  <bje@redhat.com>
+
+	* cgen-dis.in, cgen-asm.in, cgen-ibld.in: New files.
+	* cgen.sh: Likewise.
+
+2000-08-02  Jim Wilson  <wilson@redhat.com>
+
+	* ia64-dis.c (print_insn_ia64): Call ia64_free_opcode at end.
+
+2000-07-29  Marek Michalkiewicz  <marekm@linux.org.pl>
+
+	* avr-dis.c (avr_operand): Use PARAMS macro in declaration.
+	Change return type from void to int.  Check the combination
+	of operands, return 1 if valid.  Fix to avoid BUF overflow.
+	Report undefined combinations of operands in COMMENT.
+	Report internal errors to stderr.  Output the adiw/sbiw
+	constant operand in both decimal and hex.
+	(print_insn_avr): Disassemble ldd/std with displacement of 0
+	as ld/st.  Check avr_operand () return value, handle invalid
+	combinations of operands like unknown opcodes.
+
+2000-07-28  Ben Elliston  <bje@redhat.com>
+
+	* Makefile.am (CGEN, CGENDEPS, CGENDIR, CGENFLAGS): New.
+	(run-cgen, stamp-m32r, stamp-fr30): New targets.
+	* Makefile.in: Regenerate.
+	* configure.in: Add --enable-cgen-maint option.
+	* configure: Regenerate.
+
+2000-07-26  Dave Brolley  <brolley@redhat.com>
+
+	* cgen-opc.c (cgen_hw_lookup_by_name): 'i' is now unsigned.
+	(cgen_hw_lookup_by_num): Ditto.
+	(cgen_operand_lookup_by_name): Ditto.
+	(print_address): Ditto.
+	(print_keyword): Ditto.
+	* cgen-dis.c (hash_insn_array): Mark unused parameters with
+	ATTRIBUTE_UNUSED.
+	* cgen-asm.c (hash_insn_array): Mark unused parameters with
+	ATTRIBUTE_UNUSED.
+	(cgen_parse_keyword): Ditto.
+
+2000-07-22  Jason Eckhardt  <jle@redhat.com>
+
+	* i860-dis.c: New file.
+	(print_insn_i860): New function.
+	(print_br_address): New function.
+	(sign_extend): New function.
+	(BITWISE_OP): New macro.
+	(I860_REG_PREFIX): New macro.
+	(grnames, frnames, crnames): New structures.
+
+	* disassemble.c (ARCH_i860): Define.
+	(disassembler): Add check for bfd_arch_i860 to set disassemble
+	function to print_insn_i860.
+
+	* Makefile.in (CFILES): Added i860-dis.c.
+	(ALL_MACHINES): Added i860-dis.lo.
+	(i860-dis.lo): New dependences.
+
+	* configure.in: New bits for bfd_i860_arch.
+
+	* configure: Regenerated.
+
+2000-07-20  Hans-Peter Nilsson  <hp@axis.com>
+
+	* Makefile.am (CFILES): Add cris-dis.c and cris-opc.c.
+	(ALL_MACHINES): Add cris-dis.lo and cris-opc.lo.
+	(cris-dis.lo, cris-opc.lo): New rules.
+	* Makefile.in: Rebuild.
+	* configure.in (bfd_cris_arch): New target.
+	* configure: Rebuild.
+	* disassemble.c (ARCH_cris): Define.
+	(disassembler): Support ARCH_cris.
+	* cris-dis.c, cris-opc.c: New files.
+	* po/POTFILES.in, po/opcodes.pot: Regenerate.
+
+2000-07-11  Jakub Jelinek  <jakub@redhat.com>
+
+	* sparc-opc.c (sparc_opcodes): popc has 0 in rs1, not rs2.
+	Reported by Bill Clarke <llib@computer.org>.
+
+2000-07-09  Geoffrey Keating  <geoffk@redhat.com>
+
+	* ppc-opc.c (powerpc_opcodes): Correct suffix for vslw.
+	Patch by Randall J Fisher <rfisher@ecn.purdue.edu>.
+
+2000-07-09  Alan Modra  <alan@linuxcare.com.au>
+
+	* hppa-dis.c (fput_reg, fput_fp_reg, fput_fp_reg_r, fput_creg,
+	fput_const, extract_3, extract_5_load, extract_5_store,
+	extract_5r_store, extract_5R_store, extract_10U_store,
+	extract_5Q_store, extract_11, extract_14, extract_16, extract_21,
+	extract_12, extract_17, extract_22): Prototype.
+	(print_insn_hppa): Rename inner block opcode -> opc to avoid
+	shadowing outer block.
+	(GET_BIT): Define.
+
+2000-07-05  DJ Delorie  <dj@redhat.com>
+
+	* MAINTAINERS: new
+
+2000-07-04  Alexandre Oliva  <aoliva@redhat.com>
+
+	* arm-dis.c (print_insn_arm): Output combinations of PSR flags.
+
+2000-07-03  Marek Michalkiewicz  <marekm@linux.org.pl>
+
+	* avr-dis.c (avr_operand): Change _ () to _() around all strings
+	marked for translation (exception from the usual coding style).
+	(print_insn_avr): Initialize insn2 to avoid warnings.
+
+2000-07-03  Kazu Hirata  <kazu@hxi.com>
+
+	* h8300-dis.c (bfd_h8_disassemble): Improve readability.
+	* h8500-dis.c: Fix formatting.
+
+2000-07-01  Alan Modra  <alan@linuxcare.com.au>
+
+	* Makefile.am (DEP): Fix 2000-06-22.  grep after running dep.sed
+	(CLEANFILES): Add DEPA.
+	* Makefile.in: Regenerate.
+
+2000-06-26  Scott Bambrough  <scottb@netwinder.org>
+
+	* arm-dis.c (regnames): Add an additional register set to match
+	the set used by GCC.  Make it the default.
+
+2000-06-22  Alan Modra  <alan@linuxcare.com.au>
+
+	* Makefile.am (DEP): grep for leading `/' in DEP1, and fail if we
+	find one.
+	* Makefile.in: Regenerate.
+
+2000-06-20  H.J. Lu  <hjl@gnu.org>
+
+	* Makefile.am: Rebuild dependency.
+	* Makefile.in: Rebuild.
+
+2000-06-18  Stephane Carrez  <stcarrez@worldnet.fr>
+
+	* Makefile.in, configure: regenerate
+	* disassemble.c (disassembler): Recognize ARCH_m68hc12,
+	ARCH_m68hc11.
+	* m68hc11-dis.c (read_memory, print_insn, print_insn_m68hc12):
+	New functions.
+	* configure.in: Recognize m68hc12 and m68hc11.
+	* m68hc11-dis.c, m68hc11-opc.c: New files for support of m68hc1x
+	* Makefile.am (CFILES, ALL_MACHINES): New files for disassembly
+	and opcode generation for m68hc11 and m68hc12.
+
+2000-06-16  Nick Duffek  <nsd@redhat.com>
+
+	* disassemble.c (disassembler): Refer to the PowerPC 620 using
+	bfd_mach_ppc_620 instead of 620.
+
+2000-06-12  Kazu Hirata  <kazu@hxi.com>
+
+	* h8300-dis.c: Fix formatting.
+	(bfd_h8_disassemble): Distinguish adds/subs, inc/dec.[wl]
+	correctly.
+
+2000-06-09  Denis Chertykov  <denisc@overta.ru>
+
+	* avr-dis.c (avr_operand): Bugfix for jmp/call address.
+
+2000-06-07  Denis Chertykov  <denisc@overta.ru>
+
+	* avr-dis.c: completely rewritten.
+
+2000-06-02  Kazu Hirata  <kazu@hxi.com>
+
+	* h8300-dis.c: Follow the GNU coding style.
+	(bfd_h8_disassemble) Fix a typo.
+
+2000-06-01  Kazu Hirata  <kazu@hxi.com>
+
+	* h8300-dis.c (bfd_h8_disassemble_init): Fix a typo.
+	(bfd_h8_disassemble): Distinguish the operand size of inc/dev.[wl]
+	correctly.  Fix a typo.
+
+2000-05-31  Nick Clifton  <nickc@redhat.com>
+
+	* opintl.h (_(String)): Explain why dgettext is used instead of
+	gettext.
+
+2000-05-30  Nick Clifton  <nickc@redhat.com>
+
+	* opintl.h (gettext, dgettext, dcgettext, textdomain,
+	bindtextdomain): Replace defines with those from intl/libgettext.h
+	to quieten gcc warnings.
+
+2000-05-26  Alan Modra  <alan@linuxcare.com.au>
+
+	* Makefile.am: Update dependencies with "make dep-am"
+	* Makefile.in: Regenerate.
+
+2000-05-25  Alexandre Oliva  <aoliva@redhat.com>
+
+	* m10300-dis.c (disassemble): Don't assume 32-bit longs when
+	sign-extending operands.
+
+2000-05-15  Donald Lindsay  <dlindsay@redhat.com>
+
+	* d10v-opc.c (d10v_opcodes): add ALONE tag to all short branches
+	except brf's.
+
+2000-05-21  Nick Clifton  <nickc@redhat.com>
+
+	* Makefile.am (LIBIBERTY): Define.
+
+2000-05-19 Diego Novillo <dnovillo@redhat.com>
+
+	* mips-dis.c (REGISTER_NAMES): Rename to STD_REGISTER_NAMES.
+	(STD_REGISTER_NAMES): New name for REGISTER_NAMES.
+	(reg_names): Rename to std_reg_names. Change it to a char **
+	static variable.
+	(std_reg_names): New name for reg_names.
+	(set_mips_isa_type): Set reg_names to point to std_reg_names by
+	default.
+
+2000-05-16  Frank Ch. Eigler  <fche@redhat.com>
+
+	* fr30-desc.h: Partially regenerated to account for changed
+	CGEN_MAX_* -> CGEN_ACTUAL_MAX_* macros.
+	* m32r-desc.h: Ditto.
+
+2000-05-15  Nick Clifton  <nickc@redhat.com>
+
+	* arm-opc.h: Use upper case for flasg in MSR and MRS
+	instructions.  Allow any bit to be set in the field_mask of
+	the MSR instruction.
+
+	* arm-dis.c (print_insn_arm): Decode _x and _s bits of the
+	field_mask of an MSR instruction.
+
+2000-05-11  Thomas de Lellis  <tdel@windriver.com>
+
+	* arm-opc.h: Disassembly of thumb ldsb/ldsh
+	instructions changed to ldrsb/ldrsh.
+
+2000-05-11  Ulf Carlsson  <ulfc@engr.sgi.com>
+
+	* mips-dis.c (print_insn_arg): Don't mask top 32 bits of 64-bit
+	target addresses for 'jal' and 'j'.
+
+2000-05-10  Geoff Keating  <geoffk@redhat.com>
+
+	* ppc-opc.c (powerpc_opcodes): Make the predicted-branch opcodes
+	also available in common mode when powerpc syntax is being used.
+
+2000-05-08  Alan Modra  <alan@linuxcare.com.au>
+
+	* m68k-dis.c (dummy_printer): Add ATTRIBUTE_UNUSED to args.
+	(dummy_print_address): Ditto.
+
+2000-05-04  Timothy Wall  <twall@redhat.com>
+
+	* tic54x-opc.c: New.
+	* tic54x-dis.c: New.
+	* disassemble.c (disassembler): Add ARCH_tic54x.
+	* configure.in: Added tic54x target.
+	* configure: Ditto.
+	* Makefile.am: Add tic54x dependencies.
+	* Makefile.in: Ditto.
+
+2000-05-03  J.T. Conklin  <jtc@redback.com>
+
+	* ppc-opc.c (VA, VB, VC, VD, VS, SIMM, UIMM, SHB): New macros, for
+	vector unit operands.
+	(VX, VX_MASK, VXA, VXA_MASK, VXR, VXR_MASK): New macros, for vector
+	unit instruction formats.
+	(PPCVEC): New macro, mask for vector instructions.
+	(powerpc_operands): Add table entries for above operand types.
+	(powerpc_opcodes): Add table entries for vector instructions.
+
+	* ppc-dis.c (print_insn_big_powerpc): Add PPC_OPCODE_ALTIVEC to mask.
+	(print_insn_little_powerpc): Likewise.
+	(print_insn_powerpc): Prepend 'v' when printing vector registers.
+
+2000-04-24  Clinton Popetz  <cpopetz@redhat.com>
+
+	* configure.in: Add bfd_powerpc_64_arch.
+	* disassemble.c (disassembler): Use print_insn_big_powerpc for
+	64 bit code.
+
+2000-04-24  Nick Clifton  <nickc@redhat.com>
+
+	* fr30-desc.c (fr30_cgen_cpu_open): Initialise signed_overflow
+	field.
+
+2000-04-23  Denis Chertykov  <denisc@overta.ru>
+
+	* avr-dis.c (reg_fmul_d): New. Extract destination register from
+	FMUL instruction.
+	(reg_fmul_r): New. Extract source register from FMUL instruction.
+	(reg_muls_d): New. Extract destination register from MULS instruction.
+	(reg_muls_r): New. Extract source register from MULS instruction.
+	(reg_movw_d): New. Extract destination register from MOVW instruction.
+	(reg_movw_r): New. Extract source register from MOVW instruction.
+	(print_insn_avr): Handle MOVW, MULS, MULSU, FMUL, FMULS, FMULSU,
+	EICALL, EIJMP, LPM r,Z, ELPM r,Z, SPM, ESPM instructions.
+
+2000-04-22  Timothy Wall  <twall@redhat.com>
+
+	* ia64-gen.c (general): Add an ordered table of primary
+	opcode names, as well as priority fields to disassembly data
+	structures to enforce a preferred disassembly format based on the
+	ordering of the opcode tables.
+	(load_insn_classes): Show a useful message if IC tables are missing.
+	(load_depfile): Ditto.
+	* ia64-asmtab.h (struct ia64_dis_names ): Add priority flag to
+	distinguish preferred disassembly.
+	* ia64-opc-f.c: Reorder some insn for preferred disassembly
+	format.  Fix incorrect flag on fma.s/fma.s.s0.
+	* ia64-opc.c: Scan *all* disassembly matches and use the one with
+	the highest priority.
+	* ia64-opc-b.c: Use more abbreviations.
+	* ia64-asmtab.c: Regenerate.
+
+2000-04-21  Jason Eckhardt  <jle@redhat.com>
+
+	* hppa-dis.c (extract_16): New function.
+	(print_insn_hppa): Fix incorrect handling of 'fe'. Added handling of
+	new operand types l,y,&,fe,fE,fx.
+
+2000-04-21  Richard Henderson  <rth@redhat.com>
+	    David Mosberger  <davidm@hpl.hp.com>
+	    Timothy Wall <twall@redhat.com>
+	    Bob Manson  <manson@charmed.cygnus.com>
+	    Jim Wilson  <wilson@redhat.com>
+
+	* Makefile.am (HFILES): Add ia64-asmtab.h, ia64-opc.h.
+	(CFILES): Add ia64-dis.c, ia64-opc-a.c, ia64-opc-b.c, ia64-opc-f.c,
+	ia64-opc-i.c, ia64-opc-m.c, ia64-opc-d.c, ia64-opc.c, ia64-gen.c,
+	ia64-asmtab.c.
+	(ALL_MACHINES): Add ia64-dis.lo, ia64-opc.lo.
+	(ia64-ic.tbl, ia64-raw.tbl, ia64-waw.tbl, ia64-war.tbl, ia64-gen,
+	ia64-gen.o, ia64-asmtab.c, ia64-dis.lo, ia64-opc.lo): New rules.
+	* Makefile.in: Rebuild.
+	* configure Rebuild.
+	* configure.in (bfd_ia64_arch): New target.
+	* disassemble.c (ARCH_ia64): Define.
+	(disassembler): Support ARCH_ia64.
+	* ia64-asmtab.c, ia64-asmtab.h, ia64-dis.c, ia64-gen.c ia64-ic.tbl,
+	ia64-opc-a.c, ia64-opc-b.c, ia64-opc-d.c ia64-opc-f.c, ia64-opc-i.c,
+	ia64-opc-m.c, ia64-opc-x.c, ia64-opc.c, ia64-opc.h, ia64-raw.tbl,
+	ia64-war.tbl, ia64-waw.tbl: New files.
+
+2000-04-20  Alexandre Oliva  <aoliva@redhat.com>
+
+	* m10300-dis.c (HAVE_AM30, HAVE_AM33): Define.
+	(disassemble): Use them.
+
+2000-04-14  Alan Modra  <alan@linuxcare.com.au>
+
+	* sysdep.h: Include "ansidecl.h" not <ansidecl.h>
+	* Makefile.am: Update dependencies.
+	* Makefile.in: Regenerate.
+
+2000-04-14  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
+
+	* a29k-dis.c, alpha-dis.c, alpha-opc.c, arc-dis.c, arc-opc.c,
+	avr-dis.c, d10v-dis.c, d10v-opc.c, d30v-dis.c, d30v-opc.c,
+	disassemble.c, h8300-dis.c, h8500-dis.c, hppa-dis.c, i370-dis.c,
+	i370-opc.c, i960-dis.c, m10200-dis.c, m10200-opc.c, m10300-dis.c,
+	m10300-opc.c, m68k-dis.c, m68k-opc.c, m88k-dis.c, mcore-dis.c,
+	mips-dis.c, mips-opc.c, mips16-opc.c, pj-dis.c, pj-opc.c,
+	ppc-dis.c, ppc-opc.c, sh-dis.c, sparc-dis.c, sparc-opc.c,
+	tic80-dis.c, tic80-opc.c, v850-dis.c, v850-opc.c, vax-dis.c,
+	w65-dis.c, z8k-dis.c, z8kgen.c: Include sysdep.h.  Remove
+	ansidecl.h as sysdep.h includes it.
+
+2000-04-7  Andrew Cagney  <cagney@b1.redhat.com>
+
+	* configure.in (WARN_CFLAGS): Set to -W -Wall by default.  Add
+	--enable-build-warnings option.
+	* Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions.
+	* Makefile.in, configure: Re-generate.
+
+2000-04-05  J"orn Rennecke <amylaar@redhat.com>
+
+	* sh-opc.h (sh_table): Use A_DISP_PC / PCRELIMM_8BY2 for ldre & ldrs.
+	stc GBR,@-<REG_N> is available for arch_sh1_up.
+	Group parallel processing insn with identical mnemonics together.
+	Make three-operand psha / pshl come first.
+
+2000-04-05  J"orn Rennecke <amylaar@redhat.co.uk>
+
+	* sh-opc.h (sh_nibble_type): Remove DISP_8 and DISP_4.
+	Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}.  Add REPEAT.
+	(sh_arg_type): Add A_PC.
+	(sh_table): Update entries using immediates.  Add repeat.
+	* sh-dis.c (print_insn_shx): Remove DISP_8 and DISP_4.
+	Split IMM_[48]{,BY[24]} into IMM[01]_[48]{,BY[24]}.  Add REPEAT.
+
+2000-04-04  Alan Modra  <alan@linuxcare.com.au>
+
+	* po/opcodes.pot: Regenerate.
+
+	* Makefile.am (MKDEP): Use gcc -MM rather than mkdep.
+	(DEP): Quote when passing vars to sub-make.  Add warning message
+	to end.
+	(DEP1): Rewrite for "gcc -MM".
+	(CLEANFILES): Add DEP2.
+	Update dependencies.
+	* Makefile.in: Regenerate.
+
+2000-04-03  Denis Chertykov  <denisc@overta.ru>
+
+	* avr-dis.c: Syntax cleanup.
+	(add0fff): Print the pc relative address as a signed number.
+	(add03f8): Likewise.
+
+2000-04-01  Ian Lance Taylor  <ian@zembu.com>
+
+	* disassemble.c (disassembler_usage): Don't use a prototype.  Mark
+	the parameter ATTRIBUTE_UNUSED.
+	* ppc-opc.c: Add ATTRIBUTE_UNUSED as needed.
+
+2000-04-01  Alexandre Oliva  <aoliva@redhat.com>
+
+	* m10300-opc.c: SP-based offsets are always unsigned.
+
+2000-03-29  Thomas de Lellis  <tdel@windriver.com>
+
+	* arm-opc.h (thumb_opcodes): Disassemble 0xde.. to "bal"
+	[branch always] instead of "undefined".
+
+2000-03-27  Nick Clifton  <nickc@redhat.com>
+
+	* d30v-opc.c (d30v_format_table): Move SHORT_AR to end of list of
+	short instructions, from end of list of long instructions.
+
+2000-03-27  Ian Lance Taylor  <ian@zembu.com>
+
+	* Makefile.am (CFILES): Add avr-dis.c.
+	(ALL_MACHINES): Add avr-dis.lo.
+
+2000-03-27  Alan Modra  <alan@linuxcare.com>
+
+	* avr-dis.c (add0fff, add03f8): Don't use structure bitfields to
+	truncate integers.
+	(print_insn_avr): Call function via pointer in K&R compatible way.
+	(dispLDD, regPP, reg50, reg104, reg40, reg20w, lit404, lit204,
+	add0fff, add03f8): Convert to old style function declaration and
+	add prototype.
+	(avrdis_opcode): Add prototype.
+
+2000-03-27  Denis Chertykov  <denisc@overta.ru>
+
+	* avr-dis.c: New file.  AVR disassembler.
+	* configure.in (bfd_avr_arch): New architecture support.
+	* disassemble.c: Likewise.
+	* configure: Regenerate.
+
+2000-03-06  J"oern Rennecke <amylaar@redhat.com>
+
+	* sh-opc.h (sh_table): ldre and ldrs have a *signed* displacement.
+
+2000-03-02  J"orn Rennecke <amylaar@redhat.co.uk>
+
+	* d30v-dis.c (print_insn): Remove d*i hacks.  Use per-operand
+	flag to determine if operand is pc-relative.
+	* d30v-opc.c:
+	(d30v_format_table):
+	(REL6S3): Renamed from IMM6S3.
+	Added flag OPERAND_PCREL.
+	(REL12S3, REL18S3, REL32): Split from IMM12S3, IMM18S3, REL32, with
+	added flag OPERAND_PCREL.
+	(IMM12S3U): Replaced with REL12S3.
+	(SHORT_D2, LONG_D): Delay target is pc-relative.
+	(SHORT_B2r, SHORT_B3r, SHORT_B3br, SHORT_D2r, LONG_Ur, LONG_2r):
+	Split from SHORT_B2, SHORT_D2, SHORT_B3b, SHORT_D2, LONG_U, LONG_2r,
+	using the REL* operands.
+	(LONG_2br, LONG_Dr): Likewise, from LONG_2b, LONG_D.
+	(SHORT_D1r, SHORT_D2Br, LONG_Dbr): Renamed from SHORT_D1, SHORT_D2B,
+	LONG_Db, using REL* operands.
+	(SHORT_U, SHORT_A5S): Removed stray alternatives.
+	(d30v_opcode_table): Use new *r formats.
+
+2000-02-28  Nick Clifton  <nickc@redhat.com>
+
+	* m32r-desc.c (m32r_cgen_cpu_open): Replace 'flags' with
+	'signed_overflow_ok_p'.
+
+2000-02-27  Eli Zaretskii  <eliz@is.elta.co.il>
+
+	* Makefile.am (stamp-lib): Use $(LIBTOOL) --config to get the
+	name of the libtool directory.
+	* Makefile.in: Rebuild.
+
+2000-02-24  Nick Clifton  <nickc@redhat.com>
+
+	* cgen-opc.c (cgen_set_signed_overflow_ok): New function.
+	(cgen_clear_signed_overflow_ok): New function.
+	(cgen_signed_overflow_ok_p): New function.
+
+2000-02-23  Andrew Haley  <aph@redhat.com>
+
+	* m32r-asm.c, m32r-desc.c, m32r-desc.h, m32r-dis.c,
+	m32r-ibld.c, m32r-opc.h: Rebuild.
+
+2000-02-23  Linas Vepstas <linas@linas.org>
+
+	* i370-dis.c, i370-opc.c: New.
+
+	* disassemble.c (ARCH_i370): Define.
+	(disassembler): Handle it.
+
+	* Makefile.am: Add support for Linux/IBM 370.
+	* configure.in: Likewise.
+
+	* Makefile.in: Regenerate.
+	* configure: Likewise.
+
+2000-02-22  Chandra Chavva   <cchavva@redhat.com>
+
+	* d30v-opc.c (d30v_opcode_tab) : Added FLAG_NOT_WITH_ADDSUBppp to
+	ST2H, STB, STH, STHH, STW and ST2H opcodes to prohibit parallel
+	procedure.
+
+2000-02-22  Andrew Haley  <aph@redhat.com>
+
+	* mips-dis.c (_print_insn_mips): New arg for OPCODE_IS_MEMBER:
+	force gp32 to zero.
+	* mips-opc.c (G6): New define.
+	(mips_builtin_op): Add "move" definition for -gp32.
+
+2000-02-22  Ian Lance Taylor  <ian@zembu.com>
+
+	From Grant Erickson <gerickso@Brocade.COM>:
+	* ppc-opc.c: Correct dcread--it takes 3 arguments, not 2.
+
+2000-02-21  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+	* dis-buf.c (buffer_read_memory): Change `length' param and all int
+	vars to unsigned.
+
+2000-02-17 J"orn Rennecke <amylaar@redhat.co.uk>
+
+	* sh-dis.c (print_movxy, print_insn_ddt, print_dsp_reg): New functions.
+	(print_insn_ppi): Likewise.
+	(print_insn_shx): Use info->mach to select appropriate insn set.
+	Add support for sh-dsp.  Remove FD_REG_N support.
+	* sh-opc.h (sh_nibble_type): Add new values for sh-dsp support.
+	(sh_arg_type): Likewise.  Remove FD_REG_N.
+	(sh_dsp_reg_nums): New enum.
+	(arch_sh1, arch_sh2, arch_sh3, arch_sh3e, arch_sh4): New macros.
+	(arch_sh_dsp, arch_sh3_dsp, arch_sh1_up, arch_sh2_up): Likewise.
+	(arch_sh3_up, arch_sh3e_up, arch_sh4_up, arch_sh_dsp_up): Likewise.
+	(arch_sh3_dsp_up): Likewise.
+	(sh_opcode_info): New field: arch.
+	(sh_table): Split up insn with FD_REG_N into ones with F_REG_N and
+	D_REG_N.  Fill in arch field.  Add sh-dsp insns.
+
+2000-02-14  Fernando Nasser  <fnasser@totem.to.redhat.com>
+
+	* arm-dis.c: Change flavor name from atpcs-special to
+	special-atpcs to prevent name conflict in gdb.
+	(get_arm_regname_num_options, set_arm_regname_option,
+	get_arm_regnames): New functions.  API to access the several
+	flavor of register names.  Note: Used by gdb.
+	(print_insn_thumb): Use the register name entry from the currently
+	selected flavor for LR and PC.
+
+2000-02-10  Nick Clifton  <nickc@redhat.com>
+
+	* mcore-opc.h (enum mcore_opclass): Add MULSH and OPSR
+	classes.
+	(mcore_table): Add "idly4", "psrclr", "psrset", "mulsh" and
+	"mulsh.h" instructions.
+	* mcore-dis.c (imsk array): Add masks for MULSH and OPSR
+	classes.
+	(print_insn_mcore): Add support for little endian targets.
+	Add support for MULSH and OPSR classes.
+
+2000-02-07  Nick Clifton  <nickc@redhat.com>
+
+	* arm-dis.c (parse_arm_diassembler_option): Rename again.
+	Previous delat did not take.
+
+2000-02-03  Timothy Wall  <twall@redhat.com>
+
+	* dis-buf.c (buffer_read_memory):  Use octets_per_byte field
+	to adjust target address bounds checking and calculate the
+	appropriate octet offset into data.
+
+2000-01-27  Nick Clifton  <nickc@redhat.com>
+
+	* arm-dis.c: (parse_disassembler_option): Rename to
+	parse_arm_disassembler_option and allow to be exported.
+
+	* disassemble.c (disassembler_usage): New function: Print out any
+	target specific disassembler options.
+	Call arm_disassembler_options() if the ARM architecture is being
+	supported.
+
+	* arm-dis.c (NUM_ELEM): Define this macro if not already
+	defined.
+	(arm_regname): New struct type for ARM register names.
+	(arm_toggle_regnames): Delete.
+	(parse_disassembler_option): Use register name structure.
+	(print_insn): New function: Combines duplicate code found in
+	print_insn_big_arm and print_insn_little_arm.
+	(print_insn_big_arm): Call print_insn.
+	(print_insn_little_arm): Call print_insn.
+	(print_arm_disassembler_options): Display list of supported,
+	ARM specific disassembler options.
+
+2000-01-27  Thomas de Lellis  <tdel@windriver.com>
+
+	* arm-dis.c (printf_insn_big_arm): Treat ELF symbols with the
+	ARM_STT_16BIT flag as Thumb code symbols.
+
+	* arm-dis.c (printf_insn_little_arm): Ditto.
+
+2000-01-25  Thomas de Lellis  <tdel@windriver.com>
+
+	* arm-dis.c (printf_insn_thumb): Prevent double dumping
+	of raw thumb instructions.
+
+2000-01-20  Nick Clifton  <nickc@redhat.com>
+
+	* mcore-opc.h (mcore_table): Add "add" as an alias for "addu".
+
+2000-01-03  Nick Clifton  <nickc@cygnus.com>
+
+	* arm-dis.c (streq): New macro.
+	(strneq): New macro.
+	(force_thumb): ew local variable.
+	(parse_disassembler_option): New function: Parse a single, ARM
+	specific disassembler command line switch.
+	(parse_disassembler_option): Call parse_disassembler_option to
+	parse individual command line switches.
+	(print_insn_big_arm): Check force_thumb.
+	(print_insn_little_arm): Check force_thumb.
+
+For older changes see ChangeLog-9899
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/opcodes/ChangeLog-0203 b/opcodes/ChangeLog-0203
new file mode 100644
index 0000000..25ed8b5
--- /dev/null
+++ b/opcodes/ChangeLog-0203
@@ -0,0 +1,2110 @@
+2003-12-15  Christian Groessler  <chris@groessler.org>
+
+	* z8k-dis.c (intr_names): Removed.
+	(print_intr, print_flags): New functions.
+	(unparse_instr): Use new functions.
+
+2003-12-15  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+
+	* m32r-opc.c: Regenerate.
+
+2003-12-14  Mark Mitchell  <mark@codesourcery.com>
+
+	* arm-opc.h (arm_opcodes): Put V6 instructions before XScale
+	instructions.
+
+2003-12-13  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* mmix-opc.c (mmix_opcodes): Use GO_INSN_BYTE, PUSHGO_INSN_BYTE,
+	SETL_INSN_BYTE, INCH_INSN_BYTE, INCMH_INSN_BYTE, INCML_INSN_BYTE
+	and SWYM_INSN_BYTE instead of raw numbers.
+
+2003-12-10  Zack Weinberg  <zack@codesourcery.com>
+
+	* ppc-opc.c (MO): Make optional.
+	(RAO, RSO, SHO): New optional forms of RA, RS, SH operands.
+	(tlbwe): Accept for both PPC403 and BOOKE.  Make all operands optional.
+
+2003-12-05  Ricardo Anguiano <anguiano@codesourcery.com>
+	    Mark Mitchell  <mark@codesourcery.com>
+	    Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-dis.c (print_arm_insn): Add 'W' macro.
+	* arm-opc.h (arm_opcodes): Add V6 instructions.
+	(thumb_opcodes): Likewise.
+
+2003-12-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* openrisc-asm.c: Regenerate.
+	* pj-opc.c: Update copyright date.
+
+2003-12-03  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+
+	* m32r-asm.c: Regenerate.
+	* m32r-desc.c: Regenerate.
+	* m32r-desc.h: Regenerate.
+	* m32r-dis.c: Regenerate.
+	* m32r-ibld.c: Regenerate.
+	* m32r-opc.c: Regenerate.
+	* m32r-opc.h: Regenerate.
+	* m32r-opinst.c: Regenerate.
+
+2003-12-02  Alexandre Oliva  <aoliva@redhat.com>
+
+	* sh-opc.h: Add support for sh4a and no-fpu variants.
+	* sh-dis.c: Ditto.
+
+2003-12-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+	* alpha-opc.c: Remove ARGSUSED.
+	* i370-opc.c: Likewise.
+	* ppc-opc.c: Likewise.
+
+2003-12-02  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am: Run "make dep-am".
+	* Makefile.in: Regenerate.
+
+2003-11-28  Christian Groessler  <chris@groessler.org>
+
+	* z8k-dis.c: Convert to ISO C90.
+	* z8kgen.c: Convert to ISO C90.
+	(opt): Move long opcode for "ldb rdb,imm8" after short one, now
+	the short one is created when assembling.
+	* z8k-opc.h: Regenerate with new z8kgen.c.
+
+2003-11-19  Kazu Hirata  <kazu@cs.umass.edu>
+
+	* h8300-dis.c (print_colon_thingie): Remove.
+
+2003-11-18  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+
+	* mips-opc.c (mips_builtin_opcodes): Handle new macros: "lca" and
+	"dlca".
+
+2003-11-14  Nick Clifton  <nickc@redhat.com>
+
+	* dis-init.c (init_disassemble_info): Initialise
+	symbol_is_valid field.
+	* dis-buf.c (generic_symbol_is_valid): New function.  Always
+	returns TRUE.
+	* arm-dis.c (arm_symbol_is_valid): New function.  Return FALSE
+	for ARM ELF mapping symbols.
+	* disassemble.c (disassemble_init_for_target): Set
+	symbol_is_valid field to arm_symbol_is_valid of the target is
+	an ARM.
+
+2003-11-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* m68k-opc.c (m68k_opcodes): Reorder "fmovel".
+
+2003-11-03  Daniel Jacobowitz  <drow@mvista.com>
+
+	* arm-dis.c (print_arm_insn): Print "-" after "#".
+
+2003-10-30  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
+
+	* alpha-opc.c: Add support for a second argument to RPCC.
+
+2003-10-27  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* m68hc11-dis.c: Convert to ISO C90 prototypes.
+
+2003-10-21  Peter Barada  <pbarada@mail.wm.sps.mot.com>
+	    Bernardo Innocenti  <bernie@develer.com>
+
+	* m68k-dis.c: Add MCFv4/MCF5528x support.
+	* m68k-opc.c: Likewise.
+
+2003-10-10  Dave Brolley  <brolley@redhat.com>
+
+	* frv-asm.c,frv-desc.c,frv-opc.c: Regenerated.
+
+2003-10-08  Dave Brolley  <brolley@redhat.com>
+
+	* frv-desc.[ch], frv-opc.[ch]: Regenerated.
+
+2003-09-30  Bob Wilson  <bob.wilson@acm.org>
+
+	* xtensa-dis.c (fetch_data): Remove numBytes parameter.
+	(print_insn_xtensa): Fix call to fetch_data.
+
+2003-09-30  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips-dis.c (mips_arch_choices): Add entry for "mips64r2"
+	(print_insn_args): Add handing for +E, +F, +G, and +H.
+	* mips-opc.c (I65): New define for MIPS64r2.
+	(mips_builtin_opcodes): Add "dext", "dextm", "dextu", "dins",
+	"dinsm", "dinsu", "drotl", "drotr", "drotr32", "drotrv", "dsbh",
+	and "dshd" for MIPS64r2.  Adjust "dror", "dror32", and "drorv" to
+	be supported on MIPS64r2.
+
+2003-09-24  Dave Brolley  <brolley@redhat.com>
+
+	* frv-desc.c, frv-opc.c, frv-opc.h: Regenerated.
+
+2003-09-14  Andreas Jaeger  <aj@suse.de>
+
+	* i386-dis.c: Convert to ISO C90 prototypes.
+	* i370-dis.c: Likewise.
+	* i370-opc.c: Likewiwse.
+	* i960-dis.c: Likewise.
+	* ia64-opc.c: Likewise.
+
+2003-09-09  Dave Brolley  <brolley@redhat.com>
+
+	* frv-desc.c: Regenerated.
+
+2003-09-08  Dave Brolley  <brolley@redhat.com>
+
+	On behalf of Doug Evans <dje@sebabeach.org>
+	* Makefile.am (run-cgen): Pass new args archfile and opcfile
+	to cgen.sh.
+	(stamp-ip2k,stamp-m32r,stamp-fr30,stamp-frv,stamp-openrisc,
+	stamp-iq2000,stamp-xstormy16): Pass paths of .cpu and .opc files
+	to cgen.sh.
+	(stamp-frv): Delete hardcoded path spec workaround.
+	* Makefile.in: Regenerate.
+	* cgen.sh: New args archfile and opcfile.  Pass on to cgen.
+
+2003-09-04  Nick Clifton  <nickc@redhat.com>
+
+	* v850-dis.c (disassemble): Accept bfd_mach_v850e1.
+	* v850-opc.c (v850_opcodes): Add DBTRAP and DBRET instructions.
+
+2003-09-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* ppc-dis.c (struct dis_private): New.
+	(powerpc_dialect): Make static.  Accept -Many in addition to existing
+	options.  Save dialect in dis_private.
+	(print_insn_big_powerpc): Retrieve dialect from dis_private.
+	(print_insn_little_powerpc): Likewise.
+	(print_insn_powerpc): Call powpc_dialect here.  Remove unnecessary
+	efs/altivec check.  Try harder to disassemble if given -Many.
+	* ppc-opc.c (insert_fxm): Expand comment.
+	(PPC, PPCCOM, PPC32, PPC64, PPCVEC): Remove PPC_OPCODE_ANY.
+	(POWER, POWER2, PPCPWR2, POWER32, COM, COM32, M601, PWRCOM): Likewise.
+	(POWER4): Remove PPCCOM.
+	(PPCONLY): Don't define.  Update all occurrences to PPC.
+
+2003-09-03  Andrew Cagney  <cagney@redhat.com>
+
+	* dis-init.c (init_disassemble_info): New file and function.
+	* Makefile.am (CFILES): Add "dis-init.c".
+	(libopcodes_la_SOURCES): Add "dis-init.c".
+	(dis-init.lo): Specify dependencies.
+	* Makefile.in: Regenerate.
+
+2003-09-03  Dave Brolley  <brolley@redhat.com>
+
+	* frv-*: Regenerated.
+
+2003-09-02  Alan Modra  <amodra@bigpond.net.au>
+
+	* ppc-opc.c (powerpc_opcodes): Combine identical PPC403/BOOKE entries.
+	Move duplicate mnemonic entries together.  Use RS instead of RT on
+	all mt*.
+	* ppc-dis.c: Convert to ISO C.
+
+2003-08-29  Dave Brolley  <brolley@redhat.com>
+
+	* Makefile.am (stamp-frv): Copy frv.cpu and frv.opc from
+	$(srcdir)/../cpu temporarily when regenerating source files.
+	* Makefile.in: Regenerated.
+
+2003-08-19  Nick Clifton  <nickc@redhat.com>
+
+	* arm-dis.c (print_insn_arm: case 'A'): Add code to
+	disassemble unindexed form of Addressing Mode 5.
+
+2003-08-19  Alan Modra  <amodra@bigpond.net.au>
+
+	* ppc-opc.c (PPC440): Define.
+	(powerpc_opcodes): Allow mac*, mul*, nmac*, dccci, dcread, iccci,
+	icread instructions when PPC440.  Add dlmzb instruction.
+
+2003-08-14  Alan Modra  <amodra@bigpond.net.au>
+
+	* dep-in.sed: Remove libintl.h.
+	* Makefile.am (POTFILES.in): Unset LC_COLLATE.
+	Run "make dep-am".
+	* Makefile.in: Regenerate.
+
+2003-08-07  Michael Meissner  <gnu@the-meissners.org>
+
+	* cgen-asm.c (hash_insn_array): Remove PARAMS macro.
+	(hash_insn_list): Ditto.
+	(build_asm_hash_table): Ditto.
+	(cgen_set_parse_operand_fn): Prototype definition.
+	(cgen_init_parse_operand): Ditto.
+	(hash_insn_array): Ditto.
+	(hash_insn_list): Ditto.
+	(build_asm_hash_table): Ditto.
+	(cgen_asm_lookup_insn): Ditto.
+	(cgen_parse_keyword): Ditto.
+	(cgen_parse_signed_integer): Ditto.
+	(cgen_parse_unsigned_integer): Ditto.
+	(cgen_parse_address): Ditto.
+	(cgen_validate_signed_integer): Ditto.
+	(cgen_validate_unsigned_integer): Ditto.
+
+	* cgen-opc.c (hash_keyword_name): Remove PARAMS macro.
+	(hash_keyword_value): Ditto.
+	(build_keyword_hash_tables): Ditto.
+	(cgen_keyword_lookup_name): Prototype definition.
+	(cgen_keyword_lookup_value): Ditto.
+	(cgen_keyword_add): Ditto.
+	(cgen_keyword_search_init): Ditto.
+	(cgen_keyword_search_next): Ditto.
+	(hash_keyword_name): Ditto.
+	(hash_keyword_value): Ditto.
+	(build_keyword_hash_tables): Ditto.
+	(cgen_hw_lookup_by_name): Ditto.
+	(cgen_hw_lookup_by_num): Ditto.
+	(cgen_operand_lookup_by_name): Ditto.
+	(cgen_operand_lookup_by_num): Ditto.
+	(cgen_insn_count): Ditto.
+	(cgen_macro_insn_count): Ditto.
+	(cgen_get_insn_value): Ditto.
+	(cgen_put_insn_value): Ditto.
+	(cgen_lookup_insn): Ditto.
+	(cgen_get_insn_operands): Ditto.
+	(cgen_lookup_get_insn_operands): Ditto.
+	(cgen_set_signed_overflow_ok): Ditto.
+	(cgen_clear_signed_overflow_ok): Ditto.
+	(cgen_signed_overflow_ok_p): Ditto.
+
+	* cgen-dis.c (hash_insn_array): Remove PARAMS macro.
+	(hash_insn_list): Ditto.
+	(build_dis_hash_table): Ditto.
+	(count_decodable_bits): Ditto.
+	(add_insn_to_hash_chain): Ditto.
+	(count_decodable_bits): Prototype definition.
+	(add_insn_to_hash_chain): Ditto.
+	(hash_insn_array): Ditto.
+	(hash_insn_list): Ditto.
+	(build_dis_hash_table): Ditto.
+	(cgen_dis_lookup_insn): Ditto.
+
+	* cgen-asm.in (parse_insn_normal): Remove PARAMS macro.
+	(@arch@_cgen_build_insn_regex): Prototype definition.
+	(parse_insn_normal): Ditto.
+	(@arch@_cgen_assemble_insn): Ditto.
+	(@arch@_cgen_asm_hash_keywords): Ditto.
+
+	* cgen-dis.in (print_normal): Remove PARAMS macro.  Use void *
+	instead of PTR.
+	(print_address): Ditto.
+	(print_keyword): Ditto.
+	(print_insn_normal): Ditto.
+	(print_insn): Ditto.
+	(default_print_insn): Ditto.
+	(read_insn): Ditto.
+	(print_normal): Prototype definition.  Use void * instead of PTR.
+	(print_address): Ditto.
+	(print_keyword): Ditto.
+	(print_insn_normal): Ditto.
+	(read_insn): Ditto.
+	(print_insn): Ditto.
+	(default_print_insn): Ditto.
+	(print_insn_@arch@): Ditto.
+
+	* cgen-ibld.in (insert_normal): Remove PARAMS macro.
+	(insn_insn_normal): Ditto.
+	(extract_normal): Ditto.
+	(extract_insn_normal): Ditto.
+	(put_insn_int_value): Ditto.
+	(insert_1): Ditto.
+	(fill_cache): Ditto.
+	(extract_1): Ditto.
+	(insert_1): Prototype definition.
+	(insert_normal): Ditto.
+	(insert_insn_normal): Ditto.
+	(put_insn_int_value): Ditto.
+	(fill_cache): Ditto.
+	(extract_1): Ditto.
+	(extract_normal): Ditto.
+	(extract_insn_normal): Ditto.
+
+	* fr30-asm.c: Regenerate.
+	* fr30-dis.c: Ditto.
+	* fr30-ibld.c: Ditto.
+	* frv-asm.c: Ditto.
+	* frv-dis.c: Ditto.
+	* frv-ibld.c: Ditto.
+	* ip2k-asm.c: Ditto.
+	* ip2k-dis.c: Ditto.
+	* ip2k-ibld.c: Ditto.
+	* iq2000-asm.c: Ditto.
+	* iq2000-dis.c: Ditto.
+	* iq2000-ibld.c: Ditto.
+	* m32r-asm.c: Ditto.
+	* m32r-dis.c: Ditto.
+	* m32r-ibld.c: Ditto.
+	* openrisc-asm.c: Ditto.
+	* openrisc-dis.c: Ditto.
+	* openrisc-ibld.c: Ditto.
+	* xstormy16-asm.c: Ditto.
+	* xstormy16-dis.c: Ditto.
+	* xstormy16-ibld.c: Ditto.
+
+2003-08-06  Nick Clifton  <nickc@redhat.com>
+
+	* po/fr.po: Updated French translation.
+
+2003-08-05  Nick Clifton  <nickc@redhat.com>
+
+	* configure.in (ALL_LINGUAS): Add nl.
+	* configure: Regenerate.
+	* po/nl.po: New Dutch translation.
+
+2003-07-30  Jason Eckhardt  <jle@rice.edu>
+
+	* i860-dis.c: Convert to ISO C90.  Remove superflous prototypes.
+
+2003-07-30  Nick Clifton  <nickc@redhat.com>
+
+	* po/ro.po: Updated Romanian translation.
+
+2003-07-29  Jakub Jelinek  <jakub@redhat.com>
+
+	* ppc-opc.c (insert_mbe, extract_mbe): Shift 1L instead of 1 up.
+
+2003-07-24  Nick Clifton  <nickc@redhat.com>
+
+	* po/fr.po: Updated French translation.
+
+2003-07-18  Nick Clifton  <nickc@redhat.com>
+
+	* arm-dis.c (parse_arm_disassembler_option): Do not expect
+	option string to be NUL terminated.
+	(parse_disassembler_options): Allow options to be space or
+	comma separated.
+
+2003-07-17  Nick Clifton  <nickc@redhat.com>
+
+	* po/es.po: New Spanish translation.
+	* po/sv.po: New Swedish translation.
+	* po/opcodes.pot: Regenerate.
+
+2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
+
+	* mips-dis.c (mips_arch_choices): Add rm7000 and rm9000 entries.
+
+2003-07-14  Nick Clifton  <nickc@redhat.com>
+
+	* po/tr.po: Update with latest version.
+	* po/POTFILES.in: Regenerate.
+	* Makefile.in: Regenerate.
+
+2003-07-11  Alan Modra  <amodra@bigpond.net.au>
+
+	* po/opcodes.pot: Regenerate.
+
+2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
+
+	2000-05-25  Alexandre Oliva  <aoliva@cygnus.com>
+	* m10300-dis.c (disassemble): Negate negative accumulator's shift.
+	2000-05-24  Alexandre Oliva  <aoliva@cygnus.com>
+	* m10300-dis.c (disassemble, case FSREG, FDREG): Don't assume
+	32-bit longs when sign-extending operands.
+	2000-04-20  Alexandre Oliva  <aoliva@cygnus.com>
+	* m10300-opc.c: Remove MN10300_OPERAND_RELAX from all FSREGs.
+	* m10300-dis.c (HAVE_AM33_2): Define.
+	(disassemble): Use it.
+	(HAVE_AM33): Redefine.
+	(print_insn_mn10300): Fix mask for 5-byte extended insns.
+	2000-04-01  Alexandre Oliva  <aoliva@cygnus.com>
+	* m10300-opc.c: Renamed AM332 to AM33_2.
+	2000-03-31  Alexandre Oliva  <aoliva@cygnus.com>
+	* m10300-opc.c: Defined AM33 2.0 register operands.  Added support
+	for AM33 2.0 `imm8,(abs16)' addressing mode for btst, bset and
+	bclr.  Implemented `fbCC', `flCC', `dcpf' and all FP insns.
+	* m10300-dis.c (print_insn_mn10300): Recognize 5byte extended
+	insn code of AM33 2.0.
+	(disassemble): Recognize FMT_D3.  Print out FP register names.
+
+2003-07-09  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips-dis.c (set_default_mips_dis_options): Get BFD from
+	the disassembler_info's section, rather than from the
+	disassembler_info's symbols pointer.
+
+2003-07-07  Alan Modra  <amodra@bigpond.net.au>
+
+	* ppc-opc.c: Remove NULL pointer checks.  Formatting.  Remove
+	extraneous ATTRIBUTE_UNUSED.
+	* ppc-dis.c (print_insn_powerpc): Always pass a valid address to
+	operand->extract.
+
+2003-07-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* ppc-opc.c: Convert to C90, removing unnecessary prototypes and
+	casts.  Formatting.
+
+	* ppc-opc.c: Remove PARAMS from prototypes.
+	(FXM4): Define.
+	(insert_fxm): New function, used by both FXM and FXM4.
+	(extract_fxm): Likewise.
+	(XFXFXM_MASK): Remove 1 << 20 term.
+	(powerpc_opcodes): Add Power4 version of "mfcr".  Simplify "mtcr" mask.
+
+2003-07-01  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* s390-dis.c (s390_extract_operand): Add support for long displacements.
+	* s390-mkopc.c (s390_opcode_cpu_val): Add support for cpu type z990.
+	* s390-opc.c (D20_20): Add define for 20 bit displacements.
+	(INSTR_RRF_R0RR, INSTR_RSL_R0RD, INSTR_RSY_RRRD, INSTR_RSY_RURD,
+	INSTR_RSY_AARD, INSTR_RXY_RRRD, INSTR_RXY_FRRD, INSTR_SIY_URD): Add
+	new instruction formats.
+	(MASK_RRF_R0RR, MASK_RSL_R0RD, MASK_RSY_RRRD, MASK_RSY_RURD,
+	MASK_RSY_AARD, MASK_RXY_RRRD, MASK_RXY_FRRD, MASK_SIY_URD): Likewise.
+	(s390_opformats): Likewise.
+	* s390-opc.txt: Add new instructions for cpu type z990. Add missing
+	hfp instructions. Add missing instructions pgin, pgout and xsch.
+
+2003-06-23  H.J. Lu <hongjiu.lu@intel.com>
+
+	* i386-dis.c (PNI_Fixup): New. Fix up "mwait" and "monitor" in
+	Intel Precott New Instructions.
+	(PREGRP27): New. Added for "addsubpd" and "addsubps".
+	(PREGRP28): New. Added for "haddpd" and "haddps".
+	(PREGRP29): New. Added for "hsubpd" and "hsubps".
+	(PREGRP30): New. Added for "movsldup" and "movddup".
+	(PREGRP31): New. Added for "movshdup" and "movhpd".
+	(PREGRP32): New. Added for "lddqu".
+	(dis386_twobyte): Use PREGRP30 to replace the "movlpX" entry.
+	Use PREGRP31 to replace the "movhpX" entry. Use PREGRP28 for
+	entry 0x7c. Use PREGRP29 for entry 0x7d. Use PREGRP27 for
+	entry 0xd0. Use PREGRP32 for entry 0xf0.
+	(twobyte_has_modrm): Updated.
+	(twobyte_uses_SSE_prefix): Likewise.
+	(grps): Use PNI_Fixup in the "sidtQ" entry.
+	(prefix_user_table): Add PREGRP27, PREGRP28, PREGRP29, PREGRP30,
+	PREGRP31 and PREGRP32.
+	(float_mem): Use "fisttp{l||l|}" in entry 1 in opcode 0xdb.
+	Use "fisttpll" in entry 1 in opcode 0xdd.
+	Use "fisttp" in entry 1 in opcode 0xdf.
+
+2003-06-19  Christian Groessler  <chris@groessler.org>
+
+	* z8k-dis.c (instr_data_s): Change tabl_index from long to int.
+	(print_insn_z8k): Correctly check return value from
+	z8k_lookup_instr call.
+	(unparse_instr): Handle CLASS_IRO case.
+	* z8kgen.c: Fix function definitions.  Fix formatting.
+	(opt): Add brk opcode alias for non-simulator breakpoint.  Add
+	missing and fix existing in/out and sin/sout opcode definitions.
+	(args): "@ri", "@ro" - add CLASS_IRO register usage for in/out
+	opcodes.
+	(internal): Check p->flags for non-zero before dereferencing it.
+	(gas): Add CLASS_IRO line.  Insert new OPC_xxx lines for the added
+	opcodes and renumber the remaining lines repectively.
+	(main): Remove "-d" command line switch.
+	* z8k-opc.h: Regenerate with new z8kgen.c.
+
+2003-06-11  H.J. Lu <hongjiu.lu@intel.com>
+
+	* po/Make-in (DESTDIR): New.
+	(install-data-yes): Support $(DESTDIR).
+	(uninstall): Likewise.
+
+2003-06-11  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am: Run "make dep-am".
+	* Makefile.in: Regenerate.
+	* po/POTFILES.in: Regenerate.
+
+2003-06-10  Doug Evans  <dje@sebabeach.org>
+
+	* cgen-asm.in (@arch@_cgen_assemble_insn): CGEN_INSN_RELAX renamed to
+	CGEN_INSN_RELAXED.
+	* fr30-asm.c,fr30-desc.c,fr30-desc.h: Regenerate.
+	* frv-asm.c,frv-desc.c,frv-desc.h: Regenerate.
+	* ip2k-asm.c,ip2k-desc.c,ip2k-desc.h: Regenerate.
+	* iq2000-asm.c,iq2000-desc.c,iq2000-desc.h: Regenerate.
+	* m32r-asm.c,m32r-desc.c,m32r-desc.h,m32r-opc.c: Regenerate.
+	* openrisc-asm.c,openrisc-desc.c,openrisc-desc.h: Regenerate.
+	* xstormy16-asm.c,xstormy16-desc.c,xstormy16-desc.h: Regenerate.
+
+2003-06-10  Gary Hade <garyhade@us.ibm.com>
+	    Alan Modra  <amodra@bigpond.net.au>
+
+	* ppc-opc.c (DQ, RAQ, RSQ, RTQ): Define.
+	(insert_dq, extract_dq, insert_raq, insert_rtq, insert_rsq): New.
+	(powerpc_opcodes): Add "attn", "lq" and "stq".
+
+2003-06-10  Richard Sandiford  <rsandifo@redhat.com>
+
+	* h8300-dis.c (bfd_h8_disassemble): Don't print brackets round
+	rts/l and rte/l register lists.
+
+2003-06-03  Nick Clifton  <nickc@redhat.com>
+
+	* frv-desc.c: Regenerate.
+	* frv-opc.c: Regenerate.
+	* frv-asm.c: Regenerate.
+	* frv-desc.h: Regenerate.
+	* frv-dis.c: Regenerate.
+	* frv-ibld.c: Regenerate.
+	* frv-opc.h: Regenerate.
+	* po/opcodes.pot: Regenerate.
+
+2003-06-03  Michael Snyder  <msnyder@redhat.com>
+	and Bernd Schmidt   <bernds@redhat.com>
+	and Alexandre Oliva <aoliva@redhat.com>
+
+	* disassemble.c (disassembler): Add support for h8300sx.
+	* h8300-dis.c: Ditto.
+
+2003-06-03  Nick Clifton  <nickc@redhat.com>
+
+	* frv-desc.c: Regenerate.
+	* frv-opc.c: Regenerate.
+
+	* aclocal.m4: Regenerate.
+	* config.in: Regenerate.
+	* configure: Regenerate.
+	* iq2000-asm.c: Regenerate.
+	* iq2000-desc.c: Regenerate.
+	* iq2000-desc.h: Regenerate.
+	* iq2000-dis.c: Regenerate.
+	* iq2000-ibld.c: Regenerate.
+	* iq2000-opc.c: Regenerate.
+	* iq2000-opc.h: Regenerate.
+	* po/POTFILES.in: Regenerate.
+	* po/opcodes.pot: Regenerate.
+
+2003-05-23  Jason Eckhardt  <jle@rice.edu>
+
+	* i860-dis.c (crnames): Add bear, ccr, p0, p1, p2, p3.
+	(print_insn_i860): Grab 4 bits of the control register field
+	instead of 3.
+
+2003-05-18  Jason Eckhardt  <jle@rice.edu>
+
+	* i860-dis.c (print_insn_i860): Instruction shrd has a dual bit,
+	print it.
+
+2003-05-17  Andreas Jaeger  <aj@suse.de>
+
+	* Makefile.am (libopcodes_la_LIBADD): Add libbfd.la.
+	(libopcodes_la_DEPENDENCIES): Add libbfd.la.
+	* Makefile.in: Regenerated.
+
+2003-05-16  Nick Clifton  <nickc@redhat.com>
+
+	* configure.in (ALL_LINGUAS): Add Romanian translation.
+	* configure: Regenerate.
+	* po/ro.po: New file: Romanian translation.
+
+2003-05-12  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
+
+	* disassemble.c (disassembler): Add support for h8300hn and h8300sn.
+
+2003-05-09  Alan Modra  <amodra@bigpond.net.au>
+
+	* i386-dis.c (print_insn): Test intel_syntax against (char) -1 in
+	case char is unsigned.
+
+2003-05-01  Christian Groessler <chris@groessler.org>
+
+	* z8k-dis.c (z8k_lookup_instr): Optimize FETCH_DATA calls.
+	(unpack_instr): Fix representation of segmented addresses.
+	(intr_name): Added, contains names of the parameters to the EI/DI
+	instructions.
+	(unparse_instr): Fix display of EI/DI parameters.
+
+2003-04-22  Doug Evans  <dje@sebabeach.org>
+
+	* fr30-desc.c,fr30-desc.h,fr30-opc.c,fr30-opc.h: Regenerate.
+	* frv-desc.c,frv-desc.h,frv-opc.c,frv-opc.h: Regenerate.
+	* ip2k-desc.c,ip2k-desc.h,ip2k-opc.c,ip2k-opc.h: Regenerate.
+	* m32r-desc.c,m32r-desc.h,m32r-opc.c,m32r-opc.h: Regenerate.
+	* m32r-opinst.c: Regenerate.
+	* openrisc-desc.c,openrisc-desc.h,openrisc-opc.c,openrisc-opc.h: Regenerate.
+	* xstormy16-desc.c,xstormy16-desc.h,xstormy16-opc.c,xstormy16-opc.h: Regenerate.
+
+2003-04-15  Rohit Kumar Srivastava <rohits@kpitcummins.com>
+
+	* h8500-opc.c: Replace occurrances of 'Hitachi' with 'Renesas'.
+
+2003-04-07  James E Wilson  <wilson@tuliptree.org>
+
+	* ia64-ic.tbl (fr-readers): Add mem-writers-fp.
+	* ia64-asmtab.c: Regenerate.
+
+2003-04-08  Alexandre Oliva  <aoliva@redhat.com>
+
+	* mips-dis.c (mips_gpr_names_newabi): Reverted previous patch.
+
+2003-04-07  Alexandre Oliva  <aoliva@redhat.com>
+
+	* mips-dis.c (mips_gpr_names_newabi): $12-$15 are named $t4-$t7.
+
+2003-04-04  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+	* tic4x-dis.c: Namespace cleanup. Replace s/c4x/tic4x and
+	s/c3x/tic3x/
+
+2003-04-01  Nick Clifton  <nickc@redhat.com>
+
+	* arm-dis.c: Remove presence of (r) and (tm) symbols.
+	* arm-opc.h: Remove presence of (r) and (tm) symbols.
+
+2003-03-25  Stan Cox   <scox@redhat.com>
+	    Nick Clifton  <nickc@redhat.com>
+
+	Contribute support for Intel's iWMMXt chip - an	ARM variant:
+
+	* arm-dis.c (regnames): Add iWMMXt register names.
+	(set_iwmmxt_regnames): New function.
+	(print_insn_arm): Handle iWMMXt formatters.
+	* arm-opc.h: Document iWMMXt formatters.
+	(arm_opcod): Add iWMMXt instructions.
+
+2003-03-22  Doug Evans  <dje@sebabeach.org>
+
+	* i386-dis.c (dis386): Recognize icebp (0xf1).
+
+2003-03-21  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* s390-dis.c (init_disasm): Rename S390_OPCODE_ESAME to
+	S390_OPCODE_ZARCH.
+	(print_insn_s390): Use new modes field of s390_opcodes.
+	* s390-mkopc.c (ARCHBITS_ESAONLY, ARCHBITS_ESA, ARCHBITS_ESAME): Remove.
+	(s390_opcode_mode_val, s390_opcode_cpu_val): New enums.
+	(struct op_struct): Remove archbits. Add mode_bits and min_cpu.
+	(insertOpcode): Replace archbits by min_cpu and mode_bits.
+	(dumpTable): Write mode_bits and min_cpu instead of archbits.
+	(main): Adapt to new format in s390-opcode.txt.
+	* s390-opc.c (s390_opformats): Replace archbits by min_cpu and
+	mode_bits.
+	* s390-opc.txt: Replace archbits by min_cpu and mode_bits.
+
+2003-03-17  Nick Clifton  <nickc@redhat.com>
+
+	* ppc-opc.c: Fix formatting.  Update copyright date.
+
+2003-03-14  Daniel Jacobowitz  <drow@mvista.com>
+
+	* ppc-opc.c (powerpc_opcodes): Readd tlbre for PPC403.
+
+2003-02-25  Alan Modra  <amodra@bigpond.net.au>
+
+	* hppa-dis.c: Formatting.
+
+2003-02-25  Matthew Wilcox  <willy@debian.org>
+
+	* hppa-dis.c (print_insn_hppa): Implement fcnv instruction modifiers.
+
+	* hppa-dis.c (print_insn_hppa <2 bit space register>): Do not print
+	the space register when the value is zero.
+
+2003-02-23  Elias Athanasopoulos  <elathan@phys.uoa.gr>
+
+	* mips-dis.c (print_mips_disassembler_options): Make 'i' unsigned,
+	use ARRAY_SIZE in loops.
+
+2003-02-12  Dave Brolley  <brolley@redhat.com>
+
+	* fr30-desc.c: Regenerate.
+
+2003-02-06  Gwenole Beauchesne  <gbeauchesne@mandrakesoft.com>
+
+	* i386-dis.c (dq_mode, Edq): Define.
+	(dis386_twobyte): Correct movd operands.
+	(OP_E): Handle dq_mode case.
+
+2003-01-29  Henric Jungheim <henric@attbi.com>
+
+	* sparc-dis.c (print_insn_sparc): When examining values added in
+	to rs1, make sure that there are previous instructions.
+
+2003-01-23  Nick Clifton  <nickc@redhat.com>
+
+	* Add sh2e support:
+
+	2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
+
+		* sh-dis.c (print_insn_shx): Handle bfd_mach_sh2e.
+		* sh-opc.h (arch_sh2e, arch_sh2e_up): New.
+		(arch_sh2_up): Added sh2e.
+		(sh_table): Replaced all occurrences of arch_sh3e_up with
+		arch_sh2e_up, except in fsqrt.
+
+2003-01-23  Alan Modra  <amodra@bigpond.net.au>
+
+	* sh64-dis.c: Include elf32-sh64.h.
+	* Makefile.am: Run "make dep-am".
+	* Makefile.in: Regenerate.
+
+2003-01-17  Richard Henderson  <rth@redhat.com>
+
+	* alpha-opc.c (alpha_opcodes): Add bugchk, rduniq, wruniq, gentrap
+	PAL entry points.
+
+2003-01-16  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am: Run "make dep-am".
+	* Makefile.in: Regenerate.
+	* po/POTFILES.in: Regenerate.
+
+2003-01-08  Klee Dienes  <kdienes@apple.com>
+
+	* Makefile.am (ALL_MACHINES): Add msp430-dis.lo.
+	* Makefile.in: Regenerate.
+
+2003-01-08  Alan Modra  <amodra@bigpond.net.au>
+
+	* ppc-opc.c (powerpc_macros <extrwi>): Accept a shift of 32.
+
+2002-01-02  Ben Elliston  <bje@redhat.com>
+	    Jeff Johnston  <jjohnstn@redhat.com>
+
+	* iq2000-asm.c: New file.
+	* iq2000-desc.c: Likewise.
+	* iq2000-desc.h: Likewise.
+	* iq2000-dis.c: Likewise.
+	* iq2000-ibld.c: Likewise.
+	* iq2000-opc.c: Likewise.
+	* iq2000-opc.h: Likewise.
+	* Makefile.am (HFILES): Add iq2000-desc.h, iq2000-opc.h.
+	(CFILES): Add iq2000-asm.c, iq2000-desc.c, iq2000-dis.c,
+	iq2000-ibld.c, iq2000-opc.c.
+	(ALL_MACHINES): Add iq2000-asm.lo, iq2000-desc.lo, iq2000-dis.lo,
+	iq2000-ibld.lo, iq2000-opc.lo.
+	(CLEANFILES): Add stamp-iq2000.
+	(IQ2000_DEPS): New macro.
+	(stamp-iq2000): New target.
+	* Makefile.in: Regenerate.
+	* configure.in: Handle bfd_iq2000_arch.
+	* configure: Regenerate.
+
+2003-01-02  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips-dis.c (print_insn_args): Use position extracted by "+A"
+	to calculate size for "+B".  Redo code for "+C" so it shares
+	the same style as "+A" and "+B" now do.
+
+2003-01-02  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips-dis.c: Update copyright years.
+	(print_insn_arg): Rename to...
+	(print_insn_args): This, returning void.  Process the whole
+	string of args rather than a single one.  Reindent.
+	(print_insn_mips): Update to match the above.
+
+2002-12-31  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips-opc.c (mips_builtin_opcodes): Move "di" into the
+	right order alphabetically, and make all hex constants use
+	lower-case letters.
+
+2002-12-31  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips-dis.c (mips_cp0sel_name): New structure.
+	(mips_cp0sel_names_mips3264, mips_cp0sel_names_mips3264r2)
+	(mips_cp0sel_names_sb1): New arrays.
+	(mips_arch_choice): New structure members "cp0sel_names" and
+	"cp0sel_names_len".
+	(mips_arch_choices): Add references to new cp0sel_names arrays
+	as appropriate, and make all existing entries reference
+	appropriate mips_XXX_names_numeric arrays rather than simply
+	using NULL.
+	(mips_cp0sel_names, mips_cp0sel_names_len): New variables.
+	(lookup_mips_cp0sel_name): New function.
+	(set_default_mips_dis_options): Set mips_cp0sel_names and
+	mips_cp0sel_names_len as appropriate.  Remove now-unnecessary
+	checks for NULL register name arrays.
+	(parse_mips_dis_option): Likewise.
+	(print_insn_arg): Handle "+D" operand type.
+	* mips-opc.c (mips_builtin_opcodes): Add new "+D" variants
+	of mfc0, mtc0, dmfc0, and dmtc0 to print CP0+sel register
+	names symbolically.
+
+2002-12-30  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips-dis.c (mips_cp0_names_mips3264r2, mips_hwr_names_numeric)
+	(mips_hwr_names_mips3264r2): New arrays.
+	(mips_arch_choice): New "hwr_names" member.
+	(mips_arch_choices): Adjust for structure change, and add a new
+	entry for "mips32r2" ISA.
+	(mips_hwr_names): New variable.
+	(set_default_mips_dis_options): Set mips_hwr_names.
+	(parse_mips_dis_option): New "hwr-names" option which sets
+	mips_hwr_names, and adjust "reg-names=ARCH" to set mips_hwr_names.
+	(print_insn_arg): Change return type to "int"
+	and use that to indicate number of characters consumed.
+	Add support for "+" operand extension character, "+A", "+B",
+	"+C", and "K" operands.
+	(print_insn_mips): Adjust for changes to print_insn_arg.
+	(print_mips_disassembler_options): Adjust for "hwr-names"
+	addition and "reg-names" change.
+	* mips-opc (I33): New define (shorthand for INSN_ISA32R2).
+	(mips_builtin_opcodes): Note that "nop" and "ssnop" are special
+	forms of "sll".  Add new MIPS32 Release 2 instructions: ehb,
+	di, ei, ext, ins, jr.hb, jalr.hb, mfhc1, mfhc2, mthc1, mthc2,
+	rdhwr, rdpgpr, seb, seh, synci, wrpgpr, wsbh.
+	Note that hardware rotate instructions (ror, rorv) can be
+	used on MIPS32 Release 2, and add the official mnemonics
+	for them (rotr, rotrv) and the similar "rotl" mnemonic for
+	left-rotate.
+
+2002-12-30    Dmitry Diky <diwil@mail.ru>
+
+	* configure.in: Add msp430 target.
+	* configure: Regenerate.
+	* disassemble.c: Add entry for msp430 disassembly.
+	* msp430-dis.c: New file: msp430 disassembler.
+
+2002-12-27  Chris Demetriou  <cgd@broadcom.com>
+
+	* disassemble.c (disassembler_usage): Add invocation of
+	print_mips_disassembler_options.
+	* mips-dis.c: Include libiberty.h.
+	(print_mips_disassembler_options, set_default_mips_dis_options)
+	(parse_mips_dis_option, parse_mips_dis_options, choose_abi_by_name)
+	(choose_arch_by_name, choose_arch_by_number): New functions.
+	(mips_abi_choice, mips_arch_choice): New structures.
+	(mips32_reg_names, mips64_reg_names, reg_names): Remove.
+	(mips_gpr_names_numeric, mips_gpr_names_oldabi)
+	(mips_gpr_names_newabi, mips_fpr_names_numeric)
+	(mips_fpr_names_32, mips_fpr_names_n32, mips_fpr_names_64)
+	(mips_cp0_names_numeric, mips_cp0_names_mips3264)
+	(mips_cp0_names_sb1, mips_abi_choices, mips_arch_choices)
+	(mips_processor, mips_isa, mips_gpr_names, mips_fpr_names)
+	(mips_cp0_names): New variables.
+	(print_insn_args): Use new variables to print GPR, FPR, and CP0
+	register names.
+	(mips_isa_type): Remove.
+	(print_insn_mips): Remove ISA and CPU setup since it is now done...
+	(_print_insn_mips): Here.  Remove register setup code, and
+	call set_default_mips_dis_options and parse_mips_dis_options
+	instead.
+	(print_mips16_insn_arg): Use mips_gpr_names instead of mips32_names.
+
+2002-12-23  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.in: Regenerate.
+
+2002-12-19  Nick Kelsey  <nickk@ubicom.com>
+
+	* cgen-asm.c (cgen_parse_keyword): Added underscore to symbol character
+	check to fix false keyword trigger with names such as <keyword>_foo.
+
+2002-12-19  Doug Evans  <dje@sebabeach.org>
+
+	* Makefile.am (CGEN_CPUS): New variable.
+	(run-cgen-all): New rule.
+	* Makefile.in: Regenerate.
+
+2002-12-18  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips-opc.c (mips_builtin_opcodes): Remove one "ror" and two
+	"dror" entries, and reorder the remaining "dror" and "ror" entries.
+
+2002-12-16  DJ Delorie  <dj@delorie.com>
+
+	* xstormy16-asm.c (parse_immediate16): Add prototype.
+
+2002-12-16  Andrew MacLeod  <amacleod@redhat.com>
+
+	* xstormy16-asm.c: Regenerate.
+
+2002-12-16  Alan Modra  <amodra@bigpond.net.au>
+
+	* ns32k-dis.c (print_insn_ns32k): Constify "d", remove register
+	keyword.
+
+2002-12-13  Alan Modra  <amodra@bigpond.net.au>
+
+	* h8500-opc.h (h8500_table): Add missing initializers to quiet
+	warnings.
+	* pj-dis.c (print_insn_pj): Adjust for pj_opc_info_t change.
+	* pj-opc.c (pj_opc_info): Add braces around union initializer.
+	* z8kgen.c: Include "libiberty.h".
+	(opt, args, toks): Fix initializer warnings.
+	(chewname): Make "name" a char **.  Return mnemonic trimmed of
+	operands.
+	(gas): Improve emitted "DO NOT EDIT" warning.  Format emitted
+	opcode_entry_type, and make "nicename" and "name" const.  Make
+	z8k_table const too.  Formatting.  Generate idx as gas needs it.
+	* z8k-opc.h: Regenerate.
+
+2002-12-08  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* m68hc11-dis.c (print_indexed_operand): Fix PC-relative address
+	for 9 and 16-bit PC-relative addressing mode.
+
+2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
+
+	* ppc-opc.c: Delete evsabs, evsnabs, evsneg, evsadd, evssub,
+	evsmul, evsdiv, evscmpgt, evsgmplt, evststgt, evtstlt, evststeq,
+	evscfui, evscfsi, evscfuf, evscfsf, evsctui, evsctuiz, evsctsi,
+	evsctsiz, evsctuf, evsctsf, evmwhssfaa, evmwhssmaa, evmwhsmfaa,
+	evmwhsmiaa, evmwhusiaa, evmwhumiaa, evmwhssfan, evmwhssian,
+	evmwhsmfan, evmwhsmian, evmwhusian, evmwhumian, evmwhgssfaa,
+	evmwhgsmfaa, evmwhgsmiaa, evmwhgumiaa, evmwhgssfan, evmwhgsmfan,
+	evmwhgsmian, evmwhgumian.
+	(mftb): Add to opcode table.
+	(mtspefscr): Change RT to RS in opcode table.
+
+2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
+
+	* ppc-opc.c: Move mbar and msync up.  Change mask for mbar and
+	msync.
+
+2002-12-04  David Mosberger  <davidm@hpl.hp.com>
+
+	* ia64-opc-d.c (ia64_opcodes_d): Add "hint" instruction.
+	* ia64-opc-b.c: Add "hint.b" instruction.
+	* ia64-opc-f.c: Add "hint.f" instruction.
+	* ia64-opc-i.c: Add "hint.i" instruction.
+	* ia64-opc-m.c: Add "hint.m", "fc.i", "ld16", "st16", and
+	"cmp8xchg16" instructions.
+	* ia64-opc-x.c: Add "hint.x" instruction.
+
+	* ia64-opc.h (AR_CSD): New macro.
+
+	* ia64-ic.tbl: Update according to SDM2.1.
+	* ia64-raw.tbl: Ditto.
+	* ia64-waw.tbl: Ditto.
+
+	* ia64-gen.c (in_iclass): Handle "hint" like "nop".
+	(lookup_regindex): Recognize AR[FCR], AR[EFLAG], AR[CSD],
+	AR[SSD], AR[CFLG], AR[FSR], AR[FIR], and AR[FDR].
+	* ia64-asmtab.c: Regenerate.
+
+2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
+
+	* ppc-opc.c: Remove evmwlssf, evmwlssfa, evmwlsmf, evmwlsmfa,
+	evmwlssfaaw, evmwlsmfaaw, evmwlssfanw, evmwlsfanw.
+
+2002-12-04  Aldy Hernandez  <aldyh@redhat.com>
+
+	* ppc-opc.c (PMRN): Remove.
+	(RA): Set to NB + 1.
+	(powerpc_opcodes): Change PMRN to SPR.
+	Change all RD to RS.
+	Change mftb to look like mftbl.
+	Move mftb before mftbl.
+	Add mfbbtar.
+	Add mtbbtar.
+	Change mfpmr to use PMR.
+	Change mtpmr to use PMR.
+	(RD): Remove.
+	(insert_ev2): Fix mask and shift.
+	(extract_ev2): Same.
+	(insert_ev4): Same.
+	(extract_ev4): Same.
+	(PMR): Define.
+	(extract_pmrn): Remove.
+	(insert_pmrn): Remove.
+
+2002-12-03  Richard Henderson  <rth@redhat.com>
+
+	* ia64-opc-m.c: Add ld8.mov.
+	* ia64-asmtab.c: Regenerate.
+
+2002-12-02  Alan Modra  <amodra@bigpond.net.au>
+
+	* arm-dis.c (print_insn_arm): Constify "insn".  Formatting.
+	(print_insn_thumb): Likewise.
+	* h8500-dis.c (print_insn_h8500): Constify "opcode".
+	* mcore-dis.c (print_insn_mcore): Constify "op".  Formatting.
+	* ns32k-dis.c (print_insn_arg <case 'F'>): Use a union to avoid
+	type-punned pointer warnings.
+	<case 'L'>: Likewise.  Fix error message too.
+	* pdp11-dis.c (print_reg): Warning fix.
+	* sh-dis.c (print_movxy): Constify "op" param.
+	(print_insn_ddt): Constify sh_opcode_info vars.
+	(print_insn_ppi): Likewise.
+	(print_insn_sh): Likewise.
+	* tic30-dis.c (cnvt_tmsfloat_ieee): Use a union to avoid
+	type-punned pointer warnings.
+	* w65-dis.c (print_insn_w65): Constify "op".
+
+2002-12-01  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* m68hc11-dis.c (PC_REGNUM): Define.
+	(print_indexed_operand): Need an adjustment for some PC-relative
+	operand modes; print the final address of PC-relative modes.
+	(print_insn): Take into account movw/movb to adjust the PC-relative
+	operand addresses.
+
+2002-11-30  Alan Modra  <amodra@bigpond.net.au>
+
+	*arm-dis.c, cris-dis.c, h8300-dis.c, mips-dis.c, mmix-dis.c, sh-dis.c,
+	sh64-dis.c, v850-dis.c: Replace boolean with bfd_boolean, true with
+	TRUE, false with FALSE.  Simplify comparisons of bfd_boolean vars
+	with TRUE/FALSE.  Formatting.
+
+2002-11-25  DJ Delorie  <dj@redhat.com>
+
+	* xstormy16-opc.c: Regenerate.
+
+2002-11-25  Jim Wilson  <wilson@redhat.com>
+
+	* ia64-dis.c (print_insn_ia64): Correct handling of IA64_OPND_TGT64.
+
+2002-11-15  DJ Delorie  <dj@redhat.com>
+
+	* xstormy16-desc.c: Regenerate.
+	* xstormy16-opc.c: Regenerate.
+	* xstormy16-opc.h: Regenerate.
+
+2002-11-18  Klee Dienes  <kdienes@apple.com>
+
+	* avr-dis.c: Include libiberty.h (for xmalloc).
+	(struct avr_opcodes_s): Remove 'bin_mask' field (it's
+	automatically computed in the init routine).
+	(AVR_INSN): No longer provide bin_mask field in initializer.
+	(avr_opcodes_s): Declare as const.
+	(print_insn_avr): Store the bin_mask field in a separate table
+	(allocated with xmalloc); iterate through it at the same time as
+	we iterate through the opcodes.
+
+2002-11-18  Klee Dienes  <kdienes@apple.com>
+
+	* h8300-dis.c: Include libiberty.h (for xmalloc).
+	(struct h8_instruction): New type, used to wrap h8_opcodes with a
+	length field (computed at run-time).
+	(h8_instructions): New variable.
+	(bfd_h8_disassemble_init): Allocate the storage for
+	h8_instructions.  Fill h8_instructions with pointers to the
+	appropriate opcode and the correct value for the length field.
+	(bfd_h8_disassemble): Iterate through h8_instructions instead of
+	h8_opcodes.
+
+2002-11-18  Klee Dienes  <kdienes@apple.com>
+
+	* arc-opc.c (arc_ext_opcodes): Define.
+	(arc_ext_operands): Define.
+	* i386-dis.c (Suffix3DNow): Declare as const.
+	* arm-opc.h (arm_opcodes): Declare as const.
+	(thumb_opcodes): Declare as const.
+	* h8500-opc.h (h8500_table): Declare as const.
+	(h8500_table): Use a NULL for the opcode in the terminator, so
+	that code testing (opcode->name) behaves correctly.
+	* mcore-opc.h (mcore_table): Declare as const.
+	* sh-opc.h (sh_table): Declare as const.
+	* w65-opc.h (optable): Declare as const.
+	* z8k-opc.h (z8k_table): Declare as const.
+
+2002-11-18  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+	* tic4x-dis.c: Added support for enhanced and special insn.
+	(c4x_print_op): Added insn class 'i' and 'j'
+	(c4x_hash_opcode_special): Add to support special insn
+	(c4x_hash_opcode): Update to support the new opcode-list
+	format. Add support for the new special insns.
+	(c4x_disassemble): New opcode-list support.
+
+2002-11-16  Klee Dienes  <kdienes@apple.com>
+
+	* m88k-dis.c: Include libiberty.h (for xmalloc).
+	(HASHTAB): New type, used to build instruction hash tables.
+	Contains a pointer to an INSTAB and a pointer to the next hash
+	chain entry.
+	(instructions): Move definition from m88k.h; remove initialization
+	of 'next' field.
+	(hashtable): Now an aray of pointer-to-HASHTAB, not INSTAB.
+	(printop): Mark pointer to OPSPEC as const.
+	(install): Remove; fold into init_disasm.
+	(m88kdis): Update to ihashtab_initialized to 1 after calling
+	init_disasm.  entry_ptr now iterates through HASHTABs, not
+	INSTABs.
+	(init_disasm): Iterate through the instructions and add to
+	hashtable[].
+
+2002-11-16  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+	* tic4x-dis.c: (c4x_print_op): Add support for the new argument
+	  format. Fix bug in 'N' register printer.
+
+2002-11-12  Segher Boessenkool  <segher@koffie.nl>
+
+	* ppc-dis.c (print_insn_powerpc): Correct condition register display.
+
+2002-11-07  Aldy Hernandez  <aldyh@redhat.com>
+
+	* ppc-opc.c (EVUIMM_4): Change bit size to 32.
+	(EVUIMM_2): Same.
+	(EVUIMM_8): Same.
+
+2002-11-07  Klee Dienes  <kdienes@apple.com>
+
+	 * Makefile.am (ia64-asmtab.c): Update to use the new '--srcdir'
+	 argument to ia64-gen.
+	 Regenerate dependencies for ia64-len.lo.
+	 * Makefile.in: Regenerate.
+	 * ia64-gen.c: Convert to use getopt().  Add the standard GNU
+	 options, as well as '--srcdir', which controls the directory in
+	 which ia64-gen looks for the sources it uses to generate the
+	 output table.  Add a 'const' to the declaration of the final
+	 output table.  Call xmalloc_set_program_name to set the program
+	 name.
+	 * ia64-asmtab.c: Regenerate.
+
+2002-11-07  Nick Clifton  <nickc@redhat.com>
+
+	* ia64-gen.c: Fix comment formatting and compile time warnings.
+	* ia64-opc-a.c: Fix compile time warnings.
+	* ia64-opc-b.c: Likewise.
+	* ia64-opc-d.c: Likewise.
+	* ia64-opc-f.c: Likewise.
+	* ia64-opc-i.c: Likewise.
+	* ia64-opc-m.c: Likewise.
+	* ia64-opc-x.c: Likewise.
+
+2002-11-06  Aldy Hernandez  <aldyh@redhat.com>
+
+	* ppc-opc.c: Change RD to RS for evmerge*.
+
+2002-10-07  Nathan Tallent  <eraxxon@alumni.rice.edu>
+
+	* sparc-opc.c (sparc_opcodes) <fb, fba, fbe, fbz, fbg, fbge,
+	fbl, fble, fblg, fbn, fbne, fbnz, fbo, fbu, fbue, fbug, fbuge,
+	fbul, fbule>: Add conditional/unconditional branch
+	classification.
+
+2002-10-13  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* m68hc11-dis.c (print_insn): Treat bitmask and branch operands
+	at the end.
+
+2002-09-30  Gavin Romig-Koch  <gavin@redhat.com>
+	    Ken Raeburn  <raeburn@cygnus.com>
+	    Aldy Hernandez  <aldyh@redhat.com>
+	    Eric Christopher  <echristo@redhat.com>
+	    Richard Sandiford  <rsandifo@redhat.com>
+
+	* mips-dis.c (print_insn_arg): Handle '[', ']', 'e' and '%'.
+	(mips_isa_type): Handle bfd_mach_mips4120, bfd_mach_mips5400
+	and bfd_mach_mips5500.
+	* mips-opc.c (V1): Include INSN_4111 and INSN_4120.
+	(N411, N412, N5, N54, N55): New convenience defines.
+	(mips_builtin_opcodes): Add vr4120, vr5400 and vr5500 opcodes.
+	Change dmadd16 and madd16 from V1 to N411.
+
+2002-09-26  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* mips-dis.c (print_insn_mips): Always allow disassembly of
+	32-bit jalx opcode.
+
+2002-09-24  Nick Clifton  <nickc@redhat.com>
+
+	* po/de.po: Updated German translation.
+
+2002-09-21  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am: Run "make dep-am".
+	* Makefile.in: Regenerate.
+	* po/POTFILES.in: Regenerate.
+
+2002-09-20  Nick Clifton  <nickc@redhat.com>
+
+	* ppc-opc.c (CRFD, CRFS): Add PPC_OPERAND_CR flag so that cr
+	register names are accepted.
+
+2002-09-17  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+	* tic4x-dis.c: Add function declarations and ATTRIBUTE_UNUSED.
+	Convert functions to K&R format.
+
+2002-09-13  Nick Clifton  <nickc@redhat.com>
+
+	* ppc-opc.c (MFDEC2): Include Book-E.
+	(PPCCHLK64): New opcode mask.
+	(evsubw, evsubiw, evmr, evnot, isellt, iselgt, iseleq, mfpid,
+	mfcsrr0, mfcsrr1, mfdear, mfesr, mfivpr, mfusprg0, mftbl,
+	mftbu, mfpir, mfdbsr, mfdbcr0, mfdbcr1, mfdbcr2, mfiac1,
+	mfiac2, mfiac3, mfiac4, mfdac1, mfdac2, mfdvc1, mfdvc2, mftsr,
+	mftcr, mfivor0, mfivor1, mfivor2, mfivor3, mfivor4, mfivor5,
+	mfivor6, mfivor7, mfivor8, mfivor9, mfivor10, mfivor11,
+	mfivor12, mfivor13, mfivor14, mfivor15, mfbbear, mfmcsrr0,
+	mfmcsrr1, mfmcsr, mtpid, mtdecar, mtcsrr0, mtcsrr1, mtdear,
+	mtesr, mtivpr, mtusprg0, mtsprg4, mtsprg5, mtsprg6, mtsprg7,
+	mtdbsr, mtdbcr0, mtdbcr1, mtdbcr2, mtiac1, mtiac2, mtiac3,
+	mtiac4, mtdac1, mtdac2, mtdvc1, mtdvc2, mttsr, mttcr, mtivor0,
+	mtivor1, mtivor2, mtivor3, mtivor4, mtivor5, mtivor6, mtivor7,
+	mtivor8, mtivor9, mtivor10, mtivor11, mtivor12, mtivor13,
+	mtivor14, mtivor15, mtbbear, mtmcsrr0, mtmcsrr1, mtmcsr): New
+	Book-E instructions.
+	(evfsneg): Fix opcode value.
+	(dcbtstlse, dcbtlse, icblce, dcblce, icbtsle): Use PPCCHLK64
+	mask.
+	(mcrxr64, tlbivaxe, tlbsxe, tlbsxe.): Restrict to 64-bit
+	Book-E.
+	(extsw): Restrict to 64-bit PPC instruction sets.
+	(extsw.): Does not exist in 64-bit Book-E.
+	(powerpc_macro): Remove mftbl, mftbu and mftb Book-E macros as
+	they are no longer needed.
+
+2002-09-12  Gary Hade  <garyhade@us.ibm.com>
+
+	* ppc-dis.c (powerpc_dialect): Add missing PPC_OPCODE_CLASSIC.
+
+2002-09-11  Nick Clifton  <nickc@redhat.com>
+
+	* po/da.po: Updated Danish translation file.
+
+2002-09-04  Nick Clifton  <nickc@redhat.com>
+
+	* ppc-opc.c (extsw, extsw.): Do not allow for the BookE32.
+
+2002-09-04  Nick Clifton  <nickc@redhat.com>
+
+	* disassemble.c (disassembler_usage): Add invocation of
+	print_ppc_disassembler_options.
+	* ppc-dis.c (print_ppc_disassembler_options): New function.
+
+2002-09-04  Nick Clifton  <nickc@redhat.com>
+
+	* ppc-opc.c: The BookE implementations of the TLBWE and TLBRE
+	instructions do not take any arguments.
+
+2002-09-02  Nick Clifton  <nickc@redhat.com>
+
+	* v850-opc.c: Remove redundant references to V850EA architecture.
+
+2002-09-02  Alan Modra  <amodra@bigpond.net.au>
+
+	* arc-opc.c: Include bfd.h.
+	(arc_get_opcode_mach): Subtract off base bfd_mach value.
+
+2002-08-30  Alan Modra  <amodra@bigpond.net.au>
+
+	* v850-dis.c (disassemble): Remove bfd_mach_v850ea case.
+
+	* mips-dis.c (_print_insn_mips): Don't use hard-coded mach constants.
+
+2002-08-28  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+	* configure.in: Added bfd_tic4x_arch.
+	* configure: Regenerate.
+	* Makefile.am: Added tic4x-dis.o target.
+	* Makefile.in: Regenerate.
+
+2002-08-28  Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+	* disassemble.c: Added tic4x target and c4x
+	disassembler routine.
+	* tic4x-dis.c: New file.
+
+2002-08-16  Christian Groessler <chris@groessler.org>
+
+	* z8k-dis.c (unparse_instr): case CLASS_BA: Designate hex
+	values as those.
+	* z8kgen.c (opt): Fix definition of "in rd,imm16" opcode.
+	* z8k-opc.h: Regenerated with new z8kgen.c.
+
+2002-08-19  Elena Zannoni  <ezannoni@redhat.com>
+
+	From  matthew green  <mrg@redhat.com>
+
+	* ppc-dis.c (powerpc_dialect): Support `-m500', `-m500x2' and
+	`-mefs'. Turn off AltiVec for E500 and efs.
+	(print_insn_powerpc): Don't print an AltiVec instruction if the
+	dialect is not efs.
+
+	* ppc-opc.c (insert_pmrn, extract_pmrn, insert_ev2, extract_ev2,
+	insert_ev4, extract_ev4, insert_ev8, extract_ev8): New functions
+	for extracting pmrn/evld/evstd/etc operands.
+	(CRB, CRFD, CRFS, DC, RD): New instruction fields.
+	(CT): Make this equal to RD + 1.
+	(PMRN): New operand.
+	(RA): Update.
+	(EVUIMM, EVUIMM_2, EVUIMM_4, EVUIMM_8): New operands.
+	(WS): Update.
+	(EVSEL, EVSEL_MASK): New instruction form and mask for EVSEL.
+	(ISEL, ISEL_MASK): New instruction form and mask for ISEL.
+	(XISEL, XISEL_MASK): New instruction form and mask for ISEL.
+	(CTX, CTX_MASK): New instruction form and mask for context cache
+	instructions.
+	(UCTX, UCTX_MASK): New instruction form and mask for user context
+	cache instructions.
+	(XC, XC_MASK, XUC, XUC_MASK): New instruction forms.
+	(CLASSIC): New define.
+	(PPCESPE): New define.
+	(PPCISEL, , PPCBRLK, PPCPMR, PPCCHLK, PPCRFMI): New
+	defines for integer select, cache control, branch
+	locking, power management, cache locking and machine check
+	APU instructions, respectively.
+	(efsabs, efsnabs, efsneg, efsadd, efssub, efsmul,
+	efsdiv, efscmpgt, efscmplt, efscmpeq, efststgt, efststlt,
+	efststeq, efscfui, efsctuiz, efscfsi, efscfuf, efscfsf,
+	efsctui, efsctsi, efsctsiz, efsctuf, efsctsf,
+	evaddw, evaddiw, evsubfw, evsubifw, evabs, evneg, evextsb,
+	evextsh, evrndw, evcntlzw, evcntlsw, brinc, evand, evandc, evor,
+	evorc, evxor, eveqv, evnand, evnor, evrlw, evrlwi, evslw, evslwi,
+	evsrws, evsrwu, evsrwis, evsrwiu, evsplati, evsplatfi, evmergehi,
+	evmergelo, evmergehilo, evmergelohi, evcmpgts, evcmpgtu, evcmplts,
+	evcmpltu, evcmpeq, evsel, evldd, evlddx, evldw, evldwx, evldh,
+	evldhx, evlwhe, evlwhex, evlwhou, evlwhoux, evlwhos, evlwhosx,
+	evlwwsplat, evlwwsplatx, evlwhsplat, evlwhsplatx, evlhhesplat,
+	evlhhesplatx, evlhousplat, evlhousplatx, evlhossplat, evlhossplatx,
+	evstdd, evstddx, evstdw, evstdwx, evstdh, evstdhx, evstwwe,
+	evstwwex, evstwwo, evstwwox, evstwhe, evstwhex, evstwho, evstwhox,
+	evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul, evfsdiv,
+	evfscmpgt, evfscmplt, evfscmpeq, evfststgt, evfststlt, evfststeq,
+	evfscfui, evfsctuiz, evfscfsi, evfscfuf, evfscfsf, evfsctui,
+	evfsctsi, evfsctsiz, evfsctuf, evfsctsf, evsabs, evsnabs, evsneg,
+	evsadd, evssub, evsmul, evsdiv, evscmpgt, evsgmplt, evsgmpeq,
+	evststgt, evststlt, evststeq, evscfui, evscfsi, evscfuf, evscfsf,
+	evsctui, evsctuiz, evsctsi, evsctsiz, evsctuf, evsctsf, evmhossf,
+	evmhossfa, evmhosmf, evmhosmfa, evmhosmi, evmhosmia, evmhoumi,
+	evmhoumia, evmhessf, evmhessfa, evmhesmf, evmhesmfa, evmhesmi,
+	evmhesmia, evmheumi, evmheumia, evmhossfaaw, evmhossiaaw,
+	evmhosmfaaw, evmhosmiaaw, evmhousiaaw, evmhoumiaaw, evmhessfaaw,
+	evmhessiaaw, evmhesmfaaw, evmhesmiaaw, evmheusiaaw, evmheumiaaw,
+	evmhossfanw, evmhossianw, evmhosmfanw, evmhosmianw, evmhousianw,
+	evmhoumianw, evmhessfanw, evmhessianw, evmhesmfanw, evmhesmianw,
+	evmheusianw, evmheumianw, evmhogsmfaa, evmhogsmiaa, evmhogumiaa,
+	evmhegsmfaa, evmhegsmiaa, evmhegumiaa, evmhogsmfan, evmhogsmian,
+	evmhogumian, evmhegsmfan, evmhegsmian, evmhegumian, evmwhssf,
+	evmwhssfa, evmwhssfaa, evmwhssmaa, evmwhsmfaa, evmwhsmiaa,
+	evmwhusiaa, evmwhumiaa, evmwhssfan, evmwhssian, evmwhsmfan,
+	evmwhsmian, evmwhusian, evmwhumian, evmwhgssfaa, evmwhgsmfaa,
+	evmwhgsmiaa, evmwhgumiaa, evmwhgssfan, evmwhgsmfan, evmwhgsmian,
+	evmwhgumian, evmwhsmf, evmwhsmfa, evmshsmi, evmshsmia, evmshumi,
+	evmshumia, evmmlssf, evmmlssfa, evmwlsmf, evmwlsmfa, evmwlumi,
+	evmwlumia, evmwlssfaaw, evmwlssiaaw, evmwlsmfaaw, evmwlsmiaaw,
+	evmwlusiaaw, evmwlumiaaw, evmwissfanw, evmwissianw, evmwlsmfanw,
+	evmwlsmianw, evmwlusianw, evmwlumianw, evmwssf, evmwssfa,
+	evmwsmf, evmwsmfa, evmwsmi, evmwsmia, evmwumi, evmwumia,
+	evmwssfaa, evmwsmfaa, evmwsmiaa, evmwumiaa, evmwssfan, evmwsmfan,
+	evmwsmian, evmwumian, evaddssiaaw, evaddsmiaaw, evaddusiaaw,
+	evaddumiaaw, evsubfssiaaw, evsubfsmiaaw, evsubfusiaaw,
+	evsubfumiaaw, evmra, evdivws, evdivws): New e500x2 Core Complex
+	instructions.
+	(rfmci): New machine check APU instruction.
+	(isel): New integer select APU instructino.
+	(icbtls, icbtlse, icblc, icblce, dcbtls, dcbtlse, dcbtstls,
+	dcbtstlse, dcblc, dcblce): New cache control APU instructions.
+	(mtspefscr, mfspefscr): New instructions.
+	(mfpmr, mtpmr): New performance monitor APU instructions.
+	(savecontext): New context cache APU instructions.
+	(bblels, bbelr): New branch locking APU instructions.
+	(bblels, bbelr): New instructions.
+	(mftbl, mftbu, mftb): Set as CLASSIC instructions.  Add BOOKE alias.
+
+2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* m68hc11-opc.c: Update call operand to accept the page definition.
+	Identify instructions that are branches and calls to generate a
+	RL_JUMP relocation.
+
+2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
+
+	* m68hc11-dis.c (print_insn): Take into account 68HC12 memory
+	banks and fix disassembling of call instruction.
+	(print_indexed_operand): New param to tell whether
+	it was an indirect addressing operand (for disassembling call).
+
+2002-08-09  Nick Clifton  <nickc@redhat.com>
+
+	* po/sv.po: Updated Swedish translation.
+
+2002-08-08  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+
+	* mips-opc.c (mips_builtin_opcodes): Remove "dla" and "la" as
+	aliases to "daddiu" and "addiu".
+
+2002-07-30  Nick Clifton  <nickc@redhat.com>
+
+	* po/sv.po: Updated Swedish translation.
+
+2002-07-25  Nick Clifton  <nickc@redhat.com>
+
+	* po/sv.po: Updated Swedish translation.
+	* po/es.po: Updated Spanish translation.
+	* po/pr_BR.po: Updated Brazilian Portuguese translation.
+	* po/tr.po: Updated Turkish translation.
+	* po/fr.po: Updated French translation.
+
+2002-07-24  Nick Clifton  <nickc@redhat.com>
+
+	* po/sv.po: Updated Swedish translation.
+	* po/es.po: Updated Spanish translation.
+	* po/pr_BR.po: Updated Brazilian Portuguese translation.
+
+2002-07-23  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am: Run "make dep-am".
+	* Makefile.in: Regenerate.
+	* po/POTFILES.in: Regenerate.
+
+2002-07-23  Nick Clifton  <nickc@redhat.com>
+
+	* po/fr.po: Updated French translation.
+	* po/pr_BR.po: New Brazilian Portuguese translation.
+	* po/id.po: Updated Indonesian translation.
+	* configure.in (LINGUAS): Add pr_BR.
+	* configure: Regenerate.
+
+2002-07-18  Denis Chertykov  <denisc@overta.ru>
+	    Frank Ch. Eigler  <fche@redhat.com>
+	    Alan Lehotsky <alehotsky@cygnus.com>
+	    matthew green  <mrg@redhat.com>
+
+	* configure.in: Add support for ip2k.
+	* configure: Regenerate.
+	* Makefile.am: Add support for ip2k.
+	* Makefile.in: Regenerate.
+	* disassemble.c: Add support for ip2k.
+	* ip2k-asm.c: New generated file.
+	* ip2k-desc.c: New generated file.
+	* ip2k-desc.h: New generated file.
+	* ip2k-dis.c: New generated file.
+	* ip2k-ibld.c: New generated file.
+	* ip2k-opc.c: New generated file.
+	* ip2k-opc.h: New generated file.
+
+2002-07-17  David Mosberger  <davidm@hpl.hp.com>
+
+	* ia64-opc-b.c (bWhc): New macro.
+	(mWhc): Ditto.
+	(OpPaWhcD): Ditto.
+	(ia64_opcodes_b): Correct patterns for indirect call
+	instructions to use 3-bit "wh" field.
+	* ia64-asmtab.c: Regnerate.
+
+2002-07-09  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* mips-dis.c (mips_isa_type): Add MIPS16 insn handling.
+	* mips-opc.c (I16): New define.
+	(mips_builtin_opcodes): Make jalx an I16 insn.
+
+2002-06-18  Dave Brolley  <brolley@redhat.com>
+
+	* po/POTFILES.in: Add frv-*.[ch].
+	* disassemble.c (ARCH_frv): New macro.
+	(disassembler): Handle bfd_arch_frv.
+	* configure.in: Support frv_bfd_arch.
+	* Makefile.am (HFILES): Add frv-*.h.
+	(CFILES): Add frv-*.c
+	(ALL_MACHINES): Add frv-*.lo.
+	(CLEANFILES): Add stamp-frv.
+	(FRV_DEPS): New variable.
+	(stamp-frv): New target.
+	(frv-asm.lo): New target.
+	(frv-desc.lo): New target.
+	(frv-dis.lo): New target.
+	(frv-ibld.lo): New target.
+	(frv-opc.lo): New target.
+	(frv-*.[ch]): New files.
+
+2002-06-18  Ben Elliston  <bje@redhat.com>
+
+	* Makefile.am (CGENDEPS): Remove unnecessary stamp-cgen.
+	* Makefile.in: Regenerate.
+
+2002-06-08  Alan Modra  <amodra@bigpond.net.au>
+
+	* a29k-dis.c: Replace CONST with const.
+	* h8300-dis.c: Likewise.
+	* m68k-dis.c: Likewise.
+	* or32-dis.c: Likewise.
+	* sparc-dis.c: Likewise.
+
+2002-06-04  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* configure.in: Add "sh5*-*" to list of targets which include
+	sh64 support.
+	* configure: Regenerate.
+
+2002-05-31  Chris G. Demetriou  <cgd@broadcom.com>
+
+	* mips-opc.c: Clean up a few whitespace issues, and sort a
+	few entries understanding that 'x' follows 'w' in the alphabet.
+
+2002-05-31  Chris G. Demetriou  <cgd@broadcom.com>
+	    Ed Satterthwaite  <ehs@broadcom.com>
+
+	* mips-opc.c: Add support for SB-1 MDMX subset and extensions.
+
+2002-05-31  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am: Run "make dep-am".
+	* Makefile.in: Regenerate.
+	* po/POTFILES.in: Regenerate.
+
+2002-05-30  Chris G. Demetriou  <cgd@broadcom.com>
+	    Ed Satterthwaite  <ehs@broadcom.com>
+
+	* mips-dis.c (print_insn_arg): Add support for 'O', 'Q', 'X', 'Y',
+	and 'Z' formats, for MDMX.
+	(mips_isa_type): Add MDMX instructions to the ISA
+	bit mask for bfd_mach_mipsisa64.
+	* mips-opc.c: Add support for MDMX instructions.
+	(MX): New definition.
+
+	* mips-dis.c: Update copyright years to include 2002.
+
+2002-05-30  Diego Novillo  <dnovillo@redhat.com>
+
+	* d10v-opc.c (d10v_opcodes): `btsti' does not modify its
+	arguments.
+
+2002-05-28  Kuang Hwa Lin <kuang@sbcglobal.net>
+
+	* configure.in: Add DLX configuraton support.
+	* configure: Regenerate.
+	* Makefile.am: Add DLX configuraton support.
+	* Makefile.in: Regenerate.
+	* disassemble.c: Add DLX support.
+	* dlx-dis.c: New file.
+
+2002-05-25  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am (sh-dis.lo): Don't put make commands in deps.
+	* Makefile.in: Regenerate.
+	* arc-dis.c: Use #include "" instead of <> for local header files.
+	* m68k-dis.c: Likewise.
+
+2002-05-22  J"orn Rennecke <joern.rennecke@superh.com>
+
+	* Makefile.am (sh-dis.lo): Compile with @archdefs@.
+	* Makefile.in: regenerate.
+
+	* sh-dis.c (print_insn_sh): If coff and bfd_mach_sh, use arch_sh4
+	for disassembly.
+
+2002-05-22  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* mips-opc.c (mips_builtin_opcodes): Add drol, dror macros.
+
+2002-05-17  J"orn Rennecke <joern.rennecke@superh.com>
+
+	* disassemble.c (disassembler): Just use print_insn_sh for bfd_arch_sh.
+	* sh-dis.c (LITTLE_BIT): Delete.
+	(print_insn_sh, print_insn_shl): Deleted.
+	(print_insn_shx): Renamed to
+	(print_insn_sh).  No longer static.  Handle SHmedia instructions.
+	Use info->endian to determine endianness.
+	* sh64-dis.c (print_insn_sh64, print_insn_sh64l): Delete.
+	(print_insn_sh64x): No longer static.  Renamed to
+	(print_insn_sh64).  Removed pfun_compact and endian arguments.
+	If we got an uneven address to indicate SHmedia, adjust it.
+	Return -2 for SHcompact instructions.
+
+2002-05-17  Alan Modra  <amodra@bigpond.net.au>
+
+	* acinclude.m4 (AM_INSTALL_LIBBFD): Fake to fool autotools.
+	* configure.in: Invoke AM_INSTALL_LIBBFD.
+	* Makefile.am (install-data-local): Move to..
+	(install_libopcodes): .. New target.
+	(uninstall_libopcodes): 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-15  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* fr30-asm.c: Regenerate.
+	* fr30-desc.c: Regenerate.
+	* fr30-dis.c: Regenerate.
+	* m32r-asm.c: Regenerate.
+	* m32r-desc.c: Regenerate.
+	* m32r-dis.c: Regenerate.
+	* openrisc-asm.c: Regenerate.
+	* openrisc-desc.c: Regenerate.
+	* openrisc-dis.c: Regenerate.
+	* xstormy16-asm.c: Regenerate.
+	* xstormy16-desc.c: Regenerate.
+	* xstormy16-dis.c: Regenerate.
+
+2002-05-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+	* mips-dis.c (is_newabi): EABI is not a NewABI.
+
+2002-05-13  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* configure.in (shle-*-*elf*): Include sh64 support.
+	* configure: Regenerate.
+
+2002-04-28  Jason Thorpe  <thorpej@wasabisystems.com>
+
+	* vax-dis.c (print_insn_arg): Pass the insn info to print_insn_mode.
+	(print_insn_mode): Print some basic info about floating point values.
+
+2002-05-09  Anton Blanchard  <anton@samba.org>
+
+	* ppc-opc.c: Add "tlbiel" for POWER4.
+
+2002-05-07  Graydon Hoare  <graydon@redhat.com>
+
+	* cgen-dis.in: (print_insn_@arch@): Cache list of opened CPUs rather
+	than just most-recently-opened.
+
+2002-05-01  Alan Modra  <amodra@bigpond.net.au>
+
+	* ppc-opc.c: Add "tlbsx." and "tlbsxe." for booke.
+
+2002-04-24  Christian Groessler <chris@groessler.org>
+
+	* z8k-dis.c (print_insn_z8k): Set disassemble_info to 2
+	bytes_per_chunk, 6 bytes_per_line for nicer display of the hex
+	codes.
+	(z8k_lookup_instr): CLASS_IGNORE case added.
+	(output_instr): Don't print hex codes, they are already
+	printed.
+	(unpack_instr): ARG_NIM4 case added.  ARG_NIM8 case
+	fixed. Support CLASS_BIT_1OR2 and CLASS_IGNORE cases.
+	(unparse_instr): Fix base and indexed addressing disassembly:
+	The index is inside the brackets.
+	* z8kgen.c (gas): Add ARG_NIM4 and CLASS_IGNORE defines.
+	(opt): Fix shift left/right arithmetic/logical byte defines:
+	The high byte of the immediate word is ignored by the
+	processor.
+	Fix n parameter of ldm opcodes: The opcode contains (n-1).
+	(args): Fix "n" entry.
+	(toks): Add "nim4" and "iiii" entries.
+	* z8k-opc.h: Regenerated with new z8kgen.c.
+
+2002-04-24  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* po/id.po: New Indonesian translation.
+	* configure.in (ALL_LIGUAS): Add id.po
+	* configure: Regenerate.
+
+2002-04-17  matthew green  <mrg@redhat.com>
+
+	* ppc-opc.c (powerpc_opcode): Fix dssall operand list.
+
+2002-04-04  Alan Modra  <amodra@bigpond.net.au>
+
+	* dep-in.sed: Cope with absolute paths.
+	* Makefile.am (dep.sed): Subst TOPDIR.
+	Run "make dep-am".
+	* Makefile.in: Regenerate.
+	* ppc-opc.c: Whitespace.
+	* s390-dis.c: Fix copyright date.
+
+2002-03-23  matthew green  <mrg@redhat.com>
+
+	* ppc-opc.c (vmaddfp): Fix operand order.
+
+2002-03-21  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am: Run "make dep-am".
+	* Makefile.in: Regenerate.
+
+2002-03-21  Anton Blanchard  <anton@samba.org>
+
+	* ppc-opc.c: Add optional field to mtmsrd.
+	(MTMSRD_L, XRLARB_MASK): Define.
+
+2002-03-18  Jan Hubicka  <jh@suse.cz>
+
+	* i386-dis.c (prefix_name): Fix handling of 32bit address prefix
+	in 64bit mode.
+	(print_insn) Likewise.
+	(putop): Fix handling of 'E'
+	(OP_E, OP_OFF): handle 32bit addressing mode in 64bit.
+	(ptr_reg): Likewise.
+
+2002-03-18  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* po/fr.po: Updated version.
+
+2002-03-16  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips-opc.c (M3D): Tweak comment.
+	(mips_builtin_op): Add comment indicating that opcodes of the
+	same name must be placed together in the table, and sort
+	the "recip.fmt", "recip1.fmt", "recip2.fmt", "rsqrt.fmt",
+	"rsqrt1.fmt", and "rsqrt2.fmt" opcodes by name.
+
+2002-03-16  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* Makefile.am: Tidy up sh64 rules.
+	* Makefile.in: Regenerate.
+
+2002-03-15  Chris G. Demetriou  <cgd@broadcom.com>
+
+	* mips-dis.c: Update copyright years.
+
+2002-03-15  Chris G. Demetriou  <cgd@broadcom.com>
+
+	* mips-dis.c (mips_isa_type): Add MIPS3D instructions to the ISA
+	bit masks for bfd_mach_mips_sb1 and bfd_mach_mipsisa64.  Add
+	comments for bfd_mach_mipsisa32 and bfd_mach_mipsisa64 that
+	indicate that they should dissassemble all applicable
+	MIPS-specified ASEs.
+	* mips-opc.c: Add support for MIPS-3D instructions.
+	(M3D): New definition.
+
+	* mips-opc.c: Update copyright years.
+
+2002-03-15  Chris G. Demetriou  <cgd@broadcom.com>
+
+	* mips-opc.c (mips_builtin_opcodes): Sort bc<N> opcodes by name.
+
+2002-03-15  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips-dis.c (is_newabi): Fix ABI decoding.
+
+2002-03-14  Chris G. Demetriou  <cgd@broadcom.com>
+
+	* mips-dis.c (mips_isa_type): Fix formatting of bfd_mach_mipsisa32
+	and bfd_mach_mipsisa64 cases to match the rest.
+
+2002-03-13  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* po/fr.po: Updated version.
+
+2002-03-13  Alan Modra  <amodra@bigpond.net.au>
+
+	* ppc-opc.c: Add optional `L' field to tlbie.
+	(XRTLRA_MASK): Define.
+
+2002-03-06  Chris Demetriou  <cgd@broadcom.com>
+
+	* mips-opc.c (mips_builtin_opcodes): Mark "pref" as being
+	present on I4.
+
+	* mips-opc.c (mips_builtin_opcodes): Add "movn.ps" and "movz.ps".
+
+2002-03-05  Paul Koning  <pkoning@equallogic.com>
+
+	* pdp11-opc.c: Fix "mark" operand type.  Fix operand types
+	for float opcodes that take float operands.  Add alternate
+	names (xxxD vs. xxxF) for float opcodes.
+	* pdp11-dis.c (print_operand): Clean up formatting for mode 67.
+	(print_foperand): New function to handle float opcode operands.
+	(print_insn_pdp11): Use print_foperand to disassemble float ops.
+
+2002-02-27  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* po/de.po: Updated.
+
+2002-02-26  Brian Gaeke  <brg@dgate.org>
+
+	* Makefile.am (install-data-local): Install dis-asm.h.
+
+2002-02-26  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* configure.in (LINGUAS): Add de.po.
+	* configure: Regenerate.
+	* po/de.po: New file.
+
+2002-02-25  Alan Modra  <amodra@bigpond.net.au>
+
+	* ppc-dis.c (powerpc_dialect): Handle power4 option.
+	* ppc-opc.c (insert_bdm): Correct description of "at" branch
+	hints.  Test PPC_OPCODE_POWER4 to determine branch hint flavour.
+	(extract_bdm, insert_bdp, extract_bdp, valid_bo): Likewise.
+	(BOFM64, BOFP64, BOTM64, BOFP64): Rename to BOFM4, BOFP4 etc.
+	(BODNZM64, BODNZP64, BODZM64, BODZP64): Likewise.
+	(PPCCOM32, PPCCOM64): Delete.
+	(NOPOWER4, POWER4): Define.
+	(powerpc_opcodes): Replace occurences of PPCCOM32 with NOPOWER4,
+	and PPCCOM4 with POWER4 so that "at" style branch hint opcodes
+	are enabled for power4 rather than ppc64.
+
+2002-02-20  Tom Rix  <trix@redhat.com>
+
+	* ppc-opc.c (powerpc_operands): Add WS field.  Use for tlbre, tlbwe.
+
+2002-02-19  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* s390-dis.c (init_disasm): Use renamed architecture defines.
+
+2002-02-19  matthew green  <mrg@redhat.com>
+
+	* ppc-opc.c (powerpc_dialect): Fix comment; BookE is not Motorola
+	specific.
+
+2002-02-18  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* po/tr.po: Updated translation.
+
+2002-02-15  Richard Henderson  <rth@redhat.com>
+
+	* alpha-opc.c (alpha_opcodes): Fix thinko in ret pseudo
+	disassembly mask.
+
+2002-02-15  Richard Henderson  <rth@redhat.com>
+
+	* alpha-opc.c (alpha_opcodes): Add simple pseudos for
+	lda, ldah, jmp, ret.
+
+2002-02-14  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* po/da.po: Updated translation.
+
+2002-02-12  Graydon Hoare  <graydon@redhat.com>
+
+	* cgen-asm.in (parse_insn_normal): Change call from
+	@arch@_cgen_parse_operand to cd->parse_operand, to
+	facilitate CGEN_ASM_INIT_HOOK doing useful work.
+
+2002-02-11  Alexandre Oliva  <aoliva@redhat.com>
+
+	* sparc-dis.c (print_insn_sparc): Make sure 0xFFFFFFFF is not
+	sign-extended.
+
+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  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* configure.in <bfd_sh_arc>: For sh-* and shl-*, enable sh64
+	support only for sh-*-*elf*, shl-*-*elf*, sh-*-linux* and
+	shl-*-linux*.
+	* configure: Regenerate.
+
+2002-02-10  Daniel Jacobowitz  <drow@mvista.com>
+
+	* cgen-dis.c: Add prototypes for count_decodable_bits
+	and add_insn_to_hash_chain.
+
+2002-02-08  Alexandre Oliva  <aoliva@redhat.com>
+
+	* configure.in <bfd_sh_arc>: Enable sh64 support on sh-*.
+	* configure: Rebuilt.
+
+2002-02-08  Ivan Guzvinec <ivang@opencores.org>
+
+	* or32-opc.c: Fix compile time warning messages.
+	* or32-dis.c: Fix compile time warning messages.
+
+2002-02-08  Alexandre Oliva  <aoliva@redhat.com>
+
+	Contribute sh64-elf.
+	2001-10-08  Nick Clifton  <nickc@cambridge.redhat.com>
+	* sh64-opc.c: Regenerate.
+	2001-03-13  DJ Delorie  <dj@redhat.com>
+	* sh64-opc.h: Rename A_RESV_Fx to A_REUSE_PREV so that its
+	purpose is more obvious.
+	* sh64-opc.c (shmedia_table): Ditto.
+	* sh64-dis.c (initialize_shmedia_opcode_mask_table): Ditto.
+	(print_insn_shmedia): Ditto.
+	2001-03-12  DJ Delorie  <dj@redhat.com>
+	* sh64-opc.c: Adjust comments to reflect reality: replace bits
+	3:0 with zeros (not "reserved"), replace "rrrrrr" with
+	"gggggg" for two-operand floating point opcodes.  Remove
+	"fsina".
+	2001-01-08  Hans-Peter Nilsson  <hpn@cygnus.com>
+	* sh64-dis.c (print_insn_shmedia) <failing read_memory_func>:
+	Correct printing of .byte:s.  Return number of printed bytes or
+	-1; never 0.
+	(print_insn_sh64x) <not CRT_SH5_ISA16>: Ditto.  Print as .byte:s
+	to next four-byte-alignment if insn or data is not aligned.
+	2001-01-06  Hans-Peter Nilsson  <hpn@cygnus.com>
+	* sh64-dis.c: Update comments and fix comment formatting.
+	(initialize_shmedia_opcode_mask_table) <case A_IMMM>:
+	Abort instead of setting length to 0.
+	(crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
+	crange_bsearch_cmpl, sh64_get_contents_type,
+	sh64_address_in_cranges): Move to bfd/elf32-sh64.c.
+	2001-01-05  Hans-Peter Nilsson  <hpn@cygnus.com>
+	* sh64-opc.c: Remove #if 0:d entries for instructions not found in
+	SH-5/ST50-023-04: fcosa.s, fsrra.s and prefo.
+	2000-12-30  Hans-Peter Nilsson  <hpn@cygnus.com>
+	* sh64-dis.c (print_insn_shmedia): Display MOVI/SHORI-formed
+	address with same prefix as SHcompact.
+	In the disassembler, use a .cranges section for linked executables.
+	* sh64-dis.c (SAVED_MOVI_R, SAVED_MOVI_IMM): Move to head of file
+	and update for using structure in info->private_data.
+	(struct sh64_disassemble_info): New.
+	(is_shmedia_p): Delete.
+	(crange_qsort_cmpb): New function.
+	(crange_qsort_cmpl, crange_bsearch_cmpb): New functions.
+	(crange_bsearch_cmpl, sh64_address_in_cranges): New functions.
+	(init_sh64_disasm_info, sh64_get_contents_type_disasm): New functions.
+	(sh64_get_contents_type, sh64_address_is_shmedia): New functions.
+	(print_insn_shmedia): Correct displaying of address after MOVI/SHORI
+	pair.  Display addresses for linked executables only.
+	(print_insn_sh64x_media): Initialize info->private_data by calling
+	init_sh64_disasm_info.
+	(print_insn_sh64x): Ditto.  Find out type of contents by calling
+	sh64_contents_type_disasm.  Display data regions using ".long" and
+	".byte" similar to unrecognized opcodes.
+	2000-12-19  Hans-Peter Nilsson  <hpn@cygnus.com>
+	* sh64-dis.c (is_shmedia_p): Check info->section and look for ISA
+	information in section flags before considering symbols.  Don't
+	assume an info->mach setting of bfd_mach_sh5 means SHmedia code.
+	* configure.in (bfd_sh_arch): Check presence of sh64 insns by
+	matching $target $canon_targets instead of looking at the
+	now-removed -DINCLUDE_SHMEDIA in $targ_cflags.
+	* configure: Regenerate.
+	2000-11-25  Hans-Peter Nilsson  <hpn@cygnus.com>
+	* sh64-opc.c (shmedia_creg_table): New.
+	* sh64-opc.h (shmedia_creg_info): New type.
+	(shmedia_creg_table): Declare.
+	* sh64-dis.c (creg_name): New function.
+	(print_insn_shmedia): Use it.
+	* disassemble.c (disassembler) [ARCH_sh, INCLUDE_SHMEDIA]: Map
+	bfd_mach_sh5 to print_insn_sh64 if big-endian and to
+	print_insn_sh64l if little-endian.
+	* sh64-dis.c (print_insn_shmedia): Make r unsigned.
+	(print_insn_sh64l): New.
+	(print_insn_sh64x): New.
+	(print_insn_sh64x_media): New.
+	(print_insn_sh64): Break out code to print_insn_sh64x and
+	print_insn_sh64x_media.
+	2000-11-24  Hans-Peter Nilsson  <hpn@cygnus.com>
+	* sh64-opc.h: New file
+	* sh64-opc.c: New file
+	* sh64-dis.c: New file
+	* Makefile.am: Add sh64 targets.
+	(HFILES): Add sh64-opc.h.
+	(CFILES): Add sh64-opc.c and sh64-dis.c.
+	(ALL_MACHINES): Add sh64 files.
+	* Makefile.in: Regenerate.
+	* configure.in: Add support for sh64 to bfd_sh_arch.
+	* configure: Regenerate.
+	* disassemble.c [ARCH_all] (INCLUDE_SHMEDIA): Define.
+	(disassembler) [ARCH_sh, INCLUDE_SHMEDIA]: Map bfd_mach_sh5 to
+	print_insn_sh64.
+	* sh-dis.c (print_insn_shx): Handle bfd_mach_sh5 as arch_sh4.
+	* po/POTFILES.in: Regenerate.
+	* po/opcodes.pot: Regenerate.
+
+2002-02-04  Frank Ch. Eigler  <fche@redhat.com>
+
+	* cgen-dis.in (print_insn_@arch@): Support disassemble_info.insn_sets.
+
+2002-02-04  Alexandre Oliva  <aoliva@redhat.com>
+
+	* sh-opc.h (sh_arg_type): Added A_DISP_PC_ABS.
+
+2002-02-01  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am: Run "make dep-am"
+	* Makefile.in: Regenerate.
+
+2002-01-31  Ivan Guzvinec  <ivang@opencores.org>
+
+	* or32-dis.c: New file.
+	* or32-opc.c: New file.
+	* configure.in: Add support for or32.
+	* configure: Regenerate.
+	* Makefile.am: Add support for or32.
+	* Makefile.in: Regenerate.
+	* disassemble.c: Add support for or32.
+	* po/POTFILES.in: Regenerate.
+	* po/opcodes.pot: Regenerate.
+
+2002-01-27  Daniel Jacobowitz  <drow@mvista.com>
+
+	* configure: Regenerated.
+
+2002-01-26  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* po/fr.po: Updated version.
+
+2002-01-25  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* po/es.po: Updated version.
+
+2002-01-24  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* po/da.po: New version.
+
+2002-01-23  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* po/da.po: New file: Spanish translation.
+	* configure.in (ALL_LINGUAS): Add da.
+	* configure: Regenerate.
+
+2002-01-22  Graydon Hoare  <graydon@redhat.com>
+
+	* fr30-asm.c: Regenerate.
+	* fr30-desc.c: Likewise.
+	* fr30-desc.h: Likewise.
+	* fr30-dis.c: Likewise.
+	* fr30-ibld.c: Likewise.
+	* fr30-opc.c: Likewise.
+	* fr30-opc.h: Likewise.
+	* m32r-asm.c: Likewise.
+	* m32r-desc.c: Likewise.
+	* m32r-desc.h: Likewise.
+	* m32r-dis.c: Likewise.
+	* m32r-ibld.c: Likewise.
+	* m32r-opc.c: Likewise.
+	* m32r-opc.h: Likewise.
+	* m32r-opinst.c: Likewise.
+	* openrisc-asm.c: Likewise.
+	* openrisc-desc.c: Likewise.
+	* openrisc-desc.h: Likewise.
+	* openrisc-dis.c: Likewise.
+	* openrisc-ibld.c: Likewise.
+	* openrisc-opc.c: Likewise.
+	* openrisc-opc.h: Likewise.
+	* xstormy16-desc.c: Likewise.
+
+2002-01-22  Richard Henderson  <rth@redhat.com>
+
+	* alpha-dis.c (print_insn_alpha): Also mask the base opcode for
+	comparison.
+
+2002-01-22  Alan Modra  <amodra@bigpond.net.au>
+
+	* Makefile.am: Run "make dep-am".
+	* Makefile.in: Regenerate.
+	* po/POTFILES.in: Regenerate.
+
+2002-01-19  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-opc.h (arm_opcodes): Use generic rule %5?hb instead of %h.
+	* arm-dis.c (print_insn_arm): Don't handle 'h' case.
+
+2002-01-18  Keith Walker  <keith.walker@arm.com>
+
+	* arm-opc.h (arm_opcodes): Add bxj instruction.
+
+2002-01-17  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* po/opcodes.pot: Regenerate.
+	* po/fr.po: Regenerate.
+	* po/sv.po: Regenerate.
+	* po/tr.po: Regenerate.
+
+2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* po/tr.po: Import new version.
+
+2002-01-15  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm-opc.h (arm_opcodes): Add patterns for VFP instructions.
+	* arm-dis.c (print_insn_arm): Support new disassembly qualifiers for
+	VFP bitfields.
+
+2002-01-10  matthew green  <mrg@redhat.com>
+
+	* xstormy16-asm.c: Regenerate.
+	* xstormy16-desc.c: Likewise.
+	* xstormy16-desc.h: Likewise.
+	* xstormy16-dis.c: Likewise.
+	* xstormy16-opc.c: Likewise.
+	* xstormy16-opc.h: Likewise.
+
+2002-01-07  Nick Clifton  <nickc@cambridge.redhat.com>
+
+	* po/es.po: New file: Spanish translation.
+	* configure.in (ALL_LINGUAS): Add es.
+	* configure: Regenerate.
+
+For older changes see ChangeLog-0001
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/sim/m32r/syscall.h b/sim/m32r/syscall.h
new file mode 100644
index 0000000..7762aca
--- /dev/null
+++ b/sim/m32r/syscall.h
@@ -0,0 +1,195 @@
+/*
+ * This file contains the system call numbers.
+ */
+
+#define __NR_exit		  1
+#define __NR_fork		  2
+#define __NR_read		  3
+#define __NR_write		  4
+#define __NR_open		  5
+#define __NR_close		  6
+#define __NR_waitpid		  7
+#define __NR_creat		  8
+#define __NR_link		  9
+#define __NR_unlink		 10
+#define __NR_execve		 11
+#define __NR_chdir		 12
+#define __NR_time		 13
+#define __NR_mknod		 14
+#define __NR_chmod		 15
+#define __NR_lchown		 16
+#define __NR_break		 17
+#define __NR_oldstat		 18
+#define __NR_lseek		 19
+#define __NR_getpid		 20
+#define __NR_mount		 21
+#define __NR_umount		 22
+#define __NR_setuid		 23
+#define __NR_getuid		 24
+#define __NR_stime		 25
+#define __NR_ptrace		 26
+#define __NR_alarm		 27
+#define __NR_oldfstat		 28
+#define __NR_pause		 29
+#define __NR_utime		 30
+#define __NR_stty		 31
+#define __NR_gtty		 32
+#define __NR_access		 33
+#define __NR_nice		 34
+#define __NR_ftime		 35
+#define __NR_sync		 36
+#define __NR_kill		 37
+#define __NR_rename		 38
+#define __NR_mkdir		 39
+#define __NR_rmdir		 40
+#define __NR_dup		 41
+#define __NR_pipe		 42
+#define __NR_times		 43
+#define __NR_prof		 44
+#define __NR_brk		 45
+#define __NR_setgid		 46
+#define __NR_getgid		 47
+#define __NR_signal		 48
+#define __NR_geteuid		 49
+#define __NR_getegid		 50
+#define __NR_acct		 51
+#define __NR_umount2		 52
+#define __NR_lock		 53
+#define __NR_ioctl		 54
+#define __NR_fcntl		 55
+#define __NR_mpx		 56
+#define __NR_setpgid		 57
+#define __NR_ulimit		 58
+#define __NR_oldolduname	 59
+#define __NR_umask		 60
+#define __NR_chroot		 61
+#define __NR_ustat		 62
+#define __NR_dup2		 63
+#define __NR_getppid		 64
+#define __NR_getpgrp		 65
+#define __NR_setsid		 66
+#define __NR_sigaction		 67
+#define __NR_sgetmask		 68
+#define __NR_ssetmask		 69
+#define __NR_setreuid		 70
+#define __NR_setregid		 71
+#define __NR_sigsuspend		 72
+#define __NR_sigpending		 73
+#define __NR_sethostname	 74
+#define __NR_setrlimit		 75
+#define __NR_getrlimit		 76
+#define __NR_getrusage		 77
+#define __NR_gettimeofday	 78
+#define __NR_settimeofday	 79
+#define __NR_getgroups		 80
+#define __NR_setgroups		 81
+#define __NR_select		 82
+#define __NR_symlink		 83
+#define __NR_oldlstat		 84
+#define __NR_readlink		 85
+#define __NR_uselib		 86
+#define __NR_swapon		 87
+#define __NR_reboot		 88
+#define __NR_readdir		 89
+#define __NR_mmap		 90
+#define __NR_munmap		 91
+#define __NR_truncate		 92
+#define __NR_ftruncate		 93
+#define __NR_fchmod		 94
+#define __NR_fchown		 95
+#define __NR_getpriority	 96
+#define __NR_setpriority	 97
+#define __NR_profil		 98
+#define __NR_statfs		 99
+#define __NR_fstatfs		100
+#define __NR_ioperm		101
+#define __NR_socketcall		102
+#define __NR_syslog		103
+#define __NR_setitimer		104
+#define __NR_getitimer		105
+#define __NR_stat		106
+#define __NR_lstat		107
+#define __NR_fstat		108
+#define __NR_olduname		109
+#define __NR_iopl		110
+#define __NR_vhangup		111
+#define __NR_idle		112
+#define __NR_vm86old		113
+#define __NR_wait4		114
+#define __NR_swapoff		115
+#define __NR_sysinfo		116
+#define __NR_ipc		117
+#define __NR_fsync		118
+#define __NR_sigreturn		119
+#define __NR_clone		120
+#define __NR_setdomainname	121
+#define __NR_uname		122
+#define __NR_modify_ldt		123
+#define __NR_adjtimex		124
+#define __NR_mprotect		125
+#define __NR_sigprocmask	126
+#define __NR_create_module	127
+#define __NR_init_module	128
+#define __NR_delete_module	129
+#define __NR_get_kernel_syms	130
+#define __NR_quotactl		131
+#define __NR_getpgid		132
+#define __NR_fchdir		133
+#define __NR_bdflush		134
+#define __NR_sysfs		135
+#define __NR_personality	136
+#define __NR_afs_syscall	137 /* Syscall for Andrew File System */
+#define __NR_setfsuid		138
+#define __NR_setfsgid		139
+#define __NR__llseek		140
+#define __NR_getdents		141
+#define __NR__newselect		142
+#define __NR_flock		143
+#define __NR_msync		144
+#define __NR_readv		145
+#define __NR_writev		146
+#define __NR_getsid		147
+#define __NR_fdatasync		148
+#define __NR__sysctl		149
+#define __NR_mlock		150
+#define __NR_munlock		151
+#define __NR_mlockall		152
+#define __NR_munlockall		153
+#define __NR_sched_setparam		154
+#define __NR_sched_getparam		155
+#define __NR_sched_setscheduler		156
+#define __NR_sched_getscheduler		157
+#define __NR_sched_yield		158
+#define __NR_sched_get_priority_max	159
+#define __NR_sched_get_priority_min	160
+#define __NR_sched_rr_get_interval	161
+#define __NR_nanosleep		162
+#define __NR_mremap		163
+#define __NR_setresuid		164
+#define __NR_getresuid		165
+#define __NR_vm86		166
+#define __NR_query_module	167
+#define __NR_poll		168
+#define __NR_nfsservctl		169
+#define __NR_setresgid		170
+#define __NR_getresgid		171
+#define __NR_prctl              172
+#define __NR_rt_sigreturn	173
+#define __NR_rt_sigaction	174
+#define __NR_rt_sigprocmask	175
+#define __NR_rt_sigpending	176
+#define __NR_rt_sigtimedwait	177
+#define __NR_rt_sigqueueinfo	178
+#define __NR_rt_sigsuspend	179
+#define __NR_pread		180
+#define __NR_pwrite		181
+#define __NR_chown		182
+#define __NR_getcwd		183
+#define __NR_capget		184
+#define __NR_capset		185
+#define __NR_sigaltstack	186
+#define __NR_sendfile		187
+#define __NR_getpmsg		188	/* some people actually want streams */
+#define __NR_putpmsg		189	/* some people actually want streams */
+#define __NR_vfork		190
+
diff --git a/sim/m32r/traps-linux.c b/sim/m32r/traps-linux.c
new file mode 100644
index 0000000..55a97a5
--- /dev/null
+++ b/sim/m32r/traps-linux.c
@@ -0,0 +1,1392 @@
+/* m32r exception, interrupt, and trap (EIT) support
+   Copyright (C) 1998, 2003 Free Software Foundation, Inc.
+   Contributed by Renesas.
+
+   This file is part of GDB, the GNU debugger.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License along
+   with this program; if not, write to the Free Software Foundation, Inc.,
+   59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#include "sim-main.h"
+#include "syscall.h"
+#include "targ-vals.h"
+#include <dirent.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <time.h>
+#include <unistd.h>
+#include <utime.h>
+#include <sys/mman.h>
+#include <sys/poll.h>
+#include <sys/resource.h>
+#include <sys/sysinfo.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <sys/timeb.h>
+#include <sys/timex.h>
+#include <sys/types.h>
+#include <sys/uio.h>
+#include <sys/utsname.h>
+#include <sys/vfs.h>
+#include <linux/module.h>
+#include <linux/sysctl.h>
+#include <linux/types.h>
+#include <linux/unistd.h>
+
+#define TRAP_ELF_SYSCALL 0
+#define TRAP_LINUX_SYSCALL 2
+#define TRAP_FLUSH_CACHE 12
+
+/* The semantic code invokes this for invalid (unrecognized) instructions.  */
+
+SEM_PC
+sim_engine_invalid_insn (SIM_CPU *current_cpu, IADDR cia, SEM_PC vpc)
+{
+  SIM_DESC sd = CPU_STATE (current_cpu);
+
+#if 0
+  if (STATE_ENVIRONMENT (sd) == OPERATING_ENVIRONMENT)
+    {
+      h_bsm_set (current_cpu, h_sm_get (current_cpu));
+      h_bie_set (current_cpu, h_ie_get (current_cpu));
+      h_bcond_set (current_cpu, h_cond_get (current_cpu));
+      /* sm not changed */
+      h_ie_set (current_cpu, 0);
+      h_cond_set (current_cpu, 0);
+
+      h_bpc_set (current_cpu, cia);
+
+      sim_engine_restart (CPU_STATE (current_cpu), current_cpu, NULL,
+			  EIT_RSVD_INSN_ADDR);
+    }
+  else
+#endif
+    sim_engine_halt (sd, current_cpu, NULL, cia, sim_stopped, SIM_SIGILL);
+  return vpc;
+}
+
+/* Process an address exception.  */
+
+void
+m32r_core_signal (SIM_DESC sd, SIM_CPU *current_cpu, sim_cia cia,
+		  unsigned int map, int nr_bytes, address_word addr,
+		  transfer_type transfer, sim_core_signals sig)
+{
+  if (STATE_ENVIRONMENT (sd) == OPERATING_ENVIRONMENT)
+    {
+      m32rbf_h_cr_set (current_cpu, H_CR_BBPC,
+                       m32rbf_h_cr_get (current_cpu, H_CR_BPC));
+      if (MACH_NUM (CPU_MACH (current_cpu)) == MACH_M32R)
+        {
+          m32rbf_h_bpsw_set (current_cpu, m32rbf_h_psw_get (current_cpu));
+          /* sm not changed */
+          m32rbf_h_psw_set (current_cpu, m32rbf_h_psw_get (current_cpu) & 0x80);
+        }
+      else if (MACH_NUM (CPU_MACH (current_cpu)) == MACH_M32RX)
+        {
+          m32rxf_h_bpsw_set (current_cpu, m32rxf_h_psw_get (current_cpu));
+          /* sm not changed */
+          m32rxf_h_psw_set (current_cpu, m32rxf_h_psw_get (current_cpu) & 0x80);
+        }
+      else
+        {
+          m32r2f_h_bpsw_set (current_cpu, m32r2f_h_psw_get (current_cpu));
+          /* sm not changed */
+          m32r2f_h_psw_set (current_cpu, m32r2f_h_psw_get (current_cpu) & 0x80);
+        }
+      m32rbf_h_cr_set (current_cpu, H_CR_BPC, cia);
+
+      sim_engine_restart (CPU_STATE (current_cpu), current_cpu, NULL,
+                          EIT_ADDR_EXCP_ADDR);
+    }
+  else
+    sim_core_signal (sd, current_cpu, cia, map, nr_bytes, addr,
+                     transfer, sig);
+}
+
+/* Read/write functions for system call interface.  */
+
+static int
+syscall_read_mem (host_callback *cb, struct cb_syscall *sc,
+		  unsigned long taddr, char *buf, int bytes)
+{
+  SIM_DESC sd = (SIM_DESC) sc->p1;
+  SIM_CPU *cpu = (SIM_CPU *) sc->p2;
+
+  return sim_core_read_buffer (sd, cpu, read_map, buf, taddr, bytes);
+}
+
+static int
+syscall_write_mem (host_callback *cb, struct cb_syscall *sc,
+		   unsigned long taddr, const char *buf, int bytes)
+{
+  SIM_DESC sd = (SIM_DESC) sc->p1;
+  SIM_CPU *cpu = (SIM_CPU *) sc->p2;
+
+  return sim_core_write_buffer (sd, cpu, write_map, buf, taddr, bytes);
+}
+
+/* Translate target's address to host's address.  */
+
+static void *
+t2h_addr (host_callback *cb, struct cb_syscall *sc,
+          unsigned long taddr)
+{
+  extern sim_core_trans_addr (SIM_DESC, sim_cpu *, unsigned, address_word);
+  void *addr;
+  SIM_DESC sd = (SIM_DESC) sc->p1;
+  SIM_CPU *cpu = (SIM_CPU *) sc->p2;
+
+  if (taddr == 0)
+    return NULL;
+
+  return sim_core_trans_addr (sd, cpu, read_map, taddr);
+}
+
+static unsigned int
+conv_endian (unsigned int tvalue)
+{
+  unsigned int hvalue;
+  unsigned int t1, t2, t3, t4;
+
+  if (CURRENT_HOST_BYTE_ORDER == LITTLE_ENDIAN)
+    {
+      t1 = tvalue & 0xff000000;
+      t2 = tvalue & 0x00ff0000;
+      t3 = tvalue & 0x0000ff00;
+      t4 = tvalue & 0x000000ff;
+
+      hvalue =  t1 >> 24;
+      hvalue += t2 >> 8;
+      hvalue += t3 << 8;
+      hvalue += t4 << 24;
+    }
+  else
+    hvalue = tvalue;
+
+  return hvalue;
+}
+
+static unsigned short
+conv_endian16 (unsigned short tvalue)
+{
+  unsigned short hvalue;
+  unsigned short t1, t2;
+
+  if (CURRENT_HOST_BYTE_ORDER == LITTLE_ENDIAN)
+    {
+      t1 = tvalue & 0xff00;
+      t2 = tvalue & 0x00ff;
+
+      hvalue =  t1 >> 8;
+      hvalue += t2 << 8;
+    }
+  else
+    hvalue = tvalue;
+
+  return hvalue;
+}
+
+static void
+translate_endian(void *addr, size_t size)
+{
+  unsigned int *p = (unsigned int *) addr;
+  int i;
+  
+  for (i = 0; i <= size - 4; i += 4,p++)
+    *p = conv_endian(*p);
+  
+  if (i <= size - 2)
+    *((unsigned short *) p) = conv_endian16(*((unsigned short *) p));
+}
+
+/* Trap support.
+   The result is the pc address to continue at.
+   Preprocessing like saving the various registers has already been done.  */
+
+USI
+m32r_trap (SIM_CPU *current_cpu, PCADDR pc, int num)
+{
+  SIM_DESC sd = CPU_STATE (current_cpu);
+  host_callback *cb = STATE_CALLBACK (sd);
+
+#ifdef SIM_HAVE_BREAKPOINTS
+  /* Check for breakpoints "owned" by the simulator first, regardless
+     of --environment.  */
+  if (num == TRAP_BREAKPOINT)
+    {
+      /* First try sim-break.c.  If it's a breakpoint the simulator "owns"
+	 it doesn't return.  Otherwise it returns and let's us try.  */
+      sim_handle_breakpoint (sd, current_cpu, pc);
+      /* Fall through.  */
+    }
+#endif
+
+  switch (num)
+    {
+    case TRAP_ELF_SYSCALL :
+      {
+        CB_SYSCALL s;
+ 
+        CB_SYSCALL_INIT (&s);
+        s.func = m32rbf_h_gr_get (current_cpu, 0);
+        s.arg1 = m32rbf_h_gr_get (current_cpu, 1);
+        s.arg2 = m32rbf_h_gr_get (current_cpu, 2);
+        s.arg3 = m32rbf_h_gr_get (current_cpu, 3);
+ 
+        if (s.func == TARGET_SYS_exit)
+          {
+            sim_engine_halt (sd, current_cpu, NULL, pc, sim_exited, s.arg1);
+          }
+ 
+        s.p1 = (PTR) sd;
+        s.p2 = (PTR) current_cpu;
+        s.read_mem = syscall_read_mem;
+        s.write_mem = syscall_write_mem;
+        cb_syscall (cb, &s);
+        m32rbf_h_gr_set (current_cpu, 2, s.errcode);
+        m32rbf_h_gr_set (current_cpu, 0, s.result);
+        m32rbf_h_gr_set (current_cpu, 1, s.result2);
+        break;
+      }
+
+    case TRAP_LINUX_SYSCALL :
+      {
+	CB_SYSCALL s;
+        unsigned int func, arg1, arg2, arg3, arg4, arg5, arg6, arg7;
+        int result, result2, errcode;
+
+        if (STATE_ENVIRONMENT (sd) == OPERATING_ENVIRONMENT)
+          {
+            /* The new pc is the trap vector entry.
+               We assume there's a branch there to some handler.
+	       Use cr5 as EVB (EIT Vector Base) register.  */
+            USI new_pc = m32rbf_h_cr_get (current_cpu, 5) + 0x40 + num * 4;
+            return new_pc;
+          }
+
+	func = m32rbf_h_gr_get (current_cpu, 7);
+	arg1 = m32rbf_h_gr_get (current_cpu, 0);
+	arg2 = m32rbf_h_gr_get (current_cpu, 1);
+	arg3 = m32rbf_h_gr_get (current_cpu, 2);
+	arg4 = m32rbf_h_gr_get (current_cpu, 3);
+	arg5 = m32rbf_h_gr_get (current_cpu, 4);
+	arg6 = m32rbf_h_gr_get (current_cpu, 5);
+	arg7 = m32rbf_h_gr_get (current_cpu, 6);
+
+        CB_SYSCALL_INIT (&s);
+        s.func = func;
+        s.arg1 = arg1;
+        s.arg2 = arg2;
+        s.arg3 = arg3;
+
+        s.p1 = (PTR) sd;
+        s.p2 = (PTR) current_cpu;
+        s.read_mem = syscall_read_mem;
+        s.write_mem = syscall_write_mem;
+
+        result = 0;
+        result2 = 0;
+        errcode = 0;
+
+        switch (func)
+          {
+          case __NR_exit:
+	    sim_engine_halt (sd, current_cpu, NULL, pc, sim_exited, arg1);
+            break;
+
+          case __NR_read:
+            result = read(arg1, t2h_addr(cb, &s, arg2), arg3);
+            errcode = errno;
+            break;
+
+          case __NR_write:
+            result = write(arg1, t2h_addr(cb, &s, arg2), arg3);
+            errcode = errno;
+            break;
+
+          case __NR_open:
+            result = open((char *) t2h_addr(cb, &s, arg1), arg2, arg3);
+            errcode = errno;
+            break;
+
+          case __NR_close:
+            result = close(arg1);
+            errcode = errno;
+            break;
+
+          case __NR_creat:
+            result = creat((char *) t2h_addr(cb, &s, arg1), arg2);
+            errcode = errno;
+            break;
+
+          case __NR_link:
+            result = link((char *) t2h_addr(cb, &s, arg1),
+                          (char *) t2h_addr(cb, &s, arg2));
+            errcode = errno;
+            break;
+
+          case __NR_unlink:
+            result = unlink((char *) t2h_addr(cb, &s, arg1));
+            errcode = errno;
+            break;
+
+          case __NR_chdir:
+            result = chdir((char *) t2h_addr(cb, &s, arg1));
+            errcode = errno;
+            break;
+
+          case __NR_time:
+            {
+              time_t t;
+
+              if (arg1 == 0)
+                {
+                  result = (int) time(NULL);
+                  errcode = errno;
+                }
+              else
+                {
+                  result = (int) time(&t);
+                  errcode = errno;
+
+                  if (result != 0)
+                    break;
+
+                  translate_endian((void *) &t, sizeof(t));
+                  if ((s.write_mem) (cb, &s, arg1, (char *) &t, sizeof(t)) != sizeof(t))
+                    {
+                      result = -1;
+                      errcode = EINVAL;
+                    }
+                }
+            }
+            break;
+
+          case __NR_mknod:
+            result = mknod((char *) t2h_addr(cb, &s, arg1),
+                           (mode_t) arg2, (dev_t) arg3);
+            errcode = errno;
+            break;
+
+          case __NR_chmod:
+            result = chmod((char *) t2h_addr(cb, &s, arg1), (mode_t) arg2);
+            errcode = errno;
+            break;
+
+          case __NR_lchown:
+            result = lchown((char *) t2h_addr(cb, &s, arg1),
+                            (uid_t) arg2, (gid_t) arg3);
+            errcode = errno;
+            break;
+
+          case __NR_lseek:
+            result = (int) lseek(arg1, (off_t) arg2, arg3);
+            errcode = errno;
+            break;
+
+          case __NR_getpid:
+            result = getpid();
+            errcode = errno;
+            break;
+
+          case __NR_getuid:
+            result = getuid();
+            errcode = errno;
+            break;
+
+          case __NR_utime:
+            {
+              struct utimbuf buf;
+
+              if (arg2 == 0)
+                {
+                  result = utime((char *) t2h_addr(cb, &s, arg1), NULL);
+                  errcode = errno;
+                }
+              else
+                {
+                  buf = *((struct utimbuf *) t2h_addr(cb, &s, arg2));
+                  translate_endian((void *) &buf, sizeof(buf));
+                  result = utime((char *) t2h_addr(cb, &s, arg1), &buf);
+                  errcode = errno;
+                }
+            }
+            break;
+
+          case __NR_access:
+            result = access((char *) t2h_addr(cb, &s, arg1), arg2);
+            errcode = errno;
+            break;
+
+          case __NR_ftime:
+            {
+              struct timeb t;
+
+              result = ftime(&t);
+              errcode = errno;
+
+              if (result != 0)
+                break;
+
+              t.time = conv_endian(t.time);
+              t.millitm = conv_endian16(t.millitm);
+              t.timezone = conv_endian16(t.timezone);
+              t.dstflag = conv_endian16(t.dstflag);
+              if ((s.write_mem) (cb, &s, arg1, (char *) &t, sizeof(t))
+                  != sizeof(t))
+                {
+                  result = -1;
+                  errcode = EINVAL;
+                }
+            }
+
+          case __NR_sync:
+            sync();
+            result = 0;
+            break;
+
+          case __NR_rename:
+            result = rename((char *) t2h_addr(cb, &s, arg1),
+                            (char *) t2h_addr(cb, &s, arg2));
+            errcode = errno;
+            break;
+
+          case __NR_mkdir:
+            result = mkdir((char *) t2h_addr(cb, &s, arg1), arg2);
+            errcode = errno;
+            break;
+
+          case __NR_rmdir:
+            result = rmdir((char *) t2h_addr(cb, &s, arg1));
+            errcode = errno;
+            break;
+
+          case __NR_dup:
+            result = dup(arg1);
+            errcode = errno;
+            break;
+
+          case __NR_brk:
+            result = brk((void *) arg1);
+            errcode = errno;
+            //result = arg1;
+            break;
+
+          case __NR_getgid:
+            result = getgid();
+            errcode = errno;
+            break;
+
+          case __NR_geteuid:
+            result = geteuid();
+            errcode = errno;
+            break;
+
+          case __NR_getegid:
+            result = getegid();
+            errcode = errno;
+            break;
+
+          case __NR_ioctl:
+            result = ioctl(arg1, arg2, arg3);
+            errcode = errno;
+            break;
+
+          case __NR_fcntl:
+            result = fcntl(arg1, arg2, arg3);
+            errcode = errno;
+            break;
+
+          case __NR_ustat:
+            {
+              struct ustat ubuf;
+
+              result = ustat(arg1, &ubuf);
+              errcode = errno;
+
+              if (result != 0)
+                break;
+
+              ubuf.f_tfree = conv_endian(ubuf.f_tfree);
+              ubuf.f_tinode = conv_endian(ubuf.f_tinode);
+              if ((s.write_mem) (cb, &s, arg2, (char *) &ubuf, sizeof(ubuf))
+                  != sizeof(ubuf))
+                {
+                  result = -1;
+                  errcode = EINVAL;
+                }
+            }
+            break;
+
+          case __NR_dup2:
+            result = dup2(arg1, arg2);
+            errcode = errno;
+            break;
+
+          case __NR_getppid:
+            result = getppid();
+            errcode = errno;
+            break;
+
+          case __NR_getpgrp:
+            result = getpgrp();
+            errcode = errno;
+            break;
+
+          case __NR_getrlimit:
+            {
+              struct rlimit rlim;
+
+              result = getrlimit(arg1, &rlim);
+              errcode = errno;
+
+              if (result != 0)
+                break;
+
+              translate_endian((void *) &rlim, sizeof(rlim));
+              if ((s.write_mem) (cb, &s, arg2, (char *) &rlim, sizeof(rlim))
+                  != sizeof(rlim))
+                {
+                  result = -1;
+                  errcode = EINVAL;
+                }
+            }
+            break;
+
+          case __NR_getrusage:
+            {
+              struct rusage usage;
+
+              result = getrusage(arg1, &usage);
+              errcode = errno;
+
+              if (result != 0)
+                break;
+
+              translate_endian((void *) &usage, sizeof(usage));
+              if ((s.write_mem) (cb, &s, arg2, (char *) &usage, sizeof(usage))
+                  != sizeof(usage))
+                {
+                  result = -1;
+                  errcode = EINVAL;
+                }
+            }
+            break;
+
+          case __NR_gettimeofday:
+            {
+              struct timeval tv;
+              struct timezone tz;
+              
+              result = gettimeofday(&tv, &tz);
+              errcode = errno;
+              
+              if (result != 0)
+                break;
+
+              translate_endian((void *) &tv, sizeof(tv));
+              if ((s.write_mem) (cb, &s, arg1, (char *) &tv, sizeof(tv))
+                  != sizeof(tv))
+                {
+                  result = -1;
+                  errcode = EINVAL;
+                }
+
+              translate_endian((void *) &tz, sizeof(tz));
+              if ((s.write_mem) (cb, &s, arg2, (char *) &tz, sizeof(tz))
+                  != sizeof(tz))
+                {
+                  result = -1;
+                  errcode = EINVAL;
+                }
+            }
+            break;
+
+          case __NR_getgroups:
+            {
+              gid_t *list;
+
+              if (arg1 > 0)
+                list = (gid_t *) malloc(arg1 * sizeof(gid_t));
+
+              result = getgroups(arg1, list);
+              errcode = errno;
+
+              if (result != 0)
+                break;
+
+              translate_endian((void *) list, arg1 * sizeof(gid_t));
+              if (arg1 > 0)
+                if ((s.write_mem) (cb, &s, arg2, (char *) list, arg1 * sizeof(gid_t))
+                    != arg1 * sizeof(gid_t))
+                  {
+                    result = -1;
+                     errcode = EINVAL;
+                  }
+            }
+            break;
+
+          case __NR_select:
+            {
+              int n;
+              fd_set readfds;
+              fd_set *treadfdsp;
+              fd_set *hreadfdsp;
+              fd_set writefds;
+              fd_set *twritefdsp;
+              fd_set *hwritefdsp;
+              fd_set exceptfds;
+              fd_set *texceptfdsp;
+              fd_set *hexceptfdsp;
+              struct timeval *ttimeoutp;
+              struct timeval timeout;
+              
+              n = arg1;
+
+              treadfdsp = (fd_set *) arg2;
+              if (treadfdsp != NULL)
+                {
+                  readfds = *((fd_set *) t2h_addr(cb, &s, (unsigned int) treadfdsp));
+                  translate_endian((void *) &readfds, sizeof(readfds));
+                  hreadfdsp = &readfds;
+                }
+              else
+                hreadfdsp = NULL;
+              
+              twritefdsp  = (fd_set *) arg3;
+              if (twritefdsp != NULL)
+                {
+                  writefds = *((fd_set *) t2h_addr(cb, &s, (unsigned int) twritefdsp));
+                  translate_endian((void *) &writefds, sizeof(writefds));
+                  hwritefdsp = &writefds;
+                }
+              else
+                hwritefdsp = NULL;
+              
+              texceptfdsp = (fd_set *) arg4;
+              if (texceptfdsp != NULL)
+                {
+                  exceptfds = *((fd_set *) t2h_addr(cb, &s, (unsigned int) texceptfdsp));
+                  translate_endian((void *) &exceptfds, sizeof(exceptfds));
+                  hexceptfdsp = &exceptfds;
+                }
+              else
+                hexceptfdsp = NULL;
+              
+              ttimeoutp = (struct timeval *) arg5;
+              timeout = *((struct timeval *) t2h_addr(cb, &s, (unsigned int) ttimeoutp));
+              translate_endian((void *) &timeout, sizeof(timeout));
+
+              result = select(n, hreadfdsp, hwritefdsp, hexceptfdsp, &timeout);
+              errcode = errno;
+
+              if (result != 0)
+                break;
+
+              if (treadfdsp != NULL)
+                {
+                  translate_endian((void *) &readfds, sizeof(readfds));
+                  if ((s.write_mem) (cb, &s, (unsigned long) treadfdsp,
+                       (char *) &readfds, sizeof(readfds)) != sizeof(readfds))
+                    {
+                      result = -1;
+                      errcode = EINVAL;
+                    }
+                }
+
+              if (twritefdsp != NULL)
+                {
+                  translate_endian((void *) &writefds, sizeof(writefds));
+                  if ((s.write_mem) (cb, &s, (unsigned long) twritefdsp,
+                       (char *) &writefds, sizeof(writefds)) != sizeof(writefds))
+                    {
+                      result = -1;
+                      errcode = EINVAL;
+                    }
+                }
+
+              if (texceptfdsp != NULL)
+                {
+                  translate_endian((void *) &exceptfds, sizeof(exceptfds));
+                  if ((s.write_mem) (cb, &s, (unsigned long) texceptfdsp,
+                       (char *) &exceptfds, sizeof(exceptfds)) != sizeof(exceptfds))
+                    {
+                      result = -1;
+                      errcode = EINVAL;
+                    }
+                }
+
+              translate_endian((void *) &timeout, sizeof(timeout));
+              if ((s.write_mem) (cb, &s, (unsigned long) ttimeoutp,
+                   (char *) &timeout, sizeof(timeout)) != sizeof(timeout))
+                {
+                  result = -1;
+                  errcode = EINVAL;
+                }
+            }
+            break;
+
+          case __NR_symlink:
+            result = symlink((char *) t2h_addr(cb, &s, arg1),
+                             (char *) t2h_addr(cb, &s, arg2));
+            errcode = errno;
+            break;
+
+          case __NR_readlink:
+            result = readlink((char *) t2h_addr(cb, &s, arg1),
+                              (char *) t2h_addr(cb, &s, arg2),
+                              arg3);
+            errcode = errno;
+            break;
+
+          case __NR_readdir:
+            result = (int) readdir((DIR *) t2h_addr(cb, &s, arg1));
+            errcode = errno;
+            break;
+
+#if 0
+          case __NR_mmap:
+            {
+              result = (int) mmap((void *) t2h_addr(cb, &s, arg1),
+                                  arg2, arg3, arg4, arg5, arg6);
+              errcode = errno;
+
+              if (errno == 0)
+                {
+                  sim_core_attach (sd, NULL,
+                                   0, access_read_write_exec, 0,
+                                   result, arg2, 0, NULL, NULL);
+                }
+            }
+            break;
+#endif
+          case __NR_mmap:
+            {
+              void *addr;
+              size_t len;
+              int prot, flags, fildes;
+              off_t off;
+              
+              addr   = *((void **)  t2h_addr(cb, &s, arg1));
+              len    = *((size_t *) t2h_addr(cb, &s, arg1 + 4));
+              prot   = *((int *)    t2h_addr(cb, &s, arg1 + 8));
+              flags  = *((int *)    t2h_addr(cb, &s, arg1 + 12));
+              fildes = *((int *)    t2h_addr(cb, &s, arg1 + 16));
+              off    = *((off_t *)  t2h_addr(cb, &s, arg1 + 20));
+
+              addr   = (void *) conv_endian((unsigned int) addr);
+              len    = conv_endian(len);
+              prot   = conv_endian(prot);
+              flags  = conv_endian(flags);
+              fildes = conv_endian(fildes);
+              off    = conv_endian(off);
+
+              //addr   = (void *) t2h_addr(cb, &s, (unsigned int) addr);
+              result = (int) mmap(addr, len, prot, flags, fildes, off);
+              errcode = errno;
+
+              //if (errno == 0)
+              if (result != -1)
+                {
+                  char c;
+		  if (sim_core_read_buffer (sd, NULL, read_map, &c, result, 1) == 0)
+                    sim_core_attach (sd, NULL,
+                                     0, access_read_write_exec, 0,
+                                     result, len, 0, NULL, NULL);
+                }
+            }
+            break;
+
+          case __NR_munmap:
+            {
+            result = munmap((void *)arg1, arg2);
+            errcode = errno;
+            if (result != -1)
+              {
+                sim_core_detach (sd, NULL, 0, arg2, result);
+              }
+            }
+            break;
+
+          case __NR_truncate:
+            result = truncate((char *) t2h_addr(cb, &s, arg1), arg2);
+            errcode = errno;
+            break;
+
+          case __NR_ftruncate:
+            result = ftruncate(arg1, arg2);
+            errcode = errno;
+            break;
+
+          case __NR_fchmod:
+            result = fchmod(arg1, arg2);
+            errcode = errno;
+            break;
+
+          case __NR_fchown:
+            result = fchown(arg1, arg2, arg3);
+            errcode = errno;
+            break;
+
+          case __NR_statfs:
+            {
+              struct statfs statbuf;
+
+              result = statfs((char *) t2h_addr(cb, &s, arg1), &statbuf);
+              errcode = errno;
+
+              if (result != 0)
+                break;
+
+              translate_endian((void *) &statbuf, sizeof(statbuf));
+              if ((s.write_mem) (cb, &s, arg2, (char *) &statbuf, sizeof(statbuf))
+                  != sizeof(statbuf))
+                {
+                  result = -1;
+                  errcode = EINVAL;
+                }
+            }
+            break;
+
+          case __NR_fstatfs:
+            {
+              struct statfs statbuf;
+
+              result = fstatfs(arg1, &statbuf);
+              errcode = errno;
+
+              if (result != 0)
+                break;
+
+              translate_endian((void *) &statbuf, sizeof(statbuf));
+              if ((s.write_mem) (cb, &s, arg2, (char *) &statbuf, sizeof(statbuf))
+                  != sizeof(statbuf))
+                {
+                  result = -1;
+                  errcode = EINVAL;
+                }
+            }
+            break;
+
+          case __NR_syslog:
+            result = syslog(arg1, (char *) t2h_addr(cb, &s, arg2));
+            errcode = errno;
+            break;
+
+          case __NR_setitimer:
+            {
+              struct itimerval value, ovalue;
+
+              value = *((struct itimerval *) t2h_addr(cb, &s, arg2));
+              translate_endian((void *) &value, sizeof(value));
+
+              if (arg2 == 0)
+                {
+                  result = setitimer(arg1, &value, NULL);
+                  errcode = errno;
+                }
+              else
+                {
+                  result = setitimer(arg1, &value, &ovalue);
+                  errcode = errno;
+
+                  if (result != 0)
+                    break;
+
+                  translate_endian((void *) &ovalue, sizeof(ovalue));
+                  if ((s.write_mem) (cb, &s, arg3, (char *) &ovalue, sizeof(ovalue))
+                      != sizeof(ovalue))
+                    {
+                      result = -1;
+                      errcode = EINVAL;
+                    }
+                }
+            }
+            break;
+
+          case __NR_getitimer:
+            {
+              struct itimerval value;
+
+              result = getitimer(arg1, &value);
+              errcode = errno;
+
+              if (result != 0)
+                break;
+
+              translate_endian((void *) &value, sizeof(value));
+              if ((s.write_mem) (cb, &s, arg2, (char *) &value, sizeof(value))
+                  != sizeof(value))
+                {
+                  result = -1;
+                  errcode = EINVAL;
+                }
+            }
+            break;
+
+          case __NR_stat:
+            {
+              char *buf;
+              int buflen;
+              struct stat statbuf;
+
+              result = stat((char *) t2h_addr(cb, &s, arg1), &statbuf);
+              errcode = errno;
+              if (result < 0)
+                break;
+
+              buflen = cb_host_to_target_stat (cb, NULL, NULL);
+              buf = xmalloc (buflen);
+              if (cb_host_to_target_stat (cb, &statbuf, buf) != buflen)
+                {
+                  /* The translation failed.  This is due to an internal
+                     host program error, not the target's fault.  */
+                  free (buf);
+                  result = -1;
+                  errcode = ENOSYS;
+                  break;
+                }
+              if ((s.write_mem) (cb, &s, arg2, buf, buflen) != buflen)
+                {
+                  free (buf);
+                  result = -1;
+                  errcode = EINVAL;
+                  break;
+                }
+              free (buf);
+            }
+            break;
+
+          case __NR_lstat:
+            {
+              char *buf;
+              int buflen;
+              struct stat statbuf;
+
+              result = lstat((char *) t2h_addr(cb, &s, arg1), &statbuf);
+              errcode = errno;
+              if (result < 0)
+                break;
+
+              buflen = cb_host_to_target_stat (cb, NULL, NULL);
+              buf = xmalloc (buflen);
+              if (cb_host_to_target_stat (cb, &statbuf, buf) != buflen)
+                {
+                  /* The translation failed.  This is due to an internal
+                     host program error, not the target's fault.  */
+                  free (buf);
+                  result = -1;
+                  errcode = ENOSYS;
+                  break;
+                }
+              if ((s.write_mem) (cb, &s, arg2, buf, buflen) != buflen)
+                {
+                  free (buf);
+                  result = -1;
+                  errcode = EINVAL;
+                  break;
+                }
+              free (buf);
+            }
+            break;
+
+          case __NR_fstat:
+            {
+              char *buf;
+              int buflen;
+              struct stat statbuf;
+
+              result = fstat(arg1, &statbuf);
+              errcode = errno;
+              if (result < 0)
+                break;
+
+              buflen = cb_host_to_target_stat (cb, NULL, NULL);
+              buf = xmalloc (buflen);
+              if (cb_host_to_target_stat (cb, &statbuf, buf) != buflen)
+                {
+                  /* The translation failed.  This is due to an internal
+                     host program error, not the target's fault.  */
+                  free (buf);
+                  result = -1;
+                  errcode = ENOSYS;
+                  break;
+                }
+              if ((s.write_mem) (cb, &s, arg2, buf, buflen) != buflen)
+                {
+                  free (buf);
+                  result = -1;
+                  errcode = EINVAL;
+                  break;
+                }
+              free (buf);
+            }
+            break;
+
+          case __NR_sysinfo:
+            {
+              struct sysinfo info;
+
+              result = sysinfo(&info);
+              errcode = errno;
+
+              if (result != 0)
+                break;
+
+              info.uptime    = conv_endian(info.uptime);
+              info.loads[0]  = conv_endian(info.loads[0]);
+              info.loads[1]  = conv_endian(info.loads[1]);
+              info.loads[2]  = conv_endian(info.loads[2]);
+              info.totalram  = conv_endian(info.totalram);
+              info.freeram   = conv_endian(info.freeram);
+              info.sharedram = conv_endian(info.sharedram);
+              info.bufferram = conv_endian(info.bufferram);
+              info.totalswap = conv_endian(info.totalswap);
+              info.freeswap  = conv_endian(info.freeswap);
+              info.procs     = conv_endian16(info.procs);
+#if LINUX_VERSION_CODE >= 0x20400
+              info.totalhigh = conv_endian(info.totalhigh);
+              info.freehigh  = conv_endian(info.freehigh);
+              info.mem_unit  = conv_endian(info.mem_unit);
+#endif
+              if ((s.write_mem) (cb, &s, arg1, (char *) &info, sizeof(info))
+                  != sizeof(info))
+                {
+                  result = -1;
+                  errcode = EINVAL;
+                }
+            }
+            break;
+
+#if 0
+          case __NR_ipc:
+            {
+              result = ipc(arg1, arg2, arg3, arg4,
+                           (void *) t2h_addr(cb, &s, arg5), arg6);
+              errcode = errno;
+            }
+            break;
+#endif
+
+          case __NR_fsync:
+            result = fsync(arg1);
+            errcode = errno;
+            break;
+
+          case __NR_uname:
+            /* utsname contains only arrays of char, so it is not necessary
+               to translate endian. */
+            result = uname((struct utsname *) t2h_addr(cb, &s, arg1));
+            errcode = errno;
+            break;
+
+          case __NR_adjtimex:
+            {
+              struct timex buf;
+
+              result = adjtimex(&buf);
+              errcode = errno;
+
+              if (result != 0)
+                break;
+
+              translate_endian((void *) &buf, sizeof(buf));
+              if ((s.write_mem) (cb, &s, arg1, (char *) &buf, sizeof(buf))
+                  != sizeof(buf))
+                {
+                  result = -1;
+                  errcode = EINVAL;
+                }
+            }
+            break;
+
+          case __NR_mprotect:
+            result = mprotect((void *) arg1, arg2, arg3);
+            errcode = errno;
+            break;
+
+          case __NR_get_kernel_syms:
+            {
+              struct kernel_sym table;
+
+              result = get_kernel_syms(&table);
+              errcode = errno;
+
+              if (result != 0)
+                break;
+
+              table.value = conv_endian(table.value);
+              if ((s.write_mem) (cb, &s, arg1, (char *) &table, sizeof(table))
+                  != sizeof(table))
+                {
+                  result = -1;
+                  errcode = EINVAL;
+                }
+            }
+            break;
+
+          case __NR_fchdir:
+            result = fchdir(arg1);
+            errcode = errno;
+            break;
+
+          case __NR_setfsuid:
+            result = setfsuid(arg1);
+            errcode = errno;
+            break;
+
+          case __NR_setfsgid:
+            result = setfsgid(arg1);
+            errcode = errno;
+            break;
+
+#if 0
+          case __NR__llseek:
+            {
+              loff_t buf;
+
+              result = _llseek(arg1, arg2, arg3, &buf, arg5);
+              errcode = errno;
+
+              if (result != 0)
+                break;
+
+              translate_endian((void *) &buf, sizeof(buf));
+              if ((s.write_mem) (cb, &s, t2h_addr(cb, &s, arg4),
+                                 (char *) &buf, sizeof(buf)) != sizeof(buf))
+                {
+                  result = -1;
+                  errcode = EINVAL;
+                }
+            }
+            break;
+
+          case __NR_getdents:
+            {
+              struct dirent dir;
+
+              result = getdents(arg1, &dir, arg3);
+              errcode = errno;
+
+              if (result != 0)
+                break;
+
+              dir.d_ino = conv_endian(dir.d_ino);
+              dir.d_off = conv_endian(dir.d_off);
+              dir.d_reclen = conv_endian16(dir.d_reclen);
+              if ((s.write_mem) (cb, &s, arg2, (char *) &dir, sizeof(dir))
+                  != sizeof(dir))
+                {
+                  result = -1;
+                  errcode = EINVAL;
+                }
+            }
+            break;
+#endif
+
+          case __NR_flock:
+            result = flock(arg1, arg2);
+            errcode = errno;
+            break;
+
+          case __NR_msync:
+            result = msync((void *) arg1, arg2, arg3);
+            errcode = errno;
+            break;
+
+          case __NR_readv:
+            {
+              struct iovec vector;
+
+              vector = *((struct iovec *) t2h_addr(cb, &s, arg2));
+              translate_endian((void *) &vector, sizeof(vector));
+
+              result = readv(arg1, &vector, arg3);
+              errcode = errno;
+            }
+            break;
+
+          case __NR_writev:
+            {
+              struct iovec vector;
+
+              vector = *((struct iovec *) t2h_addr(cb, &s, arg2));
+              translate_endian((void *) &vector, sizeof(vector));
+
+              result = writev(arg1, &vector, arg3);
+              errcode = errno;
+            }
+            break;
+
+          case __NR_fdatasync:
+            result = fdatasync(arg1);
+            errcode = errno;
+            break;
+
+          case __NR_mlock:
+            result = mlock((void *) t2h_addr(cb, &s, arg1), arg2);
+            errcode = errno;
+            break;
+
+          case __NR_munlock:
+            result = munlock((void *) t2h_addr(cb, &s, arg1), arg2);
+            errcode = errno;
+            break;
+
+          case __NR_nanosleep:
+            {
+              struct timespec req, rem;
+
+              req = *((struct timespec *) t2h_addr(cb, &s, arg2));
+              translate_endian((void *) &req, sizeof(req));
+
+              result = nanosleep(&req, &rem);
+              errcode = errno;
+
+              if (result != 0)
+                break;
+
+              translate_endian((void *) &rem, sizeof(rem));
+              if ((s.write_mem) (cb, &s, arg2, (char *) &rem, sizeof(rem))
+                  != sizeof(rem))
+                {
+                  result = -1;
+                  errcode = EINVAL;
+                }
+            }
+            break;
+
+          case __NR_mremap: /* FIXME */
+            result = (int) mremap((void *) t2h_addr(cb, &s, arg1), arg2, arg3, arg4); 
+            errcode = errno;
+            break;
+
+          case __NR_getresuid:
+            {
+              uid_t ruid, euid, suid;
+
+              result = getresuid(&ruid, &euid, &suid);
+              errcode = errno;
+
+              if (result != 0)
+                break;
+
+              *((uid_t *) t2h_addr(cb, &s, arg1)) = conv_endian(ruid);
+              *((uid_t *) t2h_addr(cb, &s, arg2)) = conv_endian(euid);
+              *((uid_t *) t2h_addr(cb, &s, arg3)) = conv_endian(suid);
+            }
+            break;
+
+          case __NR_poll:
+            {
+              struct pollfd ufds;
+
+              ufds = *((struct pollfd *) t2h_addr(cb, &s, arg1));
+              ufds.fd = conv_endian(ufds.fd);
+              ufds.events = conv_endian16(ufds.events);
+              ufds.revents = conv_endian16(ufds.revents);
+
+              result = poll(&ufds, arg2, arg3);
+              errcode = errno;
+            }
+            break;
+
+          case __NR_getresgid:
+            {
+              uid_t rgid, egid, sgid;
+
+              result = getresgid(&rgid, &egid, &sgid);
+              errcode = errno;
+
+              if (result != 0)
+                break;
+
+              *((uid_t *) t2h_addr(cb, &s, arg1)) = conv_endian(rgid);
+              *((uid_t *) t2h_addr(cb, &s, arg2)) = conv_endian(egid);
+              *((uid_t *) t2h_addr(cb, &s, arg3)) = conv_endian(sgid);
+            }
+            break;
+
+          case __NR_pread:
+            result =  pread(arg1, (void *) t2h_addr(cb, &s, arg2), arg3, arg4); 
+            errcode = errno;
+            break;
+
+          case __NR_pwrite:
+            result =  pwrite(arg1, (void *) t2h_addr(cb, &s, arg2), arg3, arg4); 
+            errcode = errno;
+            break;
+
+          case __NR_chown:
+            result = chown((char *) t2h_addr(cb, &s, arg1), arg2, arg3);
+            errcode = errno;
+            break;
+
+          case __NR_getcwd:
+            result = (int) getcwd((char *) t2h_addr(cb, &s, arg1), arg2);
+            errcode = errno;
+            break;
+
+          case __NR_sendfile:
+            {
+              off_t offset;
+
+              offset = *((off_t *) t2h_addr(cb, &s, arg3));
+              offset = conv_endian(offset);
+
+              result = sendfile(arg1, arg2, &offset, arg3);
+              errcode = errno;
+
+              if (result != 0)
+                break;
+
+              *((off_t *) t2h_addr(cb, &s, arg3)) = conv_endian(offset);
+            }
+            break;
+
+          default:
+            result = -1;
+            errcode = ENOSYS;
+            break;
+          }
+        
+        if (result == -1)
+	  m32rbf_h_gr_set (current_cpu, 0, -errcode);
+        else
+	  m32rbf_h_gr_set (current_cpu, 0, result);
+	break;
+      }
+
+    case TRAP_BREAKPOINT:
+      sim_engine_halt (sd, current_cpu, NULL, pc,
+		       sim_stopped, SIM_SIGTRAP);
+      break;
+
+    case TRAP_FLUSH_CACHE:
+      /* Do nothing.  */
+      break;
+
+    default :
+      {
+	/* Use cr5 as EVB (EIT Vector Base) register.  */
+        USI new_pc = m32rbf_h_cr_get (current_cpu, 5) + 0x40 + num * 4;
+	return new_pc;
+      }
+    }
+
+  /* Fake an "rte" insn.  */
+  /* FIXME: Should duplicate all of rte processing.  */
+  return (pc & -4) + 4;
+}