aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobody <>2004-01-26 12:52:12 +0000
committernobody <>2004-01-26 12:52:12 +0000
commitaa0e88e3d758559942e192f3075a3edc0b2f222d (patch)
tree71afb6fbfb9d80e4b7b8ee31e758ebc905cf6c48
parent5f2fbaa631ada809193f3619152ecdcd956cc63d (diff)
downloadfsf-binutils-gdb-aa0e88e3d758559942e192f3075a3edc0b2f222d.zip
fsf-binutils-gdb-aa0e88e3d758559942e192f3075a3edc0b2f222d.tar.gz
fsf-binutils-gdb-aa0e88e3d758559942e192f3075a3edc0b2f222d.tar.bz2
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
-rw-r--r--bfd/ChangeLog-020311405
-rw-r--r--bfd/doc/ChangeLog-9103594
-rw-r--r--gdb/ChangeLog-200315447
-rw-r--r--gdb/config/sparc/linux64.mh11
-rw-r--r--gdb/config/sparc/linux64.mt5
-rw-r--r--gdb/config/sparc/nm-sol2.h65
-rw-r--r--gdb/config/sparc/obsd.mt4
-rw-r--r--gdb/config/sparc/obsd64.mt5
-rw-r--r--gdb/config/sparc/sol2-64.mt3
-rw-r--r--gdb/config/sparc/sol2.mh6
-rw-r--r--gdb/config/sparc/sol2.mt3
-rw-r--r--gdb/config/sparc/sparc.mt2
-rw-r--r--gdb/config/sparc/sparc64.mt2
-rw-r--r--gdb/config/sparc/tm-sol2.h40
-rw-r--r--gdb/config/sparc/tm-vxworks.h31
-rw-r--r--gdb/config/sparc/vxworks.mt4
-rw-r--r--gdb/mi/ChangeLog-1999-20032180
-rw-r--r--gdb/sparc-linux-tdep.c311
-rw-r--r--gdb/sparc-nat.h40
-rw-r--r--gdb/sparc-sol2-nat.c98
-rw-r--r--gdb/sparc-sol2-tdep.c201
-rw-r--r--gdb/sparc64-linux-nat.c48
-rw-r--r--gdb/sparc64-linux-tdep.c82
-rw-r--r--gdb/sparc64-nat.c87
-rw-r--r--gdb/sparc64-sol2-tdep.c182
-rw-r--r--gdb/sparc64nbsd-tdep.c256
-rw-r--r--gdb/sparc64obsd-tdep.c210
-rw-r--r--gdb/sparcobsd-tdep.c171
-rw-r--r--gdb/testsuite/gdb.base/gdb1476.c12
-rw-r--r--gdb/testsuite/gdb.base/gdb1476.exp72
-rw-r--r--gdb/testsuite/gdb.base/sepdebug.c150
-rw-r--r--gdb/testsuite/gdb.base/sepdebug.exp987
-rw-r--r--gdb/testsuite/gdb.cp/bs15503.cc74
-rw-r--r--gdb/testsuite/gdb.cp/bs15503.exp100
-rw-r--r--gdb/testsuite/gdb.cp/exception.cc69
-rw-r--r--gdb/testsuite/gdb.cp/exception.exp222
-rw-r--r--gdb/testsuite/gdb.mi/ChangeLog-1999-2003768
-rw-r--r--gdb/tui/ChangeLog-1998-20031217
-rw-r--r--gdb/tui/tui-command.c135
-rw-r--r--gdb/tui/tui-command.h30
-rw-r--r--gdb/tui/tui-data.c1055
-rw-r--r--gdb/tui/tui-data.h386
-rw-r--r--gdb/tui/tui-disasm.c403
-rw-r--r--gdb/tui/tui-disasm.h37
-rw-r--r--gdb/tui/tui-io.c722
-rw-r--r--gdb/tui/tui-io.h55
-rw-r--r--gdb/tui/tui-layout.c1140
-rw-r--r--gdb/tui/tui-layout.h38
-rw-r--r--gdb/tui/tui-regs.c1023
-rw-r--r--gdb/tui/tui-regs.h41
-rw-r--r--gdb/tui/tui-source.c356
-rw-r--r--gdb/tui/tui-source.h33
-rw-r--r--gdb/tui/tui-stack.c435
-rw-r--r--gdb/tui/tui-stack.h33
-rw-r--r--gdb/tui/tui-win.c1615
-rw-r--r--gdb/tui/tui-win.h59
-rw-r--r--gdb/tui/tui-windata.c349
-rw-r--r--gdb/tui/tui-windata.h47
-rw-r--r--gdb/tui/tui-wingeneral.c285
-rw-r--r--gdb/tui/tui-wingeneral.h49
-rw-r--r--gdb/tui/tui-winsource.c715
-rw-r--r--gdb/tui/tui-winsource.h68
-rw-r--r--include/ChangeLog-91032737
-rw-r--r--include/coff/ChangeLog-91031160
-rw-r--r--include/elf/ChangeLog-91031914
-rw-r--r--include/opcode/ChangeLog-91033102
-rw-r--r--libiberty/configure.ac530
-rw-r--r--libiberty/cp-demangle.h139
-rw-r--r--libiberty/cp-demint.c241
-rw-r--r--opcodes/ChangeLog-00012224
-rw-r--r--opcodes/ChangeLog-02032110
-rw-r--r--sim/m32r/syscall.h195
-rw-r--r--sim/m32r/traps-linux.c1392
73 files changed, 60017 insertions, 0 deletions
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;
+}