aboutsummaryrefslogtreecommitdiff
path: root/gdb/config/m88k
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2002-07-24 23:51:36 +0000
committerAndrew Cagney <cagney@redhat.com>2002-07-24 23:51:36 +0000
commit7fb623f7ad6de82eb44730ca15d863029eb767f0 (patch)
tree57aabf4fe379286539cce8456db33faef38d0e11 /gdb/config/m88k
parent37611a2b102505daefdae7cb47a60c84fb2a9a09 (diff)
downloadgdb-7fb623f7ad6de82eb44730ca15d863029eb767f0.zip
gdb-7fb623f7ad6de82eb44730ca15d863029eb767f0.tar.gz
gdb-7fb623f7ad6de82eb44730ca15d863029eb767f0.tar.bz2
Obsolete m88k.
Diffstat (limited to 'gdb/config/m88k')
-rw-r--r--gdb/config/m88k/delta88.mh12
-rw-r--r--gdb/config/m88k/delta88.mt6
-rw-r--r--gdb/config/m88k/delta88v4.mh16
-rw-r--r--gdb/config/m88k/delta88v4.mt6
-rw-r--r--gdb/config/m88k/m88k.mh8
-rw-r--r--gdb/config/m88k/m88k.mt6
-rw-r--r--gdb/config/m88k/nm-delta88v4.h46
-rw-r--r--gdb/config/m88k/nm-m88k.h50
-rw-r--r--gdb/config/m88k/tm-delta88.h56
-rw-r--r--gdb/config/m88k/tm-delta88v4.h64
-rw-r--r--gdb/config/m88k/tm-m88k.h1174
-rw-r--r--gdb/config/m88k/xm-delta88.h88
-rw-r--r--gdb/config/m88k/xm-dgux.h110
13 files changed, 821 insertions, 821 deletions
diff --git a/gdb/config/m88k/delta88.mh b/gdb/config/m88k/delta88.mh
index 13dc6c2..3c079fe 100644
--- a/gdb/config/m88k/delta88.mh
+++ b/gdb/config/m88k/delta88.mh
@@ -1,6 +1,6 @@
-# Host: Motorola 88k running SVR3
-
-XM_FILE= xm-delta88.h
-
-NAT_FILE= nm-m88k.h
-NATDEPFILES= infptrace.o inftarg.o fork-child.o m88k-nat.o corelow.o core-aout.o
+# OBSOLETE # Host: Motorola 88k running SVR3
+# OBSOLETE
+# OBSOLETE XM_FILE= xm-delta88.h
+# OBSOLETE
+# OBSOLETE NAT_FILE= nm-m88k.h
+# OBSOLETE NATDEPFILES= infptrace.o inftarg.o fork-child.o m88k-nat.o corelow.o core-aout.o
diff --git a/gdb/config/m88k/delta88.mt b/gdb/config/m88k/delta88.mt
index c8e669b..83d4ad1 100644
--- a/gdb/config/m88k/delta88.mt
+++ b/gdb/config/m88k/delta88.mt
@@ -1,3 +1,3 @@
-# Target: Motorola 88k running SVR3
-TDEPFILES= m88k-tdep.o
-TM_FILE= tm-delta88.h
+# OBSOLETE # Target: Motorola 88k running SVR3
+# OBSOLETE TDEPFILES= m88k-tdep.o
+# OBSOLETE TM_FILE= tm-delta88.h
diff --git a/gdb/config/m88k/delta88v4.mh b/gdb/config/m88k/delta88v4.mh
index ba3dd7b..bc2abc5 100644
--- a/gdb/config/m88k/delta88v4.mh
+++ b/gdb/config/m88k/delta88v4.mh
@@ -1,8 +1,8 @@
-# Host: Motorola 88k running SVR4
-
-XM_FILE= xm-delta88v4.h
-
-NAT_FILE= nm-delta88v4.h
-NATDEPFILES= fork-child.o m88k-nat.o corelow.o core-regset.o \
- solib.o solib-svr4.o solib-legacy.o \
- procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o
+# OBSOLETE # Host: Motorola 88k running SVR4
+# OBSOLETE
+# OBSOLETE XM_FILE= xm-delta88v4.h
+# OBSOLETE
+# OBSOLETE NAT_FILE= nm-delta88v4.h
+# OBSOLETE NATDEPFILES= fork-child.o m88k-nat.o corelow.o core-regset.o \
+# OBSOLETE solib.o solib-svr4.o solib-legacy.o \
+# OBSOLETE procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o
diff --git a/gdb/config/m88k/delta88v4.mt b/gdb/config/m88k/delta88v4.mt
index 7797d4b..c8f9df2 100644
--- a/gdb/config/m88k/delta88v4.mt
+++ b/gdb/config/m88k/delta88v4.mt
@@ -1,3 +1,3 @@
-# Target: Motorola 88k running SVR4
-TDEPFILES= m88k-tdep.o
-TM_FILE= tm-delta88v4.h
+# OBSOLETE # Target: Motorola 88k running SVR4
+# OBSOLETE TDEPFILES= m88k-tdep.o
+# OBSOLETE TM_FILE= tm-delta88v4.h
diff --git a/gdb/config/m88k/m88k.mh b/gdb/config/m88k/m88k.mh
index 5d4350b..a09e7a1 100644
--- a/gdb/config/m88k/m88k.mh
+++ b/gdb/config/m88k/m88k.mh
@@ -1,4 +1,4 @@
-# Host: Motorola 88000 running DGUX
-XM_FILE= xm-dgux.h
-NAT_FILE= nm-m88k.h
-NATDEPFILES= infptrace.o inftarg.o fork-child.o m88k-nat.o
+# OBSOLETE # Host: Motorola 88000 running DGUX
+# OBSOLETE XM_FILE= xm-dgux.h
+# OBSOLETE NAT_FILE= nm-m88k.h
+# OBSOLETE NATDEPFILES= infptrace.o inftarg.o fork-child.o m88k-nat.o
diff --git a/gdb/config/m88k/m88k.mt b/gdb/config/m88k/m88k.mt
index ca3fab4..c4068e0 100644
--- a/gdb/config/m88k/m88k.mt
+++ b/gdb/config/m88k/m88k.mt
@@ -1,3 +1,3 @@
-# Target: Motorola 88k Binary Compatibility Standard
-TDEPFILES= m88k-tdep.o remote-bug.o
-TM_FILE= tm-m88k.h
+# OBSOLETE # Target: Motorola 88k Binary Compatibility Standard
+# OBSOLETE TDEPFILES= m88k-tdep.o remote-bug.o
+# OBSOLETE TM_FILE= tm-m88k.h
diff --git a/gdb/config/m88k/nm-delta88v4.h b/gdb/config/m88k/nm-delta88v4.h
index 97f75f2..976cfa0 100644
--- a/gdb/config/m88k/nm-delta88v4.h
+++ b/gdb/config/m88k/nm-delta88v4.h
@@ -1,23 +1,23 @@
-/* Native machine description for Motorola Delta 88 box, for GDB.
- Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1993
- 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 "m88k/nm-m88k.h"
-#include "config/nm-sysv4.h"
+// OBSOLETE /* Native machine description for Motorola Delta 88 box, for GDB.
+// OBSOLETE Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1993
+// OBSOLETE Free Software Foundation, Inc.
+// OBSOLETE
+// OBSOLETE This file is part of GDB.
+// OBSOLETE
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2 of the License, or
+// OBSOLETE (at your option) any later version.
+// OBSOLETE
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE
+// OBSOLETE You should have received a copy of the GNU General Public License
+// OBSOLETE along with this program; if not, write to the Free Software
+// OBSOLETE Foundation, Inc., 59 Temple Place - Suite 330,
+// OBSOLETE Boston, MA 02111-1307, USA. */
+// OBSOLETE
+// OBSOLETE #include "m88k/nm-m88k.h"
+// OBSOLETE #include "config/nm-sysv4.h"
diff --git a/gdb/config/m88k/nm-m88k.h b/gdb/config/m88k/nm-m88k.h
index 4c402bd..6521a2a 100644
--- a/gdb/config/m88k/nm-m88k.h
+++ b/gdb/config/m88k/nm-m88k.h
@@ -1,25 +1,25 @@
-/* Native support macros for m88k, for GDB.
- Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992
- 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. */
-
-#define FETCH_INFERIOR_REGISTERS
-
-#define REGISTER_U_ADDR(addr, blockend, regno) \
- (addr) = m88k_register_u_addr ((blockend),(regno));
+// OBSOLETE /* Native support macros for m88k, for GDB.
+// OBSOLETE Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992
+// OBSOLETE Free Software Foundation, Inc.
+// OBSOLETE
+// OBSOLETE This file is part of GDB.
+// OBSOLETE
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2 of the License, or
+// OBSOLETE (at your option) any later version.
+// OBSOLETE
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE
+// OBSOLETE You should have received a copy of the GNU General Public License
+// OBSOLETE along with this program; if not, write to the Free Software
+// OBSOLETE Foundation, Inc., 59 Temple Place - Suite 330,
+// OBSOLETE Boston, MA 02111-1307, USA. */
+// OBSOLETE
+// OBSOLETE #define FETCH_INFERIOR_REGISTERS
+// OBSOLETE
+// OBSOLETE #define REGISTER_U_ADDR(addr, blockend, regno) \
+// OBSOLETE (addr) = m88k_register_u_addr ((blockend),(regno));
diff --git a/gdb/config/m88k/tm-delta88.h b/gdb/config/m88k/tm-delta88.h
index f44b1f7..f63fca3 100644
--- a/gdb/config/m88k/tm-delta88.h
+++ b/gdb/config/m88k/tm-delta88.h
@@ -1,28 +1,28 @@
-/* Target machine description for Motorola Delta 88 box, for GDB.
- Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994
- 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 "m88k/tm-m88k.h"
-
-#define DELTA88
-
-#define IN_SIGTRAMP(pc, name) ((name) && STREQ ("_sigcode", (name)))
-#define SIGTRAMP_FRAME_FIXUP(frame) (frame) += 0x20
-#define SIGTRAMP_SP_FIXUP(sp) (sp) = read_memory_integer((sp), 4)
+// OBSOLETE /* Target machine description for Motorola Delta 88 box, for GDB.
+// OBSOLETE Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994
+// OBSOLETE Free Software Foundation, Inc.
+// OBSOLETE
+// OBSOLETE This file is part of GDB.
+// OBSOLETE
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2 of the License, or
+// OBSOLETE (at your option) any later version.
+// OBSOLETE
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE
+// OBSOLETE You should have received a copy of the GNU General Public License
+// OBSOLETE along with this program; if not, write to the Free Software
+// OBSOLETE Foundation, Inc., 59 Temple Place - Suite 330,
+// OBSOLETE Boston, MA 02111-1307, USA. */
+// OBSOLETE
+// OBSOLETE #include "m88k/tm-m88k.h"
+// OBSOLETE
+// OBSOLETE #define DELTA88
+// OBSOLETE
+// OBSOLETE #define IN_SIGTRAMP(pc, name) ((name) && STREQ ("_sigcode", (name)))
+// OBSOLETE #define SIGTRAMP_FRAME_FIXUP(frame) (frame) += 0x20
+// OBSOLETE #define SIGTRAMP_SP_FIXUP(sp) (sp) = read_memory_integer((sp), 4)
diff --git a/gdb/config/m88k/tm-delta88v4.h b/gdb/config/m88k/tm-delta88v4.h
index 44e488f..e343a05 100644
--- a/gdb/config/m88k/tm-delta88v4.h
+++ b/gdb/config/m88k/tm-delta88v4.h
@@ -1,32 +1,32 @@
-/* Target machine description for Motorola Delta 88 box, for GDB.
- Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994, 1998, 1999
- 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. */
-
-#define DELTA88
-
-#include "m88k/tm-m88k.h"
-#include "config/tm-sysv4.h"
-
-/* If we don't define this, backtraces go on forever. */
-#define FRAME_CHAIN_VALID(fp,fi) func_frame_chain_valid (fp, fi)
-
-#define IN_SIGTRAMP(pc, name) ((name) && (STREQ ("signalhandler", (name)) \
- || STREQ("sigacthandler", (name))))
-#define SIGTRAMP_SP_FIXUP(sp) (sp) = read_memory_integer((sp)+0xcd8, 4)
+// OBSOLETE /* Target machine description for Motorola Delta 88 box, for GDB.
+// OBSOLETE Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994, 1998, 1999
+// OBSOLETE Free Software Foundation, Inc.
+// OBSOLETE
+// OBSOLETE This file is part of GDB.
+// OBSOLETE
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2 of the License, or
+// OBSOLETE (at your option) any later version.
+// OBSOLETE
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE
+// OBSOLETE You should have received a copy of the GNU General Public License
+// OBSOLETE along with this program; if not, write to the Free Software
+// OBSOLETE Foundation, Inc., 59 Temple Place - Suite 330,
+// OBSOLETE Boston, MA 02111-1307, USA. */
+// OBSOLETE
+// OBSOLETE #define DELTA88
+// OBSOLETE
+// OBSOLETE #include "m88k/tm-m88k.h"
+// OBSOLETE #include "config/tm-sysv4.h"
+// OBSOLETE
+// OBSOLETE /* If we don't define this, backtraces go on forever. */
+// OBSOLETE #define FRAME_CHAIN_VALID(fp,fi) func_frame_chain_valid (fp, fi)
+// OBSOLETE
+// OBSOLETE #define IN_SIGTRAMP(pc, name) ((name) && (STREQ ("signalhandler", (name)) \
+// OBSOLETE || STREQ("sigacthandler", (name))))
+// OBSOLETE #define SIGTRAMP_SP_FIXUP(sp) (sp) = read_memory_integer((sp)+0xcd8, 4)
diff --git a/gdb/config/m88k/tm-m88k.h b/gdb/config/m88k/tm-m88k.h
index 22e069db..2f08f1a 100644
--- a/gdb/config/m88k/tm-m88k.h
+++ b/gdb/config/m88k/tm-m88k.h
@@ -1,587 +1,587 @@
-/* Target machine description for generic Motorola 88000, for GDB.
-
- Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994, 1996,
- 1998, 1999, 2000, 2002 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 "doublest.h"
-#include "regcache.h"
-
-/* g++ support is not yet included. */
-
-/* We cache information about saved registers in the frame structure,
- to save us from having to re-scan function prologues every time
- a register in a non-current frame is accessed. */
-
-#define EXTRA_FRAME_INFO \
- struct frame_saved_regs *fsr; \
- CORE_ADDR locals_pointer; \
- CORE_ADDR args_pointer;
-
-/* Zero the frame_saved_regs pointer when the frame is initialized,
- so that FRAME_FIND_SAVED_REGS () will know to allocate and
- initialize a frame_saved_regs struct the first time it is called.
- Set the arg_pointer to -1, which is not valid; 0 and other values
- indicate real, cached values. */
-
-#define INIT_EXTRA_FRAME_INFO(fromleaf, fi) \
- init_extra_frame_info (fromleaf, fi)
-extern void init_extra_frame_info ();
-
-/* Offset from address of function to start of its code.
- Zero on most machines. */
-
-#define FUNCTION_START_OFFSET 0
-
-/* Advance PC across any function entry prologue instructions
- to reach some "real" code. */
-
-extern CORE_ADDR m88k_skip_prologue (CORE_ADDR);
-#define SKIP_PROLOGUE(frompc) (m88k_skip_prologue (frompc))
-
-/* The m88k kernel aligns all instructions on 4-byte boundaries. The
- kernel also uses the least significant two bits for its own hocus
- pocus. When gdb receives an address from the kernel, it needs to
- preserve those right-most two bits, but gdb also needs to be careful
- to realize that those two bits are not really a part of the address
- of an instruction. Shrug. */
-
-extern CORE_ADDR m88k_addr_bits_remove (CORE_ADDR);
-#define ADDR_BITS_REMOVE(addr) m88k_addr_bits_remove (addr)
-
-/* Immediately after a function call, return the saved pc.
- Can't always go through the frames for this because on some machines
- the new frame is not set up until the new function executes
- some instructions. */
-
-#define SAVED_PC_AFTER_CALL(frame) \
- (ADDR_BITS_REMOVE (read_register (SRP_REGNUM)))
-
-/* Stack grows downward. */
-
-#define INNER_THAN(lhs,rhs) ((lhs) < (rhs))
-
-/* Sequence of bytes for breakpoint instruction. */
-
-/* instruction 0xF000D1FF is 'tb0 0,r0,511'
- If Bit bit 0 of r0 is clear (always true),
- initiate exception processing (trap).
- */
-#define BREAKPOINT {0xF0, 0x00, 0xD1, 0xFF}
-
-/* Amount PC must be decremented by after a breakpoint.
- This is often the number of bytes in BREAKPOINT
- but not always. */
-
-#define DECR_PC_AFTER_BREAK 0
-
-/* Say how long (ordinary) registers are. This is a piece of bogosity
- used in push_word and a few other places; REGISTER_RAW_SIZE is the
- real way to know how big a register is. */
-
-#define REGISTER_SIZE 4
-
-/* Number of machine registers */
-
-#define GP_REGS (38)
-#define FP_REGS (32)
-#define NUM_REGS (GP_REGS + FP_REGS)
-
-/* Initializer for an array of names of registers.
- There should be NUM_REGS strings in this initializer. */
-
-#define REGISTER_NAMES {\
- "r0",\
- "r1",\
- "r2",\
- "r3",\
- "r4",\
- "r5",\
- "r6",\
- "r7",\
- "r8",\
- "r9",\
- "r10",\
- "r11",\
- "r12",\
- "r13",\
- "r14",\
- "r15",\
- "r16",\
- "r17",\
- "r18",\
- "r19",\
- "r20",\
- "r21",\
- "r22",\
- "r23",\
- "r24",\
- "r25",\
- "r26",\
- "r27",\
- "r28",\
- "r29",\
- "r30",\
- "r31",\
- "psr",\
- "fpsr",\
- "fpcr",\
- "sxip",\
- "snip",\
- "sfip",\
- "x0",\
- "x1",\
- "x2",\
- "x3",\
- "x4",\
- "x5",\
- "x6",\
- "x7",\
- "x8",\
- "x9",\
- "x10",\
- "x11",\
- "x12",\
- "x13",\
- "x14",\
- "x15",\
- "x16",\
- "x17",\
- "x18",\
- "x19",\
- "x20",\
- "x21",\
- "x22",\
- "x23",\
- "x24",\
- "x25",\
- "x26",\
- "x27",\
- "x28",\
- "x29",\
- "x30",\
- "x31",\
- "vbr",\
- "dmt0",\
- "dmd0",\
- "dma0",\
- "dmt1",\
- "dmd1",\
- "dma1",\
- "dmt2",\
- "dmd2",\
- "dma2",\
- "sr0",\
- "sr1",\
- "sr2",\
- "sr3",\
- "fpecr",\
- "fphs1",\
- "fpls1",\
- "fphs2",\
- "fpls2",\
- "fppt",\
- "fprh",\
- "fprl",\
- "fpit",\
- "fpsr",\
- "fpcr",\
- }
-
-
-/* Register numbers of various important registers.
- Note that some of these values are "real" register numbers,
- and correspond to the general registers of the machine,
- and some are "phony" register numbers which are too large
- to be actual register numbers as far as the user is concerned
- but do serve to get the desired values when passed to read_register. */
-
-#define R0_REGNUM 0 /* Contains the constant zero */
-#define SRP_REGNUM 1 /* Contains subroutine return pointer */
-#define RV_REGNUM 2 /* Contains simple return values */
-#define SRA_REGNUM 12 /* Contains address of struct return values */
-#define SP_REGNUM 31 /* Contains address of top of stack */
-
-/* Instruction pointer notes...
-
- On the m88100:
-
- * cr04 = sxip. On exception, contains the excepting pc (probably).
- On rte, is ignored.
-
- * cr05 = snip. On exception, contains the NPC (next pc). On rte,
- pc is loaded from here.
-
- * cr06 = sfip. On exception, contains the NNPC (next next pc). On
- rte, the NPC is loaded from here.
-
- * lower two bits of each are flag bits. Bit 1 is V means address
- is valid. If address is not valid, bit 0 is ignored. Otherwise,
- bit 0 is E and asks for an exception to be taken if this
- instruction is executed.
-
- On the m88110:
-
- * cr04 = exip. On exception, contains the address of the excepting
- pc (always). On rte, pc is loaded from here. Bit 0, aka the D
- bit, is a flag saying that the offending instruction was in a
- branch delay slot. If set, then cr05 contains the NPC.
-
- * cr05 = enip. On exception, if the instruction pointed to by cr04
- was in a delay slot as indicated by the bit 0 of cr04, aka the D
- bit, the cr05 contains the NPC. Otherwise ignored.
-
- * cr06 is invalid */
-
-/* Note that the Harris Unix kernels emulate the m88100's behavior on
- the m88110. */
-
-#define SXIP_REGNUM 35 /* On m88100, Contains Shadow Execute
- Instruction Pointer. */
-#define SNIP_REGNUM 36 /* On m88100, Contains Shadow Next
- Instruction Pointer. */
-#define SFIP_REGNUM 37 /* On m88100, Contains Shadow Fetched
- Intruction pointer. */
-
-#define EXIP_REGNUM 35 /* On m88110, Contains Exception
- Executing Instruction Pointer. */
-#define ENIP_REGNUM 36 /* On m88110, Contains the Exception
- Next Instruction Pointer. */
-
-#define PC_REGNUM SXIP_REGNUM /* Program Counter */
-#define NPC_REGNUM SNIP_REGNUM /* Next Program Counter */
-#define M88K_NNPC_REGNUM SFIP_REGNUM /* Next Next Program Counter */
-
-
-#define PSR_REGNUM 32 /* Processor Status Register */
-#define FPSR_REGNUM 33 /* Floating Point Status Register */
-#define FPCR_REGNUM 34 /* Floating Point Control Register */
-#define XFP_REGNUM 38 /* First Extended Float Register */
-#define X0_REGNUM XFP_REGNUM /* Which also contains the constant zero */
-
-/* This is rather a confusing lie. Our m88k port using a stack pointer value
- for the frame address. Hence, the frame address and the frame pointer are
- only indirectly related. The value of this macro is the register number
- fetched by the machine "independent" portions of gdb when they want to know
- about a frame address. Thus, we lie here and claim that FP_REGNUM is
- SP_REGNUM. */
-#define FP_REGNUM SP_REGNUM /* Reg fetched to locate frame when pgm stops */
-#define ACTUAL_FP_REGNUM 30
-
-/* PSR status bit definitions. */
-
-#define PSR_MODE 0x80000000
-#define PSR_BYTE_ORDER 0x40000000
-#define PSR_SERIAL_MODE 0x20000000
-#define PSR_CARRY 0x10000000
-#define PSR_SFU_DISABLE 0x000003f0
-#define PSR_SFU1_DISABLE 0x00000008
-#define PSR_MXM 0x00000004
-#define PSR_IND 0x00000002
-#define PSR_SFRZ 0x00000001
-
-
-
-/* The following two comments come from the days prior to the m88110
- port. The m88110 handles the instruction pointers differently. I
- do not know what any m88110 kernels do as the m88110 port I'm
- working with is for an embedded system. rich@cygnus.com
- 13-sept-93. */
-
-/* BCS requires that the SXIP_REGNUM (or PC_REGNUM) contain the
- address of the next instr to be executed when a breakpoint occurs.
- Because the kernel gets the next instr (SNIP_REGNUM), the instr in
- SNIP needs to be put back into SFIP, and the instr in SXIP should
- be shifted to SNIP */
-
-/* Are you sitting down? It turns out that the 88K BCS (binary
- compatibility standard) folks originally felt that the debugger
- should be responsible for backing up the IPs, not the kernel (as is
- usually done). Well, they have reversed their decision, and in
- future releases our kernel will be handling the backing up of the
- IPs. So, eventually, we won't need to do the SHIFT_INST_REGS
- stuff. But, for now, since there are 88K systems out there that do
- need the debugger to do the IP shifting, and since there will be
- systems where the kernel does the shifting, the code is a little
- more complex than perhaps it needs to be (we still go inside
- SHIFT_INST_REGS, and if the shifting hasn't occurred then gdb goes
- ahead and shifts). */
-
-extern int target_is_m88110;
-#define SHIFT_INST_REGS() \
-if (!target_is_m88110) \
-{ \
- CORE_ADDR pc = read_register (PC_REGNUM); \
- CORE_ADDR npc = read_register (NPC_REGNUM); \
- if (pc != npc) \
- { \
- write_register (M88K_NNPC_REGNUM, npc); \
- write_register (NPC_REGNUM, pc); \
- } \
-}
-
- /* Storing the following registers is a no-op. */
-#define CANNOT_STORE_REGISTER(regno) (((regno) == R0_REGNUM) \
- || ((regno) == X0_REGNUM))
-
- /* Number of bytes of storage in the actual machine representation
- for register N. On the m88k, the general purpose registers are 4
- bytes and the 88110 extended registers are 10 bytes. */
-
-#define REGISTER_RAW_SIZE(N) ((N) < XFP_REGNUM ? 4 : 10)
-
- /* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'. */
-
-#define REGISTER_BYTES ((GP_REGS * REGISTER_RAW_SIZE(0)) \
- + (FP_REGS * REGISTER_RAW_SIZE(XFP_REGNUM)))
-
- /* Index within `registers' of the first byte of the space for
- register N. */
-
-#define REGISTER_BYTE(N) (((N) * REGISTER_RAW_SIZE(0)) \
- + ((N) >= XFP_REGNUM \
- ? (((N) - XFP_REGNUM) \
- * REGISTER_RAW_SIZE(XFP_REGNUM)) \
- : 0))
-
- /* Number of bytes of storage in the program's representation for
- register N. On the m88k, all registers are 4 bytes excepting the
- m88110 extended registers which are 8 byte doubles. */
-
-#define REGISTER_VIRTUAL_SIZE(N) ((N) < XFP_REGNUM ? 4 : 8)
-
- /* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE (REGISTER_RAW_SIZE(XFP_REGNUM))
-
- /* Largest value REGISTER_VIRTUAL_SIZE can have.
- Are FPS1, FPS2, FPR "virtual" regisers? */
-
-#define MAX_REGISTER_VIRTUAL_SIZE (REGISTER_RAW_SIZE(XFP_REGNUM))
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-struct type *m88k_register_type (int regnum);
-#define REGISTER_VIRTUAL_TYPE(N) m88k_register_type (N)
-
-/* The 88k call/return conventions call for "small" values to be returned
- into consecutive registers starting from r2. */
-
-#define DEPRECATED_EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- memcpy ((VALBUF), &(((char *)REGBUF)[REGISTER_BYTE(RV_REGNUM)]), TYPE_LENGTH (TYPE))
-
-#define DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(int *)(REGBUF))
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- write_register_bytes (2*REGISTER_RAW_SIZE(0), (VALBUF), TYPE_LENGTH (TYPE))
-
-/* In COFF, if PCC says a parameter is a short or a char, do not
- change it to int (it seems the convention is to change it). */
-
-#define BELIEVE_PCC_PROMOTION 1
-
-/* Describe the pointer in each stack frame to the previous stack frame
- (its caller). */
-
-/* FRAME_CHAIN takes a frame's nominal address
- and produces the frame's chain-pointer.
-
- However, if FRAME_CHAIN_VALID returns zero,
- it means the given frame is the outermost one and has no caller. */
-
-extern CORE_ADDR frame_chain ();
-extern int frame_chain_valid ();
-extern int frameless_function_invocation ();
-
-#define FRAME_CHAIN(thisframe) \
- frame_chain (thisframe)
-
-#define FRAMELESS_FUNCTION_INVOCATION(frame) \
- (frameless_function_invocation (frame))
-
-/* Define other aspects of the stack frame. */
-
-#define FRAME_SAVED_PC(FRAME) \
- frame_saved_pc (FRAME)
-extern CORE_ADDR frame_saved_pc ();
-
-#define FRAME_ARGS_ADDRESS(fi) \
- frame_args_address (fi)
-extern CORE_ADDR frame_args_address ();
-
-#define FRAME_LOCALS_ADDRESS(fi) \
- frame_locals_address (fi)
-extern CORE_ADDR frame_locals_address ();
-
-/* Return number of args passed to a frame.
- Can return -1, meaning no way to tell. */
-
-#define FRAME_NUM_ARGS(fi) (-1)
-
-/* Return number of bytes at start of arglist that are not really args. */
-
-#define FRAME_ARGS_SKIP 0
-
-/* Put here the code to store, into a struct frame_saved_regs,
- the addresses of the saved registers of frame described by FRAME_INFO.
- This includes special registers such as pc and fp saved in special
- ways in the stack frame. sp is even more special:
- the address we return for it IS the sp for the next frame. */
-
-/* On the 88k, parameter registers get stored into the so called "homing"
- area. This *always* happens when you compiled with GCC and use -g.
- Also, (with GCC and -g) the saving of the parameter register values
- always happens right within the function prologue code, so these register
- values can generally be relied upon to be already copied into their
- respective homing slots by the time you will normally try to look at
- them (we hope).
-
- Note that homing area stack slots are always at *positive* offsets from
- the frame pointer. Thus, the homing area stack slots for the parameter
- registers (passed values) for a given function are actually part of the
- frame area of the caller. This is unusual, but it should not present
- any special problems for GDB.
-
- Note also that on the 88k, we are only interested in finding the
- registers that might have been saved in memory. This is a subset of
- the whole set of registers because the standard calling sequence allows
- the called routine to clobber many registers.
-
- We could manage to locate values for all of the so called "preserved"
- registers (some of which may get saved within any particular frame) but
- that would require decoding all of the tdesc information. That would be
- nice information for GDB to have, but it is not strictly manditory if we
- can live without the ability to look at values within (or backup to)
- previous frames.
- */
-
-struct frame_saved_regs;
-struct frame_info;
-
-void frame_find_saved_regs (struct frame_info *fi,
- struct frame_saved_regs *fsr);
-
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
- frame_find_saved_regs (frame_info, &frame_saved_regs)
-
-
-#define POP_FRAME pop_frame ()
-extern void pop_frame ();
-
-/* Call function stuff contributed by Kevin Buettner of Motorola. */
-
-#define CALL_DUMMY_LOCATION AFTER_TEXT_END
-
-extern void m88k_push_dummy_frame ();
-#define PUSH_DUMMY_FRAME m88k_push_dummy_frame()
-
-#define CALL_DUMMY { \
-0x67ff00c0, /* 0: subu #sp,#sp,0xc0 */ \
-0x243f0004, /* 4: st #r1,#sp,0x4 */ \
-0x245f0008, /* 8: st #r2,#sp,0x8 */ \
-0x247f000c, /* c: st #r3,#sp,0xc */ \
-0x249f0010, /* 10: st #r4,#sp,0x10 */ \
-0x24bf0014, /* 14: st #r5,#sp,0x14 */ \
-0x24df0018, /* 18: st #r6,#sp,0x18 */ \
-0x24ff001c, /* 1c: st #r7,#sp,0x1c */ \
-0x251f0020, /* 20: st #r8,#sp,0x20 */ \
-0x253f0024, /* 24: st #r9,#sp,0x24 */ \
-0x255f0028, /* 28: st #r10,#sp,0x28 */ \
-0x257f002c, /* 2c: st #r11,#sp,0x2c */ \
-0x259f0030, /* 30: st #r12,#sp,0x30 */ \
-0x25bf0034, /* 34: st #r13,#sp,0x34 */ \
-0x25df0038, /* 38: st #r14,#sp,0x38 */ \
-0x25ff003c, /* 3c: st #r15,#sp,0x3c */ \
-0x261f0040, /* 40: st #r16,#sp,0x40 */ \
-0x263f0044, /* 44: st #r17,#sp,0x44 */ \
-0x265f0048, /* 48: st #r18,#sp,0x48 */ \
-0x267f004c, /* 4c: st #r19,#sp,0x4c */ \
-0x269f0050, /* 50: st #r20,#sp,0x50 */ \
-0x26bf0054, /* 54: st #r21,#sp,0x54 */ \
-0x26df0058, /* 58: st #r22,#sp,0x58 */ \
-0x26ff005c, /* 5c: st #r23,#sp,0x5c */ \
-0x271f0060, /* 60: st #r24,#sp,0x60 */ \
-0x273f0064, /* 64: st #r25,#sp,0x64 */ \
-0x275f0068, /* 68: st #r26,#sp,0x68 */ \
-0x277f006c, /* 6c: st #r27,#sp,0x6c */ \
-0x279f0070, /* 70: st #r28,#sp,0x70 */ \
-0x27bf0074, /* 74: st #r29,#sp,0x74 */ \
-0x27df0078, /* 78: st #r30,#sp,0x78 */ \
-0x63df0000, /* 7c: addu #r30,#sp,0x0 */ \
-0x145f0000, /* 80: ld #r2,#sp,0x0 */ \
-0x147f0004, /* 84: ld #r3,#sp,0x4 */ \
-0x149f0008, /* 88: ld #r4,#sp,0x8 */ \
-0x14bf000c, /* 8c: ld #r5,#sp,0xc */ \
-0x14df0010, /* 90: ld #r6,#sp,0x10 */ \
-0x14ff0014, /* 94: ld #r7,#sp,0x14 */ \
-0x151f0018, /* 98: ld #r8,#sp,0x18 */ \
-0x153f001c, /* 9c: ld #r9,#sp,0x1c */ \
-0x5c200000, /* a0: or.u #r1,#r0,0x0 */ \
-0x58210000, /* a4: or #r1,#r1,0x0 */ \
-0xf400c801, /* a8: jsr #r1 */ \
-0xf000d1ff /* ac: tb0 0x0,#r0,0x1ff */ \
-}
-
-#define CALL_DUMMY_START_OFFSET 0x80
-#define CALL_DUMMY_LENGTH 0xb0
-
-/* FIXME: byteswapping. */
-#define FIX_CALL_DUMMY(dummy, pc, fun, nargs, args, type, gcc_p) \
-{ \
- *(unsigned long *)((char *) (dummy) + 0xa0) |= \
- (((unsigned long) (fun)) >> 16); \
- *(unsigned long *)((char *) (dummy) + 0xa4) |= \
- (((unsigned long) (fun)) & 0xffff); \
-}
-
-/* Stack must be aligned on 64-bit boundaries when synthesizing
- function calls. */
-
-#define STACK_ALIGN(addr) (((addr) + 7) & -8)
-
-#define STORE_STRUCT_RETURN(addr, sp) \
- write_register (SRA_REGNUM, (addr))
-
-#define NEED_TEXT_START_END 1
-
-/* According to the MC88100 RISC Microprocessor User's Manual, section
- 6.4.3.1.2:
-
- ... can be made to return to a particular instruction by placing a
- valid instruction address in the SNIP and the next sequential
- instruction address in the SFIP (with V bits set and E bits clear).
- The rte resumes execution at the instruction pointed to by the
- SNIP, then the SFIP.
-
- The E bit is the least significant bit (bit 0). The V (valid) bit is
- bit 1. This is why we logical or 2 into the values we are writing
- below. It turns out that SXIP plays no role when returning from an
- exception so nothing special has to be done with it. We could even
- (presumably) give it a totally bogus value.
-
- -- Kevin Buettner
- */
-
-extern void m88k_target_write_pc (CORE_ADDR pc, ptid_t ptid);
-#define TARGET_WRITE_PC(VAL, PID) m88k_target_write_pc (VAL, PID)
+// OBSOLETE /* Target machine description for generic Motorola 88000, for GDB.
+// OBSOLETE
+// OBSOLETE Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994, 1996,
+// OBSOLETE 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
+// OBSOLETE
+// OBSOLETE This file is part of GDB.
+// OBSOLETE
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2 of the License, or
+// OBSOLETE (at your option) any later version.
+// OBSOLETE
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE
+// OBSOLETE You should have received a copy of the GNU General Public License
+// OBSOLETE along with this program; if not, write to the Free Software
+// OBSOLETE Foundation, Inc., 59 Temple Place - Suite 330,
+// OBSOLETE Boston, MA 02111-1307, USA. */
+// OBSOLETE
+// OBSOLETE #include "doublest.h"
+// OBSOLETE #include "regcache.h"
+// OBSOLETE
+// OBSOLETE /* g++ support is not yet included. */
+// OBSOLETE
+// OBSOLETE /* We cache information about saved registers in the frame structure,
+// OBSOLETE to save us from having to re-scan function prologues every time
+// OBSOLETE a register in a non-current frame is accessed. */
+// OBSOLETE
+// OBSOLETE #define EXTRA_FRAME_INFO \
+// OBSOLETE struct frame_saved_regs *fsr; \
+// OBSOLETE CORE_ADDR locals_pointer; \
+// OBSOLETE CORE_ADDR args_pointer;
+// OBSOLETE
+// OBSOLETE /* Zero the frame_saved_regs pointer when the frame is initialized,
+// OBSOLETE so that FRAME_FIND_SAVED_REGS () will know to allocate and
+// OBSOLETE initialize a frame_saved_regs struct the first time it is called.
+// OBSOLETE Set the arg_pointer to -1, which is not valid; 0 and other values
+// OBSOLETE indicate real, cached values. */
+// OBSOLETE
+// OBSOLETE #define INIT_EXTRA_FRAME_INFO(fromleaf, fi) \
+// OBSOLETE init_extra_frame_info (fromleaf, fi)
+// OBSOLETE extern void init_extra_frame_info ();
+// OBSOLETE
+// OBSOLETE /* Offset from address of function to start of its code.
+// OBSOLETE Zero on most machines. */
+// OBSOLETE
+// OBSOLETE #define FUNCTION_START_OFFSET 0
+// OBSOLETE
+// OBSOLETE /* Advance PC across any function entry prologue instructions
+// OBSOLETE to reach some "real" code. */
+// OBSOLETE
+// OBSOLETE extern CORE_ADDR m88k_skip_prologue (CORE_ADDR);
+// OBSOLETE #define SKIP_PROLOGUE(frompc) (m88k_skip_prologue (frompc))
+// OBSOLETE
+// OBSOLETE /* The m88k kernel aligns all instructions on 4-byte boundaries. The
+// OBSOLETE kernel also uses the least significant two bits for its own hocus
+// OBSOLETE pocus. When gdb receives an address from the kernel, it needs to
+// OBSOLETE preserve those right-most two bits, but gdb also needs to be careful
+// OBSOLETE to realize that those two bits are not really a part of the address
+// OBSOLETE of an instruction. Shrug. */
+// OBSOLETE
+// OBSOLETE extern CORE_ADDR m88k_addr_bits_remove (CORE_ADDR);
+// OBSOLETE #define ADDR_BITS_REMOVE(addr) m88k_addr_bits_remove (addr)
+// OBSOLETE
+// OBSOLETE /* Immediately after a function call, return the saved pc.
+// OBSOLETE Can't always go through the frames for this because on some machines
+// OBSOLETE the new frame is not set up until the new function executes
+// OBSOLETE some instructions. */
+// OBSOLETE
+// OBSOLETE #define SAVED_PC_AFTER_CALL(frame) \
+// OBSOLETE (ADDR_BITS_REMOVE (read_register (SRP_REGNUM)))
+// OBSOLETE
+// OBSOLETE /* Stack grows downward. */
+// OBSOLETE
+// OBSOLETE #define INNER_THAN(lhs,rhs) ((lhs) < (rhs))
+// OBSOLETE
+// OBSOLETE /* Sequence of bytes for breakpoint instruction. */
+// OBSOLETE
+// OBSOLETE /* instruction 0xF000D1FF is 'tb0 0,r0,511'
+// OBSOLETE If Bit bit 0 of r0 is clear (always true),
+// OBSOLETE initiate exception processing (trap).
+// OBSOLETE */
+// OBSOLETE #define BREAKPOINT {0xF0, 0x00, 0xD1, 0xFF}
+// OBSOLETE
+// OBSOLETE /* Amount PC must be decremented by after a breakpoint.
+// OBSOLETE This is often the number of bytes in BREAKPOINT
+// OBSOLETE but not always. */
+// OBSOLETE
+// OBSOLETE #define DECR_PC_AFTER_BREAK 0
+// OBSOLETE
+// OBSOLETE /* Say how long (ordinary) registers are. This is a piece of bogosity
+// OBSOLETE used in push_word and a few other places; REGISTER_RAW_SIZE is the
+// OBSOLETE real way to know how big a register is. */
+// OBSOLETE
+// OBSOLETE #define REGISTER_SIZE 4
+// OBSOLETE
+// OBSOLETE /* Number of machine registers */
+// OBSOLETE
+// OBSOLETE #define GP_REGS (38)
+// OBSOLETE #define FP_REGS (32)
+// OBSOLETE #define NUM_REGS (GP_REGS + FP_REGS)
+// OBSOLETE
+// OBSOLETE /* Initializer for an array of names of registers.
+// OBSOLETE There should be NUM_REGS strings in this initializer. */
+// OBSOLETE
+// OBSOLETE #define REGISTER_NAMES {\
+// OBSOLETE "r0",\
+// OBSOLETE "r1",\
+// OBSOLETE "r2",\
+// OBSOLETE "r3",\
+// OBSOLETE "r4",\
+// OBSOLETE "r5",\
+// OBSOLETE "r6",\
+// OBSOLETE "r7",\
+// OBSOLETE "r8",\
+// OBSOLETE "r9",\
+// OBSOLETE "r10",\
+// OBSOLETE "r11",\
+// OBSOLETE "r12",\
+// OBSOLETE "r13",\
+// OBSOLETE "r14",\
+// OBSOLETE "r15",\
+// OBSOLETE "r16",\
+// OBSOLETE "r17",\
+// OBSOLETE "r18",\
+// OBSOLETE "r19",\
+// OBSOLETE "r20",\
+// OBSOLETE "r21",\
+// OBSOLETE "r22",\
+// OBSOLETE "r23",\
+// OBSOLETE "r24",\
+// OBSOLETE "r25",\
+// OBSOLETE "r26",\
+// OBSOLETE "r27",\
+// OBSOLETE "r28",\
+// OBSOLETE "r29",\
+// OBSOLETE "r30",\
+// OBSOLETE "r31",\
+// OBSOLETE "psr",\
+// OBSOLETE "fpsr",\
+// OBSOLETE "fpcr",\
+// OBSOLETE "sxip",\
+// OBSOLETE "snip",\
+// OBSOLETE "sfip",\
+// OBSOLETE "x0",\
+// OBSOLETE "x1",\
+// OBSOLETE "x2",\
+// OBSOLETE "x3",\
+// OBSOLETE "x4",\
+// OBSOLETE "x5",\
+// OBSOLETE "x6",\
+// OBSOLETE "x7",\
+// OBSOLETE "x8",\
+// OBSOLETE "x9",\
+// OBSOLETE "x10",\
+// OBSOLETE "x11",\
+// OBSOLETE "x12",\
+// OBSOLETE "x13",\
+// OBSOLETE "x14",\
+// OBSOLETE "x15",\
+// OBSOLETE "x16",\
+// OBSOLETE "x17",\
+// OBSOLETE "x18",\
+// OBSOLETE "x19",\
+// OBSOLETE "x20",\
+// OBSOLETE "x21",\
+// OBSOLETE "x22",\
+// OBSOLETE "x23",\
+// OBSOLETE "x24",\
+// OBSOLETE "x25",\
+// OBSOLETE "x26",\
+// OBSOLETE "x27",\
+// OBSOLETE "x28",\
+// OBSOLETE "x29",\
+// OBSOLETE "x30",\
+// OBSOLETE "x31",\
+// OBSOLETE "vbr",\
+// OBSOLETE "dmt0",\
+// OBSOLETE "dmd0",\
+// OBSOLETE "dma0",\
+// OBSOLETE "dmt1",\
+// OBSOLETE "dmd1",\
+// OBSOLETE "dma1",\
+// OBSOLETE "dmt2",\
+// OBSOLETE "dmd2",\
+// OBSOLETE "dma2",\
+// OBSOLETE "sr0",\
+// OBSOLETE "sr1",\
+// OBSOLETE "sr2",\
+// OBSOLETE "sr3",\
+// OBSOLETE "fpecr",\
+// OBSOLETE "fphs1",\
+// OBSOLETE "fpls1",\
+// OBSOLETE "fphs2",\
+// OBSOLETE "fpls2",\
+// OBSOLETE "fppt",\
+// OBSOLETE "fprh",\
+// OBSOLETE "fprl",\
+// OBSOLETE "fpit",\
+// OBSOLETE "fpsr",\
+// OBSOLETE "fpcr",\
+// OBSOLETE }
+// OBSOLETE
+// OBSOLETE
+// OBSOLETE /* Register numbers of various important registers.
+// OBSOLETE Note that some of these values are "real" register numbers,
+// OBSOLETE and correspond to the general registers of the machine,
+// OBSOLETE and some are "phony" register numbers which are too large
+// OBSOLETE to be actual register numbers as far as the user is concerned
+// OBSOLETE but do serve to get the desired values when passed to read_register. */
+// OBSOLETE
+// OBSOLETE #define R0_REGNUM 0 /* Contains the constant zero */
+// OBSOLETE #define SRP_REGNUM 1 /* Contains subroutine return pointer */
+// OBSOLETE #define RV_REGNUM 2 /* Contains simple return values */
+// OBSOLETE #define SRA_REGNUM 12 /* Contains address of struct return values */
+// OBSOLETE #define SP_REGNUM 31 /* Contains address of top of stack */
+// OBSOLETE
+// OBSOLETE /* Instruction pointer notes...
+// OBSOLETE
+// OBSOLETE On the m88100:
+// OBSOLETE
+// OBSOLETE * cr04 = sxip. On exception, contains the excepting pc (probably).
+// OBSOLETE On rte, is ignored.
+// OBSOLETE
+// OBSOLETE * cr05 = snip. On exception, contains the NPC (next pc). On rte,
+// OBSOLETE pc is loaded from here.
+// OBSOLETE
+// OBSOLETE * cr06 = sfip. On exception, contains the NNPC (next next pc). On
+// OBSOLETE rte, the NPC is loaded from here.
+// OBSOLETE
+// OBSOLETE * lower two bits of each are flag bits. Bit 1 is V means address
+// OBSOLETE is valid. If address is not valid, bit 0 is ignored. Otherwise,
+// OBSOLETE bit 0 is E and asks for an exception to be taken if this
+// OBSOLETE instruction is executed.
+// OBSOLETE
+// OBSOLETE On the m88110:
+// OBSOLETE
+// OBSOLETE * cr04 = exip. On exception, contains the address of the excepting
+// OBSOLETE pc (always). On rte, pc is loaded from here. Bit 0, aka the D
+// OBSOLETE bit, is a flag saying that the offending instruction was in a
+// OBSOLETE branch delay slot. If set, then cr05 contains the NPC.
+// OBSOLETE
+// OBSOLETE * cr05 = enip. On exception, if the instruction pointed to by cr04
+// OBSOLETE was in a delay slot as indicated by the bit 0 of cr04, aka the D
+// OBSOLETE bit, the cr05 contains the NPC. Otherwise ignored.
+// OBSOLETE
+// OBSOLETE * cr06 is invalid */
+// OBSOLETE
+// OBSOLETE /* Note that the Harris Unix kernels emulate the m88100's behavior on
+// OBSOLETE the m88110. */
+// OBSOLETE
+// OBSOLETE #define SXIP_REGNUM 35 /* On m88100, Contains Shadow Execute
+// OBSOLETE Instruction Pointer. */
+// OBSOLETE #define SNIP_REGNUM 36 /* On m88100, Contains Shadow Next
+// OBSOLETE Instruction Pointer. */
+// OBSOLETE #define SFIP_REGNUM 37 /* On m88100, Contains Shadow Fetched
+// OBSOLETE Intruction pointer. */
+// OBSOLETE
+// OBSOLETE #define EXIP_REGNUM 35 /* On m88110, Contains Exception
+// OBSOLETE Executing Instruction Pointer. */
+// OBSOLETE #define ENIP_REGNUM 36 /* On m88110, Contains the Exception
+// OBSOLETE Next Instruction Pointer. */
+// OBSOLETE
+// OBSOLETE #define PC_REGNUM SXIP_REGNUM /* Program Counter */
+// OBSOLETE #define NPC_REGNUM SNIP_REGNUM /* Next Program Counter */
+// OBSOLETE #define M88K_NNPC_REGNUM SFIP_REGNUM /* Next Next Program Counter */
+// OBSOLETE
+// OBSOLETE
+// OBSOLETE #define PSR_REGNUM 32 /* Processor Status Register */
+// OBSOLETE #define FPSR_REGNUM 33 /* Floating Point Status Register */
+// OBSOLETE #define FPCR_REGNUM 34 /* Floating Point Control Register */
+// OBSOLETE #define XFP_REGNUM 38 /* First Extended Float Register */
+// OBSOLETE #define X0_REGNUM XFP_REGNUM /* Which also contains the constant zero */
+// OBSOLETE
+// OBSOLETE /* This is rather a confusing lie. Our m88k port using a stack pointer value
+// OBSOLETE for the frame address. Hence, the frame address and the frame pointer are
+// OBSOLETE only indirectly related. The value of this macro is the register number
+// OBSOLETE fetched by the machine "independent" portions of gdb when they want to know
+// OBSOLETE about a frame address. Thus, we lie here and claim that FP_REGNUM is
+// OBSOLETE SP_REGNUM. */
+// OBSOLETE #define FP_REGNUM SP_REGNUM /* Reg fetched to locate frame when pgm stops */
+// OBSOLETE #define ACTUAL_FP_REGNUM 30
+// OBSOLETE
+// OBSOLETE /* PSR status bit definitions. */
+// OBSOLETE
+// OBSOLETE #define PSR_MODE 0x80000000
+// OBSOLETE #define PSR_BYTE_ORDER 0x40000000
+// OBSOLETE #define PSR_SERIAL_MODE 0x20000000
+// OBSOLETE #define PSR_CARRY 0x10000000
+// OBSOLETE #define PSR_SFU_DISABLE 0x000003f0
+// OBSOLETE #define PSR_SFU1_DISABLE 0x00000008
+// OBSOLETE #define PSR_MXM 0x00000004
+// OBSOLETE #define PSR_IND 0x00000002
+// OBSOLETE #define PSR_SFRZ 0x00000001
+// OBSOLETE
+// OBSOLETE
+// OBSOLETE
+// OBSOLETE /* The following two comments come from the days prior to the m88110
+// OBSOLETE port. The m88110 handles the instruction pointers differently. I
+// OBSOLETE do not know what any m88110 kernels do as the m88110 port I'm
+// OBSOLETE working with is for an embedded system. rich@cygnus.com
+// OBSOLETE 13-sept-93. */
+// OBSOLETE
+// OBSOLETE /* BCS requires that the SXIP_REGNUM (or PC_REGNUM) contain the
+// OBSOLETE address of the next instr to be executed when a breakpoint occurs.
+// OBSOLETE Because the kernel gets the next instr (SNIP_REGNUM), the instr in
+// OBSOLETE SNIP needs to be put back into SFIP, and the instr in SXIP should
+// OBSOLETE be shifted to SNIP */
+// OBSOLETE
+// OBSOLETE /* Are you sitting down? It turns out that the 88K BCS (binary
+// OBSOLETE compatibility standard) folks originally felt that the debugger
+// OBSOLETE should be responsible for backing up the IPs, not the kernel (as is
+// OBSOLETE usually done). Well, they have reversed their decision, and in
+// OBSOLETE future releases our kernel will be handling the backing up of the
+// OBSOLETE IPs. So, eventually, we won't need to do the SHIFT_INST_REGS
+// OBSOLETE stuff. But, for now, since there are 88K systems out there that do
+// OBSOLETE need the debugger to do the IP shifting, and since there will be
+// OBSOLETE systems where the kernel does the shifting, the code is a little
+// OBSOLETE more complex than perhaps it needs to be (we still go inside
+// OBSOLETE SHIFT_INST_REGS, and if the shifting hasn't occurred then gdb goes
+// OBSOLETE ahead and shifts). */
+// OBSOLETE
+// OBSOLETE extern int target_is_m88110;
+// OBSOLETE #define SHIFT_INST_REGS() \
+// OBSOLETE if (!target_is_m88110) \
+// OBSOLETE { \
+// OBSOLETE CORE_ADDR pc = read_register (PC_REGNUM); \
+// OBSOLETE CORE_ADDR npc = read_register (NPC_REGNUM); \
+// OBSOLETE if (pc != npc) \
+// OBSOLETE { \
+// OBSOLETE write_register (M88K_NNPC_REGNUM, npc); \
+// OBSOLETE write_register (NPC_REGNUM, pc); \
+// OBSOLETE } \
+// OBSOLETE }
+// OBSOLETE
+// OBSOLETE /* Storing the following registers is a no-op. */
+// OBSOLETE #define CANNOT_STORE_REGISTER(regno) (((regno) == R0_REGNUM) \
+// OBSOLETE || ((regno) == X0_REGNUM))
+// OBSOLETE
+// OBSOLETE /* Number of bytes of storage in the actual machine representation
+// OBSOLETE for register N. On the m88k, the general purpose registers are 4
+// OBSOLETE bytes and the 88110 extended registers are 10 bytes. */
+// OBSOLETE
+// OBSOLETE #define REGISTER_RAW_SIZE(N) ((N) < XFP_REGNUM ? 4 : 10)
+// OBSOLETE
+// OBSOLETE /* Total amount of space needed to store our copies of the machine's
+// OBSOLETE register state, the array `registers'. */
+// OBSOLETE
+// OBSOLETE #define REGISTER_BYTES ((GP_REGS * REGISTER_RAW_SIZE(0)) \
+// OBSOLETE + (FP_REGS * REGISTER_RAW_SIZE(XFP_REGNUM)))
+// OBSOLETE
+// OBSOLETE /* Index within `registers' of the first byte of the space for
+// OBSOLETE register N. */
+// OBSOLETE
+// OBSOLETE #define REGISTER_BYTE(N) (((N) * REGISTER_RAW_SIZE(0)) \
+// OBSOLETE + ((N) >= XFP_REGNUM \
+// OBSOLETE ? (((N) - XFP_REGNUM) \
+// OBSOLETE * REGISTER_RAW_SIZE(XFP_REGNUM)) \
+// OBSOLETE : 0))
+// OBSOLETE
+// OBSOLETE /* Number of bytes of storage in the program's representation for
+// OBSOLETE register N. On the m88k, all registers are 4 bytes excepting the
+// OBSOLETE m88110 extended registers which are 8 byte doubles. */
+// OBSOLETE
+// OBSOLETE #define REGISTER_VIRTUAL_SIZE(N) ((N) < XFP_REGNUM ? 4 : 8)
+// OBSOLETE
+// OBSOLETE /* Largest value REGISTER_RAW_SIZE can have. */
+// OBSOLETE
+// OBSOLETE #define MAX_REGISTER_RAW_SIZE (REGISTER_RAW_SIZE(XFP_REGNUM))
+// OBSOLETE
+// OBSOLETE /* Largest value REGISTER_VIRTUAL_SIZE can have.
+// OBSOLETE Are FPS1, FPS2, FPR "virtual" regisers? */
+// OBSOLETE
+// OBSOLETE #define MAX_REGISTER_VIRTUAL_SIZE (REGISTER_RAW_SIZE(XFP_REGNUM))
+// OBSOLETE
+// OBSOLETE /* Return the GDB type object for the "standard" data type
+// OBSOLETE of data in register N. */
+// OBSOLETE
+// OBSOLETE struct type *m88k_register_type (int regnum);
+// OBSOLETE #define REGISTER_VIRTUAL_TYPE(N) m88k_register_type (N)
+// OBSOLETE
+// OBSOLETE /* The 88k call/return conventions call for "small" values to be returned
+// OBSOLETE into consecutive registers starting from r2. */
+// OBSOLETE
+// OBSOLETE #define DEPRECATED_EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
+// OBSOLETE memcpy ((VALBUF), &(((char *)REGBUF)[REGISTER_BYTE(RV_REGNUM)]), TYPE_LENGTH (TYPE))
+// OBSOLETE
+// OBSOLETE #define DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(int *)(REGBUF))
+// OBSOLETE
+// OBSOLETE /* Write into appropriate registers a function return value
+// OBSOLETE of type TYPE, given in virtual format. */
+// OBSOLETE
+// OBSOLETE #define STORE_RETURN_VALUE(TYPE,VALBUF) \
+// OBSOLETE write_register_bytes (2*REGISTER_RAW_SIZE(0), (VALBUF), TYPE_LENGTH (TYPE))
+// OBSOLETE
+// OBSOLETE /* In COFF, if PCC says a parameter is a short or a char, do not
+// OBSOLETE change it to int (it seems the convention is to change it). */
+// OBSOLETE
+// OBSOLETE #define BELIEVE_PCC_PROMOTION 1
+// OBSOLETE
+// OBSOLETE /* Describe the pointer in each stack frame to the previous stack frame
+// OBSOLETE (its caller). */
+// OBSOLETE
+// OBSOLETE /* FRAME_CHAIN takes a frame's nominal address
+// OBSOLETE and produces the frame's chain-pointer.
+// OBSOLETE
+// OBSOLETE However, if FRAME_CHAIN_VALID returns zero,
+// OBSOLETE it means the given frame is the outermost one and has no caller. */
+// OBSOLETE
+// OBSOLETE extern CORE_ADDR frame_chain ();
+// OBSOLETE extern int frame_chain_valid ();
+// OBSOLETE extern int frameless_function_invocation ();
+// OBSOLETE
+// OBSOLETE #define FRAME_CHAIN(thisframe) \
+// OBSOLETE frame_chain (thisframe)
+// OBSOLETE
+// OBSOLETE #define FRAMELESS_FUNCTION_INVOCATION(frame) \
+// OBSOLETE (frameless_function_invocation (frame))
+// OBSOLETE
+// OBSOLETE /* Define other aspects of the stack frame. */
+// OBSOLETE
+// OBSOLETE #define FRAME_SAVED_PC(FRAME) \
+// OBSOLETE frame_saved_pc (FRAME)
+// OBSOLETE extern CORE_ADDR frame_saved_pc ();
+// OBSOLETE
+// OBSOLETE #define FRAME_ARGS_ADDRESS(fi) \
+// OBSOLETE frame_args_address (fi)
+// OBSOLETE extern CORE_ADDR frame_args_address ();
+// OBSOLETE
+// OBSOLETE #define FRAME_LOCALS_ADDRESS(fi) \
+// OBSOLETE frame_locals_address (fi)
+// OBSOLETE extern CORE_ADDR frame_locals_address ();
+// OBSOLETE
+// OBSOLETE /* Return number of args passed to a frame.
+// OBSOLETE Can return -1, meaning no way to tell. */
+// OBSOLETE
+// OBSOLETE #define FRAME_NUM_ARGS(fi) (-1)
+// OBSOLETE
+// OBSOLETE /* Return number of bytes at start of arglist that are not really args. */
+// OBSOLETE
+// OBSOLETE #define FRAME_ARGS_SKIP 0
+// OBSOLETE
+// OBSOLETE /* Put here the code to store, into a struct frame_saved_regs,
+// OBSOLETE the addresses of the saved registers of frame described by FRAME_INFO.
+// OBSOLETE This includes special registers such as pc and fp saved in special
+// OBSOLETE ways in the stack frame. sp is even more special:
+// OBSOLETE the address we return for it IS the sp for the next frame. */
+// OBSOLETE
+// OBSOLETE /* On the 88k, parameter registers get stored into the so called "homing"
+// OBSOLETE area. This *always* happens when you compiled with GCC and use -g.
+// OBSOLETE Also, (with GCC and -g) the saving of the parameter register values
+// OBSOLETE always happens right within the function prologue code, so these register
+// OBSOLETE values can generally be relied upon to be already copied into their
+// OBSOLETE respective homing slots by the time you will normally try to look at
+// OBSOLETE them (we hope).
+// OBSOLETE
+// OBSOLETE Note that homing area stack slots are always at *positive* offsets from
+// OBSOLETE the frame pointer. Thus, the homing area stack slots for the parameter
+// OBSOLETE registers (passed values) for a given function are actually part of the
+// OBSOLETE frame area of the caller. This is unusual, but it should not present
+// OBSOLETE any special problems for GDB.
+// OBSOLETE
+// OBSOLETE Note also that on the 88k, we are only interested in finding the
+// OBSOLETE registers that might have been saved in memory. This is a subset of
+// OBSOLETE the whole set of registers because the standard calling sequence allows
+// OBSOLETE the called routine to clobber many registers.
+// OBSOLETE
+// OBSOLETE We could manage to locate values for all of the so called "preserved"
+// OBSOLETE registers (some of which may get saved within any particular frame) but
+// OBSOLETE that would require decoding all of the tdesc information. That would be
+// OBSOLETE nice information for GDB to have, but it is not strictly manditory if we
+// OBSOLETE can live without the ability to look at values within (or backup to)
+// OBSOLETE previous frames.
+// OBSOLETE */
+// OBSOLETE
+// OBSOLETE struct frame_saved_regs;
+// OBSOLETE struct frame_info;
+// OBSOLETE
+// OBSOLETE void frame_find_saved_regs (struct frame_info *fi,
+// OBSOLETE struct frame_saved_regs *fsr);
+// OBSOLETE
+// OBSOLETE #define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
+// OBSOLETE frame_find_saved_regs (frame_info, &frame_saved_regs)
+// OBSOLETE
+// OBSOLETE
+// OBSOLETE #define POP_FRAME pop_frame ()
+// OBSOLETE extern void pop_frame ();
+// OBSOLETE
+// OBSOLETE /* Call function stuff contributed by Kevin Buettner of Motorola. */
+// OBSOLETE
+// OBSOLETE #define CALL_DUMMY_LOCATION AFTER_TEXT_END
+// OBSOLETE
+// OBSOLETE extern void m88k_push_dummy_frame ();
+// OBSOLETE #define PUSH_DUMMY_FRAME m88k_push_dummy_frame()
+// OBSOLETE
+// OBSOLETE #define CALL_DUMMY { \
+// OBSOLETE 0x67ff00c0, /* 0: subu #sp,#sp,0xc0 */ \
+// OBSOLETE 0x243f0004, /* 4: st #r1,#sp,0x4 */ \
+// OBSOLETE 0x245f0008, /* 8: st #r2,#sp,0x8 */ \
+// OBSOLETE 0x247f000c, /* c: st #r3,#sp,0xc */ \
+// OBSOLETE 0x249f0010, /* 10: st #r4,#sp,0x10 */ \
+// OBSOLETE 0x24bf0014, /* 14: st #r5,#sp,0x14 */ \
+// OBSOLETE 0x24df0018, /* 18: st #r6,#sp,0x18 */ \
+// OBSOLETE 0x24ff001c, /* 1c: st #r7,#sp,0x1c */ \
+// OBSOLETE 0x251f0020, /* 20: st #r8,#sp,0x20 */ \
+// OBSOLETE 0x253f0024, /* 24: st #r9,#sp,0x24 */ \
+// OBSOLETE 0x255f0028, /* 28: st #r10,#sp,0x28 */ \
+// OBSOLETE 0x257f002c, /* 2c: st #r11,#sp,0x2c */ \
+// OBSOLETE 0x259f0030, /* 30: st #r12,#sp,0x30 */ \
+// OBSOLETE 0x25bf0034, /* 34: st #r13,#sp,0x34 */ \
+// OBSOLETE 0x25df0038, /* 38: st #r14,#sp,0x38 */ \
+// OBSOLETE 0x25ff003c, /* 3c: st #r15,#sp,0x3c */ \
+// OBSOLETE 0x261f0040, /* 40: st #r16,#sp,0x40 */ \
+// OBSOLETE 0x263f0044, /* 44: st #r17,#sp,0x44 */ \
+// OBSOLETE 0x265f0048, /* 48: st #r18,#sp,0x48 */ \
+// OBSOLETE 0x267f004c, /* 4c: st #r19,#sp,0x4c */ \
+// OBSOLETE 0x269f0050, /* 50: st #r20,#sp,0x50 */ \
+// OBSOLETE 0x26bf0054, /* 54: st #r21,#sp,0x54 */ \
+// OBSOLETE 0x26df0058, /* 58: st #r22,#sp,0x58 */ \
+// OBSOLETE 0x26ff005c, /* 5c: st #r23,#sp,0x5c */ \
+// OBSOLETE 0x271f0060, /* 60: st #r24,#sp,0x60 */ \
+// OBSOLETE 0x273f0064, /* 64: st #r25,#sp,0x64 */ \
+// OBSOLETE 0x275f0068, /* 68: st #r26,#sp,0x68 */ \
+// OBSOLETE 0x277f006c, /* 6c: st #r27,#sp,0x6c */ \
+// OBSOLETE 0x279f0070, /* 70: st #r28,#sp,0x70 */ \
+// OBSOLETE 0x27bf0074, /* 74: st #r29,#sp,0x74 */ \
+// OBSOLETE 0x27df0078, /* 78: st #r30,#sp,0x78 */ \
+// OBSOLETE 0x63df0000, /* 7c: addu #r30,#sp,0x0 */ \
+// OBSOLETE 0x145f0000, /* 80: ld #r2,#sp,0x0 */ \
+// OBSOLETE 0x147f0004, /* 84: ld #r3,#sp,0x4 */ \
+// OBSOLETE 0x149f0008, /* 88: ld #r4,#sp,0x8 */ \
+// OBSOLETE 0x14bf000c, /* 8c: ld #r5,#sp,0xc */ \
+// OBSOLETE 0x14df0010, /* 90: ld #r6,#sp,0x10 */ \
+// OBSOLETE 0x14ff0014, /* 94: ld #r7,#sp,0x14 */ \
+// OBSOLETE 0x151f0018, /* 98: ld #r8,#sp,0x18 */ \
+// OBSOLETE 0x153f001c, /* 9c: ld #r9,#sp,0x1c */ \
+// OBSOLETE 0x5c200000, /* a0: or.u #r1,#r0,0x0 */ \
+// OBSOLETE 0x58210000, /* a4: or #r1,#r1,0x0 */ \
+// OBSOLETE 0xf400c801, /* a8: jsr #r1 */ \
+// OBSOLETE 0xf000d1ff /* ac: tb0 0x0,#r0,0x1ff */ \
+// OBSOLETE }
+// OBSOLETE
+// OBSOLETE #define CALL_DUMMY_START_OFFSET 0x80
+// OBSOLETE #define CALL_DUMMY_LENGTH 0xb0
+// OBSOLETE
+// OBSOLETE /* FIXME: byteswapping. */
+// OBSOLETE #define FIX_CALL_DUMMY(dummy, pc, fun, nargs, args, type, gcc_p) \
+// OBSOLETE { \
+// OBSOLETE *(unsigned long *)((char *) (dummy) + 0xa0) |= \
+// OBSOLETE (((unsigned long) (fun)) >> 16); \
+// OBSOLETE *(unsigned long *)((char *) (dummy) + 0xa4) |= \
+// OBSOLETE (((unsigned long) (fun)) & 0xffff); \
+// OBSOLETE }
+// OBSOLETE
+// OBSOLETE /* Stack must be aligned on 64-bit boundaries when synthesizing
+// OBSOLETE function calls. */
+// OBSOLETE
+// OBSOLETE #define STACK_ALIGN(addr) (((addr) + 7) & -8)
+// OBSOLETE
+// OBSOLETE #define STORE_STRUCT_RETURN(addr, sp) \
+// OBSOLETE write_register (SRA_REGNUM, (addr))
+// OBSOLETE
+// OBSOLETE #define NEED_TEXT_START_END 1
+// OBSOLETE
+// OBSOLETE /* According to the MC88100 RISC Microprocessor User's Manual, section
+// OBSOLETE 6.4.3.1.2:
+// OBSOLETE
+// OBSOLETE ... can be made to return to a particular instruction by placing a
+// OBSOLETE valid instruction address in the SNIP and the next sequential
+// OBSOLETE instruction address in the SFIP (with V bits set and E bits clear).
+// OBSOLETE The rte resumes execution at the instruction pointed to by the
+// OBSOLETE SNIP, then the SFIP.
+// OBSOLETE
+// OBSOLETE The E bit is the least significant bit (bit 0). The V (valid) bit is
+// OBSOLETE bit 1. This is why we logical or 2 into the values we are writing
+// OBSOLETE below. It turns out that SXIP plays no role when returning from an
+// OBSOLETE exception so nothing special has to be done with it. We could even
+// OBSOLETE (presumably) give it a totally bogus value.
+// OBSOLETE
+// OBSOLETE -- Kevin Buettner
+// OBSOLETE */
+// OBSOLETE
+// OBSOLETE extern void m88k_target_write_pc (CORE_ADDR pc, ptid_t ptid);
+// OBSOLETE #define TARGET_WRITE_PC(VAL, PID) m88k_target_write_pc (VAL, PID)
diff --git a/gdb/config/m88k/xm-delta88.h b/gdb/config/m88k/xm-delta88.h
index 27c8fe2..df2b8e6 100644
--- a/gdb/config/m88k/xm-delta88.h
+++ b/gdb/config/m88k/xm-delta88.h
@@ -1,44 +1,44 @@
-/* Host machine description for Motorola Delta 88 system, for GDB.
- Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993
- 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. */
-
-#if !defined (USG)
-#define USG 1
-#endif
-
-#include <sys/param.h>
-#include <sys/time.h>
-
-#define HAVE_TERMIO
-
-/*#define USIZE 2048 */
-/*#define NBPG NBPC */
-/* Might be defined in <sys/param.h>. I suspect this define was a relic
- from before when BFD did core files. */
-/* #define UPAGES USIZE */
-
-/* This is the amount to subtract from u.u_ar0
- to get the offset in the core file of the register values. */
-
-/* Since registers r0 through r31 are stored directly in the struct ptrace_user,
- (for m88k BCS)
- the ptrace_user offsets are sufficient and KERNEL_U_ADDRESS can be 0 */
-
-#define KERNEL_U_ADDR 0
+// OBSOLETE /* Host machine description for Motorola Delta 88 system, for GDB.
+// OBSOLETE Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993
+// OBSOLETE Free Software Foundation, Inc.
+// OBSOLETE
+// OBSOLETE This file is part of GDB.
+// OBSOLETE
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2 of the License, or
+// OBSOLETE (at your option) any later version.
+// OBSOLETE
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE
+// OBSOLETE You should have received a copy of the GNU General Public License
+// OBSOLETE along with this program; if not, write to the Free Software
+// OBSOLETE Foundation, Inc., 59 Temple Place - Suite 330,
+// OBSOLETE Boston, MA 02111-1307, USA. */
+// OBSOLETE
+// OBSOLETE #if !defined (USG)
+// OBSOLETE #define USG 1
+// OBSOLETE #endif
+// OBSOLETE
+// OBSOLETE #include <sys/param.h>
+// OBSOLETE #include <sys/time.h>
+// OBSOLETE
+// OBSOLETE #define HAVE_TERMIO
+// OBSOLETE
+// OBSOLETE /*#define USIZE 2048 */
+// OBSOLETE /*#define NBPG NBPC */
+// OBSOLETE /* Might be defined in <sys/param.h>. I suspect this define was a relic
+// OBSOLETE from before when BFD did core files. */
+// OBSOLETE /* #define UPAGES USIZE */
+// OBSOLETE
+// OBSOLETE /* This is the amount to subtract from u.u_ar0
+// OBSOLETE to get the offset in the core file of the register values. */
+// OBSOLETE
+// OBSOLETE /* Since registers r0 through r31 are stored directly in the struct ptrace_user,
+// OBSOLETE (for m88k BCS)
+// OBSOLETE the ptrace_user offsets are sufficient and KERNEL_U_ADDRESS can be 0 */
+// OBSOLETE
+// OBSOLETE #define KERNEL_U_ADDR 0
diff --git a/gdb/config/m88k/xm-dgux.h b/gdb/config/m88k/xm-dgux.h
index b6f7f99..dc99f97 100644
--- a/gdb/config/m88k/xm-dgux.h
+++ b/gdb/config/m88k/xm-dgux.h
@@ -1,55 +1,55 @@
-/* Host-machine dependent parameters for Motorola 88000, for GDB.
- Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1998
- 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. */
-
-#if !defined (USG)
-#define USG 1
-#endif
-
-#include <sys/param.h>
-
-#ifdef __GNUC__
-#define memcpy __builtin_memcpy
-/* gcc doesn't have this, at least not gcc 1.92. */
-/* #define memset __builtin_memset */
-#define strcmp __builtin_strcmp
-#endif
-
-#define x_foff _x_x._x_offset
-#define x_fname _x_name
-#define USER ptrace_user
-#define _BSD_WAIT_FLAVOR
-
-#define HAVE_TERMIO
-
-#ifndef USIZE
-#define USIZE 2048
-#endif
-#define NBPG NBPC
-#define UPAGES USIZE
-
-/* This is the amount to subtract from u.u_ar0
- to get the offset in the core file of the register values. */
-
-/* Since registers r0 through r31 are stored directly in the struct ptrace_user,
- (for m88k BCS)
- the ptrace_user offsets are sufficient and KERNEL_U_ADDRESS can be 0 */
-
-#define KERNEL_U_ADDR 0
+// OBSOLETE /* Host-machine dependent parameters for Motorola 88000, for GDB.
+// OBSOLETE Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1998
+// OBSOLETE Free Software Foundation, Inc.
+// OBSOLETE
+// OBSOLETE This file is part of GDB.
+// OBSOLETE
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2 of the License, or
+// OBSOLETE (at your option) any later version.
+// OBSOLETE
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE
+// OBSOLETE You should have received a copy of the GNU General Public License
+// OBSOLETE along with this program; if not, write to the Free Software
+// OBSOLETE Foundation, Inc., 59 Temple Place - Suite 330,
+// OBSOLETE Boston, MA 02111-1307, USA. */
+// OBSOLETE
+// OBSOLETE #if !defined (USG)
+// OBSOLETE #define USG 1
+// OBSOLETE #endif
+// OBSOLETE
+// OBSOLETE #include <sys/param.h>
+// OBSOLETE
+// OBSOLETE #ifdef __GNUC__
+// OBSOLETE #define memcpy __builtin_memcpy
+// OBSOLETE /* gcc doesn't have this, at least not gcc 1.92. */
+// OBSOLETE /* #define memset __builtin_memset */
+// OBSOLETE #define strcmp __builtin_strcmp
+// OBSOLETE #endif
+// OBSOLETE
+// OBSOLETE #define x_foff _x_x._x_offset
+// OBSOLETE #define x_fname _x_name
+// OBSOLETE #define USER ptrace_user
+// OBSOLETE #define _BSD_WAIT_FLAVOR
+// OBSOLETE
+// OBSOLETE #define HAVE_TERMIO
+// OBSOLETE
+// OBSOLETE #ifndef USIZE
+// OBSOLETE #define USIZE 2048
+// OBSOLETE #endif
+// OBSOLETE #define NBPG NBPC
+// OBSOLETE #define UPAGES USIZE
+// OBSOLETE
+// OBSOLETE /* This is the amount to subtract from u.u_ar0
+// OBSOLETE to get the offset in the core file of the register values. */
+// OBSOLETE
+// OBSOLETE /* Since registers r0 through r31 are stored directly in the struct ptrace_user,
+// OBSOLETE (for m88k BCS)
+// OBSOLETE the ptrace_user offsets are sufficient and KERNEL_U_ADDRESS can be 0 */
+// OBSOLETE
+// OBSOLETE #define KERNEL_U_ADDR 0