aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-rw-r--r--gdb/Convex.notes163
-rw-r--r--gdb/nm-apollo68b.h23
-rw-r--r--gdb/nm-apollo68v.h20
-rw-r--r--gdb/nm-hp300bsd.h97
-rw-r--r--gdb/nm-hp300hpux.h26
-rw-r--r--gdb/nm-hppab.h25
-rw-r--r--gdb/nm-hppah.h24
-rw-r--r--gdb/nm-i386bsd.h34
-rw-r--r--gdb/nm-i386mach.h25
-rw-r--r--gdb/nm-i386sco.h42
-rw-r--r--gdb/nm-i386sco4.h32
-rw-r--r--gdb/nm-i386v.h36
-rw-r--r--gdb/nm-i386v4.h20
-rw-r--r--gdb/nm-irix3.h31
-rw-r--r--gdb/nm-irix4.h31
-rw-r--r--gdb/nm-linux.h25
-rw-r--r--gdb/nm-m88k.h24
-rw-r--r--gdb/nm-mips.h31
-rw-r--r--gdb/nm-news.h20
-rw-r--r--gdb/nm-rs6000.h30
-rw-r--r--gdb/nm-sun2.h33
-rw-r--r--gdb/nm-sun3.h26
-rw-r--r--gdb/nm-sun386.h26
-rw-r--r--gdb/nm-sun4os4.h27
-rw-r--r--gdb/nm-sysv4.h28
-rw-r--r--gdb/nm-trash.h2
-rw-r--r--gdb/nm-ultra3.h26
-rw-r--r--gdb/nm-umax.h54
-rw-r--r--gdb/nm-vax.h28
-rw-r--r--gdb/tm-29k.h709
-rw-r--r--gdb/tm-3b1.h29
-rw-r--r--gdb/tm-68k-fp.h66
-rw-r--r--gdb/tm-68k-nofp.h64
-rw-r--r--gdb/tm-68k.h525
-rw-r--r--gdb/tm-altos.h54
-rw-r--r--gdb/tm-amix.h77
-rw-r--r--gdb/tm-arm.h400
-rw-r--r--gdb/tm-bigmips.h21
-rw-r--r--gdb/tm-convex.h538
-rw-r--r--gdb/tm-delta88.h27
-rw-r--r--gdb/tm-es1800.h60
-rw-r--r--gdb/tm-h8300.h305
-rw-r--r--gdb/tm-h8500.h293
-rw-r--r--gdb/tm-hp300bsd.h50
-rw-r--r--gdb/tm-hp300hpux.h31
-rw-r--r--gdb/tm-hppa.h589
-rw-r--r--gdb/tm-hppab.h6
-rw-r--r--gdb/tm-hppah.h41
-rw-r--r--gdb/tm-i386bsd.h28
-rw-r--r--gdb/tm-i386v.h313
-rw-r--r--gdb/tm-i386v4.h69
-rw-r--r--gdb/tm-i860.h469
-rw-r--r--gdb/tm-i960.h386
-rw-r--r--gdb/tm-irix3.h317
-rw-r--r--gdb/tm-isi.h156
-rw-r--r--gdb/tm-linux.h26
-rw-r--r--gdb/tm-m88k.h398
-rw-r--r--gdb/tm-merlin.h339
-rw-r--r--gdb/tm-mips.h380
-rw-r--r--gdb/tm-news.h85
-rw-r--r--gdb/tm-nindy960.h104
-rw-r--r--gdb/tm-np1.h502
-rw-r--r--gdb/tm-os68k.h47
-rw-r--r--gdb/tm-pn.h423
-rw-r--r--gdb/tm-pyr.h509
-rw-r--r--gdb/tm-rs6000.h584
-rw-r--r--gdb/tm-sparc.h586
-rw-r--r--gdb/tm-spc-em.h46
-rw-r--r--gdb/tm-st2000.h22
-rw-r--r--gdb/tm-stratus.h27
-rw-r--r--gdb/tm-sun2.h27
-rw-r--r--gdb/tm-sun2os4.h20
-rw-r--r--gdb/tm-sun3.h67
-rw-r--r--gdb/tm-sun386.h315
-rw-r--r--gdb/tm-sun3os4.h21
-rw-r--r--gdb/tm-sun4os4.h47
-rw-r--r--gdb/tm-sun4sol2.h67
-rw-r--r--gdb/tm-sunos.h21
-rw-r--r--gdb/tm-symmetry.h401
-rw-r--r--gdb/tm-sysv4.h45
-rw-r--r--gdb/tm-tahoe.h309
-rw-r--r--gdb/tm-ultra3.h226
-rw-r--r--gdb/tm-umax.h383
-rw-r--r--gdb/tm-vax.h356
-rw-r--r--gdb/tm-vx68.h78
-rw-r--r--gdb/tm-vx960.h42
-rw-r--r--gdb/tm-z8k.h306
-rw-r--r--gdb/xm-3b1.h85
-rw-r--r--gdb/xm-altos.h202
-rw-r--r--gdb/xm-amix.h45
-rwxr-xr-xgdb/xm-apollo68b.h24
-rw-r--r--gdb/xm-apollo68v.h44
-rw-r--r--gdb/xm-arm.h88
-rw-r--r--gdb/xm-bigmips.h21
-rw-r--r--gdb/xm-convex.h38
-rw-r--r--gdb/xm-delta88.h44
-rw-r--r--gdb/xm-go32.h32
-rw-r--r--gdb/xm-hp300bsd.h103
-rw-r--r--gdb/xm-hp300hpux.h173
-rw-r--r--gdb/xm-hppab.h42
-rw-r--r--gdb/xm-hppah.h51
-rw-r--r--gdb/xm-i386bsd.h31
-rw-r--r--gdb/xm-i386mach.h43
-rw-r--r--gdb/xm-i386sco.h46
-rw-r--r--gdb/xm-i386v.h45
-rw-r--r--gdb/xm-i386v32.h28
-rw-r--r--gdb/xm-i386v4.h45
-rw-r--r--gdb/xm-i860.h21
-rw-r--r--gdb/xm-irix3.h32
-rw-r--r--gdb/xm-irix4.h41
-rw-r--r--gdb/xm-isi.h92
-rw-r--r--gdb/xm-linux.h26
-rw-r--r--gdb/xm-m68k.h22
-rw-r--r--gdb/xm-m88k.h62
-rw-r--r--gdb/xm-merlin.h64
-rw-r--r--gdb/xm-mips.h65
-rw-r--r--gdb/xm-news.h140
-rw-r--r--gdb/xm-news1000.h26
-rw-r--r--gdb/xm-np1.h97
-rw-r--r--gdb/xm-pn.h90
-rw-r--r--gdb/xm-pyr.h96
-rw-r--r--gdb/xm-rs6000.h109
-rw-r--r--gdb/xm-rtbsd.h43
-rw-r--r--gdb/xm-sparc.h38
-rw-r--r--gdb/xm-stratus.h40
-rw-r--r--gdb/xm-sun2.h82
-rw-r--r--gdb/xm-sun3.h85
-rw-r--r--gdb/xm-sun386.h34
-rw-r--r--gdb/xm-sun3os4.h48
-rw-r--r--gdb/xm-sun4os4.h53
-rw-r--r--gdb/xm-sun4sol2.h67
-rw-r--r--gdb/xm-symmetry.h245
-rw-r--r--gdb/xm-sysv4.h55
-rw-r--r--gdb/xm-tahoe.h140
-rw-r--r--gdb/xm-ultra3.h56
-rw-r--r--gdb/xm-umax.h26
-rw-r--r--gdb/xm-vax.h85
-rw-r--r--gdb/xm-vaxbsd.h10
-rw-r--r--gdb/xm-vaxult.h6
-rw-r--r--gdb/xm-vaxult2.h7
140 files changed, 0 insertions, 16774 deletions
diff --git a/gdb/Convex.notes b/gdb/Convex.notes
deleted file mode 100644
index 28d336b..0000000
--- a/gdb/Convex.notes
+++ /dev/null
@@ -1,163 +0,0 @@
-
-@node Convex,,, Top
-@appendix Convex-specific info
-@cindex Convex notes
-
-Scalar registers are 64 bits long, which is a pain since
-left half of an S register frequently contains noise.
-Therefore there are two ways to obtain the value of an S register.
-
-@table @kbd
-@item $s0
-returns the low half of the register as an int
-
-@item $S0
-returns the whole register as a long long
-@end table
-
-You can print the value in floating point by using @samp{p/f $s0} or @samp{p/f $S0}
-to print a single or double precision value.
-
-@cindex vector registers
-Vector registers are handled similarly, with @samp{$V0} denoting the whole
-64-bit register and @kbd{$v0} denoting the 32-bit low half; @samp{p/f $v0}
-or @samp{p/f $V0} can be used to examine the register in floating point.
-The length of the vector registers is taken from @samp{$vl}.
-
-Individual elements of a vector register are denoted in the obvious way;
-@samp{print $v3[9]} prints the tenth element of register @kbd{v3}, and
-@samp{set $v3[9] = 1234} alters it.
-
-@kbd{$vl} and @kbd{$vs} are int, and @kbd{$vm} is an int vector.
-Elements of @kbd{$vm} can't be assigned to.
-
-@cindex communication registers
-@kindex info comm-registers
-Communication registers have names @kbd{$C0 .. $C63}, with @kbd{$c0 .. $c63}
-denoting the low-order halves. @samp{info comm-registers} will print them
-all out, and tell which are locked. (A communication register is
-locked when a value is sent to it, and unlocked when the value is
-received.) Communication registers are, of course, global to all
-threads, so it does not matter what the currently selected thread is.
-@samp{info comm-reg @var{name}} prints just that one communication
-register; @samp{name} may also be a communication register number
-@samp{nn} or @samp{0xnn}.
-@samp{info comm-reg @var{address}} prints the contents of the resource
-structure at that address.
-
-@kindex info psw
-The command @samp{info psw} prints the processor status word @kbd{$ps}
-bit by bit.
-
-@kindex set base
-GDB normally prints all integers in base 10, but the leading
-@kbd{0x80000000} of pointers is intolerable in decimal, so the default
-output radix has been changed to try to print addresses appropriately.
-The @samp{set base} command can be used to change this.
-
-@table @code
-@item set base 10
-Integer values always print in decimal.
-
-@item set base 16
-Integer values always print in hex.
-
-@item set base
-Go back to the initial state, which prints integer values in hex if they
-look like pointers (specifically, if they start with 0x8 or 0xf in the
-stack), otherwise in decimal.
-@end table
-
-@kindex set pipeline
-When an exception such as a bus error or overflow happens, usually the PC
-is several instructions ahead by the time the exception is detected.
-The @samp{set pipe} command will disable this.
-
-@table @code
-@item set pipeline off
-Forces serial execution of instructions; no vector chaining and no
-scalar instruction overlap. With this, exceptions are detected with
-the PC pointing to the instruction after the one in error.
-
-@item set pipeline on
-Returns to normal, fast, execution. This is the default.
-@end table
-
-@cindex parallel
-In a parallel program, multiple threads may be executing, each
-with its own registers, stack, and local memory. When one of them
-hits a breakpoint, that thread is selected. Other threads do
-not run while the thread is in the breakpoint.
-
-@kindex 1cont
-The selected thread can be single-stepped, given signals, and so
-on. Any other threads remain stopped. When a @samp{cont} command is given,
-all threads are resumed. To resume just the selected thread, use
-the command @samp{1cont}.
-
-@kindex thread
-The @samp{thread} command will show the active threads and the
-instruction they are about to execute. The selected thread is marked
-with an asterisk. The command @samp{thread @var{n}} will select thread @var{n},
-shifting the debugger's attention to it for single-stepping,
-registers, local memory, and so on.
-
-@kindex info threads
-The @samp{info threads} command will show what threads, if any, have
-invisibly hit breakpoints or signals and are waiting to be noticed.
-
-@kindex set parallel
-The @samp{set parallel} command controls how many threads can be active.
-
-@table @code
-@item set parallel off
-One thread. Requests by the program that other threads join in
-(spawn and pfork instructions) do not cause other threads to start up.
-This does the same thing as the @samp{limit concurrency 1} command.
-
-@item set parallel fixed
-All CPUs are assigned to your program whenever it runs. When it
-executes a pfork or spawn instruction, it begins parallel execution
-immediately. This does the same thing as the @samp{mpa -f} command.
-
-@item set parallel on
-One or more threads. Spawn and pfork cause CPUs to join in when and if
-they are free. This is the default. It is very good for system
-throughput, but not very good for finding bugs in parallel code. If you
-suspect a bug in parallel code, you probably want @samp{set parallel fixed.}
-@end table
-
-@subsection Limitations
-
-WARNING: Convex GDB evaluates expressions in long long, because S
-registers are 64 bits long. However, GDB expression semantics are not
-exactly C semantics. This is a bug, strictly speaking, but it's not one I
-know how to fix. If @samp{x} is a program variable of type int, then it
-is also type int to GDB, but @samp{x + 1} is long long, as is @samp{x + y}
-or any other expression requiring computation. So is the expression
-@samp{1}, or any other constant. You only really have to watch out for
-calls. The innocuous expression @samp{list_node (0x80001234)} has an
-argument of type long long. You must explicitly cast it to int.
-
-It is not possible to continue after an uncaught fatal signal by using
-@samp{signal 0}, @samp{return}, @samp{jump}, or anything else. The difficulty is with
-Unix, not GDB.
-
-I have made no big effort to make such things as single-stepping a
-@kbd{join} instruction do something reasonable. If the program seems to
-hang when doing this, type @kbd{ctrl-c} and @samp{cont}, or use
-@samp{thread} to shift to a live thread. Single-stepping a @kbd{spawn}
-instruction apparently causes new threads to be born with their T bit set;
-this is not handled gracefully. When a thread has hit a breakpoint, other
-threads may have invisibly hit the breakpoint in the background; if you
-clear the breakpoint gdb will be surprised when threads seem to continue
-to stop at it. All of these situations produce spurious signal 5 traps;
-if this happens, just type @samp{cont}. If it becomes a nuisance, use
-@samp{handle 5 nostop}. (It will ask if you are sure. You are.)
-
-There is no way in GDB to store a float in a register, as with
-@kbd{set $s0 = 3.1416}. The identifier @kbd{$s0} denotes an integer,
-and like any C expression which assigns to an integer variable, the
-right-hand side is casted to type int. If you should need to do
-something like this, you can assign the value to @kbd{@{float@} ($sp-4)}
-and then do @kbd{set $s0 = $sp[-4]}. Same deal with @kbd{set $v0[69] = 6.9}.
diff --git a/gdb/nm-apollo68b.h b/gdb/nm-apollo68b.h
index ba2998a..e69de29 100644
--- a/gdb/nm-apollo68b.h
+++ b/gdb/nm-apollo68b.h
@@ -1,23 +0,0 @@
-/* Macro defintions for an Apollo 68k in BSD mode
- Copyright (C) 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define PTRACE_IN_WRONG_PLACE
-
-#define FETCH_INFERIOR_REGISTERS
-
diff --git a/gdb/nm-apollo68v.h b/gdb/nm-apollo68v.h
index 6c83f38..e69de29 100644
--- a/gdb/nm-apollo68v.h
+++ b/gdb/nm-apollo68v.h
@@ -1,20 +0,0 @@
-/* Macro defintions for an Apollo.
- Copyright (C) 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define FETCH_INFERIOR_REGISTERS
diff --git a/gdb/nm-hp300bsd.h b/gdb/nm-hp300bsd.h
index 3531842..e69de29 100644
--- a/gdb/nm-hp300bsd.h
+++ b/gdb/nm-hp300bsd.h
@@ -1,97 +0,0 @@
-/* Parameters for Hewlett-Packard 9000/300 native support under bsd.
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* This is a hack. This is only a hack. Were this a common source file,
- rather than a config file specific to BSD on HP 68k's, you would have
- been instructed to clean this up. As it is, clean it up if FSF's
- HP's-running-ancient-BSD ever go away. */
-
-#include <errno.h>
-#ifdef EPROCUNAVAIL
- /* BSD 4.4 alpha or better */
-
- /* We can attach to processes using ptrace. */
-
-#define ATTACH_DETACH
-#define PTRACE_ATTACH 10
-#define PTRACE_DETACH 11
-
- /* The third argument of ptrace is declared as this type. */
-
-#define PTRACE_ARG3_TYPE caddr_t
-
-/* U_REGS_OFFSET is the offset of the registers within the u area for
- ptrace purposes. */
-#define U_REGS_OFFSET \
- ptrace (PT_READ_U, inferior_pid, \
- (PTRACE_ARG3_TYPE) \
- (offsetof (struct user, u_kproc.kp_proc.p_md.md_regs)), 0) \
- - USRSTACK
-
- /* This is a piece of magic that is given a register number REGNO
- and as BLOCKEND the address in the system of the end of the user structure
- and stores in ADDR the address in the kernel or core dump
- of that register. */
-
-#define REGISTER_U_ADDR(addr, blockend, regno) \
-{ \
- if (regno < PS_REGNUM) \
- addr = (int) &((struct frame *)(blockend))->f_regs[regno]; \
- else if (regno == PS_REGNUM) \
- addr = (int) &((struct frame *)(blockend))->f_stackadj; \
- else if (regno == PC_REGNUM) \
- addr = (int) &((struct frame *)(blockend))->f_pc; \
- else if (regno < FPC_REGNUM) \
- addr = (int) \
- &((struct user *)0)->u_pcb.pcb_fpregs.fpf_regs[((regno)-FP0_REGNUM)*3];\
- else if (regno == FPC_REGNUM) \
- addr = (int) &((struct user *)0)->u_pcb.pcb_fpregs.fpf_fpcr; \
- else if (regno == FPS_REGNUM) \
- addr = (int) &((struct user *)0)->u_pcb.pcb_fpregs.fpf_fpsr; \
- else \
- addr = (int) &((struct user *)0)->u_pcb.pcb_fpregs.fpf_fpiar; \
-}
-#else
-
-/* THIS IS BSD 4.3 or something like it. */
-
-/* This is a piece of magic that is given a register number REGNO
- and as BLOCKEND the address in the system of the end of the user structure
- and stores in ADDR the address in the kernel or core dump
- of that register. */
-
-#define REGISTER_U_ADDR(addr, blockend, regno) \
-{ \
- if (regno < PS_REGNUM) \
- addr = (int) &((struct frame *)(blockend))->f_regs[regno]; \
- else if (regno == PS_REGNUM) \
- addr = (int) &((struct frame *)(blockend))->f_stackadj; \
- else if (regno == PC_REGNUM) \
- addr = (int) &((struct frame *)(blockend))->f_pc; \
- else if (regno < FPC_REGNUM) \
- addr = (int) \
- &((struct user *)0)->u_pcb.pcb_fpregs.fpf_regs[((regno)-FP0_REGNUM)*3];\
- else if (regno == FPC_REGNUM) \
- addr = (int) &((struct user *)0)->u_pcb.pcb_fpregs.fpf_fpcr; \
- else if (regno == FPS_REGNUM) \
- addr = (int) &((struct user *)0)->u_pcb.pcb_fpregs.fpf_fpsr; \
- else \
- addr = (int) &((struct user *)0)->u_pcb.pcb_fpregs.fpf_fpiar; \
-}
-#endif
diff --git a/gdb/nm-hp300hpux.h b/gdb/nm-hp300hpux.h
index 060f792..e69de29 100644
--- a/gdb/nm-hp300hpux.h
+++ b/gdb/nm-hp300hpux.h
@@ -1,26 +0,0 @@
-/* Parameters for native support on HP 9000 model 320, for GDB, the GNU debugger.
- Copyright (C) 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* Do implement the attach and detach commands. */
-
-#define ATTACH_DETACH
-
-/* fetch_inferior_registers is in nat-hp300hpux.c. */
-#define FETCH_INFERIOR_REGISTERS
-
diff --git a/gdb/nm-hppab.h b/gdb/nm-hppab.h
index 9dccb8f..e69de29 100644
--- a/gdb/nm-hppab.h
+++ b/gdb/nm-hppab.h
@@ -1,25 +0,0 @@
-/* HPPA PA-RISC machine native support for BSD, for GDB.
- Copyright 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define U_REGS_OFFSET 0
-
-/* What a coincidence! */
-#define REGISTER_U_ADDR(addr, blockend, regno) \
-{ addr = (int)(blockend) + REGISTER_BYTE (regno);}
-
diff --git a/gdb/nm-hppah.h b/gdb/nm-hppah.h
index 6977a12..e69de29 100644
--- a/gdb/nm-hppah.h
+++ b/gdb/nm-hppah.h
@@ -1,24 +0,0 @@
-/* Native support for HPPA-RISC machine running HPUX, for GDB.
- Copyright 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define U_REGS_OFFSET 0
-
-/* What a coincidence! */
-#define REGISTER_U_ADDR(addr, blockend, regno) \
-{ addr = (int)(blockend) + REGISTER_BYTE (regno);}
diff --git a/gdb/nm-i386bsd.h b/gdb/nm-i386bsd.h
index ec71b54..e69de29 100644
--- a/gdb/nm-i386bsd.h
+++ b/gdb/nm-i386bsd.h
@@ -1,34 +0,0 @@
-/* Native-dependent definitions for Intel 386 running BSD Unix, for GDB.
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* This is the amount to subtract from u.u_ar0
- to get the offset in the core file of the register values. */
-
-#include <machine/vmparam.h>
-#define KERNEL_U_ADDR USRSTACK
-
-#undef FLOAT_INFO /* No float info yet */
-
-#define REGISTER_U_ADDR(addr, blockend, regno) \
- (addr) = i386_register_u_addr ((blockend),(regno));
-
-extern int
-i386_register_u_addr PARAMS ((int, int));
-
-#define PTRACE_ARG3_TYPE char*
diff --git a/gdb/nm-i386mach.h b/gdb/nm-i386mach.h
index 73f08a1..e69de29 100644
--- a/gdb/nm-i386mach.h
+++ b/gdb/nm-i386mach.h
@@ -1,25 +0,0 @@
-/* Native definitions for Mach on an Intel 386
- Copyright (C) 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* Do implement the attach and detach commands. */
-/* #define ATTACH_DETACH 1 */
-
-/* Override copies of {fetch,store}_inferior_registers in infptrace.c. */
-#define FETCH_INFERIOR_REGISTERS
-
diff --git a/gdb/nm-i386sco.h b/gdb/nm-i386sco.h
index 63f4a28..e69de29 100644
--- a/gdb/nm-i386sco.h
+++ b/gdb/nm-i386sco.h
@@ -1,42 +0,0 @@
-/* Native support for i386.
- Copyright 1986, 1987, 1989, 1992 Free Software Foundation, Inc.
- Changes for 80386 by Pace Willisson (pace@prep.ai.mit.edu), July 1988.
-
-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. */
-
-#if 0
-/* code to execute to print interesting information about the
- floating point processor (if any)
- No need to define if there is nothing to do.
- On the 386, unfortunately this code is host-dependent (and lives
- in the i386-xdep.c file), so we can't
- do this unless we *know* we aren't cross-debugging. FIXME.
- */
-#define FLOAT_INFO { i386_float_info (); }
-#endif /*0*/
-
-#define REGISTER_U_ADDR(addr, blockend, regno) \
- (addr) = i386_register_u_addr ((blockend),(regno));
-
-extern int
-i386_register_u_addr PARAMS ((int, int));
-
-/*
- * SysV doesn't always have a <ptrace.h> or <sys/ptrace.h> file
- * (why, I don't know), and we don't need it.
- */
-#define NO_PTRACE_H
diff --git a/gdb/nm-i386sco4.h b/gdb/nm-i386sco4.h
index 3637a05..e69de29 100644
--- a/gdb/nm-i386sco4.h
+++ b/gdb/nm-i386sco4.h
@@ -1,32 +0,0 @@
-/* Native support for SCO 3.2v4.
- Copyright 1993 Free Software Foundation, Inc.
- Contributed by Cygnus Support. By Ian Lance Taylor
- <ian@cygnus.com> based on work by Martin Walker <maw@netcom.com>.
-
-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. */
-
-/* SCO 3.2v4 is actually just like SCO 3.2v2, except that it
- additionally supports attaching to a process. */
-
-#include "nm-i386sco.h"
-
-#define ATTACH_DETACH
-
-/* SCO, in its wisdom, does not provide <sys/ptrace.h>. infptrace.c
- does not have defaults for these values. */
-#define PTRACE_ATTACH 10
-#define PTRACE_DETACH 11
diff --git a/gdb/nm-i386v.h b/gdb/nm-i386v.h
index 8a7c6c7..e69de29 100644
--- a/gdb/nm-i386v.h
+++ b/gdb/nm-i386v.h
@@ -1,36 +0,0 @@
-/* Native support for i386.
- Copyright 1986, 1987, 1989, 1992 Free Software Foundation, Inc.
- Changes for 80386 by Pace Willisson (pace@prep.ai.mit.edu), July 1988.
-
-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. */
-
-#if 0
-/* code to execute to print interesting information about the
- floating point processor (if any)
- No need to define if there is nothing to do.
- On the 386, unfortunately this code is host-dependent (and lives
- in the i386-xdep.c file), so we can't
- do this unless we *know* we aren't cross-debugging. FIXME.
- */
-#define FLOAT_INFO { i386_float_info (); }
-#endif /*0*/
-
-#define REGISTER_U_ADDR(addr, blockend, regno) \
- (addr) = i386_register_u_addr ((blockend),(regno));
-
-extern int
-i386_register_u_addr PARAMS ((int, int));
diff --git a/gdb/nm-i386v4.h b/gdb/nm-i386v4.h
index 749510b..e69de29 100644
--- a/gdb/nm-i386v4.h
+++ b/gdb/nm-i386v4.h
@@ -1,20 +0,0 @@
-/* Native support for i386 running SVR4.
- Copyright 1986, 1987, 1989, 1992 Free Software Foundation, Inc.
- Changes for 80386 by Pace Willisson (pace@prep.ai.mit.edu), July 1988.
-
-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. */
-
diff --git a/gdb/nm-irix3.h b/gdb/nm-irix3.h
index 0b77e5f..e69de29 100644
--- a/gdb/nm-irix3.h
+++ b/gdb/nm-irix3.h
@@ -1,31 +0,0 @@
-/* Definitions for SGI irix3 native support.
- Copyright 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* Don't need special routines for Irix v3 -- we can use infptrace.c */
-#undef FETCH_INFERIOR_REGISTERS
-
-#define U_REGS_OFFSET 0
-
-/* Figure out where the longjmp will land. We expect that we have just entered
- longjmp and haven't yet setup the stack frame, so the args are still in the
- argument regs. a0 (CALL_ARG0) points at the jmp_buf structure from which we
- extract the pc (JB_PC) that we will land at. The pc is copied into ADDR.
- This routine returns true on success */
-
-#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR)
diff --git a/gdb/nm-irix4.h b/gdb/nm-irix4.h
index 340dade..e69de29 100644
--- a/gdb/nm-irix4.h
+++ b/gdb/nm-irix4.h
@@ -1,31 +0,0 @@
-/* Definitions for native support of irix4.
-
-Copyright (C) 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/*
- * Let's use /debug instead of all this dangerous mucking about
- * with ptrace(), which seems *extremely* fragile, anyway.
- */
-#define USE_PROC_FS
-#define PROC_NAME_FMT "/debug/%d"
-
-/* Don't need special routines for the SGI -- we can use infptrace.c */
-#undef FETCH_INFERIOR_REGISTERS
-
-#define U_REGS_OFFSET 0
diff --git a/gdb/nm-linux.h b/gdb/nm-linux.h
index cdb279d..e69de29 100644
--- a/gdb/nm-linux.h
+++ b/gdb/nm-linux.h
@@ -1,25 +0,0 @@
-/* Native support for linux, for GDB, the GNU debugger.
- Copyright (C) 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#include "nm-i386v.h"
-
-/* Tell gdb that we can attach and detach other processes */
-#define ATTACH_DETACH
-
-#define U_REGS_OFFSET 0
diff --git a/gdb/nm-m88k.h b/gdb/nm-m88k.h
index 105615c..e69de29 100644
--- a/gdb/nm-m88k.h
+++ b/gdb/nm-m88k.h
@@ -1,24 +0,0 @@
-/* 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define FETCH_INFERIOR_REGISTERS
-
-#define REGISTER_U_ADDR(addr, blockend, regno) \
- (addr) = m88k_register_u_addr ((blockend),(regno));
diff --git a/gdb/nm-mips.h b/gdb/nm-mips.h
index cba5d8d..e69de29 100644
--- a/gdb/nm-mips.h
+++ b/gdb/nm-mips.h
@@ -1,31 +0,0 @@
-/* Definitions for GDB on mips.
- Copyright (C) 1986, 1987, 1989, 1992 Free Software Foundation, Inc.
- Contributed by Per Bothner(bothner@cs.wisc.edu) at U.Wisconsin
- and by Alessandro Forin(af@cs.cmu.edu) at CMU
-
-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. */
-
-/* Override copies of {fetch,store}_inferior_registers in infptrace.c. */
-#define FETCH_INFERIOR_REGISTERS
-
-/* Figure out where the longjmp will land. We expect that we have just entered
- longjmp and haven't yet setup the stack frame, so the args are still in the
- argument regs. a0 (CALL_ARG0) points at the jmp_buf structure from which we
- extract the pc (JB_PC) that we will land at. The pc is copied into ADDR.
- This routine returns true on success */
-
-#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR)
diff --git a/gdb/nm-news.h b/gdb/nm-news.h
index 881b734..e69de29 100644
--- a/gdb/nm-news.h
+++ b/gdb/nm-news.h
@@ -1,20 +0,0 @@
-/* Parameters for execution on a Sony/NEWS, for GDB, the GNU debugger.
- Copyright 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* This file intentionally empty. */
diff --git a/gdb/nm-rs6000.h b/gdb/nm-rs6000.h
index baa878d..e69de29 100644
--- a/gdb/nm-rs6000.h
+++ b/gdb/nm-rs6000.h
@@ -1,30 +0,0 @@
-/* IBM RS/6000 native-dependent macros for GDB, the GNU debugger.
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* Do implement the attach and detach commands. */
-
-#define ATTACH_DETACH
-
-#define PTRACE_ATTACH PT_ATTACH
-#define PTRACE_DETACH PT_DETACH
-
-/* Override copies of {fetch,store}_inferior_registers in infptrace.c. */
-
-#define FETCH_INFERIOR_REGISTERS
-
diff --git a/gdb/nm-sun2.h b/gdb/nm-sun2.h
index 65ecaed..e69de29 100644
--- a/gdb/nm-sun2.h
+++ b/gdb/nm-sun2.h
@@ -1,33 +0,0 @@
-/* Parameters for execution on a Sun2, for GDB, the GNU debugger.
- Copyright (C) 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* Do implement the attach and detach commands. */
-
-#define ATTACH_DETACH
-
-/* Override copies of {fetch,store}_inferior_registers in infptrace.c. */
-#define FETCH_INFERIOR_REGISTERS
-
-/* This is a piece of magic that is given a register number REGNO
- and as BLOCKEND the address in the system of the end of the user structure
- and stores in ADDR the address in the kernel or core dump
- of that register. */
-
-#define REGISTER_U_ADDR(addr, blockend, regno) \
-{ addr = blockend + regno * 4; }
diff --git a/gdb/nm-sun3.h b/gdb/nm-sun3.h
index 31972bb..e69de29 100644
--- a/gdb/nm-sun3.h
+++ b/gdb/nm-sun3.h
@@ -1,26 +0,0 @@
-/* Host-dependent definitions for Sun-3 for GDB, the GNU debugger.
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* Do implement the attach and detach commands. */
-
-#define ATTACH_DETACH
-
-/* Override copies of {fetch,store}_inferior_registers in infptrace.c. */
-
-#define FETCH_INFERIOR_REGISTERS
diff --git a/gdb/nm-sun386.h b/gdb/nm-sun386.h
index 1512c6e..e69de29 100644
--- a/gdb/nm-sun386.h
+++ b/gdb/nm-sun386.h
@@ -1,26 +0,0 @@
-/* Native support for Sun 386i, for GDB, the GNU debugger.
- Copyright (C) 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* Do implement the attach and detach commands. */
-
-#define ATTACH_DETACH
-
-/* Override copies of {fetch,store}_inferior_registers in infptrace.c. */
-#define FETCH_INFERIOR_REGISTERS
-
diff --git a/gdb/nm-sun4os4.h b/gdb/nm-sun4os4.h
index d871289..e69de29 100644
--- a/gdb/nm-sun4os4.h
+++ b/gdb/nm-sun4os4.h
@@ -1,27 +0,0 @@
-/* Macro definitions for running gdb on a Sun 4 running sunos 4.
- Copyright (C) 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* Do implement the attach and detach commands. */
-
-#define ATTACH_DETACH
-
-/* Override copies of {fetch,store}_inferior_registers in infptrace.c. */
-
-#define FETCH_INFERIOR_REGISTERS
-
diff --git a/gdb/nm-sysv4.h b/gdb/nm-sysv4.h
index 4aff700..e69de29 100644
--- a/gdb/nm-sysv4.h
+++ b/gdb/nm-sysv4.h
@@ -1,28 +0,0 @@
-/* Definitions for running gdb on a host machine running any flavor of SVR4.
- Copyright 1991, 1992 Free Software Foundation, Inc.
- Written by Fred Fish at Cygnus Support (fnf@cygnus.com).
-
-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. */
-
-/* SVR4 has /proc support, so use it instead of ptrace. */
-
-#define USE_PROC_FS
-
-/* SVR4 machines can easily do attach and detach via /proc (procfs.c)
- support */
-
-#define ATTACH_DETACH
diff --git a/gdb/nm-trash.h b/gdb/nm-trash.h
index 38bed5a..e69de29 100644
--- a/gdb/nm-trash.h
+++ b/gdb/nm-trash.h
@@ -1,2 +0,0 @@
-/* this file is temporary scaffolding until all hosts have the
- native/target/host split in place. FIXME. */
diff --git a/gdb/nm-ultra3.h b/gdb/nm-ultra3.h
index e593729..e69de29 100644
--- a/gdb/nm-ultra3.h
+++ b/gdb/nm-ultra3.h
@@ -1,26 +0,0 @@
-/* Host definitions for GDB running on a 29k NYU Ultracomputer
- Copyright (C) 1986, 1987, 1989, 1991, 1992 Free Software Foundation, Inc.
- Contributed by David Wood (wood@lab.ultra.nyu.edu).
-
-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. */
-
-/* If we ever *do* end up using the standard fetch_inferior_registers,
- this is the right value for U_REGS_OFFSET. */
-#define U_REGS_OFFSET 0
-
-/* Override copies of {fetch,store}_inferior_registers in infptrace.c. */
-#define FETCH_INFERIOR_REGISTERS
diff --git a/gdb/nm-umax.h b/gdb/nm-umax.h
index eb8326e..e69de29 100644
--- a/gdb/nm-umax.h
+++ b/gdb/nm-umax.h
@@ -1,54 +0,0 @@
-/* Definitions to make GDB run on an encore under umax 4.2
- Copyright 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* Do implement the attach and detach commands... */
-#define ATTACH_DETACH
-
-/* Offset of registers within u area. */
-#define U_REGS_OFFSET 0
-
-/* called from register_addr() -- blockend not used for now */
-#define REGISTER_U_ADDR(addr, blockend, regno) \
-{ \
- switch (regno) { \
- case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: \
- addr = PU_R0 - (regno * sizeof (int)); break; \
- case SP_REGNUM: \
- addr = PU_SP; break; \
- case PC_REGNUM: \
- addr = PU_PC; break; \
- case FP_REGNUM: \
- addr = PU_FP; break; \
- case PS_REGNUM: \
- addr = PU_PSL; break; \
- case FPS_REGNUM: \
- addr = PU_FSR; break; \
- case FP0_REGNUM + 0: case FP0_REGNUM + 1: \
- case FP0_REGNUM + 2: case FP0_REGNUM + 3: \
- case FP0_REGNUM + 4: case FP0_REGNUM + 5: \
- case FP0_REGNUM + 6: case FP0_REGNUM + 7: \
- addr = PU_F0 + (regno - FP0_REGNUM) * sizeof (float); break; \
- case LP0_REGNUM + 0: case LP0_REGNUM + 1: \
- case LP0_REGNUM + 2: case LP0_REGNUM + 3: \
- addr = PU_F0 + (regno - LP0_REGNUM) * sizeof (double); break; \
- default: \
- printf ("bad argument to REGISTER_U_ADDR %d\n", regno); \
- abort (); \
- } \
-}
diff --git a/gdb/nm-vax.h b/gdb/nm-vax.h
index efbfd02..e69de29 100644
--- a/gdb/nm-vax.h
+++ b/gdb/nm-vax.h
@@ -1,28 +0,0 @@
-/* Common definitions for GDB native support on Vaxen under 4.2bsd and Ultrix.
- Copyright (C) 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define REGISTER_U_ADDR(addr, blockend, regno) \
-{ addr = blockend - 0110 + regno * 4; \
- if (regno == PC_REGNUM) addr = blockend - 8; \
- if (regno == PS_REGNUM) addr = blockend - 4; \
- if (regno == FP_REGNUM) addr = blockend - 0120; \
- if (regno == AP_REGNUM) addr = blockend - 0124; \
- if (regno == SP_REGNUM) addr = blockend - 20; }
-
-
diff --git a/gdb/tm-29k.h b/gdb/tm-29k.h
deleted file mode 100644
index 206f9d4..0000000
--- a/gdb/tm-29k.h
+++ /dev/null
@@ -1,709 +0,0 @@
-/* Parameters for target machine of AMD 29000, for GDB, the GNU debugger.
- Copyright 1990, 1991, 1993 Free Software Foundation, Inc.
- Contributed by Cygnus Support. Written by Jim Kingdon.
-
-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. */
-
-/* Parameters for an EB29K (a board which plugs into a PC and is
- accessed through EBMON software running on the PC, which we
- use as we'd use a remote stub (see remote-eb.c).
-
- If gdb is ported to other 29k machines/systems, the
- machine/system-specific parts should be removed from this file (a
- la tm-68k.h). */
-
-/* Byte order is configurable, but this machine runs big-endian. */
-#define TARGET_BYTE_ORDER BIG_ENDIAN
-
-/* Floating point uses IEEE representations. */
-#define IEEE_FLOAT
-
-/* Recognize our magic number. */
-#define BADMAG(x) ((x).f_magic != 0572)
-
-/* 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. */
-
-#define SKIP_PROLOGUE(pc) \
- { pc = skip_prologue (pc); }
-CORE_ADDR skip_prologue ();
-
-/* Immediately after a function call, return the saved pc.
- Can't 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) (read_register (LR0_REGNUM))
-
-/* I'm not sure about the exact value of this, but based on looking
- at the stack pointer when we get to main this seems to be right.
-
- This is the register stack; We call it "CONTROL" in GDB for consistency
- with Pyramid. */
-#define CONTROL_END_ADDR 0x80200000
-
-/* Memory stack. This is for the default register stack size, which is
- only 0x800 bytes. Perhaps we should let the user specify stack sizes
- (and tell EBMON with the "ZS" command). */
-#define STACK_END_ADDR 0x801ff800
-
-/* Stack grows downward. */
-
-#define INNER_THAN <
-
-/* Stack must be aligned on 32-bit word boundaries. */
-#define STACK_ALIGN(ADDR) (((ADDR) + 3) & ~3)
-
-/* Sequence of bytes for breakpoint instruction. */
-/* ASNEQ 0x50, gr1, gr1
- The trap number 0x50 is chosen arbitrarily.
- We let the command line (or previously included files) override this
- setting. */
-#ifndef BREAKPOINT
-#if TARGET_BYTE_ORDER == BIG_ENDIAN
-#define BREAKPOINT {0x72, 0x50, 0x01, 0x01}
-#else /* Target is little-endian. */
-#define BREAKPOINT {0x01, 0x01, 0x50, 0x72}
-#endif /* Target is little-endian. */
-#endif /* BREAKPOINT */
-
-/* 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
-
-/* Nonzero if instruction at PC is a return instruction.
- On the 29k, this is a "jmpi l0" instruction. */
-
-#define ABOUT_TO_RETURN(pc) \
- ((read_memory_integer (pc, 4) & 0xff0000ff) == 0xc0000080)
-
-/* Return 1 if P points to an invalid floating point value. */
-
-#define INVALID_FLOAT(p, len) 0 /* Just a first guess; not checked */
-
-/* Say how long (ordinary) registers are. */
-
-#define REGISTER_TYPE long
-
-/* Allow the register declarations here to be overridden for remote
- kernel debugging. */
-#if !defined (REGISTER_NAMES)
-
-/* Number of machine registers */
-
-#define NUM_REGS 205
-
-/* Initializer for an array of names of registers.
- There should be NUM_REGS strings in this initializer.
-
- FIXME, add floating point registers and support here.
-
- Also note that this list does not attempt to deal with kernel
- debugging (in which the first 32 registers are gr64-gr95). */
-
-#define REGISTER_NAMES \
-{"gr96", "gr97", "gr98", "gr99", "gr100", "gr101", "gr102", "gr103", "gr104", \
- "gr105", "gr106", "gr107", "gr108", "gr109", "gr110", "gr111", "gr112", \
- "gr113", "gr114", "gr115", "gr116", "gr117", "gr118", "gr119", "gr120", \
- "gr121", "gr122", "gr123", "gr124", "gr125", "gr126", "gr127", \
- "lr0", "lr1", "lr2", "lr3", "lr4", "lr5", "lr6", "lr7", "lr8", "lr9", \
- "lr10", "lr11", "lr12", "lr13", "lr14", "lr15", "lr16", "lr17", "lr18", \
- "lr19", "lr20", "lr21", "lr22", "lr23", "lr24", "lr25", "lr26", "lr27", \
- "lr28", "lr29", "lr30", "lr31", "lr32", "lr33", "lr34", "lr35", "lr36", \
- "lr37", "lr38", "lr39", "lr40", "lr41", "lr42", "lr43", "lr44", "lr45", \
- "lr46", "lr47", "lr48", "lr49", "lr50", "lr51", "lr52", "lr53", "lr54", \
- "lr55", "lr56", "lr57", "lr58", "lr59", "lr60", "lr61", "lr62", "lr63", \
- "lr64", "lr65", "lr66", "lr67", "lr68", "lr69", "lr70", "lr71", "lr72", \
- "lr73", "lr74", "lr75", "lr76", "lr77", "lr78", "lr79", "lr80", "lr81", \
- "lr82", "lr83", "lr84", "lr85", "lr86", "lr87", "lr88", "lr89", "lr90", \
- "lr91", "lr92", "lr93", "lr94", "lr95", "lr96", "lr97", "lr98", "lr99", \
- "lr100", "lr101", "lr102", "lr103", "lr104", "lr105", "lr106", "lr107", \
- "lr108", "lr109", "lr110", "lr111", "lr112", "lr113", "lr114", "lr115", \
- "lr116", "lr117", "lr118", "lr119", "lr120", "lr121", "lr122", "lr123", \
- "lr124", "lr125", "lr126", "lr127", \
- "AI0", "AI1", "AI2", "AI3", "AI4", "AI5", "AI6", "AI7", "AI8", "AI9", \
- "AI10", "AI11", "AI12", "AI13", "AI14", "AI15", "FP", \
- "bp", "fc", "cr", "q", \
- "vab", "ops", "cps", "cfg", "cha", "chd", "chc", "rbp", "tmc", "tmr", \
- "pc0", "pc1", "pc2", "mmu", "lru", "fpe", "inte", "fps", "exo", "gr1", \
- "alu", "ipc", "ipa", "ipb" }
-
-/*
- * Converts an sdb register number to an internal gdb register number.
- * Currently under epi, gr96->0...gr127->31...lr0->32...lr127->159, or...
- * gr64->0...gr95->31, lr0->32...lr127->159.
- */
-#define SDB_REG_TO_REGNUM(value) \
- (((value) >= 96 && (value) <= 127) ? ((value) - 96) : \
- ((value) >= 128 && (value) <= 255) ? ((value) - 128 + LR0_REGNUM) : \
- (value))
-
-/*
- * Provide the processor register numbers of some registers that are
- * expected/written in instructions that might change under different
- * register sets. Namely, gcc can compile (-mkernel-registers) so that
- * it uses gr64-gr95 in stead of gr96-gr127.
- */
-#define MSP_HW_REGNUM 125 /* gr125 */
-#define RAB_HW_REGNUM 126 /* gr126 */
-
-/* Convert Processor Special register #x to REGISTER_NAMES register # */
-#define SR_REGNUM(x) \
- ((x) < 15 ? VAB_REGNUM + (x) \
- : (x) >= 128 && (x) < 131 ? IPC_REGNUM + (x) - 128 \
- : (x) == 131 ? Q_REGNUM \
- : (x) == 132 ? ALU_REGNUM \
- : (x) >= 133 && (x) < 136 ? BP_REGNUM + (x) - 133 \
- : (x) >= 160 && (x) < 163 ? FPE_REGNUM + (x) - 160 \
- : (x) == 164 ? EXO_REGNUM \
- : (error ("Internal error in SR_REGNUM"), 0))
-#define GR96_REGNUM 0
-/* Define the return register separately, so it can be overridden for
- kernel procedure calling conventions. */
-#define RETURN_REGNUM GR96_REGNUM
-#define GR1_REGNUM 200
-/* This needs to be the memory stack pointer, not the register stack pointer,
- to make call_function work right. */
-#define SP_REGNUM MSP_REGNUM
-#define FP_REGNUM 33 /* lr1 */
-/* Large Return Pointer (gr123). */
-#define LRP_REGNUM (123 - 96 + GR96_REGNUM)
-/* Static link pointer (gr124). */
-#define SLP_REGNUM (124 - 96 + GR96_REGNUM)
-/* Memory Stack Pointer (gr125). */
-#define MSP_REGNUM (125 - 96 + GR96_REGNUM)
-/* Register allocate bound (gr126). */
-#define RAB_REGNUM (126 - 96 + GR96_REGNUM)
-/* Register Free Bound (gr127). */
-#define RFB_REGNUM (127 - 96 + GR96_REGNUM)
-/* Register Stack Pointer. */
-#define RSP_REGNUM GR1_REGNUM
-#define LR0_REGNUM 32
-#define BP_REGNUM 177
-#define FC_REGNUM 178
-#define CR_REGNUM 179
-#define Q_REGNUM 180
-#define VAB_REGNUM 181
-#define OPS_REGNUM (VAB_REGNUM + 1)
-#define CPS_REGNUM (VAB_REGNUM + 2)
-#define CFG_REGNUM (VAB_REGNUM + 3)
-#define CHA_REGNUM (VAB_REGNUM + 4)
-#define CHD_REGNUM (VAB_REGNUM + 5)
-#define CHC_REGNUM (VAB_REGNUM + 6)
-#define RBP_REGNUM (VAB_REGNUM + 7)
-#define TMC_REGNUM (VAB_REGNUM + 8)
-#define TMR_REGNUM (VAB_REGNUM + 9)
-#define NPC_REGNUM (VAB_REGNUM + 10) /* pc0 */
-#define PC_REGNUM (VAB_REGNUM + 11) /* pc1 */
-#define PC2_REGNUM (VAB_REGNUM + 12)
-#define MMU_REGNUM (VAB_REGNUM + 13)
-#define LRU_REGNUM (VAB_REGNUM + 14)
-#define FPE_REGNUM (VAB_REGNUM + 15)
-#define INTE_REGNUM (VAB_REGNUM + 16)
-#define FPS_REGNUM (VAB_REGNUM + 17)
-#define EXO_REGNUM (VAB_REGNUM + 18)
-/* gr1 is defined above as 200 = VAB_REGNUM + 19 */
-#define ALU_REGNUM (VAB_REGNUM + 20)
-#define PS_REGNUM ALU_REGNUM
-#define IPC_REGNUM (VAB_REGNUM + 21)
-#define IPA_REGNUM (VAB_REGNUM + 22)
-#define IPB_REGNUM (VAB_REGNUM + 23)
-
-#endif /* !defined(REGISTER_NAMES) */
-
-/* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'. */
-#define REGISTER_BYTES (NUM_REGS * 4)
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-#define REGISTER_BYTE(N) ((N)*4)
-
-/* Number of bytes of storage in the actual machine representation
- for register N. */
-
-/* All regs are 4 bytes. */
-
-#define REGISTER_RAW_SIZE(N) (4)
-
-/* Number of bytes of storage in the program's representation
- for register N. */
-
-/* All regs are 4 bytes. */
-
-#define REGISTER_VIRTUAL_SIZE(N) (4)
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE (4)
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE (4)
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) (0)
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
-{ bcopy ((FROM), (TO), 4); }
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
-{ bcopy ((FROM), (TO), 4); }
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-#define REGISTER_VIRTUAL_TYPE(N) \
- (((N) == PC_REGNUM || (N) == LRP_REGNUM || (N) == SLP_REGNUM \
- || (N) == MSP_REGNUM || (N) == RAB_REGNUM || (N) == RFB_REGNUM \
- || (N) == GR1_REGNUM || (N) == FP_REGNUM || (N) == LR0_REGNUM \
- || (N) == NPC_REGNUM || (N) == PC2_REGNUM) \
- ? lookup_pointer_type (builtin_type_void) : builtin_type_int)
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-/* On the 29k the LRP points to the part of the structure beyond the first
- 16 words. */
-#define STORE_STRUCT_RETURN(ADDR, SP) \
- write_register (LRP_REGNUM, (ADDR) + 16 * 4);
-
-/* Should call_function allocate stack space for a struct return? */
-/* On the 29k objects over 16 words require the caller to allocate space. */
-#define USE_STRUCT_CONVENTION(gcc_p, type) (TYPE_LENGTH (type) > 16 * 4)
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- { \
- int reg_length = TYPE_LENGTH (TYPE); \
- if (reg_length > 16 * 4) \
- { \
- reg_length = 16 * 4; \
- read_memory (*((int *)(REGBUF) + LRP_REGNUM), (VALBUF) + 16 * 4, \
- TYPE_LENGTH (TYPE) - 16 * 4); \
- } \
- bcopy (((int *)(REGBUF))+RETURN_REGNUM, (VALBUF), reg_length); \
- }
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- { \
- int reg_length = TYPE_LENGTH (TYPE); \
- if (reg_length > 16 * 4) \
- { \
- reg_length = 16 * 4; \
- write_memory (read_register (LRP_REGNUM), \
- (char *)(VALBUF) + 16 * 4, \
- TYPE_LENGTH (TYPE) - 16 * 4); \
- } \
- write_register_bytes (REGISTER_BYTE (RETURN_REGNUM), (char *)(VALBUF), \
- TYPE_LENGTH (TYPE)); \
- }
-
-/* The am29k user's guide documents well what the stacks look like.
- But what isn't so clear there is how this interracts with the
- symbols, or with GDB.
- In the following saved_msp, saved memory stack pointer (which functions
- as a memory frame pointer), means either
- a register containing the memory frame pointer or, in the case of
- functions with fixed size memory frames (i.e. those who don't use
- alloca()), the result of the calculation msp + msize.
-
- LOC_ARG, LOC_LOCAL - For GCC, these are relative to saved_msp.
- For high C, these are relative to msp (making alloca impossible).
- LOC_REGISTER, LOC_REGPARM - The register number is the number at the
- time the function is running (after the prologue), or in the case
- of LOC_REGPARM, may be a register number in the range 160-175.
-
- The compilers do things like store an argument into memory, and then put out
- a LOC_ARG for it, or put it into global registers and put out a
- LOC_REGPARM. Thus is it important to execute the first line of
- code (i.e. the line of the open brace, i.e. the prologue) of a function
- before trying to print arguments or anything.
-
- The following diagram attempts to depict what is going on in memory
- (see also the _am29k user's guide_) and also how that interacts with
- GDB frames. We arbitrarily pick fci->frame to point the same place
- as the register stack pointer; since we set it ourself in
- INIT_EXTRA_FRAME_INFO, and access it only through the FRAME_*
- macros, it doesn't really matter exactly how we
- do it. However, note that FRAME_FP is used in two ways in GDB:
- (1) as a "magic cookie" which uniquely identifies frames (even over
- calls to the inferior), (2) (in PC_IN_CALL_DUMMY [ON_STACK])
- as the value of SP_REGNUM before the dummy frame was pushed. These
- two meanings would be incompatible for the 29k if we defined
- CALL_DUMMY_LOCATION == ON_STACK (but we don't, so don't worry about it).
- Also note that "lr1" below, while called a frame pointer
- in the user's guide, has only one function: To determine whether
- registers need to be filled in the function epilogue.
-
- Consider the code:
- < call bar>
- loc1: . . .
- bar: sub gr1,gr1,rsize_b
- . . .
- add mfp,msp,0
- sub msp,msp,msize_b
- . . .
- < call foo >
- loc2: . . .
- foo: sub gr1,gr1,rsize_f
- . . .
- add mfp,msp,0
- sub msp,msp,msize_f
- . . .
- loc3: < suppose the inferior stops here >
-
- memory stack register stack
- | | |____________|
- | | |____loc1____|
- +------->|___________| | | ^
- | | ^ | | locals_b | |
- | | | | |____________| |
- | | | | | | | rsize_b
- | | | msize_b | | args_to_f | |
- | | | | |____________| |
- | | | | |____lr1_____| V
- | | V | |____loc2____|<----------------+
- | +--->|___________|<---------mfp | ^ |
- | | | ^ | | locals_f | | |
- | | | | msize_f | |____________| | |
- | | | | | | | | rsize_f |
- | | | V | | args | | |
- | | |___________|<msp |____________| | |
- | | |_____lr1____| V |
- | | |___garbage__| <- gr1 <----+ |
- | | | |
- | | | |
- | | pc=loc3 | |
- | | | |
- | | | |
- | | frame cache | |
- | | |_________________| | |
- | | |rsize=rsize_b | | |
- | | |msize=msize_b | | |
- +---|--------saved_msp | | |
- | |frame------------------------------------|---+
- | |pc=loc2 | |
- | |_________________| |
- | |rsize=rsize_f | |
- | |msize=msize_f | |
- +--------saved_msp | |
- |frame------------------------------------+
- |pc=loc3 |
- |_________________|
-
- So, is that sufficiently confusing? Welcome to the 29000.
- Notes:
- * The frame for foo uses a memory frame pointer but the frame for
- bar does not. In the latter case the saved_msp is
- computed by adding msize to the saved_msp of the
- next frame.
- * msize is in the frame cache only for high C's sake. */
-
-void read_register_stack ();
-long read_register_stack_integer ();
-
-#define EXTRA_FRAME_INFO \
- CORE_ADDR saved_msp; \
- unsigned int rsize; \
- unsigned int msize; \
- unsigned char flags;
-
-/* Bits for flags in EXTRA_FRAME_INFO */
-#define TRANSPARENT 0x1 /* This is a transparent frame */
-#define MFP_USED 0x2 /* A memory frame pointer is used */
-
-/* Because INIT_FRAME_PC gets passed fromleaf, that's where we init
- not only ->pc and ->frame, but all the extra stuff, when called from
- get_prev_frame_info, that is. */
-#define INIT_EXTRA_FRAME_INFO(fromleaf, fci) init_extra_frame_info(fci)
-void init_extra_frame_info ();
-
-#define INIT_FRAME_PC(fromleaf, fci) init_frame_pc(fromleaf, fci)
-void init_frame_pc ();
-
-
-/* FRAME_CHAIN takes a FRAME
- 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. */
-
-/* On the 29k, the nominal address of a frame is the address on the
- register stack of the return address (the one next to the incoming
- arguments, not down at the bottom so nominal address == stack pointer).
-
- GDB expects "nominal address" to equal contents of FP_REGNUM,
- at least when it comes time to create the innermost frame.
- However, that doesn't work for us, so when creating the innermost
- frame we set ->frame ourselves in INIT_EXTRA_FRAME_INFO. */
-
-/* These are mostly dummies for the 29k because INIT_FRAME_PC
- sets prev->frame instead. */
-#define FRAME_CHAIN(thisframe) ((thisframe)->frame + (thisframe)->rsize)
-
-/* Determine if the frame has a 'previous' and back-traceable frame. */
-#define FRAME_IS_UNCHAINED(frame) ((frame)->flags & TRANSPARENT)
-
-/* Find the previous frame of a transparent routine.
- * For now lets not try and trace through a transparent routine (we might
- * have to assume that all transparent routines are traps).
- */
-#define FIND_PREV_UNCHAINED_FRAME(frame) 0
-
-/* Define other aspects of the stack frame. */
-
-/* A macro that tells us whether the function invocation represented
- by FI does not have a frame on the stack associated with it. If it
- does not, FRAMELESS is set to 1, else 0. */
-#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) \
- (FRAMELESS) = frameless_look_for_prologue(FI)
-
-/* Saved pc (i.e. return address). */
-#define FRAME_SAVED_PC(fraim) \
- (read_register_stack_integer ((fraim)->frame + (fraim)->rsize, 4))
-
-/* Local variables (i.e. LOC_LOCAL) are on the memory stack, with their
- offsets being relative to the memory stack pointer (high C) or
- saved_msp (gcc). */
-
-#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. */
-/* While we could go the effort of finding the tags word and getting
- the argcount field from it,
- (1) It only counts arguments in registers, i.e. the first 16 words
- of arguments
- (2) It gives the number of arguments the function was declared with
- not how many it was called with (or some variation, like all 16
- words for varadic functions). This makes argcount pretty much
- redundant with -g info, even for varadic functions.
- So don't bother. */
-#define FRAME_NUM_ARGS(numargs, fi) ((numargs) = -1)
-
-#define FRAME_ARGS_ADDRESS(fi) FRAME_LOCALS_ADDRESS (fi)
-
-/* Return number of bytes at start of arglist that are not really args. */
-
-#define FRAME_ARGS_SKIP 0
-
-/* Provide our own get_saved_register. HAVE_REGISTER_WINDOWS is insufficient
- because registers get renumbered on the 29k without getting saved. */
-
-#define GET_SAVED_REGISTER
-
-/* Call function stuff. */
-
-/* The dummy frame looks like this (see also the general frame picture
- above):
-
- register stack
-
- | | frame for function
- | locals_sproc | executing at time
- |________________| of call_function.
- | | We must not disturb
- | args_out_sproc | it.
- memory stack |________________|
- |____lr1_sproc___|<-+
- | | |__retaddr_sproc_| | <-- gr1 (at start)
- |____________|<-msp 0 <-----------mfp_dummy_____| |
- | | (at start) | save regs | |
- | arg_slop | | pc0,pc1 | |
- | (16 words) | | gr96-gr124 | |
- |____________|<-msp 1--after | sr160-sr162 | |
- | | PUSH_DUMMY_FRAME| sr128-sr135 | |
- | struct ret | |________________| |
- | 17+ | | | |
- |____________|<- lrp | args_out_dummy | |
- | struct ret | | (16 words) | |
- | 16 | |________________| |
- | (16 words) | |____lr1_dummy___|--+
- |____________|<- msp 2--after |_retaddr_dummy__|<- gr1 after
- | | struct ret | | PUSH_DUMMY_FRAME
- | margs17+ | area allocated | locals_inf |
- | | |________________| called
- |____________|<- msp 4--when | | function's
- | | inf called | args_out_inf | frame (set up
- | margs16 | |________________| by called
- | (16 words) | |_____lr1_inf____| function).
- |____________|<- msp 3--after | . |
- | | args pushed | . |
- | | | . |
- | |
-
- arg_slop: This area is so that when the call dummy adds 16 words to
- the msp, it won't end up larger than mfp_dummy (it is needed in the
- case where margs and struct_ret do not add up to at least 16 words).
- struct ret: This area is allocated by GDB if the return value is more
- than 16 words. struct ret_16 is not used on the 29k.
- margs: Pushed by GDB. The call dummy copies the first 16 words to
- args_out_dummy.
- retaddr_sproc: Contains the PC at the time we call the function.
- set by PUSH_DUMMY_FRAME and read by POP_FRAME.
- retaddr_dummy: This points to a breakpoint instruction in the dummy. */
-
-/* Rsize for dummy frame, in bytes. */
-
-/* Bytes for outgoing args, lr1, and retaddr. */
-#define DUMMY_ARG (2 * 4 + 16 * 4)
-
-/* Number of special registers (sr128-) to save. */
-#define DUMMY_SAVE_SR128 8
-/* Number of special registers (sr160-) to save. */
-#define DUMMY_SAVE_SR160 3
-/* Number of general (gr96- or gr64-) registers to save. */
-#define DUMMY_SAVE_GREGS 29
-
-#define DUMMY_FRAME_RSIZE \
-(4 /* mfp_dummy */ \
- + 2 * 4 /* pc0, pc1 */ \
- + DUMMY_SAVE_GREGS * 4 \
- + DUMMY_SAVE_SR160 * 4 \
- + DUMMY_SAVE_SR128 * 4 \
- + DUMMY_ARG \
- + 4 /* pad to doubleword */ )
-
-/* Push an empty stack frame, to record the current PC, etc. */
-
-#define PUSH_DUMMY_FRAME push_dummy_frame()
-extern void push_dummy_frame ();
-
-/* Discard from the stack the innermost frame,
- restoring all saved registers. */
-
-#define POP_FRAME pop_frame()
-extern void pop_frame ();
-
-/* This sequence of words is the instructions
- mtsrim cr, 15
- loadm 0, 0, lr2, msp ; load first 16 words of arguments into registers
- add msp, msp, 16 * 4 ; point to the remaining arguments
- CONST_INSN:
- const lr0,inf ; (replaced by half of target addr)
- consth lr0,inf ; (replaced by other half of target addr)
- calli lr0, lr0
- aseq 0x40,gr1,gr1 ; nop
- BREAKPT_INSN:
- asneq 0x50,gr1,gr1 ; breakpoint (replaced by local breakpoint insn)
- */
-
-#if TARGET_BYTE_ORDER == HOST_BYTE_ORDER
-#define BS(const) const
-#else
-#define BS(const) (((const) & 0xff) << 24) | \
- (((const) & 0xff00) << 8) | \
- (((const) & 0xff0000) >> 8) | \
- (((const) & 0xff000000) >> 24)
-#endif
-
-/* Position of the "const" and blkt instructions within CALL_DUMMY in bytes. */
-#define CONST_INSN (3 * 4)
-#define BREAKPT_INSN (7 * 4)
-#define CALL_DUMMY { \
- BS(0x0400870f),\
- BS(0x36008200|(MSP_HW_REGNUM)), \
- BS(0x15000040|(MSP_HW_REGNUM<<8)|(MSP_HW_REGNUM<<16)), \
- BS(0x03ff80ff), \
- BS(0x02ff80ff), \
- BS(0xc8008080), \
- BS(0x70400101), \
- BS(0x72500101)}
-#define CALL_DUMMY_LENGTH (8 * 4)
-
-#define CALL_DUMMY_START_OFFSET 0 /* Start execution at beginning of dummy */
-
-/* Helper macro for FIX_CALL_DUMMY. WORDP is a long * which points to a
- word in target byte order; bits 0-7 and 16-23 of *WORDP are replaced with
- bits 0-7 and 8-15 of DATA (which is in host byte order). */
-
-#if TARGET_BYTE_ORDER == BIG_ENDIAN
-#define STUFF_I16(WORDP, DATA) \
- { \
- *((char *)(WORDP) + 3) = ((DATA) & 0xff);\
- *((char *)(WORDP) + 1) = (((DATA) >> 8) & 0xff);\
- }
-#else /* Target is little endian. */
-#define STUFF_I16(WORDP, DATA) \
- {
- *(char *)(WORDP) = ((DATA) & 0xff);
- *((char *)(WORDP) + 2) = (((DATA) >> 8) & 0xff);
- }
-#endif /* Target is little endian. */
-
-/* Insert the specified number of args and function address
- into a call sequence of the above form stored at DUMMYNAME. */
-
-/* Currently this stuffs in the address of the function that we are calling.
- Since different 29k systems use different breakpoint instructions, it
- also stuffs BREAKPOINT in the right place (to avoid having to
- duplicate CALL_DUMMY in each tm-*.h file). */
-
-#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p) \
- {\
- STUFF_I16((char *)dummyname + CONST_INSN, fun); \
- STUFF_I16((char *)dummyname + CONST_INSN + 4, fun >> 16); \
- /* FIXME memcpy ((char *)(dummyname) + BREAKPT_INSN, break_insn, 4); */ \
- }
-
-/* 29k architecture has separate data & instruction memories -- wired to
- different pins on the chip -- and can't execute the data memory.
- Also, there should be space after text_end;
- we won't get a SIGSEGV or scribble on data space. */
-
-#define CALL_DUMMY_LOCATION AFTER_TEXT_END
-
-/* Because of this, we need (as a kludge) to know the addresses of the
- text section. */
-
-#define NEED_TEXT_START_END
-
-/* How to translate register numbers in the .stab's into gdb's internal register
- numbers. We don't translate them, but we warn if an invalid register
- number is seen. Note that FIXME, we use the value "sym" as an implicit
- argument in printing the error message. It happens to be available where
- this macro is used. (This macro definition appeared in a late revision
- of gdb-3.91.6 and is not well tested. Also, it should be a "complaint".) */
-
-#define STAB_REG_TO_REGNUM(num) \
- (((num) > LR0_REGNUM + 127) \
- ? fprintf(stderr, \
- "Invalid register number %d in symbol table entry for %s\n", \
- (num), SYMBOL_SOURCE_NAME (sym)), (num) \
- : (num))
diff --git a/gdb/tm-3b1.h b/gdb/tm-3b1.h
deleted file mode 100644
index 521364a..0000000
--- a/gdb/tm-3b1.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Parameters for targeting GDB to a 3b1.
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* Define BPT_VECTOR if it is different than the default.
- This is the vector number used by traps to indicate a breakpoint. */
-
-#define BPT_VECTOR 0x1
-
-/* Address of end of stack space. */
-
-#define STACK_END_ADDR 0x300000
-
-#include "tm-68k.h"
diff --git a/gdb/tm-68k-fp.h b/gdb/tm-68k-fp.h
index 19d0120..e69de29 100644
--- a/gdb/tm-68k-fp.h
+++ b/gdb/tm-68k-fp.h
@@ -1,66 +0,0 @@
-/* Target machine parameters for embedded m68k with 6888x float, for GDB.
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define HAVE_68881
-
-#include "tm-68k.h"
-
-/* Longjmp info comes from the Sun-3 machine description. Might as well
- guess... */
-
-/* Offsets (in target ints) into jmp_buf. Not defined by Sun, but at least
- documented in a comment in <machine/setjmp.h>! */
-
-#define JB_ELEMENT_SIZE 4
-
-#define JB_ONSSTACK 0
-#define JB_SIGMASK 1
-#define JB_SP 2
-#define JB_PC 3
-#define JB_PSL 4
-#define JB_D2 5
-#define JB_D3 6
-#define JB_D4 7
-#define JB_D5 8
-#define JB_D6 9
-#define JB_D7 10
-#define JB_A2 11
-#define JB_A3 12
-#define JB_A4 13
-#define JB_A5 14
-#define JB_A6 15
-
-/* Figure out where the longjmp will land. Slurp the args out of the stack.
- We expect the first arg to be a pointer to the jmp_buf structure from which
- we extract the pc (JB_PC) that we will land at. The pc is copied into ADDR.
- This routine returns true on success */
-
-#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR)
-
-/* Where is the PC after a call? */
-
-#ifdef __STDC__
-struct frame_info;
-#endif
-
-extern CORE_ADDR m68k_saved_pc_after_call PARAMS ((struct frame_info *));
-
-#undef SAVED_PC_AFTER_CALL
-#define SAVED_PC_AFTER_CALL(frame) \
- m68k_saved_pc_after_call(frame)
diff --git a/gdb/tm-68k-nofp.h b/gdb/tm-68k-nofp.h
index 6d503a2..e69de29 100644
--- a/gdb/tm-68k-nofp.h
+++ b/gdb/tm-68k-nofp.h
@@ -1,64 +0,0 @@
-/* Target machine parameters for embedded m68k, without float, for GDB.
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#include "tm-68k.h"
-
-/* Longjmp info comes from the Sun-3 machine description. Might as well
- guess... */
-
-/* Offsets (in target ints) into jmp_buf. Not defined by Sun, but at least
- documented in a comment in <machine/setjmp.h>! */
-
-#define JB_ELEMENT_SIZE 4
-
-#define JB_ONSSTACK 0
-#define JB_SIGMASK 1
-#define JB_SP 2
-#define JB_PC 3
-#define JB_PSL 4
-#define JB_D2 5
-#define JB_D3 6
-#define JB_D4 7
-#define JB_D5 8
-#define JB_D6 9
-#define JB_D7 10
-#define JB_A2 11
-#define JB_A3 12
-#define JB_A4 13
-#define JB_A5 14
-#define JB_A6 15
-
-/* Figure out where the longjmp will land. Slurp the args out of the stack.
- We expect the first arg to be a pointer to the jmp_buf structure from which
- we extract the pc (JB_PC) that we will land at. The pc is copied into ADDR.
- This routine returns true on success */
-
-#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR)
-
-/* Where is the PC after a call? */
-
-#ifdef __STDC__
-struct frame_info;
-#endif
-
-extern CORE_ADDR m68k_saved_pc_after_call PARAMS ((struct frame_info *));
-
-#undef SAVED_PC_AFTER_CALL
-#define SAVED_PC_AFTER_CALL(frame) \
- m68k_saved_pc_after_call(frame)
diff --git a/gdb/tm-68k.h b/gdb/tm-68k.h
deleted file mode 100644
index 96d71de..0000000
--- a/gdb/tm-68k.h
+++ /dev/null
@@ -1,525 +0,0 @@
-/* Parameters for execution on a 68000 series machine.
- Copyright 1986, 1987, 1989, 1990, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* Generic 68000 stuff, to be included by other tm-*.h files.
- Define HAVE_68881 if that is the case. */
-
-#if defined (HAVE_68881)
-#define IEEE_FLOAT 1
-#endif
-
-/* Define the bit, byte, and word ordering of the machine. */
-#define TARGET_BYTE_ORDER BIG_ENDIAN
-
-/* 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. */
-
-#if !defined(SKIP_PROLOGUE)
-#define SKIP_PROLOGUE(ip) {(ip) = m68k_skip_prologue(ip);}
-extern CORE_ADDR m68k_skip_prologue PARAMS ((CORE_ADDR ip));
-#endif
-
-/* 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) \
-read_memory_integer (read_register (SP_REGNUM), 4)
-
-/* Stack grows downward. */
-
-#define INNER_THAN <
-
-/* Sequence of bytes for breakpoint instruction.
- This is a TRAP instruction. The last 4 bits (0xf below) is the
- vector. Systems which don't use 0xf should define BPT_VECTOR
- themselves before including this file. */
-
-#if !defined (BPT_VECTOR)
-#define BPT_VECTOR 0xf
-#endif
-
-#if !defined (BREAKPOINT)
-#define BREAKPOINT {0x4e, (0x40 | BPT_VECTOR)}
-#endif
-
-/* If your kernel resets the pc after the trap happens you may need to
- define this before including this file. */
-
-#if !defined (DECR_PC_AFTER_BREAK)
-#define DECR_PC_AFTER_BREAK 2
-#endif
-
-/* Nonzero if instruction at PC is a return instruction. */
-/* Allow any of the return instructions, including a trapv and a return
- from interupt. */
-
-#define ABOUT_TO_RETURN(pc) ((read_memory_integer (pc, 2) & ~0x3) == 0x4e74)
-
-/* Return 1 if P points to an invalid floating point value. */
-
-#define INVALID_FLOAT(p, len) 0 /* Just a first guess; not checked */
-
-/* Say how long registers are. */
-
-#define REGISTER_TYPE long
-
-#if defined (HAVE_68881)
-# if defined (GDB_TARGET_IS_SUN3)
- /* Sun3 status includes fpflags, which shows whether the FPU has been used
- by the process, and whether the FPU was done with an instruction or
- was interrupted in the middle of a long instruction. See
- <machine/reg.h>. */
- /* a&d, pc,sr, fp, fpstat, fpflags */
-# define NUM_REGS 31
-# define REGISTER_BYTES (16*4 + 8 + 8*12 + 3*4 + 4)
-# else /* Not sun3. */
-# define NUM_REGS 29
-# define REGISTER_BYTES (16*4 + 8 + 8*12 + 3*4)
-# endif /* Not sun3. */
-#else /* No 68881. */
-# define NUM_REGS 18
-# define REGISTER_BYTES (16*4 + 8)
-#endif /* No 68881. */
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-
-#if defined (HAVE_68881)
-#define REGISTER_BYTE(N) \
- ((N) >= FPC_REGNUM ? (((N) - FPC_REGNUM) * 4) + 168 \
- : (N) >= FP0_REGNUM ? (((N) - FP0_REGNUM) * 12) + 72 \
- : (N) * 4)
-
-/* Number of bytes of storage in the actual machine representation
- for register N. On the 68000, all regs are 4 bytes
- except the floating point regs which are 12 bytes. */
-/* Note that the unsigned cast here forces the result of the
- subtraction to very high positive values if N < FP0_REGNUM */
-
-#define REGISTER_RAW_SIZE(N) (((unsigned)(N) - FP0_REGNUM) < 8 ? 12 : 4)
-
-/* Number of bytes of storage in the program's representation
- for register N. On the 68000, all regs are 4 bytes
- except the floating point regs which are 8-byte doubles. */
-
-#define REGISTER_VIRTUAL_SIZE(N) (((unsigned)(N) - FP0_REGNUM) < 8 ? 8 : 4)
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 12
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 8
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) (((unsigned)(N) - FP0_REGNUM) < 8)
-
-/* Put the declaration out here because if it's in the macros, PCC
- will complain. */
-extern const struct ext_format ext_format_68881;
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
-{ \
- if ((REGNUM) >= FP0_REGNUM && (REGNUM) < FPC_REGNUM) \
- ieee_extended_to_double (&ext_format_68881, (FROM), (double *)(TO)); \
- else \
- memcpy ((TO), (FROM), 4); \
-}
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
-{ \
- if ((REGNUM) >= FP0_REGNUM && (REGNUM) < FPC_REGNUM) \
- double_to_ieee_extended (&ext_format_68881, (double *)(FROM), (TO)); \
- else \
- memcpy ((TO), (FROM), 4); \
-}
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-/* Note, for registers which contain addresses return
- pointer to void, not pointer to char, because we don't
- want to attempt to print the string after printing the address. */
-#define REGISTER_VIRTUAL_TYPE(N) \
- (((unsigned)(N) - FP0_REGNUM) < 8 ? builtin_type_double : \
- (N) == PC_REGNUM || (N) == FP_REGNUM || (N) == SP_REGNUM ? \
- lookup_pointer_type (builtin_type_void) : builtin_type_int)
-
-#else /* no 68881. */
-/* Index within `registers' of the first byte of the space for
- register N. */
-
-#define REGISTER_BYTE(N) ((N) * 4)
-
-/* Number of bytes of storage in the actual machine representation
- for register N. On the 68000, all regs are 4 bytes. */
-
-#define REGISTER_RAW_SIZE(N) 4
-
-/* Number of bytes of storage in the program's representation
- for register N. On the 68000, all regs are 4 bytes. */
-
-#define REGISTER_VIRTUAL_SIZE(N) 4
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 4
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 4
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) 0
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) memcpy ((TO), (FROM), 4);
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) memcpy ((TO), (FROM), 4);
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-#define REGISTER_VIRTUAL_TYPE(N) builtin_type_int
-
-#endif /* No 68881. */
-
-/* Initializer for an array of names of registers.
- Entries beyond the first NUM_REGS are ignored. */
-
-#define REGISTER_NAMES \
- {"d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", \
- "a0", "a1", "a2", "a3", "a4", "a5", "fp", "sp", \
- "ps", "pc", \
- "fp0", "fp1", "fp2", "fp3", "fp4", "fp5", "fp6", "fp7", \
- "fpcontrol", "fpstatus", "fpiaddr", "fpcode", "fpflags" }
-
-/* 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 A1_REGNUM 9
-#define FP_REGNUM 14 /* Contains address of executing stack frame */
-#define SP_REGNUM 15 /* Contains address of top of stack */
-#define PS_REGNUM 16 /* Contains processor status */
-#define PC_REGNUM 17 /* Contains program counter */
-#if defined (HAVE_68881)
-#define FP0_REGNUM 18 /* Floating point register 0 */
-#define FPC_REGNUM 26 /* 68881 control register */
-#define FPS_REGNUM 27 /* 68881 status register */
-#define FPI_REGNUM 28 /* 68881 iaddr register */
-#endif /* 68881. */
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-
-#define STORE_STRUCT_RETURN(ADDR, SP) \
- { write_register (A1_REGNUM, (ADDR)); }
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. This is assuming that floating point values are returned
- as doubles in d0/d1. */
-
-#if !defined (EXTRACT_RETURN_VALUE)
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- memcpy ((VALBUF), \
- (char *)(REGBUF) + \
- (TYPE_LENGTH(TYPE) >= 4 ? 0 : 4 - TYPE_LENGTH(TYPE)), \
- TYPE_LENGTH(TYPE))
-#endif
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. Assumes floats are passed
- in d0/d1. */
-
-#if !defined (STORE_RETURN_VALUE)
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- write_register_bytes (0, VALBUF, TYPE_LENGTH (TYPE))
-#endif
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(CORE_ADDR *)(REGBUF))
-
-/* 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.
- In the case of the 68000, the frame's nominal address
- is the address of a 4-byte word containing the calling frame's address. */
-
-#define FRAME_CHAIN(thisframe) \
- (!inside_entry_file ((thisframe)->pc) ? \
- read_memory_integer ((thisframe)->frame, 4) :\
- 0)
-
-/* Define other aspects of the stack frame. */
-
-/* A macro that tells us whether the function invocation represented
- by FI does not have a frame on the stack associated with it. If it
- does not, FRAMELESS is set to 1, else 0. */
-#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) \
- (FRAMELESS) = frameless_look_for_prologue(FI)
-
-#define FRAME_SAVED_PC(FRAME) (read_memory_integer ((FRAME)->frame + 4, 4))
-
-#define FRAME_ARGS_ADDRESS(fi) ((fi)->frame)
-
-#define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame)
-
-/* Set VAL to the number of args passed to frame described by FI.
- Can set VAL to -1, meaning no way to tell. */
-
-/* We can't tell how many args there are
- now that the C compiler delays popping them. */
-#if !defined (FRAME_NUM_ARGS)
-#define FRAME_NUM_ARGS(val,fi) (val = -1)
-#endif
-
-/* Return number of bytes at start of arglist that are not really args. */
-
-#define FRAME_ARGS_SKIP 8
-
-/* 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. */
-
-#if !defined (FRAME_FIND_SAVED_REGS)
-#if defined (HAVE_68881)
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
-{ register int regnum; \
- register int regmask; \
- register CORE_ADDR next_addr; \
- register CORE_ADDR pc; \
- int nextinsn; \
- bzero (&frame_saved_regs, sizeof frame_saved_regs); \
- if ((frame_info)->pc >= (frame_info)->frame - CALL_DUMMY_LENGTH - FP_REGNUM*4 - 8*12 - 4 \
- && (frame_info)->pc <= (frame_info)->frame) \
- { next_addr = (frame_info)->frame; \
- pc = (frame_info)->frame - CALL_DUMMY_LENGTH - FP_REGNUM * 4 - 8*12 - 4; }\
- else \
- { pc = get_pc_function_start ((frame_info)->pc); \
- /* Verify we have a link a6 instruction next; \
- if not we lose. If we win, find the address above the saved \
- regs using the amount of storage from the link instruction. */\
- if (044016 == read_memory_integer (pc, 2)) \
- next_addr = (frame_info)->frame + read_memory_integer (pc += 2, 4), pc+=4; \
- else if (047126 == read_memory_integer (pc, 2)) \
- next_addr = (frame_info)->frame + read_memory_integer (pc += 2, 2), pc+=2; \
- else goto lose; \
- /* If have an addal #-n, sp next, adjust next_addr. */ \
- if ((0177777 & read_memory_integer (pc, 2)) == 0157774) \
- next_addr += read_memory_integer (pc += 2, 4), pc += 4; \
- } \
- /* next should be a moveml to (sp) or -(sp) or a movl r,-(sp) */ \
- regmask = read_memory_integer (pc + 2, 2); \
- /* But before that can come an fmovem. Check for it. */ \
- nextinsn = 0xffff & read_memory_integer (pc, 2); \
- if (0xf227 == nextinsn \
- && (regmask & 0xff00) == 0xe000) \
- { pc += 4; /* Regmask's low bit is for register fp7, the first pushed */ \
- for (regnum = FP0_REGNUM + 7; regnum >= FP0_REGNUM; regnum--, regmask >>= 1) \
- if (regmask & 1) \
- (frame_saved_regs).regs[regnum] = (next_addr -= 12); \
- regmask = read_memory_integer (pc + 2, 2); } \
- if (0044327 == read_memory_integer (pc, 2)) \
- { pc += 4; /* Regmask's low bit is for register 0, the first written */ \
- for (regnum = 0; regnum < 16; regnum++, regmask >>= 1) \
- if (regmask & 1) \
- (frame_saved_regs).regs[regnum] = (next_addr += 4) - 4; } \
- else if (0044347 == read_memory_integer (pc, 2)) \
- { pc += 4; /* Regmask's low bit is for register 15, the first pushed */ \
- for (regnum = 15; regnum >= 0; regnum--, regmask >>= 1) \
- if (regmask & 1) \
- (frame_saved_regs).regs[regnum] = (next_addr -= 4); } \
- else if (0x2f00 == (0xfff0 & read_memory_integer (pc, 2))) \
- { regnum = 0xf & read_memory_integer (pc, 2); pc += 2; \
- (frame_saved_regs).regs[regnum] = (next_addr -= 4); } \
- /* fmovemx to index of sp may follow. */ \
- regmask = read_memory_integer (pc + 2, 2); \
- nextinsn = 0xffff & read_memory_integer (pc, 2); \
- if (0xf236 == nextinsn \
- && (regmask & 0xff00) == 0xf000) \
- { pc += 10; /* Regmask's low bit is for register fp0, the first written */ \
- for (regnum = FP0_REGNUM + 7; regnum >= FP0_REGNUM; regnum--, regmask >>= 1) \
- if (regmask & 1) \
- (frame_saved_regs).regs[regnum] = (next_addr += 12) - 12; \
- regmask = read_memory_integer (pc + 2, 2); } \
- /* clrw -(sp); movw ccr,-(sp) may follow. */ \
- if (0x426742e7 == read_memory_integer (pc, 4)) \
- (frame_saved_regs).regs[PS_REGNUM] = (next_addr -= 4); \
- lose: ; \
- (frame_saved_regs).regs[SP_REGNUM] = (frame_info)->frame + 8; \
- (frame_saved_regs).regs[FP_REGNUM] = (frame_info)->frame; \
- (frame_saved_regs).regs[PC_REGNUM] = (frame_info)->frame + 4; \
-}
-#else /* no 68881. */
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
-{ register int regnum; \
- register int regmask; \
- register CORE_ADDR next_addr; \
- register CORE_ADDR pc; \
- bzero (&frame_saved_regs, sizeof frame_saved_regs); \
- if ((frame_info)->pc >= (frame_info)->frame - CALL_DUMMY_LENGTH - FP_REGNUM*4 - 4 \
- && (frame_info)->pc <= (frame_info)->frame) \
- { next_addr = (frame_info)->frame; \
- pc = (frame_info)->frame - CALL_DUMMY_LENGTH - FP_REGNUM * 4 - 4; }\
- else \
- { pc = get_pc_function_start ((frame_info)->pc); \
- /* Verify we have a link a6 instruction next; \
- if not we lose. If we win, find the address above the saved \
- regs using the amount of storage from the link instruction. */\
- if (044016 == read_memory_integer (pc, 2)) \
- next_addr = (frame_info)->frame + read_memory_integer (pc += 2, 4), pc+=4; \
- else if (047126 == read_memory_integer (pc, 2)) \
- next_addr = (frame_info)->frame + read_memory_integer (pc += 2, 2), pc+=2; \
- else goto lose; \
- /* If have an addal #-n, sp next, adjust next_addr. */ \
- if ((0177777 & read_memory_integer (pc, 2)) == 0157774) \
- next_addr += read_memory_integer (pc += 2, 4), pc += 4; \
- } \
- /* next should be a moveml to (sp) or -(sp) or a movl r,-(sp) */ \
- regmask = read_memory_integer (pc + 2, 2); \
- if (0044327 == read_memory_integer (pc, 2)) \
- { pc += 4; /* Regmask's low bit is for register 0, the first written */ \
- for (regnum = 0; regnum < 16; regnum++, regmask >>= 1) \
- if (regmask & 1) \
- (frame_saved_regs).regs[regnum] = (next_addr += 4) - 4; } \
- else if (0044347 == read_memory_integer (pc, 2)) \
- { pc += 4; /* Regmask's low bit is for register 15, the first pushed */ \
- for (regnum = 15; regnum >= 0; regnum--, regmask >>= 1) \
- if (regmask & 1) \
- (frame_saved_regs).regs[regnum] = (next_addr -= 4); } \
- else if (0x2f00 == (0xfff0 & read_memory_integer (pc, 2))) \
- { regnum = 0xf & read_memory_integer (pc, 2); pc += 2; \
- (frame_saved_regs).regs[regnum] = (next_addr -= 4); } \
- /* clrw -(sp); movw ccr,-(sp) may follow. */ \
- if (0x426742e7 == read_memory_integer (pc, 4)) \
- (frame_saved_regs).regs[PS_REGNUM] = (next_addr -= 4); \
- lose: ; \
- (frame_saved_regs).regs[SP_REGNUM] = (frame_info)->frame + 8; \
- (frame_saved_regs).regs[FP_REGNUM] = (frame_info)->frame; \
- (frame_saved_regs).regs[PC_REGNUM] = (frame_info)->frame + 4; \
-}
-#endif /* no 68881. */
-#endif /* no FIND_FRAME_SAVED_REGS. */
-
-
-/* Things needed for making the inferior call functions.
- It seems like every m68k based machine has almost identical definitions
- in the individual machine's configuration files. Most other cpu types
- (mips, i386, etc) have routines in their *-tdep.c files to handle this
- for most configurations. The m68k family should be able to do this as
- well. These macros can still be overridden when necessary. */
-
-/* The CALL_DUMMY macro is the sequence of instructions, as disassembled
- by gdb itself:
-
- fmovemx fp0-fp7,sp@- 0xf227 0xe0ff
- moveml d0-a5,sp@- 0x48e7 0xfffc
- clrw sp@- 0x4267
- movew ccr,sp@- 0x42e7
-
- /..* The arguments are pushed at this point by GDB;
- no code is needed in the dummy for this.
- The CALL_DUMMY_START_OFFSET gives the position of
- the following jsr instruction. *../
-
- jsr @#0x32323232 0x4eb9 0x3232 0x3232
- addal #0x69696969,sp 0xdffc 0x6969 0x6969
- trap #<your BPT_VECTOR number here> 0x4e4?
- nop 0x4e71
-
- Note this is CALL_DUMMY_LENGTH bytes (28 for the above example).
- We actually start executing at the jsr, since the pushing of the
- registers is done by PUSH_DUMMY_FRAME. If this were real code,
- the arguments for the function called by the jsr would be pushed
- between the moveml and the jsr, and we could allow it to execute through.
- But the arguments have to be pushed by GDB after the PUSH_DUMMY_FRAME is
- done, and we cannot allow the moveml to push the registers again lest
- they be taken for the arguments. */
-
-#if defined (HAVE_68881)
-
-#define CALL_DUMMY {0xf227e0ff, 0x48e7fffc, 0x426742e7, 0x4eb93232, 0x3232dffc, 0x69696969, (0x4e404e71 | (BPT_VECTOR << 16))}
-#define CALL_DUMMY_LENGTH 28 /* Size of CALL_DUMMY */
-#define CALL_DUMMY_START_OFFSET 12 /* Offset to jsr instruction*/
-
-#else
-
-#define CALL_DUMMY {0x48e7fffc, 0x426742e7, 0x4eb93232, 0x3232dffc, 0x69696969, (0x4e404e71 | (BPT_VECTOR << 16))}
-#define CALL_DUMMY_LENGTH 24 /* Size of CALL_DUMMY */
-#define CALL_DUMMY_START_OFFSET 8 /* Offset to jsr instruction*/
-
-#endif /* HAVE_68881 */
-
-/* Insert the specified number of args and function address
- into a call sequence of the above form stored at DUMMYNAME.
- We use the BFD routines to store a big-endian value of known size. */
-
-#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p) \
-{ _do_putb32 (fun, (char *) dummyname + CALL_DUMMY_START_OFFSET + 2); \
- _do_putb32 (nargs*4, (char *) dummyname + CALL_DUMMY_START_OFFSET + 8); }
-
-/* Push an empty stack frame, to record the current PC, etc. */
-
-#define PUSH_DUMMY_FRAME { m68k_push_dummy_frame (); }
-
-extern void m68k_push_dummy_frame PARAMS ((void));
-
-extern void m68k_pop_frame PARAMS ((void));
-
-/* Discard from the stack the innermost frame, restoring all registers. */
-
-#define POP_FRAME { m68k_pop_frame (); }
-
-/* Offset from SP to first arg on stack at first instruction of a function */
-
-#define SP_ARG0 (1 * 4)
diff --git a/gdb/tm-altos.h b/gdb/tm-altos.h
deleted file mode 100644
index db7a6eb..0000000
--- a/gdb/tm-altos.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Target definitions for GDB on an Altos 3068 (m68k running SVR2)
- Copyright 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* Define BPT_VECTOR if it is different than the default.
- This is the vector number used by traps to indicate a breakpoint. */
-
-#define BPT_VECTOR 0xe
-
-/* Address of end of stack space. */
-
-/*#define STACK_END_ADDR (0xffffff)*/
-#define STACK_END_ADDR (0x1000000)
-
-/* Amount PC must be decremented by after a breakpoint.
- On the Altos, the kernel resets the pc to the trap instr */
-
-#define DECR_PC_AFTER_BREAK 0
-
-/* The only reason this is here is the tm-altos.h reference below. It
- was moved back here from tm-68k.h. FIXME? */
-
-#define SKIP_PROLOGUE(pc) \
-{ register int op = read_memory_integer (pc, 2); \
- if (op == 0047126) \
- pc += 4; /* Skip link #word */ \
- else if (op == 0044016) \
- pc += 6; /* Skip link #long */ \
- /* Not sure why branches are here. */ \
- /* From tm-isi.h, tm-altos.h */ \
- else if (op == 0060000) \
- pc += 4; /* Skip bra #word */ \
- else if (op == 00600377) \
- pc += 6; /* skip bra #long */ \
- else if ((op & 0177400) == 0060000) \
- pc += 2; /* skip bra #char */ \
-}
-
-#include "tm-68k.h"
diff --git a/gdb/tm-amix.h b/gdb/tm-amix.h
index 9a43be7..e69de29 100644
--- a/gdb/tm-amix.h
+++ b/gdb/tm-amix.h
@@ -1,77 +0,0 @@
-/* Macro definitions for GDB on a Commodore Amiga running SVR4 (amix).
- Copyright (C) 1991, Free Software Foundation, Inc.
- Written by Fred Fish at Cygnus Support (fnf@cygint)
-
-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. */
-
-/* All Amiga's (so far) running UNIX have come standard with the floating
- point coprocessor. */
-
-#define HAVE_68881
-
-/* Define BPT_VECTOR if it is different than the default.
- This is the vector number used by traps to indicate a breakpoint. */
-
-#define BPT_VECTOR 0x1
-
-/* How much to decrement the PC after a trap. Depends on kernel. */
-
-#define DECR_PC_AFTER_BREAK 0 /* No decrement required */
-
-/* Address of end of stack space. Actually one byte past it.
- This value is typically very OS dependent.
- FIXME: Check to see if SVR4 offers some machine independent way
- of discovering this value and use it if so, and if we need it. */
-
-/* #define STACK_END_ADDR 0xc0800000 */
-
-/* Use the alternate method of determining valid frame chains. */
-
-#define FRAME_CHAIN_VALID_ALTERNATE
-
-#include "tm-sysv4.h"
-#include "tm-68k.h"
-
-/* Offsets (in target ints) into jmp_buf. Not defined in any system header
- file, so we have to step through setjmp/longjmp with a debugger and figure
- them out. As a double check, note that <setjmp> defines _JBLEN as 13,
- which matches the number of elements we see saved by setjmp(). */
-
-#define JB_ELEMENT_SIZE sizeof(int) /* jmp_buf[_JBLEN] is array of ints */
-
-#define JB_D2 0
-#define JB_D3 1
-#define JB_D4 2
-#define JB_D5 3
-#define JB_D6 4
-#define JB_D7 5
-#define JB_A1 6
-#define JB_A2 7
-#define JB_A3 8
-#define JB_A4 9
-#define JB_A5 10
-#define JB_A6 11
-#define JB_A7 12
-
-#define JB_PC JB_A1 /* Setjmp()'s return PC saved in A1 */
-
-/* Figure out where the longjmp will land. Slurp the args out of the stack.
- We expect the first arg to be a pointer to the jmp_buf structure from which
- we extract the pc (JB_PC) that we will land at. The pc is copied into ADDR.
- This routine returns true on success */
-
-#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR)
diff --git a/gdb/tm-arm.h b/gdb/tm-arm.h
deleted file mode 100644
index 42263dc..0000000
--- a/gdb/tm-arm.h
+++ /dev/null
@@ -1,400 +0,0 @@
-/* Definitions to make GDB target for an ARM under RISCiX (4.3bsd).
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define TARGET_BYTE_ORDER LITTLE_ENDIAN
-
-/* IEEE format floating point */
-
-#define IEEE_FLOAT
-
-/* I provide my own xfer_core_file to cope with shared libraries */
-
-#define XFER_CORE_FILE
-
-/* 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. */
-
-#define SKIP_PROLOGUE(pc) pc = skip_prologue(pc)
-
-/* 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) (read_register (LR_REGNUM) & 0x03fffffc)
-
-/* I don't know the real values for these. */
-#define TARGET_UPAGES UPAGES
-#define TARGET_NBPG NBPG
-
-/* Address of end of stack space. */
-
-#define STACK_END_ADDR (0x01000000 - (TARGET_UPAGES * TARGET_NBPG))
-
-/* Stack grows downward. */
-
-#define INNER_THAN <
-
-/* Sequence of bytes for breakpoint instruction. */
-
-#define BREAKPOINT {0x00,0x00,0x18,0xef} /* BKPT_SWI from <sys/ptrace.h> */
-
-/* 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
-
-/* Nonzero if instruction at PC is a return instruction. */
-
-#define ABOUT_TO_RETURN(pc) \
- ((read_memory_integer(pc, 4) & 0x0fffffff == 0x01b0f00e) || \
- (read_memory_integer(pc, 4) & 0x0ffff800 == 0x09eba800))
-
-/* Return 1 if P points to an invalid floating point value.
- LEN is the length in bytes. */
-
-#define INVALID_FLOAT(p, len) 0
-
-/* code to execute to print interesting information about the
- * floating point processor (if any)
- * No need to define if there is nothing to do.
- */
-#define FLOAT_INFO { arm_float_info (); }
-
-/* Say how long (ordinary) registers are. */
-
-#define REGISTER_TYPE long
-
-/* Number of machine registers */
-
-/* Note: I make a fake copy of the pc in register 25 (calling it ps) so
- that I can clear the status bits from pc (register 15) */
-
-#define NUM_REGS 26
-
-/* Initializer for an array of names of registers.
- There should be NUM_REGS strings in this initializer. */
-
-#define REGISTER_NAMES \
- { "a1", "a2", "a3", "a4", \
- "v1", "v2", "v3", "v4", "v5", "v6", \
- "sl", "fp", "ip", "sp", "lr", "pc", \
- "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "fps", "ps" }
-
-/* 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 AP_REGNUM 11
-#define FP_REGNUM 11 /* Contains address of executing stack frame */
-#define SP_REGNUM 13 /* Contains address of top of stack */
-#define LR_REGNUM 14 /* address to return to from a function call */
-#define PC_REGNUM 15 /* Contains program counter */
-#define F0_REGNUM 16 /* first floating point register */
-#define FPS_REGNUM 24 /* floating point status register */
-#define PS_REGNUM 25 /* Contains processor status */
-
-
-/* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'. */
-#define REGISTER_BYTES (16*4 + 12*8 + 4 + 4)
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-
-#define REGISTER_BYTE(N) (((N) < F0_REGNUM) ? (N)*4 : \
- (((N) < PS_REGNUM) ? 16*4 + ((N) - 16)*12 : \
- 16*4 + 8*12 + ((N) - FPS_REGNUM) * 4))
-
-/* Number of bytes of storage in the actual machine representation
- for register N. On the vax, all regs are 4 bytes. */
-
-#define REGISTER_RAW_SIZE(N) (((N) < F0_REGNUM || (N) >= FPS_REGNUM) ? 4 : 12)
-
-/* Number of bytes of storage in the program's representation
- for register N. On the vax, all regs are 4 bytes. */
-
-#define REGISTER_VIRTUAL_SIZE(N) (((N) < F0_REGNUM || (N) >= FPS_REGNUM) ? 4 : 8)
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 12
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 8
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) ((unsigned)(N) - F0_REGNUM < 8)
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
- if (REGISTER_CONVERTIBLE(REGNUM)) \
- convert_from_extended((FROM), (TO)); \
- else \
- bcopy ((FROM), (TO), 4);
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
- if (REGISTER_CONVERTIBLE(REGNUM)) \
- convert_to_extended((FROM), (TO)); \
- else \
- bcopy ((FROM), (TO), 4);
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-#define REGISTER_VIRTUAL_TYPE(N) \
- (((unsigned)(N) - F0_REGNUM) < 8 ? builtin_type_double : builtin_type_int)
-
-/* The system C compiler uses a similar structure return convention to gcc */
-
-#define USE_STRUCT_CONVENTION(gcc_p, type) (TYPE_LENGTH (type) > 4)
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-
-#define STORE_STRUCT_RETURN(ADDR, SP) \
- { write_register (0, (ADDR)); }
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- if (TYPE_CODE (TYPE) == TYPE_CODE_FLT) \
- convert_from_extended(REGBUF + REGISTER_BYTE (F0_REGNUM), VALBUF); \
- else \
- bcopy (REGBUF, VALBUF, TYPE_LENGTH (TYPE))
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- if (TYPE_CODE (TYPE) == TYPE_CODE_FLT) { \
- char _buf[MAX_REGISTER_RAW_SIZE]; \
- convert_to_extended(VALBUF, _buf); \
- write_register_bytes (REGISTER_BYTE (F0_REGNUM), _buf, MAX_REGISTER_RAW_SIZE); \
- } else \
- write_register_bytes (0, VALBUF, TYPE_LENGTH (TYPE))
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(int *)(REGBUF))
-
-/* Specify that for the native compiler variables for a particular
- lexical context are listed after the beginning LBRAC instead of
- before in the executables list of symbols. */
-#define VARIABLES_INSIDE_BLOCK(desc, gcc_p) (!(gcc_p))
-
-
-/* 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. */
-
-/* In the case of the ARM, the frame's nominal address is the FP value,
- and 12 bytes before comes the saved previous FP value as a 4-byte word. */
-
-#define FRAME_CHAIN(thisframe) \
- ((thisframe)->pc >= first_object_file_end ? \
- read_memory_integer ((thisframe)->frame - 12, 4) :\
- 0)
-
-#define FRAME_CHAIN_VALID(chain, thisframe) \
- (chain != 0 && (FRAME_SAVED_PC (thisframe) >= first_object_file_end))
-
-/* Define other aspects of the stack frame. */
-
-/* A macro that tells us whether the function invocation represented
- by FI does not have a frame on the stack associated with it. If it
- does not, FRAMELESS is set to 1, else 0. */
-#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) \
-{ \
- CORE_ADDR func_start, after_prologue; \
- func_start = (get_pc_function_start ((FI)->pc) + \
- FUNCTION_START_OFFSET); \
- after_prologue = func_start; \
- SKIP_PROLOGUE (after_prologue); \
- (FRAMELESS) = (after_prologue == func_start); \
-}
-
-/* Saved Pc. */
-
-#define FRAME_SAVED_PC(FRAME) \
- (read_memory_integer ((FRAME)->frame - 4, 4) & 0x03fffffc)
-
-#define FRAME_ARGS_ADDRESS(fi) (fi->frame)
-
-#define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame)
-
-/* Return number of args passed to a frame.
- Can return -1, meaning no way to tell. */
-
-#define FRAME_NUM_ARGS(numargs, fi) (numargs = -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. */
-
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
-{ \
- register int regnum; \
- register int frame; \
- register int next_addr; \
- register int return_data_save; \
- register int saved_register_mask; \
- bzero (&frame_saved_regs, sizeof frame_saved_regs); \
- frame = (frame_info)->frame; \
- return_data_save = read_memory_integer(frame, 4) & 0x03fffffc - 12; \
- saved_register_mask = \
- read_memory_integer(return_data_save, 4); \
- next_addr = frame - 12; \
- for (regnum = 4; regnum < 10; regnum++) \
- if (saved_register_mask & (1<<regnum)) { \
- next_addr -= 4; \
- (frame_saved_regs).regs[regnum] = next_addr; \
- } \
- if (read_memory_integer(return_data_save + 4, 4) == 0xed6d7103) { \
- next_addr -= 12; \
- (frame_saved_regs).regs[F0_REGNUM + 7] = next_addr; \
- } \
- if (read_memory_integer(return_data_save + 8, 4) == 0xed6d6103) { \
- next_addr -= 12; \
- (frame_saved_regs).regs[F0_REGNUM + 6] = next_addr; \
- } \
- if (read_memory_integer(return_data_save + 12, 4) == 0xed6d5103) { \
- next_addr -= 12; \
- (frame_saved_regs).regs[F0_REGNUM + 5] = next_addr; \
- } \
- if (read_memory_integer(return_data_save + 16, 4) == 0xed6d4103) { \
- next_addr -= 12; \
- (frame_saved_regs).regs[F0_REGNUM + 4] = next_addr; \
- } \
- (frame_saved_regs).regs[SP_REGNUM] = next_addr; \
- (frame_saved_regs).regs[PC_REGNUM] = frame - 4; \
- (frame_saved_regs).regs[PS_REGNUM] = frame - 4; \
- (frame_saved_regs).regs[FP_REGNUM] = frame - 12; \
-}
-
-/* Things needed for making the inferior call functions. */
-
-/* Push an empty stack frame, to record the current PC, etc. */
-
-#define PUSH_DUMMY_FRAME \
-{ \
- register CORE_ADDR sp = read_register (SP_REGNUM); \
- register int regnum; \
- /* opcode for ldmdb fp,{v1-v6,fp,ip,lr,pc}^ */ \
- sp = push_word(sp, 0xe92dbf0); /* dummy return_data_save ins */ \
- /* push a pointer to the dummy instruction minus 12 */ \
- sp = push_word(sp, read_register (SP_REGNUM) - 16); \
- sp = push_word(sp, read_register (PS_REGNUM)); \
- sp = push_word(sp, read_register (SP_REGNUM)); \
- sp = push_word(sp, read_register (FP_REGNUM)); \
- for (regnum = 9; regnum >= 4; regnum --) \
- sp = push_word(sp, read_register (regnum)); \
- write_register (FP_REGNUM, read_register (SP_REGNUM) - 8); \
- write_register (SP_REGNUM, sp); }
-
-/* Discard from the stack the innermost frame, restoring all registers. */
-
-#define POP_FRAME \
-{ \
- register CORE_ADDR fp = read_register (FP_REGNUM); \
- register unsigned long return_data_save = \
- read_memory_integer ( (read_memory_integer (fp, 4) & \
- 0x03fffffc) - 12, 4); \
- register int regnum; \
- write_register (PS_REGNUM, read_memory_integer (fp - 4, 4)); \
- write_register (PC_REGNUM, read_register (PS_REGNUM) & 0x03fffffc); \
- write_register (SP_REGNUM, read_memory_integer (fp - 8, 4)); \
- write_register (FP_REGNUM, read_memory_integer (fp - 12, 4)); \
- fp -= 12; \
- for (regnum = 9; regnum >= 4; regnum--) \
- if (return_data_save & (1<<regnum)) { \
- fp -= 4; \
- write_register (regnum, read_memory_integer(fp, 4)); \
- } \
- flush_cached_frames (); \
- set_current_frame (create_new_frame (read_register (FP_REGNUM), \
- read_pc ())); \
-}
-
-/* This sequence of words is the instructions
-
- ldmia sp!,{a1-a4}
- mov lk,pc
- bl *+8
- swi bkpt_swi
-
- Note this is 16 bytes. */
-
-#define CALL_DUMMY {0xe8bd000f, 0xe1a0e00f, 0xeb000000, 0xef180000}
-
-#define CALL_DUMMY_START_OFFSET 0 /* Start execution at beginning of dummy */
-
-/* Insert the specified number of args and function address
- into a call sequence of the above form stored at DUMMYNAME. */
-
-#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p) \
-{ \
- register enum type_code code = TYPE_CODE (type); \
- register nargs_in_registers, struct_return = 0; \
- /* fix the load-arguments mask to move the first 4 or less arguments \
- into a1-a4 but make sure the structure return address in a1 is \
- not disturbed if the function is returning a structure */ \
- if ((code == TYPE_CODE_STRUCT || \
- code == TYPE_CODE_UNION || \
- code == TYPE_CODE_ARRAY) && \
- TYPE_LENGTH (type) > 4) { \
- nargs_in_registers = min(nargs + 1, 4); \
- struct_return = 1; \
- } else \
- nargs_in_registers = min(nargs, 4); \
- *(char *) dummyname = (1 << nargs_in_registers) - 1 - struct_return; \
- *(int *)((char *) dummyname + 8) = \
- (((fun - (pc + 16)) / 4) & 0x00ffffff) | 0xeb000000; }
diff --git a/gdb/tm-bigmips.h b/gdb/tm-bigmips.h
deleted file mode 100644
index da13404..0000000
--- a/gdb/tm-bigmips.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright (C) 1990 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. */
-
-#define TARGET_BYTE_ORDER BIG_ENDIAN
-
-#include "tm-mips.h"
diff --git a/gdb/tm-convex.h b/gdb/tm-convex.h
deleted file mode 100644
index ab7e66d..0000000
--- a/gdb/tm-convex.h
+++ /dev/null
@@ -1,538 +0,0 @@
-/* Definitions to make GDB run on Convex Unix (4bsd)
- Copyright 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define TARGET_BYTE_ORDER BIG_ENDIAN
-
-/* There is come problem with the debugging symbols generated by the
- compiler such that the debugging symbol for the first line of a
- function overlap with the function prologue. */
-#define PROLOGUE_FIRSTLINE_OVERLAP
-
-/* When convex pcc says CHAR or SHORT, it provides the correct address. */
-
-#define BELIEVE_PCC_PROMOTION 1
-
-/* Symbol types to ignore. */
-/* 0xc4 is N_MONPT. Use the numeric value for the benefit of people
- with (rather) old OS's. */
-#define IGNORE_SYMBOL(TYPE) \
- (((TYPE) & ~N_EXT) == N_TBSS \
- || ((TYPE) & ~N_EXT) == N_TDATA \
- || ((TYPE) & ~N_EXT) == 0xc4)
-
-/* 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.
- Convex prolog is:
- [sub.w #-,sp] in one of 3 possible sizes
- [mov psw,- fc/vc main program prolog
- and #-,- (skip it because the "mov psw" saves the
- mov -,psw] T bit, so continue gets a surprise trap)
- [and #-,sp] fc/vc O2 main program prolog
- [ld.- -(ap),-] pcc/gcc register arg loads
-*/
-
-#define SKIP_PROLOGUE(pc) \
-{ int op, ix; \
- op = read_memory_integer (pc, 2); \
- if ((op & 0xffc7) == 0x5ac0) pc += 2; \
- else if (op == 0x1580) pc += 4; \
- else if (op == 0x15c0) pc += 6; \
- if ((read_memory_integer (pc, 2) & 0xfff8) == 0x7c40 \
- && (read_memory_integer (pc + 2, 2) & 0xfff8) == 0x1240 \
- && (read_memory_integer (pc + 8, 2) & 0xfff8) == 0x7c48) \
- pc += 10; \
- if (read_memory_integer (pc, 2) == 0x1240) pc += 6; \
- for (;;) { \
- op = read_memory_integer (pc, 2); \
- ix = (op >> 3) & 7; \
- if (ix != 6) break; \
- if ((op & 0xfcc0) == 0x3000) pc += 4; \
- else if ((op & 0xfcc0) == 0x3040) pc += 6; \
- else if ((op & 0xfcc0) == 0x2800) pc += 4; \
- else if ((op & 0xfcc0) == 0x2840) pc += 6; \
- else break;}}
-
-/* Immediately after a function call, return the saved pc.
- (ignore frame and return *$sp so we can handle both calls and callq) */
-
-#define SAVED_PC_AFTER_CALL(frame) \
- read_memory_integer (read_register (SP_REGNUM), 4)
-
-/* Address of end of stack space.
- This is ((USRSTACK + 0xfff) & -0x1000)) from <convex/vmparam.h> but
- that expression depends on the kernel version; instead, fetch a
- page-zero pointer and get it from that. This will be invalid if
- they ever change the way bkpt signals are delivered. */
-
-#define STACK_END_ADDR (0xfffff000 & *(unsigned *) 0x80000050)
-
-/* User-mode traps push an extended rtn block,
- then fault with one of the following PCs */
-
-#define is_trace_pc(pc) ((unsigned) ((pc) - (*(int *) 0x80000040)) <= 4)
-#define is_arith_pc(pc) ((unsigned) ((pc) - (*(int *) 0x80000044)) <= 4)
-#define is_break_pc(pc) ((unsigned) ((pc) - (*(int *) 0x80000050)) <= 4)
-
-/* We need to manipulate trap bits in the psw */
-
-#define PSW_TRAP_FLAGS 0x69670000
-#define PSW_T_BIT 0x08000000
-#define PSW_S_BIT 0x01000000
-
-/* Stack grows downward. */
-
-#define INNER_THAN <
-
-/* Sequence of bytes for breakpoint instruction. (bkpt) */
-
-#define BREAKPOINT {0x7d,0x50}
-
-/* Amount PC must be decremented by after a breakpoint.
- This is often the number of bytes in BREAKPOINT but not always.
- (The break PC needs to be decremented by 2, but we do it when the
- break frame is recognized and popped. That way gdb can tell breaks
- from trace traps with certainty.) */
-
-#define DECR_PC_AFTER_BREAK 0
-
-/* Nonzero if instruction at PC is a return instruction. (rtn or rtnq) */
-
-#define ABOUT_TO_RETURN(pc) \
- ((read_memory_integer (pc, 2) & 0xffe0) == 0x7c80)
-
-/* Return 1 if P points to an invalid floating point value. */
-
-#define INVALID_FLOAT(p,len) 0
-
-/* Say how long (ordinary) registers are. */
-
-#define REGISTER_TYPE long long
-
-/* Number of machine registers */
-
-#define NUM_REGS 26
-
-/* Initializer for an array of names of registers.
- There should be NUM_REGS strings in this initializer. */
-
-#define REGISTER_NAMES {"pc","psw","fp","ap","a5","a4","a3","a2","a1","sp",\
- "s7","s6","s5","s4","s3","s2","s1","s0",\
- "S7","S6","S5","S4","S3","S2","S1","S0"}
-
-/* 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 S0_REGNUM 25 /* the real S regs */
-#define S7_REGNUM 18
-#define s0_REGNUM 17 /* low-order halves of S regs */
-#define s7_REGNUM 10
-#define SP_REGNUM 9 /* A regs */
-#define A1_REGNUM 8
-#define A5_REGNUM 4
-#define AP_REGNUM 3
-#define FP_REGNUM 2 /* Contains address of executing stack frame */
-#define PS_REGNUM 1 /* Contains processor status */
-#define PC_REGNUM 0 /* Contains program counter */
-
-/* convert dbx stab register number (from `r' declaration) to a gdb REGNUM */
-
-#define STAB_REG_TO_REGNUM(value) \
- ((value) < 8 ? S0_REGNUM - (value) : SP_REGNUM - ((value) - 8))
-
-/* Vector register numbers, not handled as ordinary regs.
- They are treated as convenience variables whose values are read
- from the inferior when needed. */
-
-#define V0_REGNUM 0
-#define V7_REGNUM 7
-#define VM_REGNUM 8
-#define VS_REGNUM 9
-#define VL_REGNUM 10
-
-/* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'. */
-#define REGISTER_BYTES (4*10 + 8*8)
-
-/* Index within `registers' of the first byte of the space for
- register N.
- NB: must match structure of struct syscall_context for correct operation */
-
-#define REGISTER_BYTE(N) ((N) < s7_REGNUM ? 4*(N) : \
- (N) < S7_REGNUM ? 44 + 8 * ((N)-s7_REGNUM) : \
- 40 + 8 * ((N)-S7_REGNUM))
-
-/* Number of bytes of storage in the actual machine representation
- for register N. */
-
-#define REGISTER_RAW_SIZE(N) ((N) < S7_REGNUM ? 4 : 8)
-
-/* Number of bytes of storage in the program's representation
- for register N. */
-
-#define REGISTER_VIRTUAL_SIZE(N) REGISTER_RAW_SIZE(N)
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 8
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 8
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) 0
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), REGISTER_RAW_SIZE (REGNUM));
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), REGISTER_RAW_SIZE (REGNUM));
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-#define REGISTER_VIRTUAL_TYPE(N) \
- ((N) < S7_REGNUM ? builtin_type_int : builtin_type_long_long)
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-
-#define STORE_STRUCT_RETURN(ADDR, SP) \
- { write_register (A1_REGNUM, (ADDR)); }
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- bcopy (&((char *) REGBUF) [REGISTER_BYTE (S0_REGNUM) + \
- 8 - TYPE_LENGTH (TYPE)],\
- VALBUF, TYPE_LENGTH (TYPE))
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- write_register_bytes (REGISTER_BYTE (S0_REGNUM), VALBUF, 8)
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) \
- (*(int *) & ((char *) REGBUF) [REGISTER_BYTE (s0_REGNUM)])
-
-/* Define trapped internal variable hooks to read and write
- vector and communication registers. */
-
-#define IS_TRAPPED_INTERNALVAR is_trapped_internalvar
-#define VALUE_OF_TRAPPED_INTERNALVAR value_of_trapped_internalvar
-#define SET_TRAPPED_INTERNALVAR set_trapped_internalvar
-
-extern struct value *value_of_trapped_internalvar ();
-
-/* Hooks to read data from soff exec and core files,
- and to describe the files. */
-
-#define XFER_CORE_FILE
-#define FILES_INFO_HOOK print_maps
-
-/* Hook to call to print a typeless integer value, normally printed in decimal.
- For convex, use hex instead if the number looks like an address. */
-
-#define PRINT_TYPELESS_INTEGER decout
-
-/* For the native compiler, variables for a particular lexical context
- are listed after the beginning LBRAC instead of before in the
- executables list of symbols. Using "gcc_compiled." to distinguish
- between GCC and native compiler doesn't work on Convex because the
- linker sorts the symbols to put "gcc_compiled." in the wrong place.
- desc is nonzero for native, zero for gcc. */
-#define VARIABLES_INSIDE_BLOCK(desc, gcc_p) (desc != 0)
-
-/* Pcc occaisionally puts an SO where there should be an SOL. */
-#define PCC_SOL_BROKEN
-
-/* Describe the pointer in each stack frame to the previous stack frame
- (its caller). */
-
-/* FRAME_CHAIN takes a frame_info with a frame's nominal address in fi->frame,
- and produces the frame's chain-pointer. */
-
-/* (caller fp is saved at 8(fp)) */
-
-#define FRAME_CHAIN(fi) (read_memory_integer ((fi)->frame + 8, 4))
-
-/* Define other aspects of the stack frame. */
-
-/* We need the boundaries of the text in the exec file, as a kludge,
- for FRAMELESS_FUNCTION_INVOCATION and CALL_DUMMY_LOCATION. */
-
-#define NEED_TEXT_START_END
-
-/* A macro that tells us whether the function invocation represented
- by FI does not have a frame on the stack associated with it. If it
- does not, FRAMELESS is set to 1, else 0.
- On convex, check at the return address for `callq' -- if so, frameless,
- otherwise, not. */
-
-#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) \
-{ \
- extern CORE_ADDR text_start, text_end; \
- CORE_ADDR call_addr = SAVED_PC_AFTER_CALL (FI); \
- (FRAMELESS) = (call_addr >= text_start && call_addr < text_end \
- && read_memory_integer (call_addr - 6, 1) == 0x22); \
-}
-
-#define FRAME_SAVED_PC(fi) (read_memory_integer ((fi)->frame, 4))
-
-#define FRAME_ARGS_ADDRESS(fi) (read_memory_integer ((fi)->frame + 12, 4))
-
-#define FRAME_LOCALS_ADDRESS(fi) (fi)->frame
-
-/* Return number of args passed to a frame.
- Can return -1, meaning no way to tell. */
-
-#define FRAME_NUM_ARGS(numargs, fi) \
-{ numargs = read_memory_integer (FRAME_ARGS_ADDRESS (fi) - 4, 4); \
- if (numargs < 0 || numargs >= 256) numargs = -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. */
-
-/* Normal (short) frames save only PC, FP, (callee's) AP. To reasonably
- handle gcc and pcc register variables, scan the code following the
- call for the instructions the compiler inserts to reload register
- variables from stack slots and record the stack slots as the saved
- locations of those registers. This will occasionally identify some
- random load as a saved register; this is harmless. vc does not
- declare its register allocation actions in the stabs. */
-
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
-{ register int regnum; \
- register int frame_length = /* 3 short, 2 long, 1 extended, 0 context */\
- (read_memory_integer ((frame_info)->frame + 4, 4) >> 25) & 3; \
- register CORE_ADDR frame_fp = \
- read_memory_integer ((frame_info)->frame + 8, 4); \
- register CORE_ADDR next_addr; \
- bzero (&frame_saved_regs, sizeof frame_saved_regs); \
- (frame_saved_regs).regs[PC_REGNUM] = (frame_info)->frame + 0; \
- (frame_saved_regs).regs[PS_REGNUM] = (frame_info)->frame + 4; \
- (frame_saved_regs).regs[FP_REGNUM] = (frame_info)->frame + 8; \
- (frame_saved_regs).regs[AP_REGNUM] = frame_fp + 12; \
- next_addr = (frame_info)->frame + 12; \
- if (frame_length < 3) \
- for (regnum = A5_REGNUM; regnum < SP_REGNUM; ++regnum) \
- (frame_saved_regs).regs[regnum] = (next_addr += 4); \
- if (frame_length < 2) \
- (frame_saved_regs).regs[SP_REGNUM] = (next_addr += 4); \
- next_addr -= 4; \
- if (frame_length < 3) \
- for (regnum = S7_REGNUM; regnum < S0_REGNUM; ++regnum) \
- (frame_saved_regs).regs[regnum] = (next_addr += 8); \
- if (frame_length < 2) \
- (frame_saved_regs).regs[S0_REGNUM] = (next_addr += 8); \
- else \
- (frame_saved_regs).regs[SP_REGNUM] = next_addr + 8; \
- if (frame_length == 3) { \
- CORE_ADDR pc = read_memory_integer ((frame_info)->frame, 4); \
- int op, ix, disp; \
- op = read_memory_integer (pc, 2); \
- if ((op & 0xffc7) == 0x1480) pc += 4; /* add.w #-,sp */ \
- else if ((op & 0xffc7) == 0x58c0) pc += 2; /* add.w #-,sp */ \
- op = read_memory_integer (pc, 2); \
- if ((op & 0xffc7) == 0x2a06) pc += 4; /* ld.w -,ap */ \
- for (;;) { \
- op = read_memory_integer (pc, 2); \
- ix = (op >> 3) & 7; \
- if ((op & 0xfcc0) == 0x2800) { /* ld.- -,ak */ \
- regnum = SP_REGNUM - (op & 7); \
- disp = read_memory_integer (pc + 2, 2); \
- pc += 4;} \
- else if ((op & 0xfcc0) == 0x2840) { /* ld.- -,ak */ \
- regnum = SP_REGNUM - (op & 7); \
- disp = read_memory_integer (pc + 2, 4); \
- pc += 6;} \
- if ((op & 0xfcc0) == 0x3000) { /* ld.- -,sk */ \
- regnum = S0_REGNUM - (op & 7); \
- disp = read_memory_integer (pc + 2, 2); \
- pc += 4;} \
- else if ((op & 0xfcc0) == 0x3040) { /* ld.- -,sk */ \
- regnum = S0_REGNUM - (op & 7); \
- disp = read_memory_integer (pc + 2, 4); \
- pc += 6;} \
- else if ((op & 0xff00) == 0x7100) { /* br crossjump */ \
- pc += 2 * (char) op; \
- continue;} \
- else if (op == 0x0140) { /* jmp crossjump */ \
- pc = read_memory_integer (pc + 2, 4); \
- continue;} \
- else break; \
- if ((frame_saved_regs).regs[regnum]) \
- break; \
- if (ix == 7) disp += frame_fp; \
- else if (ix == 6) disp += read_memory_integer (frame_fp + 12, 4); \
- else if (ix != 0) break; \
- (frame_saved_regs).regs[regnum] = \
- disp - 8 + (1 << ((op >> 8) & 3)); \
- if (regnum >= S7_REGNUM) \
- (frame_saved_regs).regs[regnum - S0_REGNUM + s0_REGNUM] = \
- disp - 4 + (1 << ((op >> 8) & 3)); \
- } \
- } \
-}
-
-/* Things needed for making the inferior call functions. */
-
-#define CALL_DUMMY_LOCATION BEFORE_TEXT_END
-
-/* Push an empty stack frame, to record the current PC, etc. */
-
-#define PUSH_DUMMY_FRAME \
-{ register CORE_ADDR sp = read_register (SP_REGNUM); \
- register int regnum; \
- char buf[8]; \
- long word; \
- for (regnum = S0_REGNUM; regnum >= S7_REGNUM; --regnum) { \
- read_register_bytes (REGISTER_BYTE (regnum), buf, 8); \
- sp = push_bytes (sp, buf, 8);} \
- for (regnum = SP_REGNUM; regnum >= FP_REGNUM; --regnum) { \
- word = read_register (regnum); \
- sp = push_bytes (sp, &word, 4);} \
- word = (read_register (PS_REGNUM) &~ (3<<25)) | (1<<25); \
- sp = push_bytes (sp, &word, 4); \
- word = read_register (PC_REGNUM); \
- sp = push_bytes (sp, &word, 4); \
- write_register (SP_REGNUM, sp); \
- write_register (FP_REGNUM, sp); \
- write_register (AP_REGNUM, sp);}
-
-/* Discard from the stack the innermost frame, restoring all registers. */
-
-#define POP_FRAME do {\
- register CORE_ADDR fp = read_register (FP_REGNUM); \
- register int regnum; \
- register int frame_length = /* 3 short, 2 long, 1 extended, 0 context */ \
- (read_memory_integer (fp + 4, 4) >> 25) & 3; \
- char buf[8]; \
- write_register (PC_REGNUM, read_memory_integer (fp, 4)); \
- write_register (PS_REGNUM, read_memory_integer (fp += 4, 4)); \
- write_register (FP_REGNUM, read_memory_integer (fp += 4, 4)); \
- write_register (AP_REGNUM, read_memory_integer (fp += 4, 4)); \
- if (frame_length < 3) \
- for (regnum = A5_REGNUM; regnum < SP_REGNUM; ++regnum) \
- write_register (regnum, read_memory_integer (fp += 4, 4)); \
- if (frame_length < 2) \
- write_register (SP_REGNUM, read_memory_integer (fp += 4, 4)); \
- fp -= 4; \
- if (frame_length < 3) \
- for (regnum = S7_REGNUM; regnum < S0_REGNUM; ++regnum) { \
- read_memory (fp += 8, buf, 8); \
- write_register_bytes (REGISTER_BYTE (regnum), buf, 8);} \
- if (frame_length < 2) { \
- read_memory (fp += 8, buf, 8); \
- write_register_bytes (REGISTER_BYTE (regnum), buf, 8);} \
- else write_register (SP_REGNUM, fp + 8); \
- flush_cached_frames (); \
- set_current_frame (create_new_frame (read_register (FP_REGNUM), \
- read_pc ())); \
-} while (0)
-
-/* This sequence of words is the instructions
- mov sp,ap
- pshea 69696969
- calls 32323232
- bkpt
- Note this is 16 bytes. */
-
-#define CALL_DUMMY {0x50860d4069696969LL,0x2140323232327d50LL}
-
-#define CALL_DUMMY_LENGTH 16
-
-#define CALL_DUMMY_START_OFFSET 0
-
-/* Insert the specified number of args and function address
- into a call sequence of the above form stored at DUMMYNAME. */
-
-#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p) \
-{ *(int *)((char *) dummyname + 4) = nargs; \
- *(int *)((char *) dummyname + 10) = fun; }
-
-/* Defs to read soff symbol tables, see dbxread.c */
-
-#define NUMBER_OF_SYMBOLS ((long) opthdr.o_nsyms)
-#define STRING_TABLE_OFFSET ((long) filehdr.h_strptr)
-#define SYMBOL_TABLE_OFFSET ((long) opthdr.o_symptr)
-#define STRING_TABLE_SIZE ((long) filehdr.h_strsiz)
-#define SIZE_OF_TEXT_SEGMENT ((long) txthdr.s_size)
-#define ENTRY_POINT ((long) opthdr.o_entry)
-
-#define READ_STRING_TABLE_SIZE(BUFFER) \
- (BUFFER = STRING_TABLE_SIZE)
-
-#define DECLARE_FILE_HEADERS \
- FILEHDR filehdr; \
- OPTHDR opthdr; \
- SCNHDR txthdr
-
-#define READ_FILE_HEADERS(DESC,NAME) \
-{ \
- int n; \
- val = myread (DESC, &filehdr, sizeof filehdr); \
- if (val < 0) \
- perror_with_name (NAME); \
- if (! IS_SOFF_MAGIC (filehdr.h_magic)) \
- error ("%s: not an executable file.", NAME); \
- lseek (DESC, 0L, 0); \
- if (myread (DESC, &filehdr, sizeof filehdr) < 0) \
- perror_with_name (NAME); \
- if (myread (DESC, &opthdr, filehdr.h_opthdr) <= 0) \
- perror_with_name (NAME); \
- for (n = 0; n < filehdr.h_nscns; n++) \
- { \
- if (myread (DESC, &txthdr, sizeof txthdr) < 0) \
- perror_with_name (NAME); \
- if ((txthdr.s_flags & S_TYPMASK) == S_TEXT) \
- break; \
- } \
-}
diff --git a/gdb/tm-delta88.h b/gdb/tm-delta88.h
index 7474b3e..e69de29 100644
--- a/gdb/tm-delta88.h
+++ b/gdb/tm-delta88.h
@@ -1,27 +0,0 @@
-/* Target machine description for Motorola Delta 88 box, for GDB.
- Copyright 1986, 1987, 1988, 1989, 1990, 1991 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. */
-
-#include "tm-m88k.h"
-
-/* BCS is a standard for binary compatibility. This machine uses it. */
-#if !defined (BCS)
-#define BCS 1
-#endif
-
-#define DELTA88
diff --git a/gdb/tm-es1800.h b/gdb/tm-es1800.h
index 18bd9c2..e69de29 100644
--- a/gdb/tm-es1800.h
+++ b/gdb/tm-es1800.h
@@ -1,60 +0,0 @@
-/* Parameters for execution on ES-1800 emulator for 68000.
- The code was originally written by Johan Holmberg TT/SJ Ericsson Telecom
- AB and later modified by Johan Henriksson TT/SJ. It was adapted to GDB 4.0
- by Jan Norden TX/DK.
- Copyright 1986, 1987, 1989, 1991, 1992, 1993 Free Software Foundation, Inc.
-
-This file is part of GDB.
-
-GDB 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 1, or (at your option)
-any later version.
-
-GDB 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 GDB; see the file COPYING. If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define GDBINIT_FILENAME ".esgdbinit"
-
-#define DEFAULT_PROMPT "(esgdb) "
-
-#define HAVE_68881
-
-#include "tm-68k.h"
-
-/* Longjmp stuff borrowed from sun3 configuration. Don't know if correct.
- FIXME. */
-/* Offsets (in target ints) into jmp_buf. Not defined by Sun, but at least
- documented in a comment in <machine/setjmp.h>! */
-
-#define JB_ELEMENT_SIZE 4
-
-#define JB_ONSSTACK 0
-#define JB_SIGMASK 1
-#define JB_SP 2
-#define JB_PC 3
-#define JB_PSL 4
-#define JB_D2 5
-#define JB_D3 6
-#define JB_D4 7
-#define JB_D5 8
-#define JB_D6 9
-#define JB_D7 10
-#define JB_A2 11
-#define JB_A3 12
-#define JB_A4 13
-#define JB_A5 14
-#define JB_A6 15
-
-/* Figure out where the longjmp will land. Slurp the args out of the stack.
- We expect the first arg to be a pointer to the jmp_buf structure from which
- we extract the pc (JB_PC) that we will land at. The pc is copied into ADDR.
- This routine returns true on success */
-
-#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR)
diff --git a/gdb/tm-h8300.h b/gdb/tm-h8300.h
index a583ecc..e69de29 100644
--- a/gdb/tm-h8300.h
+++ b/gdb/tm-h8300.h
@@ -1,305 +0,0 @@
-/* Parameters for execution on a H8/300 series machine.
- Copyright 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* Contributed by Steve Chamberlain sac@cygnus.com */
-
-
-#define UNSIGNED_SHORT(X) ((X) & 0xffff)
-
-
-#define EXTRA_FRAME_INFO \
- struct frame_saved_regs *fsr; \
- CORE_ADDR from_pc; \
- CORE_ADDR args_pointer;\
- CORE_ADDR locals_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 ();
-
-
-#define IEEE_FLOAT
-/* Define the bit, byte, and word ordering of the machine. */
-#define TARGET_BYTE_ORDER BIG_ENDIAN
-#undef TARGET_INT_BIT
-#define TARGET_INT_BIT 16
-#undef TARGET_PTR_BIT
-#define TARGET_PTR_BIT 16
-
-
-/* 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. */
-
-
-#define SKIP_PROLOGUE(ip) {(ip) = h8300_skip_prologue(ip);}
-extern CORE_ADDR h8300_skip_prologue ();
-
-
-/* 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) \
-UNSIGNED_SHORT(read_memory_integer (read_register (SP_REGNUM), 2))
-
-/* Stack grows downward. */
-
-#define INNER_THAN <
-
-
-#define BREAKPOINT {0x53, 0x00}
-
-
-/* If your kernel resets the pc after the trap happens you may need to
- define this before including this file. */
-
-
-#define DECR_PC_AFTER_BREAK 0
-
-
-/* Nonzero if instruction at PC is a return instruction. */
-/* Allow any of the return instructions, including a trapv and a return
- from interupt. */
-
-#define ABOUT_TO_RETURN(pc) ((read_memory_integer (pc, 2) & ~0x3) == 0x4e74)
-
-/* Return 1 if P points to an invalid floating point value. */
-
-#define INVALID_FLOAT(p, len) 0 /* Just a first guess; not checked */
-
-/* Say how long registers are. */
-
-#define REGISTER_TYPE unsigned short
-
-/*# define NUM_REGS 20 /* 20 for fake HW support */
-# define NUM_REGS 11
-# define REGISTER_BYTES (NUM_REGS*2)
-
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-
-#define REGISTER_BYTE(N) ((N) * 2)
-
-/* Number of bytes of storage in the actual machine representation
- for register N. On the H8/300, all regs are 2 bytes. */
-
-#define REGISTER_RAW_SIZE(N) 2
-
-/* Number of bytes of storage in the program's representation
- for register N. On the H8/300, all regs are 2 bytes. */
-
-#define REGISTER_VIRTUAL_SIZE(N) 2
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 2
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 2
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) 1
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-/*#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) */
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-/*#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) */
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-#define REGISTER_VIRTUAL_TYPE(N) builtin_type_unsigned_short
-
-
-/* Initializer for an array of names of registers.
- Entries beyond the first NUM_REGS are ignored. */
-
-#if NUM_REGS==20
-#define REGISTER_NAMES \
- {"r0", "r1", "r2", "r3", "r4", "r5", "r6", "sp",\
- "ccr","pc","cycles","hcheck","tier","tcsr","frc",\
- "ocra","ocrb","tcr","tocr","icra"}
-#else
-#define REGISTER_NAMES \
- {"r0", "r1", "r2", "r3", "r4", "r5", "r6", "sp", "ccr","pc","cycles"}
-#endif
-
-/* 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 FP_REGNUM 6 /* Contains address of executing stack frame */
-#define SP_REGNUM 7 /* Contains address of top of stack */
-#define CCR_REGNUM 8 /* Contains processor status */
-#define PC_REGNUM 9 /* Contains program counter */
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-
-/*#define STORE_STRUCT_RETURN(ADDR, SP) \
- { write_register (0, (ADDR)); abort(); }*/
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- bcopy ((char *)(REGBUF), VALBUF, TYPE_LENGTH(TYPE))
-
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. Assumes floats are passed
- in d0/d1. */
-
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- write_register_bytes (0, VALBUF, TYPE_LENGTH (TYPE))
-
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(CORE_ADDR *)(REGBUF))
-
-/* 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. */
-
-/* In the case of the H8/300, the frame's nominal address
- is the address of a 2-byte word containing the calling frame's address. */
-
-/* Use the alternate method of avoiding running up off the end of
- the frame chain or following frames back into the startup code.
- See the comments in objfile.h */
-
-#define FRAME_CHAIN_VALID_ALTERNATE
-
-/* Define other aspects of the stack frame. */
-
-/* A macro that tells us whether the function invocation represented
- by FI does not have a frame on the stack associated with it. If it
- does not, FRAMELESS is set to 1, else 0. */
-#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) \
- (FRAMELESS) = frameless_look_for_prologue(FI)
-
-/* Any function with a frame looks like this
- SECOND ARG
- FIRST ARG
- RET PC
- SAVED R2
- SAVED R3
- SAVED FP <-FP POINTS HERE
- LOCALS0
- LOCALS1 <-SP POINTS HERE
-
- */
-#define FRAME_SAVED_PC(FRAME) frame_saved_pc(FRAME)
-
-#define FRAME_ARGS_ADDRESS(fi) frame_args_address(fi)
-
-#define FRAME_LOCALS_ADDRESS(fi) frame_locals_address(fi);
-
-/* Set VAL to the number of args passed to frame described by FI.
- Can set VAL to -1, meaning no way to tell. */
-
-/* We can't tell how many args there are
- now that the C compiler delays popping them. */
-
-#define FRAME_NUM_ARGS(val,fi) (val = -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. */
-
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
- frame_find_saved_regs(frame_info, &(frame_saved_regs))
-
-
-/* Push an empty stack frame, to record the current PC, etc. */
-
-/*#define PUSH_DUMMY_FRAME { h8300_push_dummy_frame (); }*/
-
-/* Discard from the stack the innermost frame, restoring all registers. */
-
-#define POP_FRAME { h8300_pop_frame (); }
-
-#define SHORT_INT_MAX 32767
-#define SHORT_INT_MIN -32768
-
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
-{ memcpy((TO), (FROM), 2); }
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
-{ memcpy((TO), (FROM), 2); }
-
-#define BEFORE_MAIN_LOOP_HOOK \
- hms_before_main_loop();
-
-typedef unsigned short INSN_WORD;
-
-#define ADDR_BITS_REMOVE(addr) ((addr) & 0xffff)
-#define ADDR_BITS_SET(addr) (((addr)))
-
-#define read_memory_short(x) (read_memory_integer(x,2) & 0xffff)
-#define DONT_USE_REMOTE
-
-
-#define PRINT_REGISTER_HOOK(regno) print_register_hook(regno)
-
diff --git a/gdb/tm-h8500.h b/gdb/tm-h8500.h
deleted file mode 100644
index 5105c6a..0000000
--- a/gdb/tm-h8500.h
+++ /dev/null
@@ -1,293 +0,0 @@
-/* Parameters for execution on a H8/500 series machine.
- Copyright (C) 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* Contributed by Steve Chamberlain sac@cygnus.com */
-
-
-
-#define IEEE_FLOAT 1
-
-/* Define the bit, byte, and word ordering of the machine. */
-
-#define TARGET_BYTE_ORDER BIG_ENDIAN
-
-#undef TARGET_INT_BIT
-#define TARGET_INT_BIT 16
-
-#undef TARGET_PTR_BIT
-#define TARGET_PTR_BIT (minimum_mode ? 16 : 32)
-
-
-/* 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. */
-
-#define SKIP_PROLOGUE(ip) {(ip) = h8500_skip_prologue(ip);}
-extern CORE_ADDR h8500_skip_prologue ();
-
-
-/* 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) saved_pc_after_call(frame)
-
-
-/* Stack grows downward. */
-
-#define INNER_THAN <
-
-/* Illegal instruction - used by the simulator for breakpoint
- detection */
-#define BREAKPOINT {0x0b}
-
-
-/* If your kernel resets the pc after the trap happens you may need to
- define this before including this file. */
-
-#define DECR_PC_AFTER_BREAK 0
-
-
-/* Nonzero if instruction at PC is a return instruction. */
-
-#define ABOUT_TO_RETURN(pc) about_to_return(pc)
-
-/* Return 1 if P points to an invalid floating point value. */
-
-#define INVALID_FLOAT(p, len) 0 /* Just a first guess; not checked */
-
-/* Say how long registers are. */
-
-#define REGISTER_TYPE unsigned long
-
-/* Say how much memory is needed to store a copy of the register set */
-
-#define REGISTER_BYTES ((NUM_REGS)*4)
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-
-#define REGISTER_BYTE(N) ((N)*4)
-
-/* Number of bytes of storage in the actual machine representation
- for register N. */
-
-#define REGISTER_RAW_SIZE(N) register_raw_size(N)
-
-#define REGISTER_VIRTUAL_SIZE(N) register_virtual_size(N)
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 4
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 4
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) 1
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
- register_convert_to_virtual(REGNUM, FROM, TO)
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
- register_convert_to_raw(REGNUM, FROM, TO)
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-struct type *register_virtual_type();
-
-#define REGISTER_VIRTUAL_TYPE(N) register_virtual_type(N)
-
-
-/* Initializer for an array of names of registers.
- Entries beyond the first NUM_REGS are ignored. */
-
-#define REGISTER_NAMES \
- {"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", \
- "pr0", "pr1","pr2","pr3","pr4","pr5","pr6","pr7", \
- "ccr","pc", \
- "cp","dp","ep","tp" }
-
-/* 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 0
-#define R1 1
-#define R2 2
-#define R3 3
-#define R4 4
-#define R5 5
-#define R6 6
-#define R7 7
-
-#define PR0 8 /* R0-R7 with seg prefixed */
-#define PR1 9
-#define PR2 10
-#define PR3 11
-#define PR4 12
-#define PR5 13
-#define PR6 14
-#define PR7 15
-
-#define SP_REGNUM PR7 /* Contains address of top of stack */
-#define FP_REGNUM PR6 /* Contains address of executing stack frame */
-
-#define CCR_REGNUM 16 /* Contains processor status */
-#define PC_REGNUM 17 /* Contains program counter */
-
-#define SEG_C 18 /* Segment registers */
-#define SEG_D 19
-#define SEG_E 20
-#define SEG_T 21
-
-#define NUM_REGS 22
-
-#define PTR_SIZE (minimum_mode ? 2: 4)
-#define PTR_MASK (minimum_mode ? 0x0000ffff : 0x00ffffff)
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-
-/*#define STORE_STRUCT_RETURN(ADDR, SP) \
- { write_register (0, (ADDR)); abort(); }*/
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- bcopy ((char *)(REGBUF), VALBUF, TYPE_LENGTH(TYPE))
-
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. Assumes floats are passed
- in d0/d1. */
-
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- write_register_bytes (0, VALBUF, TYPE_LENGTH (TYPE))
-
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(CORE_ADDR *)(REGBUF))
-
-
-/* Define other aspects of the stack frame. */
-
-/* A macro that tells us whether the function invocation represented
- by FI does not have a frame on the stack associated with it. If it
- does not, FRAMELESS is set to 1, else 0. */
-#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) \
- (FRAMELESS) = frameless_look_for_prologue(FI)
-
-/* Any function with a frame looks like this
- SECOND ARG
- FIRST ARG
- RET PC
- SAVED R2
- SAVED R3
- SAVED FP <-FP POINTS HERE
- LOCALS0
- LOCALS1 <-SP POINTS HERE
-
- */
-#define FRAME_SAVED_PC(FRAME) frame_saved_pc(FRAME)
-
-#define FRAME_ARGS_ADDRESS(fi) frame_args_address(fi)
-
-#define FRAME_LOCALS_ADDRESS(fi) frame_locals_address(fi);
-
-/* Set VAL to the number of args passed to frame described by FI.
- Can set VAL to -1, meaning no way to tell. */
-
-/* We can't tell how many args there are
- now that the C compiler delays popping them. */
-
-#define FRAME_NUM_ARGS(val,fi) (val = -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. */
-
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
- frame_find_saved_regs(frame_info, &(frame_saved_regs))
-
-
-/* Push an empty stack frame, to record the current PC, etc. */
-
-/*#define PUSH_DUMMY_FRAME { h8300_push_dummy_frame (); }*/
-
-/* Discard from the stack the innermost frame, restoring all registers. */
-
-#define POP_FRAME { h8300_pop_frame (); }
-
-#define SHORT_INT_MAX 32767
-#define SHORT_INT_MIN -32768
-
-
-
-#define BEFORE_MAIN_LOOP_HOOK \
- hms_before_main_loop();
-
-
-#define NAMES_HAVE_UNDERSCORE
-
-typedef unsigned short INSN_WORD;
-
-#define ADDR_BITS_REMOVE(addr) ((addr) & 0xffffff)
-#define ADDR_BITS_SET(addr) (((addr)))
-
-#define read_memory_short(x) (read_memory_integer(x,2) & 0xffff)
-#define DONT_USE_REMOTE
-
-
-#define PRINT_REGISTER_HOOK(regno) print_register_hook(regno)
-
-
-int minimum_mode;
-
-#define CALL_DUMMY_LENGTH 10
diff --git a/gdb/tm-hp300bsd.h b/gdb/tm-hp300bsd.h
deleted file mode 100644
index 24231a0..0000000
--- a/gdb/tm-hp300bsd.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Parameters for target machine Hewlett-Packard 9000/300, running bsd.
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/*
- * Configuration file for HP9000/300 series machine running
- * University of Utah's 4.3bsd port. This is NOT for HP-UX.
- * Problems to hpbsd-bugs@cs.utah.edu
- */
-
-#define HAVE_68881
-
-/* Define BPT_VECTOR if it is different than the default.
- This is the vector number used by traps to indicate a breakpoint. */
-
-#define BPT_VECTOR 0x2
-
-#define TARGET_NBPG 4096
-#define TARGET_UPAGES 3
-
-/* On the HP300, sigtramp is in the u area. Gak! User struct is not
- mapped to the same virtual address in user/kernel address space
- (hence STACK_END_ADDR as opposed to KERNEL_U_ADDR). This tests
- for the whole u area, since we don't necessarily have hp300bsd
- include files around. */
-#define IN_SIGTRAMP(pc, name) \
- ((pc) >= STACK_END_ADDR \
- && (pc) < STACK_END_ADDR + TARGET_UPAGES * TARGET_NBPG \
- )
-
-/* Address of end of stack space. */
-
-#define STACK_END_ADDR 0xfff00000
-
-#include "tm-68k.h"
diff --git a/gdb/tm-hp300hpux.h b/gdb/tm-hp300hpux.h
deleted file mode 100644
index 49fb111..0000000
--- a/gdb/tm-hp300hpux.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Parameters for execution on an HP 9000 model 320, for GDB, the GNU debugger.
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define HAVE_68881
-
-/* Define BPT_VECTOR if it is different than the default.
- This is the vector number used by traps to indicate a breakpoint. */
-
-#define BPT_VECTOR 0x1
-
-/* Address of end of stack space. */
-
-#define STACK_END_ADDR 0xFFF00000
-
-#include "tm-68k.h"
diff --git a/gdb/tm-hppa.h b/gdb/tm-hppa.h
index cdb6d85..e69de29 100644
--- a/gdb/tm-hppa.h
+++ b/gdb/tm-hppa.h
@@ -1,589 +0,0 @@
-/* Parameters for execution on any Hewlett-Packard PA-RISC machine.
- Copyright 1986, 1987, 1989, 1990, 1991, 1992, 1993
- Free Software Foundation, Inc.
-
- Contributed by the Center for Software Science at the
- University of Utah (pa-gdb-bugs@cs.utah.edu).
-
-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. */
-
-/* Target system byte order. */
-
-#define TARGET_BYTE_ORDER BIG_ENDIAN
-
-/* Get at various relevent fields of an instruction word. */
-
-#define MASK_5 0x1f
-#define MASK_11 0x7ff
-#define MASK_14 0x3fff
-#define MASK_21 0x1fffff
-
-/* This macro gets bit fields using HP's numbering (MSB = 0) */
-
-#define GET_FIELD(X, FROM, TO) \
- ((X) >> 31 - (TO) & (1 << ((TO) - (FROM) + 1)) - 1)
-
-/* Watch out for NaNs */
-
-#define IEEE_FLOAT
-
-/* When passing a structure to a function, GCC passes the address
- in a register, not the structure itself. */
-
-#define REG_STRUCT_HAS_ADDR(gcc_p) (1)
-
-/* Groan */
-
-#define ARGS_GROW_DOWN
-
-/* 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. */
-
-/* skip (stw rp, -20(0,sp)); copy 4,1; copy sp, 4; stwm 1,framesize(sp)
- for gcc, or (stw rp, -20(0,sp); stwm 1, framesize(sp) for hcc */
-
-#define SKIP_PROLOGUE(pc) pc = skip_prologue (pc)
-
-/* If PC is in some function-call trampoline code, return the PC
- where the function itself actually starts. If not, return NULL. */
-
-#define SKIP_TRAMPOLINE_CODE(pc) skip_trampoline_code (pc, NULL)
-
-/* Return non-zero if we are in some sort of a trampoline. */
-
-#define IN_SOLIB_TRAMPOLINE(pc, name) skip_trampoline_code (pc, name)
-
-/* Immediately after a function call, return the saved pc.
- Can't 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) (read_register (RP_REGNUM) & ~3)
-
-/* Address of end of stack space. Who knows. */
-
-#define STACK_END_ADDR 0x80000000
-
-/* Stack grows upward */
-
-#define INNER_THAN >
-
-
-/* Sequence of bytes for breakpoint instruction. */
-
-/*#define BREAKPOINT {0x00, 0x00, 0x00, 0x00}*/
-#ifdef KERNELDEBUG /* XXX */
-#define BREAKPOINT {0x00, 0x00, 0xa0, 0x00}
-#else
-#define BREAKPOINT {0x00, 0x01, 0x00, 0x04}
-#endif
-
-/* Amount PC must be decremented by after a breakpoint.
- This is often the number of bytes in BREAKPOINT
- but not always.
-
- Not on the PA-RISC */
-
-#define DECR_PC_AFTER_BREAK 0
-
-/* return instruction is bv r0(rp) */
-
-#define ABOUT_TO_RETURN(pc) (read_memory_integer (pc, 4) == 0xE840C000)
-
-/* Return 1 if P points to an invalid floating point value. */
-
-#define INVALID_FLOAT(p, len) 0 /* Just a first guess; not checked */
-
-/* Largest integer type */
-#define LONGEST long
-
-/* Name of the builtin type for the LONGEST type above. */
-#define BUILTIN_TYPE_LONGEST builtin_type_long
-
-/* Say how long (ordinary) registers are. */
-
-#define REGISTER_TYPE long
-
-/* Number of machine registers */
-
-#define NUM_REGS 100
-
-/* Initializer for an array of names of registers.
- There should be NUM_REGS strings in this initializer. */
-
-#define REGISTER_NAMES \
- {"flags", "r1", "rp", "r3", "r4", "r5", "r6", "r7", "r8", "r9", \
- "r10", "r11", "r12", "r13", "r14", "r15", "r16", "r17", "r18", "r19", \
- "r20", "r21", "r22", "arg3", "arg2", "arg1", "arg0", "dp", "ret0", "ret1", \
- "sp", "r31", "sar", "pcoqh", "pcsqh", "pcoqt", "pcsqt", \
- "eiem", "iir", "isr", "ior", "ipsw", "goto", "sr4", "sr0", "sr1", "sr2", \
- "sr3", "sr5", "sr6", "sr7", "cr0", "cr8", "cr9", "ccr", "cr12", "cr13", \
- "cr24", "cr25", "cr26", "mpsfu_high", "mpsfu_low", "mpsfu_ovflo", "pad", \
- "fpsr", "fpe1", "fpe2", "fpe3", "fpe4", "fpe5", "fpe6", "fpe7", \
- "fp4", "fp5", "fp6", "fp7", "fp8", \
- "fp9", "fp10", "fp11", "fp12", "fp13", "fp14", "fp15", \
- "fp16", "fp17", "fp18", "fp19", "fp20", "fp21", "fp22", "fp23", \
- "fp24", "fp25", "fp26", "fp27", "fp28", "fp29", "fp30", "fp31"}
-
-/* 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 FLAGS_REGNUM 0 /* Various status flags */
-#define RP_REGNUM 2 /* return pointer */
-#define FP_REGNUM 4 /* Contains address of executing stack */
- /* frame */
-#define SP_REGNUM 30 /* Contains address of top of stack */
-#define SAR_REGNUM 32 /* shift amount register */
-#define IPSW_REGNUM 41 /* processor status word. ? */
-#define PCOQ_HEAD_REGNUM 33 /* instruction offset queue head */
-#define PCSQ_HEAD_REGNUM 34 /* instruction space queue head */
-#define PCOQ_TAIL_REGNUM 35 /* instruction offset queue tail */
-#define PCSQ_TAIL_REGNUM 36 /* instruction space queue tail */
-#define FP0_REGNUM 64 /* floating point reg. 0 */
-#define FP4_REGNUM 72
-
-/* compatibility with the rest of gdb. */
-#define PC_REGNUM PCOQ_HEAD_REGNUM
-#define NPC_REGNUM PCOQ_TAIL_REGNUM
-
-/* When fetching register values from an inferior or a core file,
- clean them up using this macro. BUF is a char pointer to
- the raw value of the register in the registers[] array. */
-
-#define CLEAN_UP_REGISTER_VALUE(regno, buf) \
- do { \
- if ((regno) == PCOQ_HEAD_REGNUM || (regno) == PCOQ_TAIL_REGNUM) \
- (buf)[3] &= ~0x3; \
- } while (0)
-
-/* Define DO_REGISTERS_INFO() to do machine-specific formatting
- of register dumps. */
-
-#define DO_REGISTERS_INFO(_regnum, fp) pa_do_registers_info (_regnum, fp)
-
-/* PA specific macro to see if the current instruction is nullified. */
-#define INSTRUCTION_NULLIFIED ((int)read_register (IPSW_REGNUM) & 0x00200000)
-
-/* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'. */
-#define REGISTER_BYTES (32 * 4 + 11 * 4 + 8 * 4 + 12 * 4 + 4 + 32 * 8)
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-
-#define REGISTER_BYTE(N) \
- ((N) >= FP4_REGNUM ? ((N) - FP4_REGNUM) * 8 + 288 : (N) * 4)
-
-/* Number of bytes of storage in the actual machine representation
- for register N. On the PA-RISC, all regs are 4 bytes
- except the floating point regs which are 8 bytes. */
-
-#define REGISTER_RAW_SIZE(N) ((N) < FP4_REGNUM ? 4 : 8)
-
-/* Number of bytes of storage in the program's representation
- for register N. */
-
-#define REGISTER_VIRTUAL_SIZE(N) REGISTER_RAW_SIZE(N)
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 8
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 8
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) 0
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM, FROM, TO) \
-{ memcpy ((TO), (FROM), (REGNUM) < FP4_REGNUM ? 4 : 8); }
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM, FROM, TO) \
-{ memcpy ((TO), (FROM), (REGNUM) < FP4_REGNUM ? 4 : 8); }
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-#define REGISTER_VIRTUAL_TYPE(N) \
- ((N) < FP4_REGNUM ? builtin_type_int : builtin_type_double)
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-
-#define STORE_STRUCT_RETURN(ADDR, SP) {write_register (28, (ADDR)); }
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- bcopy ((REGBUF) + REGISTER_BYTE(TYPE_LENGTH(TYPE) > 4 ? \
- FP4_REGNUM :28), VALBUF, TYPE_LENGTH (TYPE))
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- write_register_bytes (TYPE_LENGTH(TYPE) > 4 ? FP4_REGNUM :28, \
- VALBUF, TYPE_LENGTH (TYPE))
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(int *)((REGBUF) + 28))
-
-/*
- * This macro defines the register numbers (from REGISTER_NAMES) that
- * are effectively unavailable to the user through ptrace(). It allows
- * us to include the whole register set in REGISTER_NAMES (inorder to
- * better support remote debugging). If it is used in
- * fetch/store_inferior_registers() gdb will not complain about I/O errors
- * on fetching these registers. If all registers in REGISTER_NAMES
- * are available, then return false (0).
- */
-
-#define CANNOT_STORE_REGISTER(regno) \
- ((regno) == 0) || \
- ((regno) == PCSQ_HEAD_REGNUM) || \
- ((regno) >= PCSQ_TAIL_REGNUM && (regno) < IPSW_REGNUM) || \
- ((regno) > IPSW_REGNUM && (regno) < FP4_REGNUM)
-
-#define INIT_EXTRA_FRAME_INFO(fromleaf, frame) init_extra_frame_info (fromleaf, frame)
-
-/* 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.
-
- FRAME_CHAIN_COMBINE takes the chain pointer and the frame's nominal address
- and produces the nominal address of the caller frame.
-
- However, if FRAME_CHAIN_VALID returns zero,
- it means the given frame is the outermost one and has no caller.
- In that case, FRAME_CHAIN_COMBINE is not used. */
-
-/* In the case of the PA-RISC, the frame's nominal address
- is the address of a 4-byte word containing the calling frame's
- address (previous FP). */
-
-#define FRAME_CHAIN(thisframe) frame_chain (thisframe)
-
-#define FRAME_CHAIN_VALID(chain, thisframe) \
- frame_chain_valid (chain, thisframe)
-
-#define FRAME_CHAIN_COMBINE(chain, thisframe) (chain)
-
-/* Define other aspects of the stack frame. */
-
-/* A macro that tells us whether the function invocation represented
- by FI does not have a frame on the stack associated with it. If it
- does not, FRAMELESS is set to 1, else 0. */
-#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) \
- (FRAMELESS) = frameless_look_for_prologue(FI)
-
-#define FRAME_SAVED_PC(FRAME) frame_saved_pc (FRAME)
-
-#define FRAME_ARGS_ADDRESS(fi) ((fi)->frame)
-
-#define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame)
-/* Set VAL to the number of args passed to frame described by FI.
- Can set VAL to -1, meaning no way to tell. */
-
-/* We can't tell how many args there are
- now that the C compiler delays popping them. */
-#define FRAME_NUM_ARGS(val,fi) (val = -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. */
-
-/* Deal with dummy functions later. */
-
-#define STW_P(INSN) (((INSN) & 0xfc000000) == 0x68000000)
-#define ADDIL_P(INSN) (((INSN) & 0xfc000000) == 0x28000000)
-#define LDO_P(INSN) (((INSN) & 0xfc00c000) == 0x34000000)
-
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
-{ register int regnum; \
- register CORE_ADDR next_addr; \
- register CORE_ADDR pc; \
- unsigned this_insn; \
- unsigned address; \
- \
- bzero (&frame_saved_regs, sizeof frame_saved_regs); \
- if ((frame_info->pc >= (frame_info)->frame \
- && (frame_info)->pc <= ((frame_info)->frame + CALL_DUMMY_LENGTH \
- + 32 * 4 + (NUM_REGS - FP0_REGNUM) * 8 \
- + 6 * 4))) \
- find_dummy_frame_regs ((frame_info), &(frame_saved_regs)); \
- else \
- { pc = get_pc_function_start ((frame_info)->pc); \
- if (read_memory_integer (pc, 4) == 0x6BC23FD9) \
- { (frame_saved_regs).regs[RP_REGNUM] = (frame_info)->frame - 20;\
- pc = pc + 4; \
- } \
- if (read_memory_integer (pc, 4) != 0x8040241) goto lose; \
- pc += 8; /* skip "copy 4,1; copy 30, 4" */ \
- /* skip either "stw 1,0(4);addil L'fsize,30;ldo R'fsize(1),30" \
- or "stwm 1,fsize(30)" */ \
- if ((read_memory_integer (pc, 4) & ~MASK_14) == 0x68810000) \
- pc += 12; \
- else \
- pc += 4; \
- while (1) \
- { this_insn = read_memory_integer(pc, 4); \
- if (STW_P (this_insn)) /* stw */ \
- { regnum = GET_FIELD (this_insn, 11, 15); \
- if (!regnum) goto lose; \
- (frame_saved_regs).regs[regnum] = (frame_info)->frame + \
- extract_14 (this_insn); \
- pc += 4; \
- } \
- else if (ADDIL_P (this_insn)) /* addil */ \
- { int next_insn; \
- next_insn = read_memory_integer(pc + 4, 4); \
- if (STW_P (next_insn)) /* stw */ \
- { regnum = GET_FIELD (this_insn, 6, 10); \
- if (!regnum) goto lose; \
- (frame_saved_regs).regs[regnum] = (frame_info)->frame +\
- (extract_21 (this_insn) << 11) + extract_14 (next_insn);\
- pc += 8; \
- } \
- else \
- break; \
- } \
- else \
- { pc += 4; \
- break; \
- } \
- } \
- this_insn = read_memory_integer (pc, 4); \
- if (LDO_P (this_insn)) \
- { next_addr = (frame_info)->frame + extract_14 (this_insn); \
- pc += 4; \
- } \
- else if (ADDIL_P (this_insn)) \
- { next_addr = (frame_info)->frame + (extract_21 (this_insn) << 11)\
- + extract_14 (read_memory_integer (pc + 4, 4)); \
- pc += 8; \
- } \
- while (1) \
- { this_insn = read_memory_integer (pc, 4); \
- if ((this_insn & 0xfc001fe0) == 0x2c001220) /* fstds,ma */ \
- { regnum = GET_FIELD (this_insn, 27, 31); \
- (frame_saved_regs).regs[regnum + FP0_REGNUM] = next_addr; \
- next_addr += 8; \
- pc += 4; \
- } \
- else \
- break; \
- } \
- lose: \
- (frame_saved_regs).regs[FP_REGNUM] = (frame_info)->frame; \
- (frame_saved_regs).regs[SP_REGNUM] = (frame_info)->frame -4; \
- }}
-
-/* Things needed for making the inferior call functions. */
-
-/* Push an empty stack frame, to record the current PC, etc. */
-
-#define PUSH_DUMMY_FRAME push_dummy_frame ()
-
-/* Discard from the stack the innermost frame,
- restoring all saved registers. */
-#define POP_FRAME hp_pop_frame ()
-
-/* This sequence of words is the instructions
-
-; Call stack frame has already been built by gdb. Since we could be calling
-; a varargs function, and we do not have the benefit of a stub to put things in
-; the right place, we load the first 4 word of arguments into both the general
-; and fp registers.
-call_dummy
- ldw -36(sp), arg0
- ldw -40(sp), arg1
- ldw -44(sp), arg2
- ldw -48(sp), arg3
- ldo -36(sp), r1
- fldws 0(0, r1), fr4
- fldds -4(0, r1), fr5
- fldws -8(0, r1), fr6
- fldds -12(0, r1), fr7
- ldil 0, r22 ; target will be placed here.
- ldo 0(r22), r22
- ldsid (0,r22), r3
- ldil 0, r1 ; _sr4export will be placed here.
- ldo 0(r1), r1
- ldsid (0,r1), r19
- combt,=,n r3, r19, text_space ; If target is in data space, do a
- ble 0(sr5, r22) ; "normal" procedure call
- copy r31, r2
- break 4, 8
- mtsp r21, sr0
- ble,n 0(sr0, r22)
-text_space ; Otherwise, go through _sr4export,
- ble (sr4, r1) ; which will return back here.
- stw 31,-24(r30)
- break 4, 8
- mtsp r21, sr0
- ble,n 0(sr0, r22)
-
- The dummy decides if the target is in text space or data space. If
- it's in data space, there's no problem because the target can
- return back to the dummy. However, if the target is in text space,
- the dummy calls the secret, undocumented routine _sr4export, which
- calls a function in text space and can return to any space. Instead
- of including fake instructions to represent saved registers, we
- know that the frame is associated with the call dummy and treat it
- specially. */
-
-#define CALL_DUMMY {0x4BDA3FB9, 0x4BD93FB1, 0x4BD83FA9, 0x4BD73FA1,\
- 0x37C13FB9, 0x24201004, 0x2C391005, 0x24311006,\
- 0x2C291007, 0x22C00000, 0x36D60000, 0x02C010A3,\
- 0x20200000, 0x34210000, 0x002010b3, 0x82632022,\
- 0xe6c06000, 0x081f0242, 0x00010004, 0x00151820,\
- 0xe6c00002, 0xe4202000, 0x6bdf3fd1, 0x00010004,\
- 0x00151820, 0xe6c00002}
-
-#define CALL_DUMMY_LENGTH 104
-#define CALL_DUMMY_START_OFFSET 0
-
-/*
- * Insert the specified number of args and function address
- * into a call sequence of the above form stored at DUMMYNAME.
- *
- * On the hppa we need to call the stack dummy through $$dyncall.
- * Therefore our version of FIX_CALL_DUMMY takes an extra argument,
- * real_pc, which is the location where gdb should start up the
- * inferior to do the function call.
- */
-
-#define FIX_CALL_DUMMY(dummyname, pc, real_pc, fun, nargs, args, type, gcc_p) \
-{ \
- CORE_ADDR dyncall_addr = 0, sr4export_addr = 0; \
- \
- if (!dyncall_addr) \
- { \
- struct minimal_symbol *msymbol; \
- msymbol = lookup_minimal_symbol ("$$dyncall", (struct objfile *) NULL);\
- if (msymbol == NULL) \
- error ("Can't find an address for $$dyncall trampoline"); \
- else \
- dyncall_addr = SYMBOL_VALUE_ADDRESS (msymbol); \
- msymbol = lookup_minimal_symbol ("_sr4export", (struct objfile *) NULL);\
- if (msymbol == NULL) \
- error ("Can't find an address for _sr4export trampoline"); \
- else \
- sr4export_addr = SYMBOL_VALUE_ADDRESS (msymbol); \
- } \
- dummyname[9] = deposit_21 (fun >> 11, dummyname[9]); \
- dummyname[10] = deposit_14 (fun & MASK_11, dummyname[10]); \
- dummyname[12] = deposit_21 (sr4export_addr >> 11, \
- dummyname[12]); \
- dummyname[13] = deposit_14 (sr4export_addr & MASK_11, \
- dummyname[13]); \
- write_register (22, pc); \
- real_pc = dyncall_addr; \
-}
-
-#define PUSH_ARGUMENTS(nargs, args, sp, struct_return, struct_addr) \
- sp = hp_push_arguments(nargs, args, sp, struct_return, struct_addr)
-
-/* Symbol files have two symbol tables. Rather than do this right,
- like the ELF symbol reading code, massive hackery was added
- to dbxread.c and partial-stab.h. This flag turns on that
- hackery, which should all go away FIXME FIXME FIXME FIXME now. */
-
-#define GDB_TARGET_IS_HPPA
-
-#define BELIEVE_PCC_PROMOTION 1
-
-/*
- * Unwind table and descriptor.
- */
-
-struct unwind_table_entry {
- unsigned int region_start;
- unsigned int region_end;
-
- unsigned int Cannot_unwind : 1;
- unsigned int Millicode : 1;
- unsigned int Millicode_save_sr0 : 1;
- unsigned int Region_description : 2;
- unsigned int reserverd1 : 1;
- unsigned int Entry_SR : 1;
- unsigned int Entry_FR : 4; /* number saved */
- unsigned int Entry_GR : 5; /* number saved */
- unsigned int Args_stored : 1;
- unsigned int Variable_Frame : 1;
- unsigned int Separate_Package_Body : 1;
- unsigned int Frame_Extension_Millicode:1;
- unsigned int Stack_Overflow_Check : 1;
- unsigned int Two_Instruction_SP_Increment:1;
- unsigned int Ada_Region : 1;
- unsigned int reserved2 : 4;
- unsigned int Save_SP : 1;
- unsigned int Save_RP : 1;
- unsigned int Save_MRP_in_frame : 1;
- unsigned int extn_ptr_defined : 1;
- unsigned int Cleanup_defined : 1;
-
- unsigned int MPE_XL_interrupt_marker: 1;
- unsigned int HP_UX_interrupt_marker: 1;
- unsigned int Large_frame : 1;
- unsigned int reserved4 : 2;
- unsigned int Total_frame_size : 27;
-};
-
-/* Info about the unwind table associated with an object file. This is hung
- off of the objfile->obj_private pointer, and is allocated in the objfile's
- psymbol obstack. This allows us to have unique unwind info for each
- executable and shared library that we are debugging. */
-
-struct obj_unwind_info {
- struct unwind_table_entry *table; /* Pointer to unwind info */
- struct unwind_table_entry *cache; /* Pointer to last entry we found */
- int last; /* Index of last entry */
-};
-
-#define OBJ_UNWIND_INFO(obj) ((struct obj_unwind_info *)obj->obj_private)
diff --git a/gdb/tm-hppab.h b/gdb/tm-hppab.h
index 577bb9b..e69de29 100644
--- a/gdb/tm-hppab.h
+++ b/gdb/tm-hppab.h
@@ -1,6 +0,0 @@
-/* Parameters for execution on an HP PA-RISC machine running BSD, for GDB.
- Contributed by the Center for Software Science at the
- University of Utah (pa-gdb-bugs@cs.utah.edu). */
-
-/* It's all just the common stuff. */
-#include "tm-hppa.h"
diff --git a/gdb/tm-hppah.h b/gdb/tm-hppah.h
index 05720cd..e69de29 100644
--- a/gdb/tm-hppah.h
+++ b/gdb/tm-hppah.h
@@ -1,41 +0,0 @@
-/* Parameters for execution on an HP PA-RISC machine, running HPUX, for GDB.
- Copyright 1991, 1992 Free Software Foundation, Inc.
-
- Contributed by the Center for Software Science at the
- University of Utah (pa-gdb-bugs@cs.utah.edu).
-
-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. */
-
-/* Mostly it's common to all HPPA's. */
-#include "tm-hppa.h"
-
-/* Saved PC's are different, since there is millicode. */
-extern CORE_ADDR millicode_start, millicode_end;
-
-/* Immediately after a function call, return the saved pc.
- Can't go through the frames for this because on some machines
- the new frame is not set up until the new function executes
- some instructions. */
-
-#undef SAVED_PC_AFTER_CALL
-#define SAVED_PC_AFTER_CALL(frame) saved_pc_after_call (frame)
-
-/* We need to figure out where the text region is so that we use the
- appropriate ptrace operator to manipulate text. Simply reading/writing
- user space will crap out HPUX. */
-
-#define NEED_TEXT_START_END
diff --git a/gdb/tm-i386bsd.h b/gdb/tm-i386bsd.h
index 1027233..e69de29 100644
--- a/gdb/tm-i386bsd.h
+++ b/gdb/tm-i386bsd.h
@@ -1,28 +0,0 @@
-/* Macro definitions for i386 running under BSD Unix.
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* Override number of expected traps from sysv. */
-#define START_INFERIOR_TRAPS_EXPECTED 2
-
-/* Most definitions from sysv could be used. */
-#include "tm-i386v.h"
-
-/* 386BSD cannot handle the segment registers. */
-#undef NUM_REGS
-#define NUM_REGS 11
diff --git a/gdb/tm-i386v.h b/gdb/tm-i386v.h
deleted file mode 100644
index c9557d3..0000000
--- a/gdb/tm-i386v.h
+++ /dev/null
@@ -1,313 +0,0 @@
-/* Macro definitions for i386, Unix System V.
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#if !defined (TM_I386V_H)
-#define TM_I386V_H 1
-
-/*
- * Changes for 80386 by Pace Willisson (pace@prep.ai.mit.edu)
- * July 1988
- */
-
-#define TARGET_BYTE_ORDER LITTLE_ENDIAN
-
-/* turn this on when rest of gdb is ready */
-#define IEEE_FLOAT
-
-/* number of traps that happen between exec'ing the shell
- * to run an inferior, and when we finally get to
- * the inferior code. This is 2 on most implementations.
- */
-#ifndef START_INFERIOR_TRAPS_EXPECTED
-#define START_INFERIOR_TRAPS_EXPECTED 4
-#endif
-
-/* 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. */
-
-#define SKIP_PROLOGUE(frompc) {(frompc) = i386_skip_prologue((frompc));}
-
-extern int
-i386_skip_prologue PARAMS ((int));
-
-/* 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) \
- (read_memory_integer (read_register (SP_REGNUM), 4))
-
-/* Address of end of stack space. */
-
-#define STACK_END_ADDR 0x80000000
-
-/* Stack grows downward. */
-
-#define INNER_THAN <
-
-/* Sequence of bytes for breakpoint instruction. */
-
-#define BREAKPOINT {0xcc}
-
-/* Amount PC must be decremented by after a breakpoint.
- This is often the number of bytes in BREAKPOINT
- but not always. */
-
-#ifndef DECR_PC_AFTER_BREAK
-#define DECR_PC_AFTER_BREAK 1
-#endif
-
-/* Nonzero if instruction at PC is a return instruction. */
-
-#define ABOUT_TO_RETURN(pc) (read_memory_integer (pc, 1) == 0xc3)
-
-/* Return 1 if P points to an invalid floating point value.
- LEN is the length in bytes -- not relevant on the 386. */
-
-#define INVALID_FLOAT(p, len) (0)
-
-/* Say how long (ordinary) registers are. */
-
-#define REGISTER_TYPE long
-
-/* Number of machine registers */
-
-#define NUM_REGS 16
-
-/* Initializer for an array of names of registers.
- There should be NUM_REGS strings in this initializer. */
-
-/* the order of the first 8 registers must match the compiler's
- * numbering scheme (which is the same as the 386 scheme)
- * also, this table must match regmap in i386-pinsn.c.
- */
-#define REGISTER_NAMES { "eax", "ecx", "edx", "ebx", \
- "esp", "ebp", "esi", "edi", \
- "eip", "ps", "cs", "ss", \
- "ds", "es", "fs", "gs", \
- }
-
-/* 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 FP_REGNUM 5 /* Contains address of executing stack frame */
-#define SP_REGNUM 4 /* Contains address of top of stack */
-
-#define PC_REGNUM 8
-#define PS_REGNUM 9
-
-/* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'. */
-#define REGISTER_BYTES (NUM_REGS * 4)
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-
-#define REGISTER_BYTE(N) ((N)*4)
-
-/* Number of bytes of storage in the actual machine representation
- for register N. */
-
-#define REGISTER_RAW_SIZE(N) (4)
-
-/* Number of bytes of storage in the program's representation
- for register N. */
-
-#define REGISTER_VIRTUAL_SIZE(N) (4)
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 4
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 4
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) (0)
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
- {memcpy ((TO), (FROM), 4);}
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
- {memcpy ((TO), (FROM), 4);}
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-/* Perhaps si and di should go here, but potentially they could be
- used for things other than address. */
-#define REGISTER_VIRTUAL_TYPE(N) \
- ((N) == PC_REGNUM || (N) == FP_REGNUM || (N) == SP_REGNUM ? \
- lookup_pointer_type (builtin_type_void) : builtin_type_int)
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-
-#define STORE_STRUCT_RETURN(ADDR, SP) \
- { (SP) -= sizeof (ADDR); \
- write_memory ((SP), (char *) &(ADDR), sizeof (ADDR)); }
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- memcpy ((VALBUF), (REGBUF), TYPE_LENGTH (TYPE))
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- write_register_bytes (0, VALBUF, TYPE_LENGTH (TYPE))
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(int *)(REGBUF))
-
-
-/* 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. */
-
-#define FRAME_CHAIN(thisframe) \
- (!inside_entry_file ((thisframe)->pc) ? \
- read_memory_integer ((thisframe)->frame, 4) :\
- 0)
-
-/* Define other aspects of the stack frame. */
-
-/* A macro that tells us whether the function invocation represented
- by FI does not have a frame on the stack associated with it. If it
- does not, FRAMELESS is set to 1, else 0. */
-#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) \
- (FRAMELESS) = frameless_look_for_prologue(FI)
-
-#define FRAME_SAVED_PC(FRAME) (read_memory_integer ((FRAME)->frame + 4, 4))
-
-#define FRAME_ARGS_ADDRESS(fi) ((fi)->frame)
-
-#define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame)
-
-/* Return number of args passed to a frame.
- Can return -1, meaning no way to tell. */
-
-#define FRAME_NUM_ARGS(numargs, fi) (numargs) = i386_frame_num_args(fi)
-
-#ifdef __STDC__ /* Forward decl's for prototypes */
-struct frame_info;
-struct frame_saved_regs;
-#endif
-
-extern int
-i386_frame_num_args PARAMS ((struct frame_info *));
-
-/* Return number of bytes at start of arglist that are not really args. */
-
-#define FRAME_ARGS_SKIP 8
-
-/* 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. */
-
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
-{ i386_frame_find_saved_regs ((frame_info), &(frame_saved_regs)); }
-
-extern void
-i386_frame_find_saved_regs PARAMS ((struct frame_info *,
- struct frame_saved_regs *));
-
-
-/* Things needed for making the inferior call functions. */
-
-/* Push an empty stack frame, to record the current PC, etc. */
-
-#define PUSH_DUMMY_FRAME { i386_push_dummy_frame (); }
-
-extern void
-i386_push_dummy_frame PARAMS ((void));
-
-/* Discard from the stack the innermost frame, restoring all registers. */
-
-#define POP_FRAME { i386_pop_frame (); }
-
-extern void
-i386_pop_frame PARAMS ((void));
-
-/* this is
- * call 11223344 (32 bit relative)
- * int3
- */
-
-#define CALL_DUMMY { 0x223344e8, 0xcc11 }
-
-#define CALL_DUMMY_LENGTH 8
-
-#define CALL_DUMMY_START_OFFSET 0 /* Start execution at beginning of dummy */
-
-/* Insert the specified number of args and function address
- into a call sequence of the above form stored at DUMMYNAME. */
-
-#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p) \
-{ \
- int from, to, delta, loc; \
- loc = (int)(read_register (SP_REGNUM) - CALL_DUMMY_LENGTH); \
- from = loc + 5; \
- to = (int)(fun); \
- delta = to - from; \
- *((char *)(dummyname) + 1) = (delta & 0xff); \
- *((char *)(dummyname) + 2) = ((delta >> 8) & 0xff); \
- *((char *)(dummyname) + 3) = ((delta >> 16) & 0xff); \
- *((char *)(dummyname) + 4) = ((delta >> 24) & 0xff); \
-}
-
-extern void
-print_387_control_word PARAMS ((unsigned int));
-
-extern void
-print_387_status_word PARAMS ((unsigned int));
-
-/* Offset from SP to first arg on stack at first instruction of a function */
-
-#define SP_ARG0 (1 * 4)
-
-#endif /* !defined (TM_I386V_H) */
diff --git a/gdb/tm-i386v4.h b/gdb/tm-i386v4.h
index 59a3733..e69de29 100644
--- a/gdb/tm-i386v4.h
+++ b/gdb/tm-i386v4.h
@@ -1,69 +0,0 @@
-/* Macro definitions for GDB on an Intel i386 running SVR4.
- Copyright (C) 1991, Free Software Foundation, Inc.
- Written by Fred Fish at Cygnus Support (fnf@cygint)
-
-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. */
-
-/* Use the alternate method of determining valid frame chains. */
-
-#define FRAME_CHAIN_VALID_ALTERNATE
-
-/* number of traps that happen between exec'ing the shell
- * to run an inferior, and when we finally get to
- * the inferior code. This is 2 on most implementations.
- */
-#define START_INFERIOR_TRAPS_EXPECTED 2
-
-/* Pick up most of what we need from the generic i386 target include file. */
-
-#include "tm-i386v.h"
-
-/* Pick up more stuff from the generic SVR4 host include file. */
-
-#include "tm-sysv4.h"
-
-/* We can't tell how many args there are
- now that the C compiler delays popping them. */
-
-#undef FRAME_NUM_ARGS
-#define FRAME_NUM_ARGS(val,fi) (val = -1)
-
-/* Offsets (in target ints) into jmp_buf. Not defined in any system header
- file, so we have to step through setjmp/longjmp with a debugger and figure
- them out. Note that <setjmp> defines _JBLEN as 10, which is the default
- if no specific machine is selected, even though we only use 6 slots. */
-
-#define JB_ELEMENT_SIZE sizeof(int) /* jmp_buf[_JBLEN] is array of ints */
-
-#define JB_EBX 0
-#define JB_ESI 1
-#define JB_EDI 2
-#define JB_EBP 3
-#define JB_ESP 4
-#define JB_EDX 5
-
-#define JB_PC JB_EDX /* Setjmp()'s return PC saved in EDX */
-
-/* Figure out where the longjmp will land. Slurp the args out of the stack.
- We expect the first arg to be a pointer to the jmp_buf structure from which
- we extract the pc (JB_PC) that we will land at. The pc is copied into ADDR.
- This routine returns true on success */
-
-extern int
-get_longjmp_target PARAMS ((CORE_ADDR *));
-
-#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR)
diff --git a/gdb/tm-i860.h b/gdb/tm-i860.h
index 18ab975..e69de29 100644
--- a/gdb/tm-i860.h
+++ b/gdb/tm-i860.h
@@ -1,469 +0,0 @@
-/* Parameters for execution on the Intel I860 for GDB, the GNU debugger.
- Copyright 1986, 1987, 1993 Free Software Foundation, Inc.
-
-GDB is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY. No author or distributor accepts responsibility to anyone
-for the consequences of using it or for whether it serves any
-particular purpose or works at all, unless he says so in writing.
-Refer to the GDB General Public License for full details.
-
-Everyone is granted permission to copy, modify and redistribute GDB,
-but only under the conditions described in the GDB General Public
-License. A copy of this license is supposed to have been given to you
-along with GDB so you can know your rights and responsibilities. It
-should be in a file named COPYING. Among other things, the copyright
-notice and this notice must be preserved on all copies.
-
-In other words, go ahead and share GDB, but don't try to stop
-anyone else from sharing it farther. Help stamp out software hoarding!
-*/
-
-#ifndef i860
-#define i860 1
-#endif
-
-#define HAVE_TERMIO
-#define vfork fork
-
-/* Offset from address of function to start of its code.
- Zero on most machines. */
-
-#define FUNCTION_START_OFFSET 0
-
-/* The call instruction puts its return address in register r1 and does
- not change the stack pointer */
-
-#define RETURN_ADDR_IN_REGISTER
-
-/* Advance PC across any function entry prologue instructions
- to reach some "real" code. */
-
-#define SKIP_PROLOGUE(pc) \
- { pc = skip_prologue (pc); }
-
-/* Immediately after a function call, return the saved pc.
- Can't 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) \
- (read_register(RP_REGNUM))
-
-/* Address of end of stack space. */
-
-#define STACK_END_ADDR 0xfc000000
-
-/* Stack grows downward. */
-
-#define INNER_THAN <
-
-/* Stack has strict alignment. */
-
-#define ALIGN_STACK(ADDR) (((ADDR)+15)&-16)
-
-
-/* Sequence of bytes for breakpoint instruction. */
-#if defined(i860) && defined(BIG_ENDIAN)
-#define BREAKPOINT {0x44, 0x00, 0x00, 0x00}
-#define BREAKFLOAT {0x22, 0x06, 0x00, 0x48}
-#else
-#define BREAKPOINT {0x00, 0x00, 0x00, 0x44}
-#define BREAKFLOAT {0x48, 0x00, 0x06, 0x22}
-#endif
-/* 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
-
-/* Nonzero if instruction at PC is a return instruction. */
-/* should be "bri r1" */
-#define ABOUT_TO_RETURN(pc) \
- (adj_read_memory_integer (pc) == 0x40000800)
-
-
-/* Return 1 if P points to an invalid floating point value. */
-
-#define INVALID_FLOAT(p, len) 0 /* Just a first guess; not checked */
-
-/* Largest integer type */
-#define LONGEST long
-
-/* Name of the builtin type for the LONGEST type above. */
-#define BUILTIN_TYPE_LONGEST builtin_type_long
-
-/* Say how long (ordinary) registers are. */
-
-#define REGISTER_TYPE long
-
-/* Number of machine registers */
-
-#define NUM_REGS i860REGCOUNT
-
-/* Initializer for an array of names of registers.
- There should be NUM_REGS strings in this initializer. */
-#define REGISTER_NAMES \
-{ \
-"psr", "fir", "trap", "dbrk", \
-"r0", "r1", "sp", "fp", "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", \
- \
-"f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \
-"f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \
-"f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23", \
-"f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31", \
- \
-"fsr", \
-"fsr1", "fsr2", "fsr3", \
-"mul1", "", "mul2", "", "mul3", "", \
-"add1", "", "add2", "", "add3", "", \
-"KI", "", "KR", "", "T", "", \
-"MERGE", "", \
-"pfld1", "", "", "", "pfld2", "", "", "", "pfld3", "", "", "", \
-"graph1", "", \
-"fpe_fp1","", "fpe_fp2", "", "fpe_fp3", "", \
-"fpe_fp4", "", \
-"ieee_stat", "fpe_trapped_op", \
-"fpe_fp5","", "fpe_fp6", "", \
-"fpe_rfsr", "","","", \
-"epsr", \
-"ccr", "bear", "err" \
-}
-/* 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 RP_REGNUM R1 /* Contains return address value */
-#define SP_REGNUM SP /* Contains address of top of stack, */
-#define FP_REGNUM FP /* Contains address of executing stack frame */
- /* which is also the bottom of the frame. */
-#define RTRN RP_REGNUM
-#define R_FP FP /* used by dwarfread.c */
-#define Y_REGNUM R31 /* Temp register for address calc., etc. */
-#define PC_REGNUM PC /* Contains program counter */
-#define PS_REGNUM PSR /* Contains processor status */
-#define FP0_REGNUM FREGS /* Floating point register 0 */
-#define FPS_REGNUM FSR /* Floating point status register */
-#define DB_REGNUM DB /* Debug register */
-
-/* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'. */
-#define REGISTER_BYTES (NUM_REGS * 4)
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-
-#define REGISTER_BYTE(N) ((N)*4)
-
-/* Number of bytes of storage in the actual machine representation
- for register N. */
-
-/* On the i860, all regs are 4 bytes. */
-
-#define REGISTER_RAW_SIZE(N) (4)
-
-/* Number of bytes of storage in the program's representation
- for register N. */
-
-/* On the i860, all regs are 4 bytes. */
-
-#define REGISTER_VIRTUAL_SIZE(N) (4)
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 8
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 8
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) (0)
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
-{ bcopy ((FROM), (TO), 4); }
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
-{ bcopy ((FROM), (TO), 4); }
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-#define REGISTER_VIRTUAL_TYPE(N) \
- ((N) < F0 ? builtin_type_int : (N) <= F31 ? builtin_type_float : builtin_type_int)
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-
-#define STORE_STRUCT_RETURN(ADDR, SP) { write_register (R16, (ADDR)); }
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- i860_extract_return_value(TYPE, REGBUF, VALBUF)
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-/* On i860, values are returned in register r16. */
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- i860_store_return_value(TYPE, VALBUF)
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) \
- (*(int *) ((REGBUF) + REGISTER_BYTE(R16)))
-
-
-/* Describe the pointer in each stack frame to the previous stack frame
- (its caller). */
-#include <sys/types.h>
-#include <sys/regset.h>
-#include "i860_reg.h"
-
-/* FRAME_CHAIN takes a frame's nominal address
- and produces the frame's chain-pointer.
-
- FRAME_CHAIN_COMBINE takes the chain pointer and the frame's nominal address
- and produces the nominal address of the caller frame.
-
- However, if FRAME_CHAIN_VALID returns zero,
- it means the given frame is the outermost one and has no caller.
- In that case, FRAME_CHAIN_COMBINE is not used. */
-
-/* In the case of the i860, the frame-chain's nominal address
- is held in the frame pointer register.
-
- On the i860 the frame (in %fp) points to %fp for the previous frame.
- */
-
-/* our FRAME_CHAIN requires a pointer to all the frame info (e.g. pc)
-
- */
-
-#define FRAME_CHAIN(thisframe) frame_chain(thisframe)
-
-#define FRAME_CHAIN_COMBINE(chain, thisframe) (chain)
-
-/* Define other aspects of the stack frame. */
-
-#define FRAME_SAVED_PC(frame_struct) frame_saved_pc(frame_struct)
-
-#define FRAME_ARGS_ADDRESS(fi) ((fi)->frame)
-
-#define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame)
-
-/* Set VAL to the number of args passed to frame described by FI.
- Can set VAL to -1, meaning no way to tell. */
-
-/* We can't tell how many args there are */
-
-#define FRAME_NUM_ARGS(val,fi) (val = -1)
-
-#define FRAME_STRUCT_ARGS_ADDRESS(fi) ((fi)->frame)
-
-/* extra stuff in frame structure to support
- * backtraceing thru non fp frame based frames
- * (trace stuff thats not -g compiled)
- */
-
-#define EXTRA_FRAME_INFO int is_minus_g; CORE_ADDR sp; CORE_ADDR rp;
-
-#define INIT_EXTRA_FRAME_INFO(fromleaf,fci) (fci)->is_minus_g = 0; (fci)->sp = 0; (fci)->rp = 0;
-
-/* Return number of bytes at start of arglist that are not really args. */
-
-#define FRAME_ARGS_SKIP 8
-
-/* 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. */
-
-/* Grind through the various st.l rx,Y(fp) and fst.z fx,Y(fp) */
-
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
- frame_find_saved_regs(frame_info, &(frame_saved_regs))
-
-/* Things needed for making the inferior call functions. */
-
-/* Push an empty stack frame, to record the current PC, etc. */
-/* We have this frame with fp pointing to a block where all GDB-visible
- registers are stored in the order GDB knows them, and sp at the next
- alignment point below fp. Note: fp + NUM_REGS*4 was the old sp
- */
-
-#define PUSH_DUMMY_FRAME i860_push_frame()
-
-/* Discard from the stack the innermost frame,
- restoring all saved registers. */
-
-#define POP_FRAME i860_pop_frame()
-
-/* This sequence of words is the instructions:
- *../
---
- nop
- calli r31
- nop
- trap r0,r0,r0
---
-Note this is 16 bytes.
-Saving of the registers is done by PUSH_DUMMY_FRAME. The address of the
-function to call will be placed in register r31 prior to starting.
-The arguments have to be put into the parameter registers by GDB after
-the PUSH_DUMMY_FRAME is done. NOTE: GDB expects to push arguments, but
-i860 takes them in registers */
-#ifdef BIG_ENDIAN
-/* account for reversal of instructions in memory */
-
-#define CALL_DUMMY { \
- 0x4c00f802, 0xa0000000, 0x44000000, 0xa0000000 }
-#else
-#define CALL_DUMMY { \
- 0xa0000000, 0x4c00F802, 0xa0000000, 0x44000000 }
-#endif
-
-/* This setup is somewhat unusual. PUSH_DUMMY_FRAME and
- FRAME_FIND_SAVED_REGS conspire to handle dummy frames differently.
- Therefore, CALL_DUMMY can be minimal. We put the address of the called
- function in r31 and let'er rip */
-
-#define CALL_DUMMY_LENGTH 16
-
-/* Actually start at the calli */
-
-#define CALL_DUMMY_START_OFFSET 4
-
-/* Normally, GDB will patch the dummy code here to put in the function
- address, etc., but we only need to put the call adddress in r31 */
-#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p) \
- write_register(R31, fun)
-
-
-/* i860 has no reliable single step ptrace call */
-
-#define NO_SINGLE_STEP 1
-
-#define KERNEL_U_ADDR 0xfc7fe530
-#define REGISTER_U_ADDR(addr,ar0,regno) \
- addr = (REGISTER_BYTE(regno) + ar0 );
-
-/* How many bytes are pushed on the stack for the argument list
- */
-#define STACK_ARG_BYTES(RESULT,ARGS,NARGS,STRUCT_RETURN) {(RESULT) = 0;}
-
-/* Pass arguments to a function
- */
-
-#define PUSH_ARGUMENTS(NARGS,ARGS,STACKP,STRUCT_RETURN,STRUCT_ADDR) \
- { \
- STACKP = (STACKP) & (-16); \
- STACKP = i860_arg_coerce(NARGS, ARGS, STRUCT_RETURN,STACKP); \
- STACKP =pass_function_arguments(ARGS,NARGS,STRUCT_RETURN, STRUCT_ADDR, STACKP); }
-
-#define CALL_DUMMY_LOCATION AFTER_TEXT_END
-
-#define NEED_TEXT_START_END
-
-#define NONSTANDARD_MEMORY_LAYOUT
-
-/* We support pseudo-frame structure so actual frame pointer value must be
- * read from the register.
- */
-#define FP_FROM_REGISTER
-
-/* Support a quit from info register command because we have so many regs
- */
-#define INFO_REGISTER_QUIT
-
-/* Identify text or absolute symbols to put in misc function table. In the
- * i860 case, only text symbols not starting with _L00
- */
-#define MISC_FUNCTION(cs) ((cs)->c_secnum == 1 && (cs)->c_value && \
- strncmp((cs)->c_name, "_L00", 4) != 0)
-
-/* Define our a.out magic number and undefine the 386 one if it's defined
- */
-#ifdef I860MAGIC
-#define AOUT_MAGIC I860MAGIC
-#else
-#define AOUT_MAGIC 0515
-#endif
-
-#ifdef I386MAGIC
-#undef I386MAGIC
-#endif
-
-/* The aouthdr may be larger than defined in a.out.h
- */
-#define AOUTHDR_VARIABLE
-
-/* We have a bug where lineno information is not in symbol table correctly
- */
-#define LINENO_BUG
-
-/* Similarly, the Endndx of a structure definition is bogus in ld860
- */
- /* #define STRUCT_SYMBOL_BUG */
-
-/* Also, we see T_ARG types when we shouldn't
- */
-#define T_ARG_BUG
-
-/* Macro to sign extend to 32 bits */
-#define SIGN_EXT(n,x) (((int) (x) << (32-n)) >> (32-n))
-
-#define SIGN_EXT16(x) (((int) (x) << (16)) >> (16))
-
-#define FRAMELESS_FUNCTION_INVOCATION(FI,FRAMELESS) frameless_look_for_prologue(FI)
-#if defined(i860) && defined(BIG_ENDIAN)
-#define ADJ_PC(pc) ((unsigned)pc ^ 4)
-#define ADJ_FREG(freg) (F0 + (((freg) - F0) ^ 1))
-#define ADJ_FREG_BYTE(freg) (REGISTER_BYTE(F0) + (((freg) - REGISTER_BYTE(F0)) ^ REGISTER_BYTE(1)))
-#else
-#define ADJ_PC(pc) (pc)
-#define ADJ_FREG(freg) (freg)
-#define ADJ_FREG_BYTE(freg) (freg)
-#endif
-/* define DO_REGISTERS_INFO to do i860-specific formatting */
-#define DO_REGISTERS_INFO(regnum,fpregs) i860_do_registers_info(regnum,fpregs)
-/* the two low order bits of the return pointer are ignored when returning; some systems store information
- in them. To avoid confusing the stack trace, provide this macro to "clean" the two low order bits */
-#define CLEAN_PC(pc) ((unsigned) pc & 0xfffffffc)
-#define adj_target_read_memory(memaddr,myaddr,len) target_read_memory(ADJ_PC(memaddr),myaddr,len)
-#define adj_target_write_memory(memaddr,myaddr,len) target_write_memory(ADJ_PC(memaddr),myaddr,len)
-#define adj_read_memory_integer(memaddr) read_memory_integer(ADJ_PC(memaddr),4)
-#define adj_read_memory(memaddr,myaddr,len) read_memory(ADJ_PC(memaddr),myaddr,len)
-#define adj_write_memory(memaddr,myaddr,len) write_memory(ADJ_PC(memaddr),myaddr,len)
-#define INIT_FRAME_PC(fromleaf, prev) \
- { struct frame_info *nextframe = prev->next; \
- if (nextframe->rp) \
- { prev->pc = CLEAN_PC( nextframe ->rp); \
- prev->rp = 0; } \
- else prev->pc = CLEAN_PC((fromleaf ? SAVED_PC_AFTER_CALL (prev->next) : \
- prev->next ? FRAME_SAVED_PC (prev->next) : read_pc ())); }
-
-#define INTERNAL_REGISTER_VAL(regno) regno+R0
-/* used to indicate that the misc function vector has size information about
- misc functions -- currently true for elf format only -- mlf */
-#define MISC_FUNCTIONS_HAS_SIZE
-#define FRAME_GET_BASEREG_VALUE(frame,basereg) get_saved_basereg(frame, basereg);
-
diff --git a/gdb/tm-i960.h b/gdb/tm-i960.h
deleted file mode 100644
index 773a8b7..0000000
--- a/gdb/tm-i960.h
+++ /dev/null
@@ -1,386 +0,0 @@
-/* Parameters for target machine Intel 960, for GDB, the GNU debugger.
- Copyright (C) 1990, 1991, 1993 Free Software Foundation, Inc.
- Contributed by Intel Corporation.
-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. */
-
-/* Definitions to target GDB to any i960. */
-
-#ifndef I80960
-#define I80960
-#endif
-
-/* Hook for the SYMBOL_CLASS of a parameter when decoding DBX symbol
- information. In the i960, parameters can be stored as locals or as
- args, depending on the type of the debug record.
-
- From empirical observation, gcc960 uses N_LSYM to indicate
- arguments passed in registers and then copied immediately
- to the frame, and N_PSYM to indicate arguments passed in a
- g14-relative argument block. */
-
-#define DBX_PARM_SYMBOL_CLASS(type) ((type == N_LSYM)? LOC_LOCAL_ARG: LOC_ARG)
-
-/* Byte order is configurable, but this machine runs little-endian. */
-#define TARGET_BYTE_ORDER LITTLE_ENDIAN
-
-/* We have IEEE floating point, if we have any float at all. */
-
-#define IEEE_FLOAT
-
-/* Offset from address of function to start of its code.
- Zero on most machines. */
-
-#define FUNCTION_START_OFFSET 0
-
-/* Advance ip across any function entry prologue instructions
- to reach some "real" code. */
-
-#define SKIP_PROLOGUE(ip) { ip = skip_prologue (ip); }
-extern CORE_ADDR skip_prologue ();
-
-/* Immediately after a function call, return the saved ip.
- 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) (saved_pc_after_call (frame))
-extern CORE_ADDR saved_pc_after_call ();
-
-/* Stack grows upward */
-
-#define INNER_THAN >
-
-/* Nonzero if instruction at ip is a return instruction. */
-
-#define ABOUT_TO_RETURN(ip) (read_memory_integer(ip,4) == 0x0a000000)
-
-/* Return 1 if P points to an invalid floating point value.
- LEN is the length in bytes. */
-
-#define INVALID_FLOAT(p, len) (0)
-
-/* How long (ordinary) registers are */
-
-#define REGISTER_TYPE long
-
-/* Number of machine registers */
-#define NUM_REGS 40
-
-/* Initializer for an array of names of registers.
- There should be NUM_REGS strings in this initializer. */
-
-#define REGISTER_NAMES { \
- /* 0 */ "pfp", "sp", "rip", "r3", "r4", "r5", "r6", "r7", \
- /* 8 */ "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",\
- /* 16 */ "g0", "g1", "g2", "g3", "g4", "g5", "g6", "g7", \
- /* 24 */ "g8", "g9", "g10", "g11", "g12", "g13", "g14", "fp", \
- /* 32 */ "pcw", "ac", "tc", "ip", "fp0", "fp1", "fp2", "fp3",\
-}
-
-/* Register numbers of various important registers (used to index
- into arrays of register names and register values). */
-
-#define R0_REGNUM 0 /* First local register */
-#define SP_REGNUM 1 /* Contains address of top of stack */
-#define RIP_REGNUM 2 /* Return instruction pointer (local r2) */
-#define R15_REGNUM 15 /* Last local register */
-#define G0_REGNUM 16 /* First global register */
-#define G13_REGNUM 29 /* g13 - holds struct return address */
-#define G14_REGNUM 30 /* g14 - ptr to arg block / leafproc return address */
-#define FP_REGNUM 31 /* Contains address of executing stack frame */
-#define PCW_REGNUM 32 /* process control word */
-#define ACW_REGNUM 33 /* arithmetic control word */
-#define TCW_REGNUM 34 /* trace control word */
-#define IP_REGNUM 35 /* instruction pointer */
-#define FP0_REGNUM 36 /* First floating point register */
-
-/* Some registers have more than one name */
-
-#define PC_REGNUM IP_REGNUM /* GDB refers to ip as the Program Counter */
-#define PFP_REGNUM R0_REGNUM /* Previous frame pointer */
-
-/* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'. */
-#define REGISTER_BYTES ((36*4) + (4*10))
-
-/* Index within `registers' of the first byte of the space for register N. */
-
-#define REGISTER_BYTE(N) ( (N) < FP0_REGNUM ? \
- (4*(N)) : ((10*(N)) - (6*FP0_REGNUM)) )
-
-/* The i960 has register windows, sort of. */
-
-#define HAVE_REGISTER_WINDOWS
-
-/* Is this register part of the register window system? A yes answer
- implies that 1) The name of this register will not be the same in
- other frames, and 2) This register is automatically "saved" upon
- subroutine calls and thus there is no need to search more than one
- stack frame for it.
-
- On the i960, in fact, the name of this register in another frame is
- "mud" -- there is no overlap between the windows. Each window is
- simply saved into the stack (true for our purposes, after having been
- flushed; normally they reside on-chip and are restored from on-chip
- without ever going to memory). */
-
-#define REGISTER_IN_WINDOW_P(regnum) ((regnum) <= R15_REGNUM)
-
-/* Number of bytes of storage in the actual machine representation
- for register N. On the i960, all regs are 4 bytes except for floating
- point, which are 10. NINDY only sends us 8 byte values for these,
- which is a pain, but VxWorks handles this correctly, so we must. */
-
-#define REGISTER_RAW_SIZE(N) ( (N) < FP0_REGNUM ? 4 : 10 )
-
-/* Number of bytes of storage in the program's representation for register N. */
-
-#define REGISTER_VIRTUAL_SIZE(N) ( (N) < FP0_REGNUM ? 4 : 8 )
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 10
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 8
-
-/* Nonzero if register N requires conversion from raw format to virtual
- format. */
-
-#define REGISTER_CONVERTIBLE(N) ((N) >= FP0_REGNUM)
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-extern struct ext_format ext_format_i960;
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
-{ \
- if ((REGNUM) >= FP0_REGNUM) \
- ieee_extended_to_double (&ext_format_i960, (FROM), (double *)(TO)); \
- else \
- bcopy ((FROM), (TO), 4); \
-}
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
-{ \
- if ((REGNUM) >= FP0_REGNUM) \
- double_to_ieee_extended (&ext_format_i960, (double *)(FROM), (TO)); \
- else \
- bcopy ((FROM), (TO), 4); \
-}
-
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-#define REGISTER_VIRTUAL_TYPE(N) ((N) < FP0_REGNUM ? \
- builtin_type_int : builtin_type_double)
-
-/* Macros for understanding function return values... */
-
-/* Does the specified function use the "struct returning" convention
- or the "value returning" convention? The "value returning" convention
- almost invariably returns the entire value in registers. The
- "struct returning" convention often returns the entire value in
- memory, and passes a pointer (out of or into the function) saying
- where the value (is or should go).
-
- Since this sometimes depends on whether it was compiled with GCC,
- this is also an argument. This is used in call_function to build a
- stack, and in value_being_returned to print return values.
-
- On i960, a structure is returned in registers g0-g3, if it will fit.
- If it's more than 16 bytes long, g13 pointed to it on entry. */
-
-#define USE_STRUCT_CONVENTION(gcc_p, type) (TYPE_LENGTH (type) > 16)
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. This is only called if USE_STRUCT_CONVENTION for this
- type is 0.
-
- On the i960 we just take as many bytes as we need from G0 through G3. */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- bcopy(REGBUF+REGISTER_BYTE(G0_REGNUM), VALBUF, TYPE_LENGTH (TYPE))
-
-/* If USE_STRUCT_CONVENTION produces a 1,
- extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one).
-
- Address of where to put structure was passed in in global
- register g13 on entry. God knows what's in g13 now. The
- (..., 0) below is to make it appear to return a value, though
- actually all it does is call error(). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) \
- (error("Don't know where large structure is returned on i960"), 0)
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format, for "value returning" functions.
-
- For 'return' command: not (yet) implemented for i960. */
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- error ("Returning values from functions is not implemented in i960 gdb")
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-
-#define STORE_STRUCT_RETURN(ADDR, SP) \
- error ("Returning values from functions is not implemented in i960 gdb")
-
-/* 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. */
-
-/* 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 arg_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) \
- ((fi)->fsr = 0, (fi)->arg_pointer = -1)
-
-/* On the i960, we get the chain pointer by reading the PFP saved
- on the stack and clearing the status bits. */
-
-#define FRAME_CHAIN(thisframe) \
- (read_memory_integer (FRAME_FP(thisframe), 4) & ~0xf)
-
-/* FRAME_CHAIN_VALID returns zero if the given frame is the outermost one
- and has no caller.
-
- On the i960, each various target system type must define FRAME_CHAIN_VALID,
- since it differs between NINDY and VxWorks, the two currently supported
- targets types. We leave it undefined here. */
-
-
-/* A macro that tells us whether the function invocation represented
- by FI does not have a frame on the stack associated with it. If it
- does not, FRAMELESS is set to 1, else 0. */
-
-#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) \
- { (FRAMELESS) = (leafproc_return ((FI)->pc) != 0); }
-
-/* Note that in the i960 architecture the return pointer is saved in the
- *caller's* stack frame.
-
- Make sure to zero low-order bits because of bug in 960CA A-step part
- (instruction addresses should always be word-aligned anyway). */
-
-#define FRAME_SAVED_PC(frame) \
- ((read_memory_integer(FRAME_CHAIN(frame)+8,4)) & ~3)
-
-/* On the i960, FRAME_ARGS_ADDRESS should return the value of
- g14 as passed into the frame, if known. We need a function for this.
- We cache this value in the frame info if we've already looked it up. */
-
-#define FRAME_ARGS_ADDRESS(fi) \
- (((fi)->arg_pointer != -1)? (fi)->arg_pointer: frame_args_address (fi, 0))
-extern CORE_ADDR frame_args_address (); /* i960-tdep.c */
-
-/* This is the same except it should return 0 when
- it does not really know where the args are, rather than guessing.
- This value is not cached since it is only used infrequently. */
-
-#define FRAME_ARGS_ADDRESS_CORRECT(fi) (frame_args_address (fi, 1))
-
-#define FRAME_LOCALS_ADDRESS(fi) (fi)->frame
-
-/* Set NUMARGS to the number of args passed to a frame.
- Can return -1, meaning no way to tell. */
-
-#define FRAME_NUM_ARGS(numargs, fi) (numargs = -1)
-
-/* Return number of bytes at start of arglist that are not really args. */
-
-#define FRAME_ARGS_SKIP 0
-
-/* Produce the positions of the saved registers in a stack frame. */
-
-#define FRAME_FIND_SAVED_REGS(frame_info_addr, sr) \
- frame_find_saved_regs (frame_info_addr, &sr)
-extern void frame_find_saved_regs(); /* See i960-tdep.c */
-
-
-/* Print status when we get a random unexpected signal. We have more
- kinds of signals than Unix does... */
-
-#define PRINT_RANDOM_SIGNAL(stop_signal) print_fault (stop_signal)
-
-/* Things needed for making calls to functions in the inferior process */
-
-/* Push an empty stack frame, to record the current ip, etc.
-
- Not (yet?) implemented for i960. */
-
-#define PUSH_DUMMY_FRAME \
-error("Function calls into the inferior process are not supported on the i960")
-
-/* Discard from the stack the innermost frame, restoring all registers. */
-
-#define POP_FRAME \
- pop_frame ()
-
-
-/* This sequence of words is the instructions
-
- callx 0x00000000
- fmark
- */
-
-/* #define CALL_DUMMY { 0x86003000, 0x00000000, 0x66003e00 } */
-
-/* #define CALL_DUMMY_START_OFFSET 0 *//* Start execution at beginning of dummy */
-
-/* Indicate that we don't support calling inferior child functions. */
-
-#undef CALL_DUMMY
-
-/* Insert the specified number of args and function address
- into a call sequence of the above form stored at 'dummyname'.
-
- Ignore arg count on i960. */
-
-/* #define FIX_CALL_DUMMY(dummyname, fun, nargs) *(((int *)dummyname)+1) = fun */
-
-#undef FIX_CALL_DUMMY
-
-
-/* Interface definitions for kernel debugger KDB */
-/* (Not relevant to i960.) */
diff --git a/gdb/tm-irix3.h b/gdb/tm-irix3.h
index a227aa4..e69de29 100644
--- a/gdb/tm-irix3.h
+++ b/gdb/tm-irix3.h
@@ -1,317 +0,0 @@
-/* Target machine description for SGI Iris under Irix, for GDB.
- Copyright 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#include "coff/sym.h" /* Needed for PDR below. */
-#include "coff/symconst.h"
-
-#define TARGET_BYTE_ORDER BIG_ENDIAN
-
-/* Floating point is IEEE compliant */
-#define IEEE_FLOAT
-
-/* SGI's assembler doesn't grok dollar signs in identifiers.
- So we use dots instead. This item must be coordinated with G++. */
-#undef CPLUS_MARKER
-#define CPLUS_MARKER '.'
-
-/* 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. */
-
-#define SKIP_PROLOGUE(pc) pc = mips_skip_prologue(pc)
-
-/* 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) read_register(RA_REGNUM)
-
-/* Are we currently handling a signal */
-
-#define IN_SIGTRAMP(pc, name) in_sigtramp(pc, name)
-
-/* Address of end of stack space. */
-
-#define STACK_END_ADDR (0x7ffff000)
-
-/* Stack grows downward. */
-
-#define INNER_THAN <
-
-#define BREAKPOINT {0, 0x5, 0, 0xd}
-
-/* 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
-
-/* Nonzero if instruction at PC is a return instruction. "j ra" on mips. */
-
-#define ABOUT_TO_RETURN(pc) (read_memory_integer (pc, 4) == 0x3e00008)
-
-/* Return 1 if P points to an invalid floating point value. */
-
-#define INVALID_FLOAT(p,l) isa_NAN(p,l)
-
-/* Say how long (all) registers are. */
-
-#define REGISTER_TYPE long
-
-/* Number of machine registers */
-
-#define NUM_REGS 71
-
-/* Initializer for an array of names of registers.
- There should be NUM_REGS strings in this initializer. */
-
-#define REGISTER_NAMES \
- { "zero", "at", "v0", "v1", "a0", "a1", "a2", "a3", \
- "t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7", \
- "s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7", \
- "t8", "t9", "k0", "k1", "gp", "sp", "fp", "ra", \
- "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \
- "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \
- "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",\
- "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",\
- "pc", "cause", "bad", "hi", "lo", "fsr", "fir" \
- }
-
-/* 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 ZERO_REGNUM 0 /* read-only register, always 0 */
-#define A0_REGNUM 4 /* Loc of first arg during a subr call */
-#define SP_REGNUM 29 /* Contains address of top of stack */
-#define FP_REGNUM 30 /* Pseudo register that contains true address of executing stack frame */
-#define RA_REGNUM 31 /* Contains return address value */
-#define FP0_REGNUM 32 /* Floating point register 0 (single float) */
-#define PC_REGNUM 64 /* Contains program counter */
-#define PS_REGNUM 65 /* Contains processor status */
-#define HI_REGNUM 67 /* Multiple/divide temp */
-#define LO_REGNUM 68 /* ... */
-#define FCRCS_REGNUM 69 /* FP control/status */
-#define FCRIR_REGNUM 70 /* FP implementation/revision */
-
-/* Define DO_REGISTERS_INFO() to do machine-specific formatting
- of register dumps. */
-
-#define DO_REGISTERS_INFO(_regnum, fp) mips_do_registers_info(_regnum, fp)
-
-/* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'. */
-#define REGISTER_BYTES (NUM_REGS*4)
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-
-#define REGISTER_BYTE(N) ((N) * 4)
-
-/* Number of bytes of storage in the actual machine representation
- for register N. On mips, all regs are 4 bytes. */
-
-#define REGISTER_RAW_SIZE(N) 4
-
-/* Number of bytes of storage in the program's representation
- for register N. On mips, all regs are 4 bytes. */
-
-#define REGISTER_VIRTUAL_SIZE(N) 4
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 4
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 4
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) 0
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), 4);
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), 4);
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-#define REGISTER_VIRTUAL_TYPE(N) builtin_type_int
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-
-#define STORE_STRUCT_RETURN(addr, sp) \
- { sp = push_word(sp, addr);}
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. XXX floats */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- bcopy (REGBUF+REGISTER_BYTE (TYPE_CODE (TYPE) == TYPE_CODE_FLT ? FP0_REGNUM : 2), VALBUF, TYPE_LENGTH (TYPE))
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- write_register_bytes (REGISTER_BYTE (TYPE_CODE (TYPE) == TYPE_CODE_FLT ? FP0_REGNUM : 2), VALBUF, TYPE_LENGTH (TYPE))
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(int *)(REGBUF+16))
-
-/* Structures are returned by ref in extra arg0 */
-#define USE_STRUCT_CONVENTION(gcc_p, type) 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. */
-
-#define FRAME_CHAIN(thisframe) (FRAME_ADDR)mips_frame_chain(thisframe)
-
-/* Define other aspects of the stack frame. */
-
-
-/* A macro that tells us whether the function invocation represented
- by FI does not have a frame on the stack associated with it. If it
- does not, FRAMELESS is set to 1, else 0. */
-/* We handle this differently for mips, and maybe we should not */
-
-#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) {(FRAMELESS) = 0;}
-
-/* Saved Pc. */
-
-#define FRAME_SAVED_PC(FRAME) (mips_frame_saved_pc(FRAME))
-
-#define FRAME_ARGS_ADDRESS(fi) (fi)->frame
-
-#define FRAME_LOCALS_ADDRESS(fi) (fi)->frame
-
-/* Return number of args passed to a frame.
- Can return -1, meaning no way to tell. */
-
-#define FRAME_NUM_ARGS(num, fi) (num = mips_frame_num_args(fi))
-
-/* 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. */
-
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) ( \
- (frame_saved_regs) = *(frame_info)->saved_regs, \
- (frame_saved_regs).regs[SP_REGNUM] = (frame_info)->frame)
-
-
-/* Things needed for making the inferior call functions. */
-
-/* Stack has strict alignment. However, use PUSH_ARGUMENTS
- to take care of it. */
-/*#define STACK_ALIGN(addr) (((addr)+3)&~3)*/
-
-#define PUSH_ARGUMENTS(nargs, args, sp, struct_return, struct_addr) \
- sp = mips_push_arguments(nargs, args, sp, struct_return, struct_addr)
-
-/* Push an empty stack frame, to record the current PC, etc. */
-
-#define PUSH_DUMMY_FRAME mips_push_dummy_frame()
-
-/* Discard from the stack the innermost frame, restoring all registers. */
-
-#define POP_FRAME mips_pop_frame()
-
-#define MK_OP(op,rs,rt,offset) (((op)<<26)|((rs)<<21)|((rt)<<16)|(offset))
-#define CALL_DUMMY_SIZE (16*4)
-#define Dest_Reg 2
-#define CALL_DUMMY {\
- MK_OP(0,RA_REGNUM,0,8), /* jr $ra # Fake ABOUT_TO_RETURN ...*/\
- 0, /* nop # ... to stop raw backtrace*/\
- 0x27bd0000, /* addu sp,?0 # Pseudo prologue */\
-/* Start here: */\
- MK_OP(061,SP_REGNUM,12,0), /* lwc1 $f12,0(sp) # Reload first 4 args*/\
- MK_OP(061,SP_REGNUM,13,4), /* lwc1 $f13,4(sp) */\
- MK_OP(061,SP_REGNUM,14,8), /* lwc1 $f14,8(sp) */\
- MK_OP(061,SP_REGNUM,15,12), /* lwc1 $f15,12(sp) */\
- MK_OP(043,SP_REGNUM,4,0), /* lw $r4,0(sp) # Re-load FP regs*/\
- MK_OP(043,SP_REGNUM,5,4), /* lw $r5,4(sp) */\
- MK_OP(043,SP_REGNUM,6,8), /* lw $r6,8(sp) */\
- MK_OP(043,SP_REGNUM,7,12), /* lw $r7,12(sp) */\
- (017<<26)| (Dest_Reg << 16), /* lui $r31,<target upper 16 bits>*/\
- MK_OP(13,Dest_Reg,Dest_Reg,0), /* ori $r31,$r31,<lower 16 bits>*/ \
- (Dest_Reg<<21) | (31<<11) | 9, /* jalr $r31 */\
- MK_OP(043,SP_REGNUM,7,12), /* lw $r7,12(sp) */\
- 0x5000d, /* bpt */\
-}
-
-#define CALL_DUMMY_START_OFFSET 12
-
-/* Insert the specified number of args and function address
- into a call sequence of the above form stored at DUMMYNAME. */
-
-#define FIX_CALL_DUMMY(dummyname, start_sp, fun, nargs, args, rettype, gcc_p)\
- (((int*)dummyname)[11] |= (((unsigned long)(fun)) >> 16), \
- ((int*)dummyname)[12] |= (unsigned short)(fun))
-
-/* Specific information about a procedure.
- This overlays the MIPS's PDR records,
- mipsread.c (ab)uses this to save memory */
-
-typedef struct mips_extra_func_info {
- long numargs; /* number of args to procedure (was iopt) */
- PDR pdr; /* Procedure descriptor record */
-} *mips_extra_func_info_t;
-
-#define EXTRA_FRAME_INFO \
- mips_extra_func_info_t proc_desc; \
- int num_args;\
- struct frame_saved_regs *saved_regs;
-
-#define INIT_EXTRA_FRAME_INFO(fromleaf, fci) init_extra_frame_info(fci)
-
-/* Special symbol found in blocks associated with routines. We can hang
- mips_extra_func_info_t's off of this. */
-
-#define MIPS_EFI_SYMBOL_NAME "__GDB_EFI_INFO__"
diff --git a/gdb/tm-isi.h b/gdb/tm-isi.h
deleted file mode 100644
index 558c8ba..0000000
--- a/gdb/tm-isi.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/* Definitions to target GDB on an ISI Optimum V (3.05) under 4.3bsd.
- Copyright (C) 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* This has not been tested on ISI's running BSD 4.2, but it will probably
- work. */
-
-#define HAVE_68881
-
-/* Address of end of stack space. */
-
-#define STACK_END_ADDR 0xfffe000
-
-/* Data segment starts at etext rounded up to DATAROUND in {N,Z}MAGIC files */
-
-#define DATAROUND 0x20000
-#define N_DATADDR(hdr) (hdr.a_magic != OMAGIC ? \
- (hdr.a_text + DATAROUND) & ~(DATAROUND-1) : hdr.a_text)
-
-/* Text segment starts at sizeof (struct exec) in {N,Z}MAGIC files */
-
-#define N_TXTADDR(hdr) (hdr.a_magic != OMAGIC ? sizeof (struct exec) : 0)
-
-/* Amount PC must be decremented by after a breakpoint.
- This is often the number of bytes in BREAKPOINT
- but not always.
- On the ISI, the kernel resets the pc to the trap instr */
-
-#define DECR_PC_AFTER_BREAK 0
-
-
-/* Return number of args passed to a frame.
- Can return -1, meaning no way to tell. */
-
-#define FRAME_NUM_ARGS(val, fi) \
-{ register CORE_ADDR pc = FRAME_SAVED_PC (fi); \
- register int insn = 0177777 & read_memory_integer (pc, 2); \
- val = 0; \
- if (insn == 0047757 || insn == 0157374) /* lea W(sp),sp or addaw #W,sp */ \
- val = read_memory_integer (pc + 2, 2); \
- else if ((insn & 0170777) == 0050217 /* addql #N, sp */ \
- || (insn & 0170777) == 0050117) /* addqw */ \
- { val = (insn >> 9) & 7; if (val == 0) val = 8; } \
- else if (insn == 0157774) /* addal #WW, sp */ \
- val = read_memory_integer (pc + 2, 4); \
- val >>= 2; }
-
-/* 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. */
-
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
-{ register int regnum; \
- register int regmask; \
- register CORE_ADDR next_addr; \
- register CORE_ADDR pc; \
- register int insn; \
- register int offset; \
- bzero (&frame_saved_regs, sizeof frame_saved_regs); \
- if ((frame_info)->pc >= (frame_info)->frame - CALL_DUMMY_LENGTH - FP_REGNUM*4 - 8*12 - 4 \
- && (frame_info)->pc <= (frame_info)->frame) \
- { next_addr = (frame_info)->frame; \
- pc = (frame_info)->frame - CALL_DUMMY_LENGTH - FP_REGNUM * 4 - 8*12 - 4; }\
- else \
- { pc = get_pc_function_start ((frame_info)->pc); \
- /* Verify we have a link a6 instruction next, \
- or a branch followed by a link a6 instruction; \
- if not we lose. If we win, find the address above the saved \
- regs using the amount of storage from the link instruction. */\
-retry: \
- insn = read_memory_integer (pc, 2); \
- if (insn == 044016) \
- next_addr = (frame_info)->frame - read_memory_integer (pc += 2, 4), pc+=4; \
- else if (insn == 047126) \
- next_addr = (frame_info)->frame - read_memory_integer (pc += 2, 2), pc+=2; \
- else if ((insn & 0177400) == 060000) /* bra insn */ \
- { offset = insn & 0377; \
- pc += 2; /* advance past bra */ \
- if (offset == 0) /* bra #word */ \
- offset = read_memory_integer (pc, 2), pc += 2; \
- else if (offset == 0377) /* bra #long */ \
- offset = read_memory_integer (pc, 4), pc += 4; \
- pc += offset; \
- goto retry; \
- } else goto lose; \
- /* If have an addal #-n, sp next, adjust next_addr. */ \
- if ((0177777 & read_memory_integer (pc, 2)) == 0157774) \
- next_addr += read_memory_integer (pc += 2, 4), pc += 4; \
- } \
- /* next should be a moveml to (sp) or -(sp) or a movl r,-(sp) */ \
- insn = read_memory_integer (pc, 2), pc += 2; \
- regmask = read_memory_integer (pc, 2); \
- if ((insn & 0177760) == 022700) /* movl rn, (sp) */ \
- (frame_saved_regs).regs[(insn&7) + ((insn&010)?8:0)] = next_addr; \
- else if ((insn & 0177760) == 024700) /* movl rn, -(sp) */ \
- (frame_saved_regs).regs[(insn&7) + ((insn&010)?8:0)] = next_addr-=4; \
- else if (insn == 0044327) /* moveml mask, (sp) */ \
- { pc += 2; \
- /* Regmask's low bit is for register 0, the first written */ \
- next_addr -= 4; \
- for (regnum = 0; regnum < 16; regnum++, regmask >>= 1) \
- if (regmask & 1) \
- (frame_saved_regs).regs[regnum] = (next_addr += 4); \
- } else if (insn == 0044347) /* moveml mask, -(sp) */ \
- { pc += 2; \
- /* Regmask's low bit is for register 15, the first pushed */ \
- for (regnum = 15; regnum >= 0; regnum--, regmask >>= 1) \
- if (regmask & 1) \
- (frame_saved_regs).regs[regnum] = (next_addr -= 4); } \
- /* clrw -(sp); movw ccr,-(sp) may follow. */ \
- if (read_memory_integer (pc, 2) == 041147 \
- && read_memory_integer (pc+2, 2) == 042347) \
- (frame_saved_regs).regs[PS_REGNUM] = (next_addr -= 4); \
- lose: ; \
- (frame_saved_regs).regs[SP_REGNUM] = (frame_info)->frame + 8; \
- (frame_saved_regs).regs[FP_REGNUM] = (frame_info)->frame; \
- (frame_saved_regs).regs[PC_REGNUM] = (frame_info)->frame + 4; \
-}
-
-/* The only reason this is here is the tm-isi.h reference below. It
- was moved back here from tm-68k.h. FIXME? */
-
-#define SKIP_PROLOGUE(pc) \
-{ register int op = read_memory_integer (pc, 2); \
- if (op == 0047126) \
- pc += 4; /* Skip link #word */ \
- else if (op == 0044016) \
- pc += 6; /* Skip link #long */ \
- /* Not sure why branches are here. */ \
- /* From tm-isi.h, tm-altos.h */ \
- else if (op == 0060000) \
- pc += 4; /* Skip bra #word */ \
- else if (op == 00600377) \
- pc += 6; /* skip bra #long */ \
- else if ((op & 0177400) == 0060000) \
- pc += 2; /* skip bra #char */ \
-}
-
-#include "tm-68k.h"
diff --git a/gdb/tm-linux.h b/gdb/tm-linux.h
index 671918d..e69de29 100644
--- a/gdb/tm-linux.h
+++ b/gdb/tm-linux.h
@@ -1,26 +0,0 @@
-/* Definitions to target GDB to Linux on 386.
- Copyright 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* number of traps that happen between exec'ing the shell
- * to run an inferior, and when we finally get to
- * the inferior code. This is 2 on most implementations.
- */
-#define START_INFERIOR_TRAPS_EXPECTED 2
-
-#include "tm-i386v.h"
diff --git a/gdb/tm-m88k.h b/gdb/tm-m88k.h
deleted file mode 100644
index cfcc5a2..0000000
--- a/gdb/tm-m88k.h
+++ /dev/null
@@ -1,398 +0,0 @@
-/* Target machine description for generic Motorola 88000, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* g++ support is not yet included. */
-
-#define TARGET_BYTE_ORDER BIG_ENDIAN
-
-/* 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 ();
-
-#define IEEE_FLOAT
-
-/* 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. */
-
-#define SKIP_PROLOGUE(frompc) \
- skip_prologue (frompc)
-extern CORE_ADDR skip_prologue ();
-
-/* 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. */
-
-#define ADDR_BITS_REMOVE(addr) ((addr) & ~3)
-#define ADDR_BITS_SET(addr) (((addr) | 0x00000002) - 4)
-
-/* 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 <
-
-/* 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
-
-/* Nonzero if instruction at PC is a return instruction. */
-/* 'jmp r1' or 'jmp.n r1' is used to return from a subroutine. */
-
-#define ABOUT_TO_RETURN(pc) (read_memory_integer (pc, 2) == 0xF800)
-
-/* Return 1 if P points to an invalid floating point value.
- LEN is the length in bytes. */
-
-#define INVALID_FLOAT(p, len) IEEE_isNAN(p,len)
-
-/* Say how long (ordinary) registers are. */
-
-#define REGISTER_TYPE long
-
-/* Number of machine registers */
-
-#define NUM_REGS 38
-
-/* 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",\
- "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 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 FP_REGNUM 31 /* Reg fetched to locate frame when pgm stops */
-#define SP_REGNUM 31 /* Contains address of top of stack */
-#define SXIP_REGNUM 35 /* Contains Shadow Execute Instruction Pointer */
-#define SNIP_REGNUM 36 /* Contains Shadow Next Instruction Pointer */
-#define PC_REGNUM SXIP_REGNUM /* Program Counter */
-#define NPC_REGNUM SNIP_REGNUM /* 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 SFIP_REGNUM 37 /* Contains Shadow Fetched Intruction pointer */
-#define NNPC_REGNUM SFIP_REGNUM /* Next Next Program Counter */
-
-/* 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
-
-/* 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). */
-
-#define SHIFT_INST_REGS
-
-/* Number of bytes of storage in the actual machine representation
- for register N. */
-
-#define REGISTER_RAW_SIZE(N) 4
-
-/* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'. */
-
-#define REGISTER_BYTES (NUM_REGS * REGISTER_RAW_SIZE(0))
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-
-#define REGISTER_BYTE(N) ((N)*REGISTER_RAW_SIZE(0))
-
-/* Number of bytes of storage in the program's representation
- for register N. */
-
-#define REGISTER_VIRTUAL_SIZE(N) (REGISTER_RAW_SIZE(N))
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE (REGISTER_RAW_SIZE(0))
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have.
-/* Are FPS1, FPS2, FPR "virtual" regisers? */
-
-#define MAX_REGISTER_VIRTUAL_SIZE (REGISTER_RAW_SIZE(0))
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) (0)
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
- {bcopy ((FROM), (TO), REGISTER_RAW_SIZE (REGNUM));}
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
- {bcopy ((FROM), (TO), REGISTER_RAW_SIZE (REGNUM));}
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-#define REGISTER_VIRTUAL_TYPE(N) (builtin_type_int)
-
-/* The 88k call/return conventions call for "small" values to be returned
- into consecutive registers starting from r2. */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- bcopy (&(((char *)REGBUF)[REGISTER_BYTE(RV_REGNUM)]), (VALBUF), TYPE_LENGTH (TYPE))
-
-#define 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 FRAME_CHAIN_VALID(chain, thisframe) \
- frame_chain_valid (chain, thisframe)
-
-#define FRAMELESS_FUNCTION_INVOCATION(frame, fromleaf) \
- fromleaf = 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(numargs, fi) ((numargs) = -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. Tht 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.
-*/
-
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
- frame_find_saved_regs (frame_info, &frame_saved_regs)
-
-
-/* There is not currently a functioning way to call functions in the
- inferior. */
-
-/* But if there was this is where we'd put the call dummy. */
-/* #define CALL_DUMMY_LOCATION AFTER_TEXT_END */
-
-/* When popping a frame on the 88k (say when doing a return command), the
- calling function only expects to have the "preserved" registers restored.
- Thus, those are the only ones that we even try to restore here. */
-
-#define POP_FRAME pop_frame ()
-extern void pop_frame ();
diff --git a/gdb/tm-merlin.h b/gdb/tm-merlin.h
deleted file mode 100644
index 4191b04..0000000
--- a/gdb/tm-merlin.h
+++ /dev/null
@@ -1,339 +0,0 @@
-/* Definitions to target GDB to a merlin under utek 2.1
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define TARGET_BYTE_ORDER LITTLE_ENDIAN
-
-/* 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. */
-
-#define SKIP_PROLOGUE(pc) \
-{ register int op = read_memory_integer (pc, 1); \
- if (op == 0x82) \
- { op = read_memory_integer (pc+2,1); \
- if ((op & 0x80) == 0) pc += 3; \
- else if ((op & 0xc0) == 0x80) pc += 4; \
- else pc += 6; \
- }}
-
-/* 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) \
- read_memory_integer (read_register (SP_REGNUM), 4)
-
-/* Address of end of stack space. */
-
-#define STACK_END_ADDR (0x800000)
-
-/* Stack grows downward. */
-
-#define INNER_THAN <
-
-/* Sequence of bytes for breakpoint instruction. */
-
-#define BREAKPOINT {0xf2}
-
-/* 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
-
-/* Nonzero if instruction at PC is a return instruction. */
-
-#define ABOUT_TO_RETURN(pc) (read_memory_integer (pc, 1) == 0x12)
-
-/* Return 1 if P points to an invalid floating point value. */
-
-#define INVALID_FLOAT(p, len) 0
-
-/* Define this to say that the "svc" insn is followed by
- codes in memory saying which kind of system call it is. */
-
-#define NS32K_SVC_IMMED_OPERANDS
-
-/* Say how long (ordinary) registers are. */
-
-#define REGISTER_TYPE long
-
-/* Number of machine registers */
-
-#define NUM_REGS 25
-
-#define NUM_GENERAL_REGS 8
-
-/* 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", \
- "pc", "sp", "fp", "ps", \
- "fsr", \
- "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \
- "l0", "l1", "l2", "l3", "l4", \
- }
-
-/* 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 AP_REGNUM FP_REGNUM
-#define FP_REGNUM 10 /* Contains address of executing stack frame */
-#define SP_REGNUM 9 /* Contains address of top of stack */
-#define PC_REGNUM 8 /* Contains program counter */
-#define PS_REGNUM 11 /* Contains processor status */
-#define FPS_REGNUM 12 /* Floating point status register */
-#define FP0_REGNUM 13 /* Floating point register 0 */
-#define LP0_REGNUM 21 /* Double register 0 (same as FP0) */
-
-/* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'. */
-#define REGISTER_BYTES ((NUM_REGS - 4) * sizeof (int) + 4 * sizeof (double))
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-
-#define REGISTER_BYTE(N) ((N) >= LP0_REGNUM ? \
- LP0_REGNUM * 4 + ((N) - LP0_REGNUM) * 8 : (N) * 4)
-
-/* Number of bytes of storage in the actual machine representation
- for register N. On the 32000, all regs are 4 bytes
- except for the doubled floating registers. */
-
-#define REGISTER_RAW_SIZE(N) ((N) >= LP0_REGNUM ? 8 : 4)
-
-/* Number of bytes of storage in the program's representation
- for register N. On the 32000, all regs are 4 bytes
- except for the doubled floating registers. */
-
-#define REGISTER_VIRTUAL_SIZE(N) ((N) >= LP0_REGNUM ? 8 : 4)
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 8
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 8
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) 0
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), REGISTER_VIRTUAL_SIZE(REGNUM));
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), REGISTER_VIRTUAL_SIZE(REGNUM));
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-#define REGISTER_VIRTUAL_TYPE(N) \
- ((N) >= FP0_REGNUM ? \
- ((N) >= LP0_REGNUM ? \
- builtin_type_double \
- : builtin_type_float) \
- : builtin_type_int)
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function.
-
- On this machine this is a no-op, as gcc doesn't run on it yet.
- This calling convention is not used. */
-
-#define STORE_STRUCT_RETURN(ADDR, SP)
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- bcopy (REGBUF, VALBUF, TYPE_LENGTH (TYPE))
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- write_register_bytes (0, VALBUF, TYPE_LENGTH (TYPE))
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(int *)(REGBUF))
-
-/* 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. */
-
-/* In the case of the Merlin, the frame's nominal address is the FP value,
- and at that address is saved previous FP value as a 4-byte word. */
-
-#define FRAME_CHAIN(thisframe) \
- (!inside_entry_file ((thisframe)->pc) ? \
- read_memory_integer ((thisframe)->frame, 4) :\
- 0)
-
-/* Define other aspects of the stack frame. */
-
-#define FRAME_SAVED_PC(FRAME) (read_memory_integer ((FRAME)->frame + 4, 4))
-
-/* compute base of arguments */
-#define FRAME_ARGS_ADDRESS(fi) ((fi)->frame)
-
-#define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame)
-
-/* Return number of args passed to a frame.
- Can return -1, meaning no way to tell. */
-
-#define FRAME_NUM_ARGS(numargs, fi) \
-{ CORE_ADDR pc; \
- int insn; \
- int addr_mode; \
- int width; \
- \
- pc = FRAME_SAVED_PC (fi); \
- insn = read_memory_integer (pc,2); \
- addr_mode = (insn >> 11) & 0x1f; \
- insn = insn & 0x7ff; \
- if ((insn & 0x7fc) == 0x57c \
- && addr_mode == 0x14) /* immediate */ \
- { if (insn == 0x57c) /* adjspb */ \
- width = 1; \
- else if (insn == 0x57d) /* adjspw */ \
- width = 2; \
- else if (insn == 0x57f) /* adjspd */ \
- width = 4; \
- numargs = read_memory_integer (pc+2,width); \
- if (width > 1) \
- flip_bytes (&numargs, width); \
- numargs = - sign_extend (numargs, width*8) / 4; } \
- else numargs = -1; \
-}
-
-/* Return number of bytes at start of arglist that are not really args. */
-
-#define FRAME_ARGS_SKIP 8
-
-/* 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. */
-
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
-{ int regmask,regnum; \
- int localcount; \
- CORE_ADDR enter_addr; \
- CORE_ADDR next_addr; \
- \
- enter_addr = get_pc_function_start ((frame_info)->pc); \
- regmask = read_memory_integer (enter_addr+1, 1); \
- localcount = ns32k_localcount (enter_addr); \
- next_addr = (frame_info)->frame + localcount; \
- for (regnum = 0; regnum < 8; regnum++, regmask >>= 1) \
- (frame_saved_regs).regs[regnum] \
- = (regmask & 1) ? (next_addr -= 4) : 0; \
- (frame_saved_regs).regs[SP_REGNUM] = (frame_info)->frame + 4; \
- (frame_saved_regs).regs[PC_REGNUM] = (frame_info)->frame + 4; \
- (frame_saved_regs).regs[FP_REGNUM] \
- = read_memory_integer ((frame_info)->frame, 4); }
-
-
-/* Things needed for making the inferior call functions. */
-
-/* Push an empty stack frame, to record the current PC, etc. */
-
-#define PUSH_DUMMY_FRAME \
-{ register CORE_ADDR sp = read_register (SP_REGNUM); \
- register int regnum; \
- sp = push_word (sp, read_register (PC_REGNUM)); \
- sp = push_word (sp, read_register (FP_REGNUM)); \
- write_register (FP_REGNUM, sp); \
- for (regnum = 0; regnum < 8; regnum++) \
- sp = push_word (sp, read_register (regnum)); \
- write_register (SP_REGNUM, sp); \
-}
-
-/* Discard from the stack the innermost frame, restoring all registers. */
-
-#define POP_FRAME \
-{ register FRAME frame = get_current_frame (); \
- register CORE_ADDR fp; \
- register int regnum; \
- struct frame_saved_regs fsr; \
- struct frame_info *fi; \
- fi = get_frame_info (frame); \
- fp = fi->frame; \
- get_frame_saved_regs (fi, &fsr); \
- for (regnum = 0; regnum < 8; regnum++) \
- if (fsr.regs[regnum]) \
- write_register (regnum, read_memory_integer (fsr.regs[regnum], 4)); \
- write_register (FP_REGNUM, read_memory_integer (fp, 4)); \
- write_register (PC_REGNUM, read_memory_integer (fp + 4, 4)); \
- write_register (SP_REGNUM, fp + 8); \
- flush_cached_frames (); \
- set_current_frame (create_new_frame (read_register (FP_REGNUM),\
- read_pc ())); \
-}
-
-/* This sequence of words is the instructions
- enter 0xff,0 82 ff 00
- jsr @0x00010203 7f ae c0 01 02 03
- adjspd 0x69696969 7f a5 01 02 03 04
- bpt f2
- Note this is 16 bytes. */
-
-#define CALL_DUMMY { 0x7f00ff82, 0x0201c0ae, 0x01a57f03, 0xf2040302 }
-
-#define CALL_DUMMY_START_OFFSET 3
-#define CALL_DUMMY_LENGTH 16
-#define CALL_DUMMY_ADDR 5
-#define CALL_DUMMY_NARGS 11
-
-/* Insert the specified number of args and function address
- into a call sequence of the above form stored at DUMMYNAME. */
-
-#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p) \
-{ int flipped = fun | 0xc0000000; \
- flip_bytes (&flipped, 4); \
- *((int *) (((char *) dummyname)+CALL_DUMMY_ADDR)) = flipped; \
- flipped = - nargs * 4; \
- flip_bytes (&flipped, 4); \
- *((int *) (((char *) dummyname)+CALL_DUMMY_NARGS)) = flipped; \
-}
diff --git a/gdb/tm-mips.h b/gdb/tm-mips.h
deleted file mode 100644
index 8dbd951..0000000
--- a/gdb/tm-mips.h
+++ /dev/null
@@ -1,380 +0,0 @@
-/* Definitions to make GDB run on a mips box under 4.3bsd.
- Copyright 1986, 1987, 1989, 1991, 1992, 1993 Free Software Foundation, Inc.
- Contributed by Per Bothner (bothner@cs.wisc.edu) at U.Wisconsin
- and by Alessandro Forin (af@cs.cmu.edu) at CMU..
-
-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. */
-
-#include "coff/sym.h" /* Needed for PDR below. */
-#include "coff/symconst.h"
-
-#if !defined (TARGET_BYTE_ORDER)
-#define TARGET_BYTE_ORDER LITTLE_ENDIAN
-#endif
-
-/* Floating point is IEEE compliant */
-#define IEEE_FLOAT
-
-/* Some MIPS boards are provided both with and without a floating
- point coprocessor; we provide a user settable variable to tell gdb
- whether there is one or not. */
-extern int mips_fpu;
-
-/* 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. */
-
-#define SKIP_PROLOGUE(pc) pc = mips_skip_prologue(pc)
-
-/* 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) read_register(RA_REGNUM)
-
-/* Are we currently handling a signal */
-
-#define IN_SIGTRAMP(pc, name) in_sigtramp(pc, name)
-
-/* Address of end of stack space. */
-
-#define STACK_END_ADDR (0x7ffff000)
-
-/* Stack grows downward. */
-
-#define INNER_THAN <
-
-#define BIG_ENDIAN 4321
-#if TARGET_BYTE_ORDER == BIG_ENDIAN
-#define BREAKPOINT {0, 0x5, 0, 0xd}
-#else
-#define BREAKPOINT {0xd, 0, 0x5, 0}
-#endif
-
-/* 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
-
-/* Nonzero if instruction at PC is a return instruction. "j ra" on mips. */
-
-#define ABOUT_TO_RETURN(pc) (read_memory_integer (pc, 4) == 0x3e00008)
-
-/* Return 1 if P points to an invalid floating point value. */
-
-#define INVALID_FLOAT(p,l) isa_NAN(p,l)
-
-/* Say how long (all) registers are. */
-
-#define REGISTER_TYPE long
-
-/* Number of machine registers */
-
-#define NUM_REGS 80
-
-/* Initializer for an array of names of registers.
- There should be NUM_REGS strings in this initializer. */
-
-#define REGISTER_NAMES \
- { "zero", "at", "v0", "v1", "a0", "a1", "a2", "a3", \
- "t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7", \
- "s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7", \
- "t8", "t9", "k0", "k1", "gp", "sp", "s8", "ra", \
- "sr", "lo", "hi", "bad", "cause","pc", \
- "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \
- "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \
- "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",\
- "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",\
- "fsr", "fir", "fp", "inx", "rand", "tlblo","ctxt", "tlbhi",\
- "epc", "prid"\
- }
-
-/* 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 ZERO_REGNUM 0 /* read-only register, always 0 */
-#define A0_REGNUM 4 /* Loc of first arg during a subr call */
-#define SP_REGNUM 29 /* Contains address of top of stack */
-#define RA_REGNUM 31 /* Contains return address value */
-#define PS_REGNUM 32 /* Contains processor status */
-#define HI_REGNUM 34 /* Multiple/divide temp */
-#define LO_REGNUM 33 /* ... */
-#define BADVADDR_REGNUM 35 /* bad vaddr for addressing exception */
-#define CAUSE_REGNUM 36 /* describes last exception */
-#define PC_REGNUM 37 /* Contains program counter */
-#define FP0_REGNUM 38 /* Floating point register 0 (single float) */
-#define FCRCS_REGNUM 70 /* FP control/status */
-#define FCRIR_REGNUM 71 /* FP implementation/revision */
-#define FP_REGNUM 72 /* Pseudo register that contains true address of executing stack frame */
-#define FIRST_EMBED_REGNUM 73 /* First supervisor register for embedded use */
-#define LAST_EMBED_REGNUM 79 /* Last one */
-
-/* Define DO_REGISTERS_INFO() to do machine-specific formatting
- of register dumps. */
-
-#define DO_REGISTERS_INFO(_regnum, fp) mips_do_registers_info(_regnum, fp)
-
-/* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'. */
-#define REGISTER_BYTES (NUM_REGS*4)
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-
-#define REGISTER_BYTE(N) ((N) * 4)
-
-/* Number of bytes of storage in the actual machine representation
- for register N. On mips, all regs are 4 bytes. */
-
-#define REGISTER_RAW_SIZE(N) 4
-
-/* Number of bytes of storage in the program's representation
- for register N. On mips, all regs are 4 bytes. */
-
-#define REGISTER_VIRTUAL_SIZE(N) 4
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 4
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 4
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) 0
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), 4);
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), 4);
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-#define REGISTER_VIRTUAL_TYPE(N) \
- (((N) >= FP0_REGNUM && (N) < FP0_REGNUM+32) \
- ? builtin_type_float : builtin_type_int) \
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-
-#define STORE_STRUCT_RETURN(addr, sp) \
- { sp = push_word(sp, addr);}
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. XXX floats */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- bcopy (REGBUF + REGISTER_BYTE ((TYPE_CODE (TYPE) == TYPE_CODE_FLT && mips_fpu) ? FP0_REGNUM : 2), VALBUF, TYPE_LENGTH (TYPE))
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- write_register_bytes (REGISTER_BYTE ((TYPE_CODE (TYPE) == TYPE_CODE_FLT && mips_fpu) ? FP0_REGNUM : 2), VALBUF, TYPE_LENGTH (TYPE))
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(int *)(REGBUF+16))
-
-/* Structures are returned by ref in extra arg0 */
-#define USE_STRUCT_CONVENTION(gcc_p, type) 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. */
-
-#define FRAME_CHAIN(thisframe) (FRAME_ADDR)mips_frame_chain(thisframe)
-
-/* Define other aspects of the stack frame. */
-
-
-/* A macro that tells us whether the function invocation represented
- by FI does not have a frame on the stack associated with it. If it
- does not, FRAMELESS is set to 1, else 0. */
-/* We handle this differently for mips, and maybe we should not */
-
-#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) {(FRAMELESS) = 0;}
-
-/* Saved Pc. */
-
-#define FRAME_SAVED_PC(FRAME) (mips_frame_saved_pc(FRAME))
-
-#define FRAME_ARGS_ADDRESS(fi) (fi)->frame
-
-#define FRAME_LOCALS_ADDRESS(fi) (fi)->frame
-
-/* Return number of args passed to a frame.
- Can return -1, meaning no way to tell. */
-
-#define FRAME_NUM_ARGS(num, fi) (num = mips_frame_num_args(fi))
-
-/* 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. */
-
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) ( \
- (frame_saved_regs) = *(frame_info)->saved_regs, \
- (frame_saved_regs).regs[SP_REGNUM] = (frame_info)->frame)
-
-
-/* Things needed for making the inferior call functions. */
-
-/* Stack has strict alignment. However, use PUSH_ARGUMENTS
- to take care of it. */
-/*#define STACK_ALIGN(addr) (((addr)+3)&~3)*/
-
-#define PUSH_ARGUMENTS(nargs, args, sp, struct_return, struct_addr) \
- sp = mips_push_arguments(nargs, args, sp, struct_return, struct_addr)
-
-/* Push an empty stack frame, to record the current PC, etc. */
-
-#define PUSH_DUMMY_FRAME mips_push_dummy_frame()
-
-/* Discard from the stack the innermost frame, restoring all registers. */
-
-#define POP_FRAME mips_pop_frame()
-
-#define MK_OP(op,rs,rt,offset) (((op)<<26)|((rs)<<21)|((rt)<<16)|(offset))
-#define CALL_DUMMY_SIZE (16*4)
-#define Dest_Reg 2
-#define CALL_DUMMY {\
- MK_OP(0,RA_REGNUM,0,8), /* jr $ra # Fake ABOUT_TO_RETURN ...*/\
- 0, /* nop # ... to stop raw backtrace*/\
- 0x27bd0000, /* addu sp,?0 # Pseudo prologue */\
-/* Start here: */\
- MK_OP(061,SP_REGNUM,12,0), /* lwc1 $f12,0(sp) # Reload FP regs*/\
- MK_OP(061,SP_REGNUM,13,4), /* lwc1 $f13,4(sp) */\
- MK_OP(061,SP_REGNUM,14,8), /* lwc1 $f14,8(sp) */\
- MK_OP(061,SP_REGNUM,15,12), /* lwc1 $f15,12(sp) */\
- MK_OP(043,SP_REGNUM,4,0), /* lw $r4,0(sp) # Reload first 4 args*/\
- MK_OP(043,SP_REGNUM,5,4), /* lw $r5,4(sp) */\
- MK_OP(043,SP_REGNUM,6,8), /* lw $r6,8(sp) */\
- MK_OP(043,SP_REGNUM,7,12), /* lw $r7,12(sp) */\
- (017<<26)| (Dest_Reg << 16), /* lui $r31,<target upper 16 bits>*/\
- MK_OP(13,Dest_Reg,Dest_Reg,0), /* ori $r31,$r31,<lower 16 bits>*/ \
- (Dest_Reg<<21) | (31<<11) | 9, /* jalr $r31 */\
- MK_OP(043,SP_REGNUM,7,12), /* lw $r7,12(sp) */\
- 0x5000d, /* bpt */\
-}
-
-#define CALL_DUMMY_START_OFFSET 12
-
-/* Insert the specified number of args and function address
- into a call sequence of the above form stored at DUMMYNAME. */
-
-#define FIX_CALL_DUMMY(dummyname, start_sp, fun, nargs, args, rettype, gcc_p)\
- do \
- { \
- ((int*)(dummyname))[11] |= ((unsigned long)(fun)) >> 16; \
- ((int*)(dummyname))[12] |= (unsigned short)(fun); \
- if (! mips_fpu) \
- { \
- ((int *) (dummyname))[3] = 0; \
- ((int *) (dummyname))[4] = 0; \
- ((int *) (dummyname))[5] = 0; \
- ((int *) (dummyname))[6] = 0; \
- } \
- } \
- while (0)
-
-/* There's a mess in stack frame creation. See comments in blockframe.c
- near reference to INIT_FRAME_PC_FIRST. */
-
-#define INIT_FRAME_PC(fromleaf, prev) /* nada */
-
-#define INIT_FRAME_PC_FIRST(fromleaf, prev) \
- (prev)->pc = ((fromleaf) ? SAVED_PC_AFTER_CALL ((prev)->next) : \
- (prev)->next ? FRAME_SAVED_PC ((prev)->next) : read_pc ());
-
-/* Special symbol found in blocks associated with routines. We can hang
- mips_extra_func_info_t's off of this. */
-
-#define MIPS_EFI_SYMBOL_NAME "__GDB_EFI_INFO__"
-
-/* Specific information about a procedure.
- This overlays the MIPS's PDR records,
- mipsread.c (ab)uses this to save memory */
-
-typedef struct mips_extra_func_info {
- long numargs; /* number of args to procedure (was iopt) */
- PDR pdr; /* Procedure descriptor record */
-} *mips_extra_func_info_t;
-
-#define EXTRA_FRAME_INFO \
- mips_extra_func_info_t proc_desc; \
- int num_args;\
- struct frame_saved_regs *saved_regs;
-
-#define INIT_EXTRA_FRAME_INFO(fromleaf, fci) init_extra_frame_info(fci)
-
-#define PRINT_EXTRA_FRAME_INFO(fi) \
- { \
- if (fi && fi->proc_desc && fi->proc_desc->pdr.framereg < NUM_REGS) \
- printf_filtered (" frame pointer is at %s+%d\n", \
- reg_names[fi->proc_desc->pdr.framereg], \
- fi->proc_desc->pdr.frameoffset); \
- }
-
-/* It takes two values to specify a frame on the MIPS. Sigh.
-
- In fact, at the moment, the *PC* is the primary value that sets up
- a frame. The PC is looked up to see what function it's in; symbol
- information from that function tells us which register is the frame
- pointer base, and what offset from there is the "virtual frame pointer".
- (This is usually an offset from SP.) FIXME -- this should be cleaned
- up so that the primary value is the SP, and the PC is used to disambiguate
- multiple functions with the same SP that are at different stack levels. */
-
-#define SETUP_ARBITRARY_FRAME(argc, argv) setup_arbitrary_frame (argc, argv)
-/* FIXME: Depends on equivalence between FRAME and "struct frame_info *",
- and equivalence between CORE_ADDR and FRAME_ADDR. */
-extern struct frame_info *setup_arbitrary_frame PARAMS ((int, CORE_ADDR *));
-
-#define STAB_REG_TO_REGNUM(num) ((num) < 32 ? (num) : (num)+FP0_REGNUM-32)
diff --git a/gdb/tm-news.h b/gdb/tm-news.h
deleted file mode 100644
index d2490b3..0000000
--- a/gdb/tm-news.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Parameters for execution on a Sony/NEWS, for GDB, the GNU debugger.
- Copyright 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* See following cpu type determination macro to get the machine type.
-
-Here is an m-news.h file for gdb. It supports the 68881 registers.
- by hikichi@srava.sra.junet
-
-* Support Sun assembly format instead of Motorola one.
-* Ptrace for handling floating register has a bug(before NEWS OS version 2.2),
-* After NEWS OS version 3.2, some of ptrace's bug is fixed.
- But we cannot change the floating register(see adb(1) in OS 3.2) yet. */
-
-#define HAVE_68881
-
-/* Use to compute STACK_END_ADDR. */
-#define TARGET_UPAGES 2
-#define TARGET_NBPG 4096
-
-/* Address of end of stack space. */
-
-#define STACK_END_ADDR (0x80000000 - TARGET_UPAGES * TARGET_NBPG)
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. */
-
-/* when it return the floating value, use the FP0 in NEWS. */
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- { if (TYPE_CODE (TYPE) == TYPE_CODE_FLT) \
- { \
- REGISTER_CONVERT_TO_VIRTUAL (FP0_REGNUM, \
- &REGBUF[REGISTER_BYTE (FP0_REGNUM)], VALBUF); \
- } \
- else \
- bcopy (REGBUF, VALBUF, TYPE_LENGTH (TYPE)); }
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-
-/* when it return the floating value, use the FP0 in NEWS. */
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- { if (TYPE_CODE (TYPE) == TYPE_CODE_FLT) \
- { \
- char raw_buf[REGISTER_RAW_SIZE (FP0_REGNUM)]; \
- REGISTER_CONVERT_TO_RAW (FP0_REGNUM, VALBUF, raw_buf); \
- write_register_bytes (FP0_REGNUM, \
- raw_buf, REGISTER_RAW_SIZE (FP0_REGNUM)); \
- } \
- else \
- write_register_bytes (0, VALBUF, TYPE_LENGTH (TYPE)); }
-
-/* Return number of args passed to a frame.
- Can return -1, meaning no way to tell. */
-
-#define FRAME_NUM_ARGS(val, fi) \
-{ register CORE_ADDR pc = FRAME_SAVED_PC (fi); \
- register int insn = 0177777 & read_memory_integer (pc, 2); \
- val = 0; \
- if (insn == 0047757 || insn == 0157374) /* lea W(sp),sp or addaw #W,sp */ \
- val = read_memory_integer (pc + 2, 2); \
- else if ((insn & 0170777) == 0050217 /* addql #N, sp */ \
- || (insn & 0170777) == 0050117) /* addqw */ \
- { val = (insn >> 9) & 7; if (val == 0) val = 8; } \
- else if (insn == 0157774) /* addal #WW, sp */ \
- val = read_memory_integer (pc + 2, 4); \
- val >>= 2; }
-
-#include "tm-68k.h"
diff --git a/gdb/tm-nindy960.h b/gdb/tm-nindy960.h
deleted file mode 100644
index b32eaa8..0000000
--- a/gdb/tm-nindy960.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/* Parameters for Intel 960 running NINDY monitor, for GDB, the GNU debugger.
- Copyright (C) 1990-1991 Free Software Foundation, Inc.
- Contributed by Intel Corporation and 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/*****************************************************************************
- * Definitions to target GDB to an i960 debugged over a serial line.
- ******************************************************************************/
-
-#include "tm-i960.h"
-
-/* Override the standard gdb prompt when compiled for this target. */
-
-#define DEFAULT_PROMPT "(gdb960) "
-
-/* Additional command line options accepted by nindy gdb's, for handling
- the remote-nindy.c interface. These should really be target-specific
- rather than architecture-specific. */
-
-extern int nindy_old_protocol; /* nonzero if old NINDY serial protocol */
-extern int nindy_initial_brk; /* Send a BREAK to reset board first */
-extern char *nindy_ttyname; /* Name of serial port to talk to nindy */
-
-#define ADDITIONAL_OPTIONS \
- {"O", no_argument, &nindy_old_protocol, 1}, \
- {"brk", no_argument, &nindy_initial_brk, 1}, \
- {"ser", required_argument, 0, 1004}, /* 1004 is magic cookie for ADDL_CASES */
-
-#define ADDITIONAL_OPTION_CASES \
- case 1004: /* -ser option: remote nindy auto-start */ \
- nindy_ttyname = optarg; \
- break;
-
-#define ADDITIONAL_OPTION_HELP \
- "\
- -O Use old protocol to talk to a Nindy target\n\
- -brk Send a break to a Nindy target to reset it.\n\
- -ser SERIAL Open remote Nindy session to SERIAL port.\n\
-"
-
-/* If specified on the command line, open tty for talking to nindy,
- and download the executable file if one was specified. */
-
-#define ADDITIONAL_OPTION_HANDLER \
- if (!setjmp (to_top_level) && nindy_ttyname) { \
- nindy_open (nindy_ttyname, !batch); \
- if ( !setjmp(to_top_level) && execarg ) { \
- target_load (execarg, !batch); \
- } \
- }
-
-/* If configured for i960 target, we take control before main loop
- and demand that we configure for a nindy target. */
-
-#define BEFORE_MAIN_LOOP_HOOK \
- nindy_before_main_loop();
-
-extern void
-nindy_before_main_loop(); /* In remote-nindy.c */
-
-/* Address of end of stack space.
- * This probably doesn't matter for nindy, because it's only used
- * in manipulation of core files, which we don't support.
- */
-
-#define STACK_END_ADDR (0xfe000000)
-
-/* FRAME_CHAIN_VALID returns zero if the given frame is the outermost one
- and has no caller.
-
- On the i960, each various target system type defines FRAME_CHAIN_VALID,
- since it differs between NINDY and VxWorks, the two currently supported
- targets types. */
-
-#define FRAME_CHAIN_VALID(chain, thisframe) \
- nindy_frame_chain_valid (chain, thisframe)
-
-extern int
-nindy_frame_chain_valid(); /* See nindy-tdep.c */
-
-/* Sequence of bytes for breakpoint instruction */
-
-#define BREAKPOINT {0x00, 0x3e, 0x00, 0x66}
-
-/* Amount ip 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
diff --git a/gdb/tm-np1.h b/gdb/tm-np1.h
deleted file mode 100644
index b7ea7d9..0000000
--- a/gdb/tm-np1.h
+++ /dev/null
@@ -1,502 +0,0 @@
-/* Parameters for targeting on a Gould NP1, for GDB, the GNU debugger.
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define GOULD_NPL
-
-#define TARGET_BYTE_ORDER BIG_ENDIAN
-
-/* N_ENTRY appears in libraries on Gould machines.
- Don't know what 0xa4 is; it's mentioned in stab.h
- but only in the sdb symbol list. */
-#define IGNORE_SYMBOL(type) (type == N_ENTRY || type == 0xa4)
-
-/* We don't want the extra gnu symbols on the machine;
- they will interfere with the shared segment symbols. */
-#define NO_GNU_STABS
-
-/* Macro for text-offset and data info (in NPL a.out format). */
-#define TEXTINFO \
- text_offset = N_TXTOFF (exec_coffhdr, exec_aouthdr); \
- exec_data_offset = N_TXTOFF (exec_coffhdr, exec_aouthdr)\
- + exec_aouthdr.a_text
-
-/* Macro for number of symbol table entries */
-#define NUMBER_OF_SYMBOLS \
- (coffhdr.f_nsyms)
-
-/* Macro for file-offset of symbol table (in NPL a.out format). */
-#define SYMBOL_TABLE_OFFSET \
- N_SYMOFF (coffhdr)
-
-/* Macro for file-offset of string table (in NPL a.out format). */
-#define STRING_TABLE_OFFSET \
- (N_STROFF (coffhdr))
-
-/* Macro to store the length of the string table data in INTO. */
-#define READ_STRING_TABLE_SIZE(INTO) \
- { INTO = hdr.a_stsize; }
-
-/* Macro to declare variables to hold the file's header data. */
-#define DECLARE_FILE_HEADERS struct exec hdr; \
- FILHDR coffhdr
-
-/* Macro to read the header data from descriptor DESC and validate it.
- NAME is the file name, for error messages. */
-#define READ_FILE_HEADERS(DESC, NAME) \
-{ val = myread (DESC, &coffhdr, sizeof coffhdr); \
- if (val < 0) \
- perror_with_name (NAME); \
- val = myread (DESC, &hdr, sizeof hdr); \
- if (val < 0) \
- perror_with_name (NAME); \
- if (coffhdr.f_magic != GNP1MAGIC) \
- error ("File \"%s\" not in coff executable format.", NAME); \
- if (N_BADMAG (hdr)) \
- error ("File \"%s\" not in executable format.", NAME); }
-
-/* Define COFF and other symbolic names needed on NP1 */
-#define NS32GMAGIC GNP1MAGIC
-#define NS32SMAGIC GPNMAGIC
-
-/* Address of blocks in N_LBRAC and N_RBRAC symbols are absolute addresses,
- not relative to start of source address. */
-#define BLOCK_ADDRESS_ABSOLUTE
-
-/* Offset from address of function to start of its code.
- Zero on most machines. */
-#define FUNCTION_START_OFFSET 8
-
-/* Advance PC across any function entry prologue instructions
- to reach some "real" code. One NPL we can have one two startup
- sequences depending on the size of the local stack:
-
- Either:
- "suabr b2, #"
- of
- "lil r4, #", "suabr b2, #(r4)"
-
- "lwbr b6, #", "stw r1, 8(b2)"
- Optional "stwbr b3, c(b2)"
- Optional "trr r2,r7" (Gould first argument register passing)
- or
- Optional "stw r2,8(b3)" (Gould first argument register passing)
- */
-#define SKIP_PROLOGUE(pc) { \
- register int op = read_memory_integer ((pc), 4); \
- if ((op & 0xffff0000) == 0xFA0B0000) { \
- pc += 4; \
- op = read_memory_integer ((pc), 4); \
- if ((op & 0xffff0000) == 0x59400000) { \
- pc += 4; \
- op = read_memory_integer ((pc), 4); \
- if ((op & 0xffff0000) == 0x5F000000) { \
- pc += 4; \
- op = read_memory_integer ((pc), 4); \
- if (op == 0xD4820008) { \
- pc += 4; \
- op = read_memory_integer ((pc), 4); \
- if (op == 0x5582000C) { \
- pc += 4; \
- op = read_memory_integer ((pc), 2); \
- if (op == 0x2fa0) { \
- pc += 2; \
- } else { \
- op = read_memory_integer ((pc), 4); \
- if (op == 0xd5030008) { \
- pc += 4; \
- } \
- } \
- } else { \
- op = read_memory_integer ((pc), 2); \
- if (op == 0x2fa0) { \
- pc += 2; \
- } \
- } \
- } \
- } \
- } \
- } \
- if ((op & 0xffff0000) == 0x59000000) { \
- pc += 4; \
- op = read_memory_integer ((pc), 4); \
- if ((op & 0xffff0000) == 0x5F000000) { \
- pc += 4; \
- op = read_memory_integer ((pc), 4); \
- if (op == 0xD4820008) { \
- pc += 4; \
- op = read_memory_integer ((pc), 4); \
- if (op == 0x5582000C) { \
- pc += 4; \
- op = read_memory_integer ((pc), 2); \
- if (op == 0x2fa0) { \
- pc += 2; \
- } else { \
- op = read_memory_integer ((pc), 4); \
- if (op == 0xd5030008) { \
- pc += 4; \
- } \
- } \
- } else { \
- op = read_memory_integer ((pc), 2); \
- if (op == 0x2fa0) { \
- pc += 2; \
- } \
- } \
- } \
- } \
- } \
-}
-
-/* Immediately after a function call, return the saved pc.
- Can't go through the frames for this because on some machines
- the new frame is not set up until the new function executes
- some instructions. True on NPL! Return address is in R1.
- The true return address is REALLY 4 past that location! */
-#define SAVED_PC_AFTER_CALL(frame) \
- (read_register(R1_REGNUM) + 4)
-
-/* Address of end of stack space. */
-#define STACK_END_ADDR 0x7fffc000
-
-/* Stack grows downward. */
-#define INNER_THAN <
-
-/* Sequence of bytes for breakpoint instruction.
- This is padded out to the size of a machine word. When it was just
- {0x28, 0x09} it gave problems if hit breakpoint on returning from a
- function call. */
-#define BREAKPOINT {0x28, 0x09, 0x0, 0x0}
-
-/* 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 2
-
-/* Nonzero if instruction at PC is a return instruction. "bu 4(r1)" */
-#define ABOUT_TO_RETURN(pc) (read_memory_integer (pc, 4) == 0x40100004)
-
-/* Return 1 if P points to an invalid floating point value. */
-#define INVALID_FLOAT(p, len) ((*(short *)p & 0xff80) == 0x8000)
-
-/* Say how long (ordinary) registers are. */
-#define REGISTER_TYPE long
-
-/* Size of bytes of vector register (NP1 only), 32 elements * sizeof(int) */
-#define VR_SIZE 128
-
-/* Number of machine registers */
-#define NUM_REGS 27
-#define NUM_GEN_REGS 16
-#define NUM_CPU_REGS 4
-#define NUM_VECTOR_REGS 7
-
-/* 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", \
- "b0", "b1", "b2", "b3", "b4", "b5", "b6", "b7", \
- "sp", "ps", "pc", "ve", \
- "v1", "v2", "v3", "v4", "v5", "v6", "v7", \
-}
-
-/* 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 R1_REGNUM 1 /* Gr1 => return address of caller */
-#define R2_REGNUM 2 /* Gr2 => return value from function */
-#define R4_REGNUM 4 /* Gr4 => register save area */
-#define R5_REGNUM 5 /* Gr5 => register save area */
-#define R6_REGNUM 6 /* Gr6 => register save area */
-#define R7_REGNUM 7 /* Gr7 => register save area */
-#define B1_REGNUM 9 /* Br1 => start of this code routine */
-#define SP_REGNUM 10 /* Br2 == (sp) */
-#define AP_REGNUM 11 /* Br3 == (ap) */
-#define FP_REGNUM 16 /* A copy of Br2 saved in trap */
-#define PS_REGNUM 17 /* Contains processor status */
-#define PC_REGNUM 18 /* Contains program counter */
-#define VE_REGNUM 19 /* Vector end (user setup) register */
-#define V1_REGNUM 20 /* First vector register */
-#define V7_REGNUM 26 /* First vector register */
-
-/* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'. */
-#define REGISTER_BYTES \
- (NUM_GEN_REGS*4 + NUM_VECTOR_REGS*VR_SIZE + NUM_CPU_REGS*4)
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-#define REGISTER_BYTE(N) \
- (((N) < V1_REGNUM) ? ((N) * 4) : (((N) - V1_REGNUM) * VR_SIZE) + 80)
-
-/* Number of bytes of storage in the actual machine representation
- for register N. On the NP1, all normal regs are 4 bytes, but
- the vector registers are VR_SIZE*4 bytes long. */
-#define REGISTER_RAW_SIZE(N) \
- (((N) < V1_REGNUM) ? 4 : VR_SIZE)
-
-/* Number of bytes of storage in the program's representation
- for register N. On the NP1, all regs are 4 bytes. */
-#define REGISTER_VIRTUAL_SIZE(N) \
- (((N) < V1_REGNUM) ? 4 : VR_SIZE)
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-#define MAX_REGISTER_RAW_SIZE VR_SIZE
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-#define MAX_REGISTER_VIRTUAL_SIZE VR_SIZE
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-#define REGISTER_CONVERTIBLE(N) (0)
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), REGISTER_RAW_SIZE(REGNUM));
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), REGISTER_VIRTUAL_SIZE(REGNUM));
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-#define REGISTER_VIRTUAL_TYPE(N) \
- ((N) > VE_REGNUM ? builtin_type_np1_vector : builtin_type_int)
-extern struct type *builtin_type_np1_vector;
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function.
-
- On this machine this is a no-op, because gcc isn't used on it
- yet. So this calling convention is not used. */
-
-#define STORE_STRUCT_RETURN(ADDR, SP) push_word(SP + 8, ADDR)
-
-/* Extract from an arrary REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- bcopy (((int *)(REGBUF)) + 2, VALBUF, TYPE_LENGTH (TYPE))
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- write_register_bytes (REGISTER_BYTE (R2_REGNUM), VALBUF, \
- TYPE_LENGTH (TYPE))
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*((int *)(REGBUF) + 2))
-
-/* Both gcc and cc return small structs in registers (i.e. in GDB
- terminology, small structs don't use the struct return convention). */
-#define USE_STRUCT_CONVENTION(gcc_p, type) (TYPE_LENGTH(type) > 8)
-
-/* 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. */
-
-/* In the case of the NPL, the frame's norminal address is Br2 and the
- previous routines frame is up the stack X bytes, where X is the
- value stored in the code function header xA(Br1). */
-#define FRAME_CHAIN(thisframe) (findframe(thisframe))
-
-#define FRAME_CHAIN_VALID(chain, thisframe) \
- (chain != 0 && chain != (thisframe)->frame)
-
-/* Define other aspects of the stack frame on NPL. */
-#define FRAME_SAVED_PC(FRAME) \
- (read_memory_integer ((FRAME)->frame + 8, 4))
-
-#define FRAME_ARGS_ADDRESS(fi) \
- ((fi)->next_frame ? \
- read_memory_integer ((fi)->frame + 12, 4) : \
- read_register (AP_REGNUM))
-
-#define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame)
-
-/* Set VAL to the number of args passed to frame described by FI.
- Can set VAL to -1, meaning no way to tell. */
-
-/* We can check the stab info to see how
- many arg we have. No info in stack will tell us */
-#define FRAME_NUM_ARGS(val,fi) (val = findarg(fi))
-
-/* Return number of bytes at start of arglist that are not really args. */
-#define FRAME_ARGS_SKIP 8
-
-/* 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. */
-
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
-{ \
- bzero (&frame_saved_regs, sizeof frame_saved_regs); \
- (frame_saved_regs).regs[SP_REGNUM] = framechain (frame_info); \
- (frame_saved_regs).regs[PC_REGNUM] = (frame_info)->frame + 8; \
- (frame_saved_regs).regs[R4_REGNUM] = (frame_info)->frame + 0x30; \
- (frame_saved_regs).regs[R5_REGNUM] = (frame_info)->frame + 0x34; \
- (frame_saved_regs).regs[R6_REGNUM] = (frame_info)->frame + 0x38; \
- (frame_saved_regs).regs[R7_REGNUM] = (frame_info)->frame + 0x3C; \
-}
-
-/* Things needed for making the inferior call functions. */
-
-#define CALL_DUMMY_LOCATION BEFORE_TEXT_END
-#define NEED_TEXT_START_END
-
-/* Push an empty stack frame, to record the current PC, etc. */
-
-#define PUSH_DUMMY_FRAME \
-{ register CORE_ADDR sp = read_register (SP_REGNUM); \
- register int regnum; \
- for (regnum = 0; regnum < FP_REGNUM; regnum++) \
- sp = push_word (sp, read_register (regnum)); \
- sp = push_word (sp, read_register (PS_REGNUM)); \
- sp = push_word (sp, read_register (PC_REGNUM)); \
- write_register (SP_REGNUM, sp);}
-
-/* Discard from the stack the innermost frame,
- restoring all saved registers. */
-
-#define POP_FRAME \
-{ CORE_ADDR sp = read_register(SP_REGNUM); \
- REGISTER_TYPE reg; \
- int regnum; \
- for(regnum = 0;regnum < FP_REGNUM;regnum++){ \
- sp-=sizeof(REGISTER_TYPE); \
- read_memory(sp,&reg,sizeof(REGISTER_TYPE)); \
- write_register(regnum,reg);} \
- sp-=sizeof(REGISTER_TYPE); \
- read_memory(sp,&reg,sizeof(REGISTER_TYPE)); \
- write_register(PS_REGNUM,reg); \
- sp-=sizeof(REGISTER_TYPE); \
- read_memory(sp,&reg,sizeof(REGISTER_TYPE)); \
- write_register(PC_REGNUM,reg);}
-
-/* MJD - Size of dummy frame pushed onto stack by PUSH_DUMMY_FRAME */
-
-#define DUMMY_FRAME_SIZE (0x48)
-
-/* MJD - The sequence of words in the instructions is
- halt
- halt
- halt
- halt
- subr b2,stack size,0 grab stack space for dummy call
- labr b3,x0(b2),0 set AP_REGNUM to point at arguments
- lw r2,x8(b3),0 load r2 with first argument
- lwbr b1,arguments size(b2),0 load address of function to be called
- brlnk r1,x8(b1),0 call function
- halt
- halt
- labr b2,stack size(b2),0 give back stack
- break break
- */
-
-#define CALL_DUMMY {0x00000000, \
- 0x00000000, \
- 0x59000000, \
- 0x598a0000, \
- 0xb5030008, \
- 0x5c820000, \
- 0x44810008, \
- 0x00000000, \
- 0x590a0000, \
- 0x28090000 }
-
-#define CALL_DUMMY_LENGTH 40
-
-#define CALL_DUMMY_START_OFFSET 8
-
-#define CALL_DUMMY_STACK_ADJUST 8
-
-/* MJD - Fixup CALL_DUMMY for the specific function call.
- OK heres the problems
- 1) On a trap there are two copies of the stack pointer, one in SP_REGNUM
- which is read/write and one in FP_REGNUM which is only read. It seems
- that when restarting the GOULD NP1 uses FP_REGNUM's value.
- 2) Loading function address into b1 looks a bit difficult if bigger than
- 0x0000fffc, infact from what I can tell the compiler sets up table of
- function address in base3 through which function calls are referenced.
-
- OK my solutions
- Calculate the size of the dummy stack frame and do adjustments of
- SP_REGNUM in the dummy call.
- Push function address onto the stack and load it in the dummy call
- */
-
-#define FIX_CALL_DUMMY(dummyname, sp, fun, nargs, args, type, gcc_p) \
- { int i;\
- int arg_len = 0, total_len;\
- old_sp = push_word(old_sp,fun);\
- for(i = nargs - 1;i >= 0;i--)\
- arg_len += TYPE_LENGTH (VALUE_TYPE (value_arg_coerce (args[i])));\
- if(struct_return)\
- arg_len += TYPE_LENGTH(value_type);\
- total_len = DUMMY_FRAME_SIZE+CALL_DUMMY_STACK_ADJUST+4+arg_len;\
- dummyname[0] += total_len;\
- dummyname[2] += total_len;\
- dummyname[5] += arg_len+CALL_DUMMY_STACK_ADJUST;\
- dummyname[8] += total_len;}
-
-/* MJD - So the stack should end up looking like this
-
- | Normal stack frame |
- | from normal program |
- | flow |
- +---------------------+ <- Final sp - 0x08 - argument size
- | | - 0x4 - dummy_frame_size
- | Pushed dummy frame |
- | b0-b7, r0-r7 |
- | pc and ps |
- | |
- +---------------------+
- | Function address |
- +---------------------+ <- Final sp - 0x8 - arguments size
- | |
- | |
- | |
- | Arguments to |
- | Function |
- | |
- | |
- | |
- +---------------------+ <- Final sp - 0x8
- | Dummy_stack_adjust |
- +---------------------+ <- Final sp
- | |
- | where call will |
- | build frame |
-*/
diff --git a/gdb/tm-os68k.h b/gdb/tm-os68k.h
index 1c8ca74..e69de29 100644
--- a/gdb/tm-os68k.h
+++ b/gdb/tm-os68k.h
@@ -1,47 +0,0 @@
-/* Parameters for execution on VxWorks 68k's, for GDB, the GNU debugger.
- Copyright (C) 1986, 1987, 1989, 1991 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define GDBINIT_FILENAME ".os68gdbinit"
-
-#define DEFAULT_PROMPT "(os68k) "
-
-#include "tm-68k.h"
-
-/* We have more complex, useful breakpoints on the target. */
-#undef DECR_PC_AFTER_BREAK
-#define DECR_PC_AFTER_BREAK 0
-
-/* We are guaranteed to have a zero frame pointer at bottom of stack, too. */
-#undef FRAME_CHAIN
-#undef FRAME_CHAIN_VALID
-
-/* Takes the current frame-struct pointer and returns the chain-pointer
- to get to the calling frame.
-
- If our current frame pointer is zero, we're at the top; else read out
- the saved FP from memory pointed to by the current FP. */
-
-#define FRAME_CHAIN(thisframe) ((thisframe)->frame? read_memory_integer ((thisframe)->frame, 4): 0)
-
-/* If the chain pointer is zero (either because the saved value fetched
- by FRAME_CHAIN was zero, or because the current FP was zero so FRAME_CHAIN
- never fetched anything), we are at the top of the stack. */
-
-#define FRAME_CHAIN_VALID(chain, thisframe) (chain != 0)
diff --git a/gdb/tm-pn.h b/gdb/tm-pn.h
deleted file mode 100644
index 37586c2..0000000
--- a/gdb/tm-pn.h
+++ /dev/null
@@ -1,423 +0,0 @@
-/* Parameters for targe of a Gould Powernode, for GDB, the GNU debugger.
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define GOULD_PN
-
-#define TARGET_BYTE_ORDER BIG_ENDIAN
-
-/* This code appears in libraries on Gould machines. Ignore it. */
-#define IGNORE_SYMBOL(type) (type == N_ENTRY)
-
-/* We don't want the extra gnu symbols on the machine;
- they will interfere with the shared segment symbols. */
-#define NO_GNU_STABS
-
-/* Macro for text-offset and data info (in PN a.out format). */
-#define TEXTINFO \
- text_offset = N_TXTOFF (exec_coffhdr); \
- exec_data_offset = N_TXTOFF (exec_coffhdr) \
- + exec_aouthdr.a_text
-
-/* Macro for number of symbol table entries */
-#define END_OF_TEXT_DEFAULT \
- (0xffffff)
-
-/* Macro for number of symbol table entries */
-#define NUMBER_OF_SYMBOLS \
- (coffhdr.f_nsyms)
-
-/* Macro for file-offset of symbol table (in usual a.out format). */
-#define SYMBOL_TABLE_OFFSET \
- N_SYMOFF (coffhdr)
-
-/* Macro for file-offset of string table (in usual a.out format). */
-#define STRING_TABLE_OFFSET \
- (N_STROFF (coffhdr) + sizeof(int))
-
-/* Macro to store the length of the string table data in INTO. */
-#define READ_STRING_TABLE_SIZE(INTO) \
- { INTO = hdr.a_stsize; }
-
-/* Macro to declare variables to hold the file's header data. */
-#define DECLARE_FILE_HEADERS struct old_exec hdr; \
- FILHDR coffhdr
-
-/* Macro to read the header data from descriptor DESC and validate it.
- NAME is the file name, for error messages. */
-#define READ_FILE_HEADERS(DESC, NAME) \
-{ val = myread (DESC, &coffhdr, sizeof coffhdr); \
- if (val < 0) \
- perror_with_name (NAME); \
- val = myread (DESC, &hdr, sizeof hdr); \
- if (val < 0) \
- perror_with_name (NAME); \
- if (coffhdr.f_magic != GNP1MAGIC) \
- error ("File \"%s\" not in coff executable format.", NAME); \
- if (N_BADMAG (hdr)) \
- error ("File \"%s\" not in executable format.", NAME); }
-
-/* Define COFF and other symbolic names needed on NP1 */
-#define NS32GMAGIC GDPMAGIC
-#define NS32SMAGIC PN_MAGIC
-
-/* Offset from address of function to start of its code.
- Zero on most machines. */
-#define FUNCTION_START_OFFSET 4
-
-/* Advance PC across any function entry prologue instructions
- to reach some "real" code. One PN we can have one or two startup
- sequences depending on the size of the local stack:
-
- Either:
- "suabr b2, #"
- of
- "lil r4, #", "suabr b2, #(r4)"
-
- "lwbr b6, #", "stw r1, 8(b2)"
- Optional "stwbr b3, c(b2)"
- Optional "trr r2,r7" (Gould first argument register passing)
- or
- Optional "stw r2,8(b3)" (Gould first argument register passing)
- */
-#define SKIP_PROLOGUE(pc) { \
- register int op = read_memory_integer ((pc), 4); \
- if ((op & 0xffff0000) == 0x580B0000) { \
- pc += 4; \
- op = read_memory_integer ((pc), 4); \
- if ((op & 0xffff0000) == 0x59400000) { \
- pc += 4; \
- op = read_memory_integer ((pc), 4); \
- if ((op & 0xffff0000) == 0x5F000000) { \
- pc += 4; \
- op = read_memory_integer ((pc), 4); \
- if (op == 0xD4820008) { \
- pc += 4; \
- op = read_memory_integer ((pc), 4); \
- if (op == 0x5582000C) { \
- pc += 4; \
- op = read_memory_integer ((pc), 2); \
- if (op == 0x2fa0) { \
- pc += 2; \
- } else { \
- op = read_memory_integer ((pc), 4); \
- if (op == 0xd5030008) { \
- pc += 4; \
- } \
- } \
- } else { \
- op = read_memory_integer ((pc), 2); \
- if (op == 0x2fa0) { \
- pc += 2; \
- } \
- } \
- } \
- } \
- } \
- } \
- if ((op & 0xffff0000) == 0x59000000) { \
- pc += 4; \
- op = read_memory_integer ((pc), 4); \
- if ((op & 0xffff0000) == 0x5F000000) { \
- pc += 4; \
- op = read_memory_integer ((pc), 4); \
- if (op == 0xD4820008) { \
- pc += 4; \
- op = read_memory_integer ((pc), 4); \
- if (op == 0x5582000C) { \
- pc += 4; \
- op = read_memory_integer ((pc), 2); \
- if (op == 0x2fa0) { \
- pc += 2; \
- } else { \
- op = read_memory_integer ((pc), 4); \
- if (op == 0xd5030008) { \
- pc += 4; \
- } \
- } \
- } else { \
- op = read_memory_integer ((pc), 2); \
- if (op == 0x2fa0) { \
- pc += 2; \
- } \
- } \
- } \
- } \
- } \
-}
-
-/* Immediately after a function call, return the saved pc.
- Can't go through the frames for this because on some machines
- the new frame is not set up until the new function executes
- some instructions. True on PN! Return address is in R1.
- Note: true return location is 4 bytes past R1! */
-#define SAVED_PC_AFTER_CALL(frame) \
- (read_register(R1_REGNUM) + 4)
-
-/* Address of end of stack space. */
-#define STACK_END_ADDR 0x480000
-
-/* Stack grows downward. */
-#define INNER_THAN <
-
-/* Sequence of bytes for breakpoint instruction. */
-#define BREAKPOINT {0x28, 0x09}
-
-/* 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 2
-
-/* Nonzero if instruction at PC is a return instruction. "bu 4(r1)" */
-#define ABOUT_TO_RETURN(pc) (read_memory_integer (pc, 4) == 0xEC100004)
-
-/* Return 1 if P points to an invalid floating point value. */
-#define INVALID_FLOAT(p, len) ((*(short *)p & 0xff80) == 0x8000)
-
-/* Say how long (ordinary) registers are. */
-#define REGISTER_TYPE long
-
-/* Number of machine registers */
-#define NUM_REGS 19
-#define NUM_GEN_REGS 16
-#define NUM_CPU_REGS 3
-
-/* 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", \
- "b0", "b1", "b2", "b3", "b4", "b5", "b6", "b7", \
- "sp", "ps", "pc", \
-}
-
-/* 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 R1_REGNUM 1 /* Gr1 => return address of caller */
-#define R4_REGNUM 4 /* Gr4 => register save area */
-#define R5_REGNUM 5 /* Gr5 => register save area */
-#define R6_REGNUM 6 /* Gr6 => register save area */
-#define R7_REGNUM 7 /* Gr7 => register save area */
-#define B1_REGNUM 9 /* Br1 => start of this code routine */
-#define FP_REGNUM 10 /* Br2 == (sp) */
-#define AP_REGNUM 11 /* Br3 == (ap) */
-#define SP_REGNUM 16 /* A copy of Br2 saved in trap */
-#define PS_REGNUM 17 /* Contains processor status */
-#define PC_REGNUM 18 /* Contains program counter */
-
-/* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'. */
-#define REGISTER_BYTES (NUM_GEN_REGS*4 + NUM_CPU_REGS*4)
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-#define REGISTER_BYTE(N) ((N) * 4)
-
-/* Number of bytes of storage in the actual machine representation
- for register N. On the PN, all normal regs are 4 bytes. */
-#define REGISTER_RAW_SIZE(N) (4)
-
-/* Number of bytes of storage in the program's representation
- for register N. On the PN, all regs are 4 bytes. */
-#define REGISTER_VIRTUAL_SIZE(N) (4)
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-#define MAX_REGISTER_RAW_SIZE (4)
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-#define MAX_REGISTER_VIRTUAL_SIZE (4)
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-#define REGISTER_CONVERTIBLE(N) (0)
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), REGISTER_RAW_SIZE(REGNUM));
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), REGISTER_VIRTUAL_SIZE(REGNUM));
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-#define REGISTER_VIRTUAL_TYPE(N) (builtin_type_int)
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function.
-
- On this machine this is a no-op, because gcc isn't used on it
- yet. So this calling convention is not used. */
-
-#define STORE_STRUCT_RETURN(ADDR, SP)
-
-/* Extract from an arrary REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- bcopy (REGBUF, VALBUF, TYPE_LENGTH (TYPE))
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- write_register_bytes (0, VALBUF, TYPE_LENGTH (TYPE))
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(int *)(REGBUF))
-
-
-/* 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. */
-
-/* In the case of the NPL, the frame's norminal address is Br2 and the
- previous routines frame is up the stack X bytes, where X is the
- value stored in the code function header xA(Br1). */
-#define FRAME_CHAIN(thisframe) (findframe(thisframe))
-
-#define FRAME_CHAIN_VALID(chain, thisframe) \
- (chain != 0 && chain != (thisframe)->frame)
-
-/* Define other aspects of the stack frame on NPL. */
-#define FRAME_SAVED_PC(frame) \
- (read_memory_integer ((frame)->frame + 8, 4))
-
-#define FRAME_ARGS_ADDRESS(fi) \
- ((fi)->next_frame ? \
- read_memory_integer ((fi)->frame + 12, 4) : \
- read_register (AP_REGNUM))
-
-#define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame + 80)
-
-/* Set VAL to the number of args passed to frame described by FI.
- Can set VAL to -1, meaning no way to tell. */
-
-/* We can check the stab info to see how
- many arg we have. No info in stack will tell us */
-#define FRAME_NUM_ARGS(val,fi) (val = findarg(fi))
-
-/* Return number of bytes at start of arglist that are not really args. */
-#define FRAME_ARGS_SKIP 8
-
-/* 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. */
-
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
-{ \
- bzero (&frame_saved_regs, sizeof frame_saved_regs); \
- (frame_saved_regs).regs[PC_REGNUM] = (frame_info)->frame + 8; \
- (frame_saved_regs).regs[R4_REGNUM] = (frame_info)->frame + 0x30; \
- (frame_saved_regs).regs[R5_REGNUM] = (frame_info)->frame + 0x34; \
- (frame_saved_regs).regs[R6_REGNUM] = (frame_info)->frame + 0x38; \
- (frame_saved_regs).regs[R7_REGNUM] = (frame_info)->frame + 0x3C; \
-}
-
-/* Things needed for making the inferior call functions. */
-
-/* Push an empty stack frame, to record the current PC, etc. */
-
-#define PUSH_DUMMY_FRAME \
-{ register CORE_ADDR sp = read_register (SP_REGNUM); \
- register int regnum; \
- sp = push_word (sp, read_register (PC_REGNUM)); \
- sp = push_word (sp, read_register (FP_REGNUM)); \
- write_register (FP_REGNUM, sp); \
- for (regnum = FP_REGNUM - 1; regnum >= 0; regnum--) \
- sp = push_word (sp, read_register (regnum)); \
- sp = push_word (sp, read_register (PS_REGNUM)); \
- write_register (SP_REGNUM, sp); }
-
-/* Discard from the stack the innermost frame,
- restoring all saved registers. */
-
-#define POP_FRAME \
-{ register FRAME frame = get_current_frame (); \
- register CORE_ADDR fp; \
- register int regnum; \
- struct frame_saved_regs fsr; \
- struct frame_info *fi; \
- fi = get_frame_info (frame); \
- fp = fi->frame; \
- get_frame_saved_regs (fi, &fsr); \
- for (regnum = FP_REGNUM - 1; regnum >= 0; regnum--) \
- if (fsr.regs[regnum]) \
- write_register (regnum, read_memory_integer (fsr.regs[regnum], 4)); \
- if (fsr.regs[PS_REGNUM]) \
- write_register (PS_REGNUM, read_memory_integer (fsr.regs[PS_REGNUM], 4)); \
- write_register (FP_REGNUM, read_memory_integer (fp, 4)); \
- write_register (PC_REGNUM, read_memory_integer (fp + 4, 4)); \
- write_register (SP_REGNUM, fp + 8); \
- flush_cached_frames (); \
- set_current_frame ( create_new_frame (read_register (FP_REGNUM),\
- read_pc ())); }
-
-/* This sequence of words is the instructions:
- halt
- halt
- halt
- halt
- suabr b2, #<stacksize>
- lwbr b6, #con
- stw r1, 8(b2) - save caller address, do we care?
- lw r2, 60(b2) - arg1
- labr b3, 50(b2)
- std r4, 30(b2) - save r4-r7
- std r6, 38(b2)
- lwbr b1, #<func> - load function call address
- brlnk r1, 8(b1) - call function
- halt
- halt
- ld r4, 30(b2) - restore r4-r7
- ld r6, 38(b2)
-
- Setup our stack frame, load argumemts, call and then restore registers.
-*/
-
-/* FIXME: The below defines an m68k CALL_DUMMY, which looks nothing like what
- is documented above. */
-
-#define CALL_DUMMY {0xf227e0ff, 0x48e7fffc, 0x426742e7, 0x4eb93232, 0x3232dffc, 0x69696969, 0x4e4f4e71}
-
-#define CALL_DUMMY_LENGTH 28
-
-#define CALL_DUMMY_START_OFFSET 12
-
-/* Insert the specified number of args and function address
- into a call sequence of the above form stored at DUMMYNAME. */
-
-#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p) \
-{ *(int *)((char *) dummyname + 20) = nargs * 4; \
- *(int *)((char *) dummyname + 14) = fun; }
diff --git a/gdb/tm-pyr.h b/gdb/tm-pyr.h
deleted file mode 100644
index e29eff9..0000000
--- a/gdb/tm-pyr.h
+++ /dev/null
@@ -1,509 +0,0 @@
-/* Definitions to make GDB run on a Pyramid under OSx 4.0 (4.2bsd).
- Copyright 1988, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define TARGET_BYTE_ORDER BIG_ENDIAN
-
-/* Traditional Unix virtual address spaces have thre regions: text,
- data and stack. The text, initialised data, and uninitialised data
- are represented in separate segments of the a.out file.
- When a process dumps core, the data and stack regions are written
- to a core file. This gives a debugger enough information to
- reconstruct (and debug) the virtual address space at the time of
- the coredump.
- Pyramids have an distinct fourth region of the virtual address
- space, in which the contents of the windowed registers are stacked
- in fixed-size frames. Pyramid refer to this region as the control
- stack. Each call (or trap) automatically allocates a new register
- frame; each return deallocates the current frame and restores the
- windowed registers to their values before the call.
-
- When dumping core, the control stack is written to a core files as
- a third segment. The core-handling functions need to know to deal
- with it. */
-/* Tell core.c there is an extra segment. */
-#define REG_STACK_SEGMENT
-
-/* Floating point is IEEE compatible on most Pyramid hardware
- (Older processors do not have IEEE NaNs). */
-#define IEEE_FLOAT
-
-/* 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. */
-
-/* FIXME -- do we want to skip insns to allocate the local frame?
- If so, what do they look like?
- This is becoming harder, since tege@sics.SE wants to change
- gcc to not output a prologue when no frame is needed. */
-#define SKIP_PROLOGUE(pc) do {} while (0)
-
-
-/* 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) FRAME_SAVED_PC(frame)
-
-/* Address of end of stack space. */
-/* This seems to be right for the 90x comp.vuw.ac.nz.
- The correct value at any site may be a function of the configured
- maximum control stack depth. If so, I don't know where the
- control-stack depth is configured, so I can't #include it here. */
-#define STACK_END_ADDR (0xc00cc000)
-
-/* Register window stack (Control stack) stack definitions
- - Address of beginning of control stack.
- - size of control stack frame
- (Note that since crts0 is usually the first function called,
- main()'s control stack is one frame (0x80 bytes) beyond this value. */
-
-#define CONTROL_STACK_ADDR (0xc00cd000)
-
-/* Bytes in a register window -- 16 parameter regs, 16 local regs
- for each call, is 32 regs * 4 bytes */
-
-#define CONTROL_STACK_FRAME_SIZE (32*4)
-
-/* FIXME. On a pyr, Data Stack grows downward; control stack goes upwards.
- Which direction should we use for INNER_THAN, PC_INNER_THAN ?? */
-
-#define INNER_THAN <
-#define PC_INNER_THAN >
-
-/* Stack has strict alignment. */
-
-#define STACK_ALIGN(ADDR) (((ADDR)+3)&-4)
-
-/* Sequence of bytes for breakpoint instruction. */
-
-#define BREAKPOINT {0xf0, 00, 00, 00}
-
-/* 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
-
-/* Nonzero if instruction at PC is a return instruction.
- On a pyr, this is either "ret" or "retd".
- It would be friendly to check that any "retd" always had an
- argument of 0, since anything else is invalid. */
-
-#define ABOUT_TO_RETURN(pc) \
-(((read_memory_integer (pc, 2) & 0x3ff0) == 0x3090) || \
- ((read_memory_integer (pc, 2) & 0x0ff0) == 0x00a0))
-
-/* Return 1 if P points to an invalid floating point value.
- LEN is the length in bytes -- not relevant on the Vax. */
-/* FIXME -- this is ok for a vax, bad for big-endian ieee format.
- I would use the definition for a Sun; but it is no better! */
-
-#define INVALID_FLOAT(p, len) ((*(short *) p & 0xff80) == 0x8000)
-
-/* Say how long (ordinary) registers are. */
-
-#define REGISTER_TYPE long
-
-/* Number of machine registers */
-/* pyramids have 64, plus one for the PSW; plus perhaps one more for the
- kernel stack pointer (ksp) and control-stack pointer (CSP) */
-
-#define NUM_REGS 67
-
-/* Initializer for an array of names of registers.
- There should be NUM_REGS strings in this initializer. */
-
-#define REGISTER_NAMES \
-{"gr0", "gr1", "gr2", "gr3", "gr4", "gr5", "gr6", "gr7", \
- "gr8", "gr9", "gr10", "gr11", "logpsw", "cfp", "sp", "pc", \
- "pr0", "pr1", "pr2", "pr3", "pr4", "pr5", "pr6", "pr7", \
- "pr8", "pr9", "pr10", "pr11", "pr12", "pr13", "pr14", "pr15", \
- "lr0", "lr1", "lr2", "lr3", "lr4", "lr5", "lr6", "lr7", \
- "lr8", "lr9", "lr10", "lr11", "lr12", "lr13", "lr14", "lr15", \
- "tr0", "tr1", "tr2", "tr3", "tr4", "tr5", "tr6", "tr7", \
- "tr8", "tr9", "tr10", "tr11", "tr12", "tr13", "tr14", "tr15", \
- "psw", "ksp", "csp"}
-
-/* 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. */
-
-/* pseudo-registers: */
-#define PS_REGNUM 64 /* Contains processor status */
-#define PSW_REGNUM 64 /* Contains current psw, whatever it is.*/
-#define CSP_REGNUM 65 /* address of this control stack frame*/
-#define KSP_REGNUM 66 /* Contains process's Kernel Stack Pointer */
-
-#define CFP_REGNUM 13 /* Current data-stack frame ptr */
-#define TR0_REGNUM 48 /* After function call, contains
- function result */
-
-/* Registers interesting to the machine-independent part of gdb*/
-
-#define FP_REGNUM CSP_REGNUM /* Contains address of executing (control)
- stack frame */
-#define SP_REGNUM 14 /* Contains address of top of stack -??*/
-#define PC_REGNUM 15 /* Contains program counter */
-
-/* Define DO_REGISTERS_INFO() to do machine-specific formatting
- of register dumps. */
-
-#define DO_REGISTERS_INFO(_regnum, fp) pyr_do_registers_info(_regnum, fp)
-
-/* need this so we can find the global registers: they never get saved. */
-extern unsigned int global_reg_offset;
-extern unsigned int last_frame_offset;
-
-/* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'. */
-#define REGISTER_BYTES (NUM_REGS*4)
-
-/* the Pyramid has register windows. */
-
-#define HAVE_REGISTER_WINDOWS
-
-/* Is this register part of the register window system? A yes answer
- implies that 1) The name of this register will not be the same in
- other frames, and 2) This register is automatically "saved" (out
- registers shifting into ins counts) upon subroutine calls and thus
- there is no need to search more than one stack frame for it. */
-
-#define REGISTER_IN_WINDOW_P(regnum) \
- ((regnum) >= 16 && (regnum) < 64)
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-
-#define REGISTER_BYTE(N) ((N) * 4)
-
-/* Number of bytes of storage in the actual machine representation
- for register N. On the Pyramid, all regs are 4 bytes. */
-
-#define REGISTER_RAW_SIZE(N) 4
-
-/* Number of bytes of storage in the program's representation
- for register N. On the Pyramid, all regs are 4 bytes. */
-
-#define REGISTER_VIRTUAL_SIZE(N) 4
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 4
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 4
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) 0
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), 4);
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), 4);
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-#define REGISTER_VIRTUAL_TYPE(N) builtin_type_int
-
-/* FIXME: It seems impossible for both EXTRACT_RETURN_VALUE and
- STORE_RETURN_VALUE to be correct. */
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-
-/****FIXME****/
-#define STORE_STRUCT_RETURN(ADDR, SP) \
- { write_register (TR0_REGNUM, (ADDR)); }
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. */
-
-/* Note that on a register-windowing machine (eg, Pyr, SPARC), this is
- where the value is found after the function call -- ie, it should
- correspond to GNU CC's FUNCTION_VALUE rather than FUNCTION_OUTGOING_VALUE.*/
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- bcopy (((int *)(REGBUF))+TR0_REGNUM, VALBUF, TYPE_LENGTH (TYPE))
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-/* on pyrs, values are returned in */
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- write_register_bytes (REGISTER_BYTE(TR0_REGNUM), VALBUF, TYPE_LENGTH (TYPE))
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-/* FIXME */
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) \
- ( ((int *)(REGBUF)) [TR0_REGNUM])
-
-
-/* Describe the pointer in each stack frame to the previous stack frame
- (its caller). */
-
-#define EXTRA_FRAME_INFO \
- FRAME_ADDR bottom; \
- CORE_ADDR frame_cfp; \
- CORE_ADDR frame_window_addr;
-
-#define INIT_EXTRA_FRAME_INFO(fromleaf, fci) \
-do { \
- (fci)->frame_window_addr = (fci)->frame; \
- (fci)->bottom = \
- ((fci)->next ? \
- ((fci)->frame == (fci)->next_frame ? \
- (fci)->next->bottom : (fci)->next->frame) : \
- read_register (SP_REGNUM)); \
- (fci)->frame_cfp = \
- read_register (CFP_REGNUM); \
- /***fprintf (stderr, \
- "[[creating new frame for %0x,pc=%0x,csp=%0x]]\n", \
- (fci)->frame, (fci)->pc,(fci)->frame_cfp);*/ \
-} while (0);
-
-/* FRAME_CHAIN takes a frame's nominal address
- and produces the frame's chain-pointer. */
-
-/* In the case of the pyr, the frame's nominal address is the address
- of parameter register 0. The previous frame is found 32 words up. */
-
-#define FRAME_CHAIN(thisframe) \
- ( (thisframe) -> frame - CONTROL_STACK_FRAME_SIZE)
-
- /*((thisframe) >= CONTROL_STACK_ADDR))*/
-
-/* Define other aspects of the stack frame. */
-
-/* A macro that tells us whether the function invocation represented
- by FI does not have a frame on the stack associated with it. If it
- does not, FRAMELESS is set to 1, else 0.
-
- I do not understand what this means on a Pyramid, where functions
- *always* have a control-stack frame, but may or may not have a
- frame on the data stack. Since GBD uses the value of the
- control stack pointer as its "address" of a frame, FRAMELESS
- is always 1, so does not need to be defined. */
-
-
-/* Where is the PC for a specific frame */
-
-#define FRAME_SAVED_PC(fi) \
- ((CORE_ADDR) (read_memory_integer ( (fi) -> frame + 60, 4)))
-
-/* There may be bugs in FRAME_ARGS_ADDRESS and FRAME_LOCALS_ADDRESS;
- or there may be bugs in accessing the registers that break
- their definitions.
- Having the macros expand into functions makes them easier to debug.
- When the bug is finally located, the inline macro defintions can
- be un-#if 0ed, and frame_args_addr and frame_locals_address can
- be deleted from pyr-dep.c */
-
-/* If the argument is on the stack, it will be here. */
-#define FRAME_ARGS_ADDRESS(fi) \
- frame_args_addr(fi)
-
-#define FRAME_LOCALS_ADDRESS(fi) \
- frame_locals_address(fi)
-
-/* The following definitions doesn't seem to work.
- I don't understand why. */
-#if 0
-#define FRAME_ARGS_ADDRESS(fi) \
- /*(FRAME_FP(fi) + (13*4))*/ (read_register (CFP_REGNUM))
-
-#define FRAME_LOCALS_ADDRESS(fi) \
- ((fi)->frame +(16*4))
-
-#endif /* 0 */
-
-/* Return number of args passed to a frame.
- Can return -1, meaning no way to tell. */
-
-#define FRAME_NUM_ARGS(val, fi) (val = -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.
-
- Note that on register window machines, we are currently making the
- assumption that window registers are being saved somewhere in the
- frame in which they are being used. If they are stored in an
- inferior frame, find_saved_register will break.
-
- On pyrs, frames of window registers are stored contiguously on a
- separate stack. All window registers are always stored.
- The pc and psw (gr15 and gr14) are also always saved: the call
- insn saves them in pr15 and pr14 of the new frame (tr15,tr14 of the
- old frame).
- The data-stack frame pointer (CFP) is only saved in functions which
- allocate a (data)stack frame (with "adsf"). We detect them by
- looking at the first insn of the procedure.
-
- Other non-window registers (gr0-gr11) are never saved. Pyramid's C
- compiler and gcc currently ignore them, so it's not an issue. */
-
-#define FRAME_FIND_SAVED_REGS(fi_p, frame_saved_regs) \
-{ register int regnum; \
- register CORE_ADDR pc; \
- register CORE_ADDR fn_start_pc; \
- register int first_insn; \
- register CORE_ADDR prev_cf_addr; \
- register int window_ptr; \
- FRAME fid = FRAME_INFO_ID (fi_p); \
- if (!fid) fatal ("Bad frame info struct in FRAME_FIND_SAVED_REGS"); \
- bzero (&(frame_saved_regs), sizeof (frame_saved_regs)); \
- \
- window_ptr = prev_cf_addr = FRAME_FP(fi_p); \
- \
- for (regnum = 16 ; regnum < 64; regnum++,window_ptr+=4) \
- { \
- (frame_saved_regs).regs[regnum] = window_ptr; \
- } \
- \
- /* In each window, psw, and pc are "saved" in tr14,tr15. */ \
- /*** psw is sometimes saved in gr12 (so sez <sys/pcb.h>) */ \
- (frame_saved_regs).regs[PS_REGNUM] = FRAME_FP(fi_p) + (14*4); \
- \
-/*(frame_saved_regs).regs[PC_REGNUM] = (frame_saved_regs).regs[31];*/ \
- (frame_saved_regs).regs[PC_REGNUM] = FRAME_FP(fi_p) + ((15+32)*4); \
- \
- /* Functions that allocate a frame save sp *where*? */ \
-/*first_insn = read_memory_integer (get_pc_function_start ((fi_p)->pc),4); */ \
- \
- fn_start_pc = (get_pc_function_start ((fi_p)->pc)); \
- first_insn = read_memory_integer(fn_start_pc, 4); \
- \
- if (0x08 == ((first_insn >> 20) &0x0ff)) { \
- /* NB: because WINDOW_REGISTER_P(cfp) is false, a saved cfp \
- in this frame is only visible in this frame's callers. \
- That means the cfp we mark saved is my caller's cfp, ie pr13. \
- I don't understand why we don't have to do that for pc, too. */ \
- \
- (frame_saved_regs).regs[CFP_REGNUM] = FRAME_FP(fi_p)+(13*4); \
- \
- (frame_saved_regs).regs[SP_REGNUM] = \
- read_memory_integer (FRAME_FP(fi_p)+((13+32)*4),4); \
- } \
- \
-/* \
- *(frame_saved_regs).regs[CFP_REGNUM] = (frame_saved_regs).regs[61]; \
- * (frame_saved_regs).regs[SP_REGNUM] = \
- * read_memory_integer (FRAME_FP(fi_p)+((13+32)*4),4); \
- */ \
- \
- (frame_saved_regs).regs[CSP_REGNUM] = prev_cf_addr; \
-}
-
-/* Things needed for making the inferior call functions. */
-#if 0
-/* These are all lies. These macro definitions are appropriate for a
- SPARC. On a pyramid, pushing a dummy frame will
- surely involve writing the control stack pointer,
- then saving the pc. This requires a privileged instruction.
- Maybe one day Pyramid can be persuaded to add a syscall to do this.
- Until then, we are out of luck. */
-
-/* Push an empty stack frame, to record the current PC, etc. */
-
-#define PUSH_DUMMY_FRAME \
-{ register CORE_ADDR sp = read_register (SP_REGNUM);\
- register int regnum; \
- sp = push_word (sp, 0); /* arglist */ \
- for (regnum = 11; regnum >= 0; regnum--) \
- sp = push_word (sp, read_register (regnum)); \
- sp = push_word (sp, read_register (PC_REGNUM)); \
- sp = push_word (sp, read_register (FP_REGNUM)); \
-/* sp = push_word (sp, read_register (AP_REGNUM));*/ \
- sp = push_word (sp, (read_register (PS_REGNUM) & 0xffef) \
- + 0x2fff0000); \
- sp = push_word (sp, 0); \
- write_register (SP_REGNUM, sp); \
- write_register (FP_REGNUM, sp); \
-/* write_register (AP_REGNUM, sp + 17 * sizeof (int));*/ }
-
-/* Discard from the stack the innermost frame, restoring all registers. */
-
-#define POP_FRAME \
-{ register CORE_ADDR fp = read_register (FP_REGNUM); \
- register int regnum; \
- register int regmask = read_memory_integer (fp + 4, 4); \
- write_register (PS_REGNUM, \
- (regmask & 0xffff) \
- | (read_register (PS_REGNUM) & 0xffff0000)); \
- write_register (PC_REGNUM, read_memory_integer (fp + 16, 4)); \
- write_register (FP_REGNUM, read_memory_integer (fp + 12, 4)); \
-/* write_register (AP_REGNUM, read_memory_integer (fp + 8, 4));*/ \
- fp += 16; \
- for (regnum = 0; regnum < 12; regnum++) \
- if (regmask & (0x10000 << regnum)) \
- write_register (regnum, read_memory_integer (fp += 4, 4)); \
- fp = fp + 4 + ((regmask >> 30) & 3); \
- if (regmask & 0x20000000) \
- { regnum = read_memory_integer (fp, 4); \
- fp += (regnum + 1) * 4; } \
- write_register (SP_REGNUM, fp); \
- set_current_frame (read_register (FP_REGNUM)); }
-
-/* This sequence of words is the instructions
- calls #69, @#32323232
- bpt
- Note this is 8 bytes. */
-
-#define CALL_DUMMY {0x329f69fb, 0x03323232}
-
-#define CALL_DUMMY_START_OFFSET 0 /* Start execution at beginning of dummy */
-
-/* Insert the specified number of args and function address
- into a call sequence of the above form stored at DUMMYNAME. */
-
-#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p) \
-{ *((char *) dummyname + 1) = nargs; \
- *(int *)((char *) dummyname + 3) = fun; }
-#endif /* 0 */
-
-#define POP_FRAME \
- { error ("The return command is not supported on this machine."); }
diff --git a/gdb/tm-rs6000.h b/gdb/tm-rs6000.h
index 81ed15c..e69de29 100644
--- a/gdb/tm-rs6000.h
+++ b/gdb/tm-rs6000.h
@@ -1,584 +0,0 @@
-/* Parameters for target execution on an RS6000, for GDB, the GNU debugger.
- Copyright 1986, 1987, 1989, 1991, 1992, 1993 Free Software Foundation, Inc.
- Contributed by IBM Corporation.
-
-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. */
-
-extern int symtab_relocated;
-
-/* Minimum possible text address in AIX */
-
-#define TEXT_SEGMENT_BASE 0x10000000
-
-
-/* text addresses in a core file does not necessarily match to symbol table,
- if symbol table relocation wasn't done yet. */
-
-#define CORE_NEEDS_RELOCATION(PC) \
- if (!symtab_relocated && !inferior_pid) \
- xcoff_relocate_core ();
-extern void xcoff_relocate_core PARAMS ((void));
-
-/* Load segment of a given pc value. */
-
-#define PC_LOAD_SEGMENT(PC) pc_load_segment_name(PC)
-
-/* AIX cc seems to get this right. */
-
-#define BELIEVE_PCC_PROMOTION 1
-
-/* return true if a given `pc' value is in `call dummy' function. */
-
-#define PC_IN_CALL_DUMMY(STOP_PC, STOP_SP, STOP_FRAME_ADDR) \
- (STOP_SP < STOP_PC && STOP_PC < STACK_END_ADDR)
-
-/* For each symtab, we keep track of which BFD it came from. */
-#define EXTRA_SYMTAB_INFO \
- unsigned nonreloc:1; /* TRUE if non relocatable */
-
-#define INIT_EXTRA_SYMTAB_INFO(symtab) \
- symtab->nonreloc = 0; \
-
-extern unsigned int text_start, data_start;
-extern int inferior_pid;
-extern char *corefile;
-
-/* setpgrp() messes up controling terminal. The other version of it
- requires libbsd.a. */
-#define setpgrp(XX,YY) setpgid (XX, YY)
-
-/* We are missing register descriptions in the system header files. Sigh! */
-
-struct regs {
- int gregs [32]; /* general purpose registers */
- int pc; /* program conter */
- int ps; /* processor status, or machine state */
-};
-
-struct fp_status {
- double fpregs [32]; /* floating GP registers */
-};
-
-
-/* To be used by function_frame_info. */
-
-struct aix_framedata {
- int offset; /* # of bytes in gpr's and fpr's are saved */
- int saved_gpr; /* smallest # of saved gpr */
- int saved_fpr; /* smallest # of saved fpr */
- int alloca_reg; /* alloca register number (frame ptr) */
- char frameless; /* true if frameless functions. */
- char nosavedpc; /* true if pc not saved. */
-};
-
-void
-function_frame_info PARAMS ((CORE_ADDR, struct aix_framedata *));
-
-/* Define the byte order of the machine. */
-
-#define TARGET_BYTE_ORDER BIG_ENDIAN
-
-/* AIX's assembler doesn't grok dollar signs in identifiers.
- So we use dots instead. This item must be coordinated with G++. */
-#undef CPLUS_MARKER
-#define CPLUS_MARKER '.'
-
-/* 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. */
-
-#define SKIP_PROLOGUE(pc) pc = skip_prologue (pc)
-
-/* If PC is in some function-call trampoline code, return the PC
- where the function itself actually starts. If not, return NULL. */
-
-#define SKIP_TRAMPOLINE_CODE(pc) skip_trampoline_code (pc)
-
-/* When a child process is just starting, we sneak in and relocate
- the symbol table (and other stuff) after the dynamic linker has
- figured out where they go. But we want to do this relocation just
- once. */
-
-extern int loadinfotextindex;
-
-#define SOLIB_CREATE_INFERIOR_HOOK(PID) \
- do { \
- if (loadinfotextindex == 0) \
- xcoff_relocate_symtab (PID); \
- } while (0)
-
-
-/* Number of trap signals we need to skip over, once the inferior process
- starts running. */
-
-#define START_INFERIOR_TRAPS_EXPECTED 2
-
-/* AIX might return a sigtrap, with a "stop after load" status. It should
- be ignored by gdb, shouldn't be mixed up with breakpoint traps. */
-
-/* Another little glitch in AIX is signal 0. I have no idea why wait(2)
- returns with this status word. It looks harmless. */
-
-#define SIGTRAP_STOP_AFTER_LOAD(W) \
- if ( (W) == 0x57c || (W) == 0x7f) { \
- if ((W)==0x57c && breakpoints_inserted) { \
- mark_breakpoints_out (); \
- insert_breakpoints (); \
- insert_step_breakpoint (); \
- } \
- resume (0, 0); \
- continue; \
- }
-
-/* In xcoff, we cannot process line numbers when we see them. This is
- mainly because we don't know the boundaries of the include files. So,
- we postpone that, and then enter and sort(?) the whole line table at
- once, when we are closing the current symbol table in end_symtab(). */
-
-#define PROCESS_LINENUMBER_HOOK() aix_process_linenos ()
-
-
-/* When a target process or core-file has been attached, we sneak in
- and figure out where the shared libraries have got to. In case there
- is no inferior_process exists (e.g. bringing up a core file), we can't
- attemtp to relocate symbol table, since we don't have information about
- load segments. */
-
-#define SOLIB_ADD(a, b, c) \
- if (inferior_pid) xcoff_relocate_symtab (inferior_pid)
-
-/* Immediately after a function call, return the saved pc.
- Can't 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) read_register (LR_REGNUM)
-
-/* Address of end of stack space. */
-
-#define STACK_END_ADDR 0x2ff80000
-
-/* Stack grows downward. */
-
-#define INNER_THAN <
-
-#if 0
-/* No, we shouldn't use this. push_arguments() should leave stack in a
- proper alignment! */
-/* Stack has strict alignment. */
-
-#define STACK_ALIGN(ADDR) (((ADDR)+7)&-8)
-#endif
-
-/* This is how argumets pushed onto stack or passed in registers. */
-
-#define PUSH_ARGUMENTS(nargs, args, sp, struct_return, struct_addr) \
- sp = push_arguments(nargs, args, sp, struct_return, struct_addr)
-
-/* Sequence of bytes for breakpoint instruction. */
-
-#define BREAKPOINT {0x7d, 0x82, 0x10, 0x08}
-
-/* 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
-
-/* Nonzero if instruction at PC is a return instruction. */
-/* Allow any of the return instructions, including a trapv and a return
- from interrupt. */
-
-#define ABOUT_TO_RETURN(pc) \
- ((read_memory_integer (pc, 4) & 0xfe8007ff) == 0x4e800020)
-
-/* Return 1 if P points to an invalid floating point value. */
-
-#define INVALID_FLOAT(p, len) 0 /* Just a first guess; not checked */
-
-/* Largest integer type */
-
-#define LONGEST long
-
-/* Name of the builtin type for the LONGEST type above. */
-
-#define BUILTIN_TYPE_LONGEST builtin_type_long
-
-/* Say how long (ordinary) registers are. */
-
-#define REGISTER_TYPE long
-
-/* Number of machine registers */
-
-#define NUM_REGS 71
-
-/* 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", \
- "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \
- "f8", "f9", "f10","f11","f12","f13","f14","f15", \
- "f16","f17","f18","f19","f20","f21","f22","f23", \
- "f24","f25","f26","f27","f28","f29","f30","f31", \
- "pc", "ps", "cnd", "lr", "cnt", "xer", "mq" }
-
-/* 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 FP_REGNUM 1 /* Contains address of executing stack frame */
-#define SP_REGNUM 1 /* Contains address of top of stack */
-#define TOC_REGNUM 2 /* TOC register */
-#define FP0_REGNUM 32 /* Floating point register 0 */
-#define GP0_REGNUM 0 /* GPR register 0 */
-#define FP0_REGNUM 32 /* FPR (Floating point) register 0 */
-#define FPLAST_REGNUM 63 /* Last floating point register */
-
-/* Special purpose registers... */
-/* P.S. keep these in the same order as in /usr/mstsave.h `mstsave' structure, for
- easier processing */
-
-#define PC_REGNUM 64 /* Program counter (instruction address %iar) */
-#define PS_REGNUM 65 /* Processor (or machine) status (%msr) */
-#define CR_REGNUM 66 /* Condition register */
-#define LR_REGNUM 67 /* Link register */
-#define CTR_REGNUM 68 /* Count register */
-#define XER_REGNUM 69 /* Fixed point exception registers */
-#define MQ_REGNUM 70 /* Multiply/quotient register */
-
-#define FIRST_SP_REGNUM 64 /* first special register number */
-#define LAST_SP_REGNUM 70 /* last special register number */
-
-/* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'.
-
- 32 4-byte gpr's
- 32 8-byte fpr's
- 7 4-byte special purpose registers,
-
- total 416 bytes. Keep some extra space for now, in case to add more. */
-
-#define REGISTER_BYTES 420
-
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-
-#define REGISTER_BYTE(N) \
- ( \
- ((N) > FPLAST_REGNUM) ? ((((N) - FPLAST_REGNUM -1) * 4) + 384)\
- :((N) >= FP0_REGNUM) ? ((((N) - FP0_REGNUM) * 8) + 128) \
- :((N) * 4) )
-
-/* Number of bytes of storage in the actual machine representation
- for register N. */
-/* Note that the unsigned cast here forces the result of the
- subtractiion to very high positive values if N < FP0_REGNUM */
-
-#define REGISTER_RAW_SIZE(N) (((unsigned)(N) - FP0_REGNUM) < 32 ? 8 : 4)
-
-/* Number of bytes of storage in the program's representation
- for register N. On the RS6000, all regs are 4 bytes
- except the floating point regs which are 8-byte doubles. */
-
-#define REGISTER_VIRTUAL_SIZE(N) (((unsigned)(N) - FP0_REGNUM) < 32 ? 8 : 4)
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 8
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 8
-
-/* convert a dbx stab register number (from `r' declaration) to a gdb REGNUM */
-
-#define STAB_REG_TO_REGNUM(value) (value)
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) ((N) >= FP0_REGNUM && (N) <= FPLAST_REGNUM)
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), REGISTER_RAW_SIZE (REGNUM))
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), REGISTER_RAW_SIZE (REGNUM))
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-#define REGISTER_VIRTUAL_TYPE(N) \
- (((unsigned)(N) - FP0_REGNUM) < 32 ? builtin_type_double : builtin_type_int)
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-/* in RS6000, struct return addresses are passed as an extra parameter in r3.
- In function return, callee is not responsible of returning this address back.
- Since gdb needs to find it, we will store in a designated variable
- `rs6000_struct_return_address'. */
-
-extern unsigned int rs6000_struct_return_address;
-
-#define STORE_STRUCT_RETURN(ADDR, SP) \
- { write_register (3, (ADDR)); \
- rs6000_struct_return_address = (unsigned int)(ADDR); }
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. */
-
-/* #define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- bcopy (REGBUF, VALBUF, TYPE_LENGTH (TYPE)) */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- extract_return_value(TYPE,REGBUF,VALBUF)
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- { \
- if (TYPE_CODE (TYPE) == TYPE_CODE_FLT) \
- \
- /* Floating point values are returned starting from FPR1 and up. \
- Say a double_double_double type could be returned in \
- FPR1/FPR2/FPR3 triple. */ \
- \
- write_register_bytes (REGISTER_BYTE (FP0_REGNUM+1), (VALBUF), \
- TYPE_LENGTH (TYPE)); \
- else \
- /* Everything else is returned in GPR3 and up. */ \
- write_register_bytes (REGISTER_BYTE (GP0_REGNUM+3), (VALBUF), \
- TYPE_LENGTH (TYPE)); \
- }
-
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) rs6000_struct_return_address
-
-/* 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. */
-
-/* In the case of the RS6000, the frame's nominal address
- is the address of a 4-byte word containing the calling frame's address. */
-
-#define FRAME_CHAIN(thisframe) \
- (!inside_entry_file ((thisframe)->pc) ? \
- read_memory_integer ((thisframe)->frame, 4) :\
- 0)
-
-/* Define other aspects of the stack frame. */
-
-/* A macro that tells us whether the function invocation represented
- by FI does not have a frame on the stack associated with it. If it
- does not, FRAMELESS is set to 1, else 0. */
-
-#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) \
- FRAMELESS = frameless_function_invocation (FI, 0)
-
-/* Functions calling alloca() change the value of the stack pointer. We
- need to use initial stack pointer (which is saved in r31 by gcc) in
- such cases. If a compiler emits traceback table, then we should use the
- alloca register specified in traceback table. FIXME. */
-/* Also, it is a good idea to cache information about frame's saved registers
- in the frame structure to speed things up. See tm-m88k.h. FIXME. */
-
-#define EXTRA_FRAME_INFO \
- CORE_ADDR initial_sp; /* initial stack pointer. */ \
- struct frame_saved_regs *cache_fsr; /* saved registers */
-
-/* Frameless function invocation in IBM RS/6000 is sometimes
- half-done. It perfectly sets up a new frame, e.g. a new frame (in
- fact stack) pointer, etc, but it doesn't save the %pc. We call
- frameless_function_invocation to tell us how to get the %pc. */
-
-#define INIT_EXTRA_FRAME_INFO(fromleaf, fi) \
- fi->initial_sp = 0; \
- fi->cache_fsr = 0;
-
-#define FRAME_SAVED_PC(FRAME) \
- (frameless_function_invocation (FRAME, 1) \
- ? SAVED_PC_AFTER_CALL (FRAME) \
- : read_memory_integer (read_memory_integer ((FRAME)->frame, 4)+8, 4))
-
-#define FRAME_ARGS_ADDRESS(FI) \
- (((struct frame_info*)(FI))->initial_sp ? \
- ((struct frame_info*)(FI))->initial_sp : \
- frame_initial_stack_address (FI))
-
-#define FRAME_LOCALS_ADDRESS(FI) FRAME_ARGS_ADDRESS(FI)
-
-
-/* Set VAL to the number of args passed to frame described by FI.
- Can set VAL to -1, meaning no way to tell. */
-
-/* We can't tell how many args there are
- now that the C compiler delays popping them. */
-
-#define FRAME_NUM_ARGS(val,fi) (val = -1)
-
-/* Return number of bytes at start of arglist that are not really args. */
-
-#define FRAME_ARGS_SKIP 8 /* Not sure on this. FIXMEmgo */
-
-/* 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. */
-/* In the following implementation for RS6000, we did *not* save sp. I am
- not sure if it will be needed. The following macro takes care of gpr's
- and fpr's only. */
-
-#define FRAME_FIND_SAVED_REGS(FRAME_INFO, FRAME_SAVED_REGS) \
-{ \
- int ii; \
- CORE_ADDR frame_addr, func_start; \
- struct aix_framedata fdata; \
- \
- /* find the start of the function and collect info about its frame. */\
- \
- func_start = get_pc_function_start ((FRAME_INFO)->pc) + FUNCTION_START_OFFSET; \
- function_frame_info (func_start, &fdata); \
- bzero (&(FRAME_SAVED_REGS), sizeof (FRAME_SAVED_REGS)); \
- \
- /* if there were any saved registers, figure out parent's stack pointer. */ \
- frame_addr = 0; \
- /* the following is true only if the frame doesn't have a call to alloca(), \
- FIXME. */ \
- if (fdata.saved_fpr >= 0 || fdata.saved_gpr >= 0) { \
- if ((FRAME_INFO)->prev && (FRAME_INFO)->prev->frame) \
- frame_addr = (FRAME_INFO)->prev->frame; \
- else \
- frame_addr = read_memory_integer ((FRAME_INFO)->frame, 4); \
- } \
- \
- /* if != -1, fdata.saved_fpr is the smallest number of saved_fpr. All fpr's \
- from saved_fpr to fp31 are saved right underneath caller stack pointer, \
- starting from fp31 first. */ \
- \
- if (fdata.saved_fpr >= 0) { \
- for (ii=31; ii >= fdata.saved_fpr; --ii) \
- (FRAME_SAVED_REGS).regs [FP0_REGNUM + ii] = frame_addr - ((32 - ii) * 8); \
- frame_addr -= (32 - fdata.saved_fpr) * 8; \
- } \
- \
- /* if != -1, fdata.saved_gpr is the smallest number of saved_gpr. All gpr's \
- from saved_gpr to gpr31 are saved right under saved fprs, starting \
- from r31 first. */ \
- \
- if (fdata.saved_gpr >= 0) \
- for (ii=31; ii >= fdata.saved_gpr; --ii) \
- (FRAME_SAVED_REGS).regs [ii] = frame_addr - ((32 - ii) * 4); \
-}
-
-
-/* Things needed for making the inferior call functions. */
-
-/* Push an empty stack frame, to record the current PC, etc. */
-/* Change these names into rs6k_{push, pop}_frame(). FIXMEmgo. */
-
-#define PUSH_DUMMY_FRAME push_dummy_frame ()
-
-/* Discard from the stack the innermost frame,
- restoring all saved registers. */
-
-#define POP_FRAME pop_frame ()
-
-/* This sequence of words is the instructions:
-
- mflr r0 // 0x7c0802a6
- // save fpr's
- stfd r?, num(r1) // 0xd8010000 there should be 32 of this??
- // save gpr's
- stm r0, num(r1) // 0xbc010000
- stu r1, num(r1) // 0x94210000
-
- // the function we want to branch might be in a different load
- // segment. reset the toc register. Note that the actual toc address
- // will be fix by fix_call_dummy () along with function address.
-
- st r2, 0x14(r1) // 0x90410014 save toc register
- liu r2, 0x1234 // 0x3c401234 reset a new toc value 0x12345678
- oril r2, r2,0x5678 // 0x60425678
-
- // load absolute address 0x12345678 to r0
- liu r0, 0x1234 // 0x3c001234
- oril r0, r0,0x5678 // 0x60005678
- mtctr r0 // 0x7c0903a6 ctr <- r0
- bctrl // 0x4e800421 jump subroutine 0x12345678 (%ctr)
- cror 0xf, 0xf, 0xf // 0x4def7b82
- brpt // 0x7d821008, breakpoint
- cror 0xf, 0xf, 0xf // 0x4def7b82 (for 8 byte alignment)
-
-
- We actually start executing by saving the toc register first, since the pushing
- of the registers is done by PUSH_DUMMY_FRAME. If this were real code,
- the arguments for the function called by the `bctrl' would be pushed
- between the `stu' and the `bctrl', and we could allow it to execute through.
- But the arguments have to be pushed by GDB after the PUSH_DUMMY_FRAME is done,
- and we cannot allow to push the registers again.
-*/
-
-#define CALL_DUMMY {0x7c0802a6, 0xd8010000, 0xbc010000, 0x94210000, \
- 0x90410014, 0x3c401234, 0x60425678, \
- 0x3c001234, 0x60005678, 0x7c0903a6, 0x4e800421, \
- 0x4def7b82, 0x7d821008, 0x4def7b82 }
-
-
-/* keep this as multiple of 8 (%sp requires 8 byte alignment) */
-#define CALL_DUMMY_LENGTH 56
-
-#define CALL_DUMMY_START_OFFSET 16
-
-/* Insert the specified number of args and function address
- into a call sequence of the above form stored at DUMMYNAME. */
-
-#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, using_gcc) \
- fix_call_dummy(dummyname, pc, fun, nargs, type)
-
-/* Flag for machine-specific stuff in shared files. FIXME */
-#define IBM6000_TARGET
-
-/* RS6000/AIX does not support PT_STEP. Has to be simulated. */
-
-#define NO_SINGLE_STEP
diff --git a/gdb/tm-sparc.h b/gdb/tm-sparc.h
deleted file mode 100644
index 9dcc7a4..0000000
--- a/gdb/tm-sparc.h
+++ /dev/null
@@ -1,586 +0,0 @@
-/* Target machine sub-parameters for SPARC, for GDB, the GNU debugger.
- This is included by other tm-*.h files to define SPARC cpu-related info.
- Copyright 1986, 1987, 1989, 1991, 1992, 1993 Free Software Foundation, Inc.
- Contributed by Michael Tiemann (tiemann@mcc.com)
-
-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. */
-
-#define TARGET_BYTE_ORDER BIG_ENDIAN
-
-/* Floating point is IEEE compatible. */
-#define IEEE_FLOAT
-
-/* When passing a structure to a function, Sun cc passes the address
- in a register, not the structure itself. It (under SunOS4) creates
- two symbols, so we get a LOC_ARG saying the address is on the stack
- (a lie, and a serious one since we don't know which register to
- use), and a LOC_REGISTER saying that the struct is in a register
- (sort of a lie, but fixable with REG_STRUCT_HAS_ADDR). Gcc version
- two (as of 1.92) behaves like sun cc. REG_STRUCT_HAS_ADDR is smart
- enough to distinguish between Sun cc, gcc version 1 and gcc version 2.
-
- This still doesn't work if the argument is not one passed in a
- register (i.e. it's the 7th or later argument). */
-#define REG_STRUCT_HAS_ADDR(gcc_p) (gcc_p != 1)
-#define STRUCT_ARG_SYM_GARBAGE(gcc_p) (gcc_p != 1)
-
-/* If Pcc says that a parameter is a short, it's a short. This is
- because the parameter does get passed in in a register as an int,
- but pcc puts it onto the stack frame as a short (not nailing
- whatever else might be there. I'm not sure that I consider this
- swift. Sigh.)
-
- No, don't do this. The problem here is that pcc says that the
- argument is in the upper half of the word reserved on the stack,
- but puts it in the lower half. */
-/* #define BELIEVE_PCC_PROMOTION 1 */
-/* OK, I've added code to dbxread.c to deal with this case. */
-#define BELIEVE_PCC_PROMOTION_TYPE
-
-/* 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. SKIP_PROLOGUE_FRAMELESS_P advances
- the PC past some of the prologue, but stops as soon as it
- knows that the function has a frame. Its result is equal
- to its input PC if the function is frameless, unequal otherwise. */
-
-#define SKIP_PROLOGUE(pc) \
- { pc = skip_prologue (pc, 0); }
-#define SKIP_PROLOGUE_FRAMELESS_P(pc) \
- { pc = skip_prologue (pc, 1); }
-extern CORE_ADDR skip_prologue ();
-
-/* Immediately after a function call, return the saved pc.
- Can't go through the frames for this because on some machines
- the new frame is not set up until the new function executes
- some instructions. */
-
-/* On the Sun 4 under SunOS, the compile will leave a fake insn which
- encodes the structure size being returned. If we detect such
- a fake insn, step past it. */
-
-#define PC_ADJUST(pc) sparc_pc_adjust(pc)
-extern CORE_ADDR sparc_pc_adjust();
-
-#define SAVED_PC_AFTER_CALL(frame) PC_ADJUST (read_register (RP_REGNUM))
-
-/* Stack grows downward. */
-
-#define INNER_THAN <
-
-/* Stack has strict alignment. */
-
-#define STACK_ALIGN(ADDR) (((ADDR)+7)&-8)
-
-/* Sequence of bytes for breakpoint instruction. */
-
-#define BREAKPOINT {0x91, 0xd0, 0x20, 0x01}
-
-/* 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
-
-/* Nonzero if instruction at PC is a return instruction. */
-/* For SPARC, this is either a "jmpl %o7+8,%g0" or "jmpl %i7+8,%g0".
-
- Note: this does not work for functions returning structures under SunOS. */
-#define ABOUT_TO_RETURN(pc) \
- ((read_memory_integer (pc, 4)|0x00040000) == 0x81c7e008)
-
-/* Return 1 if P points to an invalid floating point value. */
-
-#define INVALID_FLOAT(p, len) 0 /* Just a first guess; not checked */
-
-/* Say how long (ordinary) registers are. */
-
-#define REGISTER_TYPE long
-
-/* Number of machine registers */
-
-#define NUM_REGS 72
-
-/* Initializer for an array of names of registers.
- There should be NUM_REGS strings in this initializer. */
-
-#define REGISTER_NAMES \
-{ "g0", "g1", "g2", "g3", "g4", "g5", "g6", "g7", \
- "o0", "o1", "o2", "o3", "o4", "o5", "sp", "o7", \
- "l0", "l1", "l2", "l3", "l4", "l5", "l6", "l7", \
- "i0", "i1", "i2", "i3", "i4", "i5", "fp", "i7", \
- \
- "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \
- "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \
- "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23", \
- "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31", \
- \
- "y", "psr", "wim", "tbr", "pc", "npc", "fpsr", "cpsr" }
-
-/* 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 G0_REGNUM 0 /* %g0 */
-#define G1_REGNUM 1 /* %g1 */
-#define O0_REGNUM 8 /* %o0 */
-#define SP_REGNUM 14 /* Contains address of top of stack, \
- which is also the bottom of the frame. */
-#define RP_REGNUM 15 /* Contains return address value, *before* \
- any windows get switched. */
-#define O7_REGNUM 15 /* Last local reg not saved on stack frame */
-#define L0_REGNUM 16 /* First local reg that's saved on stack frame
- rather than in machine registers */
-#define I0_REGNUM 24 /* %i0 */
-#define FP_REGNUM 30 /* Contains address of executing stack frame */
-#define I7_REGNUM 31 /* Last local reg saved on stack frame */
-#define FP0_REGNUM 32 /* Floating point register 0 */
-#define Y_REGNUM 64 /* Temp register for multiplication, etc. */
-#define PS_REGNUM 65 /* Contains processor status */
-#define WIM_REGNUM 66 /* Window Invalid Mask (not really supported) */
-#define TBR_REGNUM 67 /* Trap Base Register (not really supported) */
-#define PC_REGNUM 68 /* Contains program counter */
-#define NPC_REGNUM 69 /* Contains next PC */
-#define FPS_REGNUM 70 /* Floating point status register */
-#define CPS_REGNUM 71 /* Coprocessor status register */
-
-/* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'. */
-#define REGISTER_BYTES (32*4+32*4+8*4)
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-/* ?? */
-#define REGISTER_BYTE(N) ((N)*4)
-
-/* The SPARC processor has register windows. */
-
-#define HAVE_REGISTER_WINDOWS
-
-/* Is this register part of the register window system? A yes answer
- implies that 1) The name of this register will not be the same in
- other frames, and 2) This register is automatically "saved" (out
- registers shifting into ins counts) upon subroutine calls and thus
- there is no need to search more than one stack frame for it. */
-
-#define REGISTER_IN_WINDOW_P(regnum) \
- ((regnum) >= 8 && (regnum) < 32)
-
-
-
-/* Number of bytes of storage in the actual machine representation
- for register N. */
-
-/* On the SPARC, all regs are 4 bytes. */
-
-#define REGISTER_RAW_SIZE(N) (4)
-
-/* Number of bytes of storage in the program's representation
- for register N. */
-
-/* On the SPARC, all regs are 4 bytes. */
-
-#define REGISTER_VIRTUAL_SIZE(N) (4)
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 8
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 8
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) (0)
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
-{ memcpy ((TO), (FROM), 4); }
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
-{ memcpy ((TO), (FROM), 4); }
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-#define REGISTER_VIRTUAL_TYPE(N) \
- ((N) < 32 ? builtin_type_int : (N) < 64 ? builtin_type_float : \
- builtin_type_int)
-
-/* Writing to %g0 is a noop (not an error or exception or anything like
- that, however). */
-
-#define CANNOT_STORE_REGISTER(regno) ((regno) == G0_REGNUM)
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-
-#define STORE_STRUCT_RETURN(ADDR, SP) \
- { target_write_memory ((SP)+(16*4), (char *)&(ADDR), 4); }
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- { \
- if (TYPE_CODE (TYPE) == TYPE_CODE_FLT) \
- { \
- memcpy ((VALBUF), ((int *)(REGBUF))+FP0_REGNUM, TYPE_LENGTH(TYPE));\
- } \
- else \
- memcpy ((VALBUF), \
- (char *)(REGBUF) + 4 * 8 + \
- (TYPE_LENGTH(TYPE) >= 4 ? 0 : 4 - TYPE_LENGTH(TYPE)), \
- TYPE_LENGTH(TYPE)); \
- }
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-/* On sparc, values are returned in register %o0. */
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- { \
- if (TYPE_CODE (TYPE) == TYPE_CODE_FLT) \
- /* Floating-point values are returned in the register pair */ \
- /* formed by %f0 and %f1 (doubles are, anyway). */ \
- write_register_bytes (REGISTER_BYTE (FP0_REGNUM), (VALBUF), \
- TYPE_LENGTH (TYPE)); \
- else \
- /* Other values are returned in register %o0. */ \
- write_register_bytes (REGISTER_BYTE (O0_REGNUM), (VALBUF), \
- TYPE_LENGTH (TYPE)); \
- }
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) \
- (sparc_extract_struct_value_address (REGBUF))
-
-extern CORE_ADDR
-sparc_extract_struct_value_address PARAMS ((char [REGISTER_BYTES]));
-
-
-/* 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. */
-
-/* In the case of the Sun 4, the frame-chain's nominal address
- is held in the frame pointer register.
-
- On the Sun4, the frame (in %fp) is %sp for the previous frame.
- From the previous frame's %sp, we can find the previous frame's
- %fp: it is in the save area just above the previous frame's %sp.
-
- If we are setting up an arbitrary frame, we'll need to know where
- it ends. Hence the following. This part of the frame cache
- structure should be checked before it is assumed that this frame's
- bottom is in the stack pointer.
-
- If there isn't a frame below this one, the bottom of this frame is
- in the stack pointer.
-
- If there is a frame below this one, and the frame pointers are
- identical, it's a leaf frame and the bottoms are the same also.
-
- Otherwise the bottom of this frame is the top of the next frame. */
-
-#define EXTRA_FRAME_INFO FRAME_ADDR bottom;
-#define INIT_EXTRA_FRAME_INFO(fromleaf, fci) \
- (fci)->bottom = \
- ((fci)->next ? \
- ((fci)->frame == (fci)->next_frame ? \
- (fci)->next->bottom : (fci)->next->frame) : \
- read_register (SP_REGNUM));
-
-#define FRAME_CHAIN(thisframe) (sparc_frame_chain (thisframe))
-CORE_ADDR sparc_frame_chain ();
-
-/* Define other aspects of the stack frame. */
-
-/* A macro that tells us whether the function invocation represented
- by FI does not have a frame on the stack associated with it. If it
- does not, FRAMELESS is set to 1, else 0. */
-#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) \
- (FRAMELESS) = frameless_look_for_prologue(FI)
-
-/* Where is the PC for a specific frame */
-
-#define FRAME_SAVED_PC(FRAME) frame_saved_pc (FRAME)
-CORE_ADDR frame_saved_pc ();
-
-/* If the argument is on the stack, it will be here. */
-#define FRAME_ARGS_ADDRESS(fi) ((fi)->frame)
-
-#define FRAME_STRUCT_ARGS_ADDRESS(fi) ((fi)->frame)
-
-#define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame)
-
-/* Set VAL to the number of args passed to frame described by FI.
- Can set VAL to -1, meaning no way to tell. */
-
-/* We can't tell how many args there are
- now that the C compiler delays popping them. */
-#define FRAME_NUM_ARGS(val,fi) (val = -1)
-
-/* Return number of bytes at start of arglist that are not really args. */
-
-#define FRAME_ARGS_SKIP 68
-
-/* Put here the code to store, into a struct frame_saved_regs,
- the addresses of the saved registers of frame described by FRAME_INFO.
- The actual code is in sparc-tdep.c so we can debug it sanely. */
-
-#define FRAME_FIND_SAVED_REGS(fi, frame_saved_regs) \
- sparc_frame_find_saved_regs ((fi), &(frame_saved_regs))
-extern void sparc_frame_find_saved_regs ();
-
-/* Things needed for making the inferior call functions. */
-/*
- * First of all, let me give my opinion of what the DUMMY_FRAME
- * actually looks like.
- *
- * | |
- * | |
- * + - - - - - - - - - - - - - - - - +<-- fp (level 0)
- * | |
- * | |
- * | |
- * | |
- * | Frame of innermost program |
- * | function |
- * | |
- * | |
- * | |
- * | |
- * | |
- * |---------------------------------|<-- sp (level 0), fp (c)
- * | |
- * DUMMY | fp0-31 |
- * | |
- * | ------ |<-- fp - 0x80
- * FRAME | g0-7 |<-- fp - 0xa0
- * | i0-7 |<-- fp - 0xc0
- * | other |<-- fp - 0xe0
- * | ? |
- * | ? |
- * |---------------------------------|<-- sp' = fp - 0x140
- * | |
- * xcution start | |
- * sp' + 0x94 -->| CALL_DUMMY (x code) |
- * | |
- * | |
- * |---------------------------------|<-- sp'' = fp - 0x200
- * | align sp to 8 byte boundary |
- * | ==> args to fn <== |
- * Room for | |
- * i & l's + agg | CALL_DUMMY_STACK_ADJUST = 0x0x44|
- * |---------------------------------|<-- final sp (variable)
- * | |
- * | Where function called will |
- * | build frame. |
- * | |
- * | |
- *
- * I understand everything in this picture except what the space
- * between fp - 0xe0 and fp - 0x140 is used for. Oh, and I don't
- * understand why there's a large chunk of CALL_DUMMY that never gets
- * executed (its function is superceeded by PUSH_DUMMY_FRAME; they
- * are designed to do the same thing).
- *
- * PUSH_DUMMY_FRAME saves the registers above sp' and pushes the
- * register file stack down one.
- *
- * call_function then writes CALL_DUMMY, pushes the args onto the
- * stack, and adjusts the stack pointer.
- *
- * run_stack_dummy then starts execution (in the middle of
- * CALL_DUMMY, as directed by call_function).
- */
-
-/* Push an empty stack frame, to record the current PC, etc. */
-
-#define PUSH_DUMMY_FRAME sparc_push_dummy_frame ()
-#define POP_FRAME sparc_pop_frame ()
-
-void sparc_push_dummy_frame (), sparc_pop_frame ();
-/* This sequence of words is the instructions
-
- save %sp,-0x140,%sp
- std %f30,[%fp-0x08]
- std %f28,[%fp-0x10]
- std %f26,[%fp-0x18]
- std %f24,[%fp-0x20]
- std %f22,[%fp-0x28]
- std %f20,[%fp-0x30]
- std %f18,[%fp-0x38]
- std %f16,[%fp-0x40]
- std %f14,[%fp-0x48]
- std %f12,[%fp-0x50]
- std %f10,[%fp-0x58]
- std %f8,[%fp-0x60]
- std %f6,[%fp-0x68]
- std %f4,[%fp-0x70]
- std %f2,[%fp-0x78]
- std %f0,[%fp-0x80]
- std %g6,[%fp-0x88]
- std %g4,[%fp-0x90]
- std %g2,[%fp-0x98]
- std %g0,[%fp-0xa0]
- std %i6,[%fp-0xa8]
- std %i4,[%fp-0xb0]
- std %i2,[%fp-0xb8]
- std %i0,[%fp-0xc0]
- nop ! stcsr [%fp-0xc4]
- nop ! stfsr [%fp-0xc8]
- nop ! wr %npc,[%fp-0xcc]
- nop ! wr %pc,[%fp-0xd0]
- rd %tbr,%o0
- st %o0,[%fp-0xd4]
- rd %wim,%o1
- st %o0,[%fp-0xd8]
- rd %psr,%o0
- st %o0,[%fp-0xdc]
- rd %y,%o0
- st %o0,[%fp-0xe0]
-
- /..* The arguments are pushed at this point by GDB;
- no code is needed in the dummy for this.
- The CALL_DUMMY_START_OFFSET gives the position of
- the following ld instruction. *../
-
- ld [%sp+0x58],%o5
- ld [%sp+0x54],%o4
- ld [%sp+0x50],%o3
- ld [%sp+0x4c],%o2
- ld [%sp+0x48],%o1
- call 0x00000000
- ld [%sp+0x44],%o0
- nop
- ta 1
- nop
-
- note that this is 192 bytes, which is a multiple of 8 (not only 4) bytes.
- note that the `call' insn is a relative, not an absolute call.
- note that the `nop' at the end is needed to keep the trap from
- clobbering things (if NPC pointed to garbage instead).
-
-We actually start executing at the `sethi', since the pushing of the
-registers (as arguments) is done by PUSH_DUMMY_FRAME. If this were
-real code, the arguments for the function called by the CALL would be
-pushed between the list of ST insns and the CALL, and we could allow
-it to execute through. But the arguments have to be pushed by GDB
-after the PUSH_DUMMY_FRAME is done, and we cannot allow these ST
-insns to be performed again, lest the registers saved be taken for
-arguments. */
-
-#define CALL_DUMMY { 0x9de3bee0, 0xfd3fbff8, 0xf93fbff0, 0xf53fbfe8, \
- 0xf13fbfe0, 0xed3fbfd8, 0xe93fbfd0, 0xe53fbfc8, \
- 0xe13fbfc0, 0xdd3fbfb8, 0xd93fbfb0, 0xd53fbfa8, \
- 0xd13fbfa0, 0xcd3fbf98, 0xc93fbf90, 0xc53fbf88, \
- 0xc13fbf80, 0xcc3fbf78, 0xc83fbf70, 0xc43fbf68, \
- 0xc03fbf60, 0xfc3fbf58, 0xf83fbf50, 0xf43fbf48, \
- 0xf03fbf40, 0x01000000, 0x01000000, 0x01000000, \
- 0x01000000, 0x91580000, 0xd027bf50, 0x93500000, \
- 0xd027bf4c, 0x91480000, 0xd027bf48, 0x91400000, \
- 0xd027bf44, 0xda03a058, 0xd803a054, 0xd603a050, \
- 0xd403a04c, 0xd203a048, 0x40000000, 0xd003a044, \
- 0x01000000, 0x91d02001, 0x01000000, 0x01000000}
-
-#define CALL_DUMMY_LENGTH 192
-
-#define CALL_DUMMY_START_OFFSET 148
-
-#define CALL_DUMMY_STACK_ADJUST 68
-
-/* Insert the specified number of args and function address
- into a call sequence of the above form stored at DUMMYNAME.
-
- For structs and unions, if the function was compiled with Sun cc,
- it expects 'unimp' after the call. But gcc doesn't use that
- (twisted) convention. So leave a nop there for gcc (FIX_CALL_DUMMY
- can assume it is operating on a pristine CALL_DUMMY, not one that
- has already been customized for a different function). */
-
-#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p) \
-{ \
- *(int *)((char *) dummyname+168) = (0x40000000|((fun-(pc+168))>>2)); \
- if (!gcc_p \
- && (TYPE_CODE (type) == TYPE_CODE_STRUCT \
- || TYPE_CODE (type) == TYPE_CODE_UNION)) \
- *(int *)((char *) dummyname+176) = (TYPE_LENGTH (type) & 0x1fff); \
-}
-
-
-/* Sparc has no reliable single step ptrace call */
-
-#define NO_SINGLE_STEP 1
-extern void single_step ();
-
-/* We need more arguments in a frame specification for the
- "frame" or "info frame" command. */
-
-#define SETUP_ARBITRARY_FRAME(argc, argv) setup_arbitrary_frame (argc, argv)
-/* FIXME: Depends on equivalence between FRAME and "struct frame_info *",
- and equivalence between CORE_ADDR and FRAME_ADDR. */
-extern struct frame_info *setup_arbitrary_frame PARAMS ((int, CORE_ADDR *));
-
-/* To print every pair of float registers as a double, we use this hook. */
-
-#define PRINT_REGISTER_HOOK(regno) \
- if (((regno) >= FP0_REGNUM) \
- && ((regno) < FP0_REGNUM + 32) \
- && (0 == (regno & 1))) { \
- char doublereg[8]; /* two float regs */ \
- if (!read_relative_register_raw_bytes (i , doublereg ) \
- && !read_relative_register_raw_bytes (i+1, doublereg+4)) { \
- printf("\t"); \
- print_floating (doublereg, builtin_type_double, stdout); \
- } \
- }
-
-/* Optimization for storing registers to the inferior. The hook
- DO_DEFERRED_STORES
- actually executes any deferred stores. It is called any time
- we are going to proceed the child, or read its registers.
- The hook CLEAR_DEFERRED_STORES is called when we want to throw
- away the inferior process, e.g. when it dies or we kill it.
- FIXME, this does not handle remote debugging cleanly. */
-
-extern int deferred_stores;
-#define DO_DEFERRED_STORES \
- if (deferred_stores) \
- target_store_registers (-2);
-#define CLEAR_DEFERRED_STORES \
- deferred_stores = 0;
diff --git a/gdb/tm-spc-em.h b/gdb/tm-spc-em.h
index 4b888e0..e69de29 100644
--- a/gdb/tm-spc-em.h
+++ b/gdb/tm-spc-em.h
@@ -1,46 +0,0 @@
-/* Target machine definitions for GDB for an embedded SPARC.
- Copyright 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#include "tm-sparc.h"
-
-/* Offsets into jmp_buf. Not defined by Sun, but at least documented in a
- comment in <machine/setjmp.h>! */
-
-#define JB_ELEMENT_SIZE 4 /* Size of each element in jmp_buf */
-
-#define JB_ONSSTACK 0
-#define JB_SIGMASK 1
-#define JB_SP 2
-#define JB_PC 3
-#define JB_NPC 4
-#define JB_PSR 5
-#define JB_G1 6
-#define JB_O0 7
-#define JB_WBCNT 8
-
-/* Figure out where the longjmp will land. We expect that we have just entered
- longjmp and haven't yet setup the stack frame, so the args are still in the
- output regs. %o0 (O0_REGNUM) points at the jmp_buf structure from which we
- extract the pc (JB_PC) that we will land at. The pc is copied into ADDR.
- This routine returns true on success */
-
-extern int
-get_longjmp_target PARAMS ((CORE_ADDR *));
-
-#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR)
diff --git a/gdb/tm-st2000.h b/gdb/tm-st2000.h
index c32c08f..e69de29 100644
--- a/gdb/tm-st2000.h
+++ b/gdb/tm-st2000.h
@@ -1,22 +0,0 @@
-/* Parameters for a Tandem ST2000 phone switch.
- Copyright (C) 1986, 1987, 1989, 199 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. */
-
-#define HAVE_68881 /* GDB won't compile without this */
-
-#include "tm-68k.h"
diff --git a/gdb/tm-stratus.h b/gdb/tm-stratus.h
index a2c5ef8..e69de29 100644
--- a/gdb/tm-stratus.h
+++ b/gdb/tm-stratus.h
@@ -1,27 +0,0 @@
-/* Macro definitions for GDB targeting a Stratus i860 machine.
- Copyright (C) 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* Normally, i860 is little endian. However, stratus uses the i860 in
- big endian mode. */
-#define TARGET_BYTE_ORDER BIG_ENDIAN
-
-#define USG
-
-#include "tm-sysv4.h"
-#include "tm-i860.h"
diff --git a/gdb/tm-sun2.h b/gdb/tm-sun2.h
deleted file mode 100644
index 84b8cc8..0000000
--- a/gdb/tm-sun2.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Parameters for execution on a Sun, for GDB, the GNU debugger.
- Copyright (C) 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* Address of the end of stack space. We get this from the system
- include files. */
-
-#include <sys/types.h>
-#include <machine/vmparam.h>
-#define STACK_END_ADDR USRSTACK
-
-#include "tm-68k.h"
diff --git a/gdb/tm-sun2os4.h b/gdb/tm-sun2os4.h
deleted file mode 100644
index 236ee5c..0000000
--- a/gdb/tm-sun2os4.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright (C) 1990, 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. */
-
-#include "tm-sun2.h"
-#include "tm-sunos.h"
diff --git a/gdb/tm-sun3.h b/gdb/tm-sun3.h
deleted file mode 100644
index 875eeba..0000000
--- a/gdb/tm-sun3.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Parameters for execution on a Sun, for GDB, the GNU debugger.
- Copyright (C) 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define HAVE_68881
-
-/* Let native-versus-cross support code know we are targeting sun3,
- and modify registers to include sun3 fpustate register. */
-
-#define GDB_TARGET_IS_SUN3 1
-
-#include "tm-68k.h"
-
-/* Offsets (in target ints) into jmp_buf. Not defined by Sun, but at least
- documented in a comment in <machine/setjmp.h>! */
-
-#define JB_ELEMENT_SIZE 4
-
-#define JB_ONSSTACK 0
-#define JB_SIGMASK 1
-#define JB_SP 2
-#define JB_PC 3
-#define JB_PSL 4
-#define JB_D2 5
-#define JB_D3 6
-#define JB_D4 7
-#define JB_D5 8
-#define JB_D6 9
-#define JB_D7 10
-#define JB_A2 11
-#define JB_A3 12
-#define JB_A4 13
-#define JB_A5 14
-#define JB_A6 15
-
-/* Figure out where the longjmp will land. Slurp the args out of the stack.
- We expect the first arg to be a pointer to the jmp_buf structure from which
- we extract the pc (JB_PC) that we will land at. The pc is copied into ADDR.
- This routine returns true on success */
-
-#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR)
-
-#undef SAVED_PC_AFTER_CALL
-
-#ifdef __STDC__
-struct frame_info;
-#endif
-
-extern CORE_ADDR m68k_saved_pc_after_call PARAMS ((struct frame_info *));
-
-#define SAVED_PC_AFTER_CALL(frame) \
- m68k_saved_pc_after_call(frame)
diff --git a/gdb/tm-sun386.h b/gdb/tm-sun386.h
deleted file mode 100644
index 28fec6a..0000000
--- a/gdb/tm-sun386.h
+++ /dev/null
@@ -1,315 +0,0 @@
-/* Parameters for a Sun 386i target machine, for GDB, the GNU debugger.
- Copyright 1986, 1987, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define TARGET_BYTE_ORDER LITTLE_ENDIAN
-
-#ifndef sun386
-#define sun386
-#endif
-#define GDB_TARGET_IS_SUN386 1
-#define SUNOS4
-#define USE_MACHINE_REG_H
-
-/* Perhaps some day this will work even without the following #define */
-#define COFF_ENCAPSULATE
-
-#ifdef COFF_ENCAPSULATE
-/* Avoid conflicts between our include files and <sys/exec.h>
- (maybe not needed anymore). */
-#define _EXEC_
-#endif
-
-/* sun386 ptrace seems unable to change the frame pointer */
-#define PTRACE_FP_BUG
-
-/* 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. */
-
-#define SKIP_PROLOGUE(frompc) {(frompc) = i386_skip_prologue((frompc));}
-
-extern int
-i386_skip_prologue PARAMS ((int));
-
-/* 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) \
- (read_memory_integer (read_register (SP_REGNUM), 4))
-
-/* Address of end of stack space. */
-
-#define STACK_END_ADDR 0xfc000000
-
-/* Stack grows downward. */
-
-#define INNER_THAN <
-
-/* Sequence of bytes for breakpoint instruction. */
-
-#define BREAKPOINT {0xcc}
-
-/* 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 1
-
-/* Nonzero if instruction at PC is a return instruction. */
-
-#define ABOUT_TO_RETURN(pc) (read_memory_integer (pc, 1) == 0xc3)
-
-/* Return 1 if P points to an invalid floating point value.
- LEN is the length in bytes -- not relevant on the 386. */
-
-#define INVALID_FLOAT(p, len) (0)
-
-/* Largest integer type */
-#define LONGEST long
-
-/* Name of the builtin type for the LONGEST type above. */
-#define BUILTIN_TYPE_LONGEST builtin_type_long
-
-/* Say how long (ordinary) registers are. */
-
-#define REGISTER_TYPE long
-
-/* Number of machine registers */
-
-#define NUM_REGS 35
-
-/* Initializer for an array of names of registers.
- There should be NUM_REGS strings in this initializer. */
-
-/* the order of the first 8 registers must match the compiler's
- * numbering scheme (which is the same as the 386 scheme)
- * also, this table must match regmap in i386-pinsn.c.
- */
-#define REGISTER_NAMES { "gs", "fs", "es", "ds", \
- "edi", "esi", "ebp", "esp", \
- "ebx", "edx", "ecx", "eax", \
- "retaddr", "trapnum", "errcode", "ip", \
- "cs", "ps", "sp", "ss", \
- "fst0", "fst1", "fst2", "fst3", \
- "fst4", "fst5", "fst6", "fst7", \
- "fctrl", "fstat", "ftag", "fip", \
- "fcs", "fopoff", "fopsel" \
- }
-
-/* 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 FP_REGNUM 6 /* Contains address of executing stack frame */
-#define SP_REGNUM 18 /* Contains address of top of stack */
-#define PS_REGNUM 17 /* Contains processor status */
-#define PC_REGNUM 15 /* Contains program counter */
-#define FP0_REGNUM 20 /* Floating point register 0 */
-#define FPC_REGNUM 28 /* 80387 control register */
-
-/* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'. */
-#define REGISTER_BYTES (20*4+8*10+7*4)
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-
-#define REGISTER_BYTE(N) \
- ((N) >= FPC_REGNUM ? (((N) - FPC_REGNUM) * 4) + 160 \
- : (N) >= FP0_REGNUM ? (((N) - FP0_REGNUM) * 10) + 80 \
- : (N) * 4)
-
-/* Number of bytes of storage in the actual machine representation
- for register N. */
-
-#define REGISTER_RAW_SIZE(N) (((unsigned)((N) - FP0_REGNUM)) < 8 ? 10 : 4)
-
-/* Number of bytes of storage in the program's representation
- for register N. */
-
-#define REGISTER_VIRTUAL_SIZE(N) (((unsigned)((N) - FP0_REGNUM)) < 8 ? 8 : 4)
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 10
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 8
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) (((unsigned)((N) - FP0_REGNUM)) < 8)
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
-{ if ((REGNUM) >= FP0_REGNUM && (REGNUM) < FPC_REGNUM) \
- i387_to_double ((FROM), (TO)); \
- else \
- bcopy ((FROM), (TO), 4); }
-
-extern void
-i387_to_double PARAMS ((char *, char *));
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
-{ if ((REGNUM) >= FP0_REGNUM && (REGNUM) < FPC_REGNUM) \
- double_to_i387 ((FROM), (TO)); \
- else \
- bcopy ((FROM), (TO), 4); }
-
-extern void
-double_to_i387 PARAMS ((char *, char *));
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-#define REGISTER_VIRTUAL_TYPE(N) \
- (((unsigned)((N) - FP0_REGNUM)) < 8 ? builtin_type_double : builtin_type_int)
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-
-#define STORE_STRUCT_RETURN(ADDR, SP) \
- { (SP) -= sizeof (ADDR); \
- write_memory ((SP), &(ADDR), sizeof (ADDR)); }
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- bcopy (REGBUF + REGISTER_BYTE (TYPE_CODE (TYPE) == TYPE_CODE_FLT ? FP0_REGNUM : 11), VALBUF, TYPE_LENGTH (TYPE))
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- write_register_bytes (REGISTER_BYTE (TYPE_CODE (TYPE) == TYPE_CODE_FLT ? FP0_REGNUM : 11), VALBUF, TYPE_LENGTH (TYPE))
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(int *)(REGBUF))
-
-/* 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. */
-
-#define FRAME_CHAIN(thisframe) \
- (!inside_entry_file ((thisframe)->pc) ? \
- read_memory_integer ((thisframe)->frame, 4) :\
- 0)
-
-/* Define other aspects of the stack frame. */
-
-/* A macro that tells us whether the function invocation represented
- by FI does not have a frame on the stack associated with it. If it
- does not, FRAMELESS is set to 1, else 0. */
-#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) \
-{ (FRAMELESS) = frameless_look_for_prologue (FI); }
-
-#define FRAME_SAVED_PC(FRAME) (read_memory_integer ((FRAME)->frame + 4, 4))
-
-#define FRAME_ARGS_ADDRESS(fi) ((fi)->frame)
-
-#define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame)
-
-/* Return number of args passed to a frame.
- Can return -1, meaning no way to tell. */
-
-#define FRAME_NUM_ARGS(numargs, fi) (numargs) = i386_frame_num_args(fi)
-
-#ifdef __STDC__ /* Forward decl's for prototypes */
-struct frame_info;
-struct frame_saved_regs;
-#endif
-
-extern int
-i386_frame_num_args PARAMS ((struct frame_info *));
-
-/* Return number of bytes at start of arglist that are not really args. */
-
-#define FRAME_ARGS_SKIP 8
-
-/* 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. */
-
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
-{ i386_frame_find_saved_regs ((frame_info), &(frame_saved_regs)); }
-
-extern void
-i386_frame_find_saved_regs PARAMS ((struct frame_info *,
- struct frame_saved_regs *));
-
-
-/* Things needed for making the inferior call functions. */
-
-/* Push an empty stack frame, to record the current PC, etc. */
-
-#define PUSH_DUMMY_FRAME { i386_push_dummy_frame (); }
-
-extern void
-i386_push_dummy_frame PARAMS ((void));
-
-/* Discard from the stack the innermost frame, restoring all registers. */
-
-#define POP_FRAME { i386_pop_frame (); }
-
-extern void
-i386_pop_frame PARAMS ((void));
-
-/* this is
- * call 11223344 (32 bit relative)
- * int3
- */
-
-#define CALL_DUMMY { 0x223344e8, 0xcc11 }
-
-#define CALL_DUMMY_LENGTH 8
-
-#define CALL_DUMMY_START_OFFSET 0 /* Start execution at beginning of dummy */
-
-/* Insert the specified number of args and function address
- into a call sequence of the above form stored at DUMMYNAME. */
-
-#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p) \
-{ \
- *(int *)((char *)(dummyname) + 1) = (int)(fun) - (pc) - 5; \
-}
diff --git a/gdb/tm-sun3os4.h b/gdb/tm-sun3os4.h
deleted file mode 100644
index 4b41b38..0000000
--- a/gdb/tm-sun3os4.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Target machine parameters for Sun-3 under SunOS 4.x, for GDB.
- Copyright (C) 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#include "tm-sun3.h"
-#include "tm-sunos.h"
diff --git a/gdb/tm-sun4os4.h b/gdb/tm-sun4os4.h
deleted file mode 100644
index 9115d05..0000000
--- a/gdb/tm-sun4os4.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Macro definitions for GDB for a Sun 4 running sunos 4.
- Copyright 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#include "tm-sparc.h"
-#include "tm-sunos.h"
-
-/* Offsets into jmp_buf. Not defined by Sun, but at least documented in a
- comment in <machine/setjmp.h>! */
-
-#define JB_ELEMENT_SIZE 4 /* Size of each element in jmp_buf */
-
-#define JB_ONSSTACK 0
-#define JB_SIGMASK 1
-#define JB_SP 2
-#define JB_PC 3
-#define JB_NPC 4
-#define JB_PSR 5
-#define JB_G1 6
-#define JB_O0 7
-#define JB_WBCNT 8
-
-/* Figure out where the longjmp will land. We expect that we have just entered
- longjmp and haven't yet setup the stack frame, so the args are still in the
- output regs. %o0 (O0_REGNUM) points at the jmp_buf structure from which we
- extract the pc (JB_PC) that we will land at. The pc is copied into ADDR.
- This routine returns true on success */
-
-extern int
-get_longjmp_target PARAMS ((CORE_ADDR *));
-
-#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR)
diff --git a/gdb/tm-sun4sol2.h b/gdb/tm-sun4sol2.h
index 5d6da56..e69de29 100644
--- a/gdb/tm-sun4sol2.h
+++ b/gdb/tm-sun4sol2.h
@@ -1,67 +0,0 @@
-/* Macro definitions for GDB for a Sun 4 running Solaris 2
- Copyright 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#include "tm-sparc.h"
-#include "tm-sysv4.h"
-
-/* The values of N_SLINE, N_LBRAC, N_RBRAC symbols in .stab sections are
- relative to the current function, rather than being absolute or
- relative to the current N_SO. */
-
-#define BLOCK_ADDRESS_FUNCTION_RELATIVE
-
-/* Variables in the debug stabs occur after the N_LBRAC, not before it,
- in code generated by Sun C. */
-
-#define VARIABLES_INSIDE_BLOCK(desc, gcc_p) (!(gcc_p))
-
-/* There's no need to correct LBRAC entries by guessing how they should
- work. In fact, this is harmful because the LBRAC entries now all appear
- at the end of the function, not intermixed with the SLINE entries. */
-
-#define SUN_FIXED_LBRAC_BUG
-
-#if 0 /* FIXME Setjmp/longjmp are not as well doc'd in SunOS 5.x yet */
-
-/* Offsets into jmp_buf. Not defined by Sun, but at least documented in a
- comment in <machine/setjmp.h>! */
-
-#define JB_ELEMENT_SIZE 4 /* Size of each element in jmp_buf */
-
-#define JB_ONSSTACK 0
-#define JB_SIGMASK 1
-#define JB_SP 2
-#define JB_PC 3
-#define JB_NPC 4
-#define JB_PSR 5
-#define JB_G1 6
-#define JB_O0 7
-#define JB_WBCNT 8
-
-/* Figure out where the longjmp will land. We expect that we have just entered
- longjmp and haven't yet setup the stack frame, so the args are still in the
- output regs. %o0 (O0_REGNUM) points at the jmp_buf structure from which we
- extract the pc (JB_PC) that we will land at. The pc is copied into ADDR.
- This routine returns true on success */
-
-extern int
-get_longjmp_target PARAMS ((CORE_ADDR *));
-
-#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR)
-#endif /* 0 */
diff --git a/gdb/tm-sunos.h b/gdb/tm-sunos.h
deleted file mode 100644
index 2559efc..0000000
--- a/gdb/tm-sunos.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Target machine sub-description for SunOS version 4.
- This is included by other tm-*.h files to specify SunOS-specific stuff.
- Copyright 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#include "solib.h" /* Support for shared libraries. */
diff --git a/gdb/tm-symmetry.h b/gdb/tm-symmetry.h
deleted file mode 100644
index 465e645..0000000
--- a/gdb/tm-symmetry.h
+++ /dev/null
@@ -1,401 +0,0 @@
-/* Target machine definitions for GDB on a Sequent Symmetry under dynix 3.0,
- with Weitek 1167 and i387 support.
- Copyright 1986, 1987, 1989, 1991, 1992, 1993 Free Software Foundation, Inc.
- Symmetry version by Jay Vosburgh (uunet!sequent!fubar).
-
-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. */
-
-/* I don't know if this will work for cross-debugging, even if you do get
- a copy of the right include file. */
-#include <machine/reg.h>
-
-#define TARGET_BYTE_ORDER LITTLE_ENDIAN
-
-/* 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. From m-i386.h */
-
-#define SKIP_PROLOGUE(frompc) {(frompc) = i386_skip_prologue((frompc));}
-
-extern int
-i386_skip_prologue PARAMS ((int));
-
-/* 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) \
- read_memory_integer(read_register(SP_REGNUM), 4)
-
-/* I don't know the real values for these. */
-#define TARGET_UPAGES UPAGES
-#define TARGET_NBPG NBPG
-
-/* Address of end of stack space. */
-
-#define STACK_END_ADDR (0x40000000 - (TARGET_UPAGES * TARGET_NBPG))
-
-/* Stack grows downward. */
-
-#define INNER_THAN <
-
-/* Sequence of bytes for breakpoint instruction. */
-
-#define BREAKPOINT {0xcc}
-
-/* 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
-
-/* Nonzero if instruction at PC is a return instruction. */
-/* For Symmetry, this is really the 'leave' instruction, which */
-/* is right before the ret */
-
-#define ABOUT_TO_RETURN(pc) (read_memory_integer (pc, 1) == 0xc9)
-
-/* Return 1 if P points to an invalid floating point value.
-*/
-
-#define INVALID_FLOAT(p, len) (0)
-
-#if 0
- --- this code can't be used unless we know we are running native,
- since it uses host specific ptrace calls.
-/* code for 80387 fpu. Functions are from i386-dep.c, copied into
- * symm-dep.c.
- */
-#define FLOAT_INFO { i386_float_info(); }
-#endif
-
-/* Say how long (ordinary) registers are. */
-
-#define REGISTER_TYPE long
-
-/* Number of machine registers */
-#define NUM_REGS 49
-
-/* Initializer for an array of names of registers.
- There should be NUM_REGS strings in this initializer. */
-
-/* Symmetry registers are in this weird order to match the register
- numbers in the symbol table entries. If you change the order,
- things will probably break mysteriously for no apparent reason.
- Also note that the st(0)...st(7) 387 registers are represented as
- st0...st7. */
-
-#define REGISTER_NAMES { "eax", "edx", "ecx", "st0", "st1", \
- "ebx", "esi", "edi", "st2", "st3", \
- "st4", "st5", "st6", "st7", "esp", \
- "ebp", "eip", "eflags", "fp1", "fp2", \
- "fp3", "fp4", "fp5", "fp6", "fp7", \
- "fp8", "fp9", "fp10", "fp11", "fp12", \
- "fp13", "fp14", "fp15", "fp16", "fp17", \
- "fp18", "fp19", "fp20", "fp21", "fp22", \
- "fp23", "fp24", "fp25", "fp26", "fp27", \
- "fp28", "fp29", "fp30", "fp31" }
-
-/* 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 FP1_REGNUM 18 /* first 1167 register */
-#define SP_REGNUM 14 /* Contains address of top of stack */
-#define FP_REGNUM 15 /* Contains address of executing stack frame */
-#define PC_REGNUM 16 /* Contains program counter */
-#define PS_REGNUM 17 /* Contains processor status */
-
-/* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'. */
-/* 10 i386 registers, 8 i387 registers, and 31 Weitek 1167 registers */
-#define REGISTER_BYTES ((10 * 4) + (8 * 10) + (31 * 4))
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-
-#define REGISTER_BYTE(N) \
-((N < 3) ? (N * 4) : \
-(N < 5) ? (((N - 2) * 10) + 2) : \
-(N < 8) ? (((N - 5) * 4) + 32) : \
-(N < 14) ? (((N - 8) * 10) + 44) : \
- (((N - 14) * 4) + 104))
-
-/* Number of bytes of storage in the actual machine representation
- * for register N. All registers are 4 bytes, except 387 st(0) - st(7),
- * which are 80 bits each.
- */
-
-#define REGISTER_RAW_SIZE(N) \
-((N < 3) ? 4 : \
-(N < 5) ? 10 : \
-(N < 8) ? 4 : \
-(N < 14) ? 10 : \
- 4)
-
-/* Number of bytes of storage in the program's representation
- for register N. On the vax, all regs are 4 bytes. */
-
-#define REGISTER_VIRTUAL_SIZE(N) 4
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 10
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 4
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) \
-((N < 3) ? 0 : \
-(N < 5) ? 1 : \
-(N < 8) ? 0 : \
-(N < 14) ? 1 : \
- 0)
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
-((REGNUM < 3) ? bcopy ((FROM), (TO), 4) : \
-(REGNUM < 5) ? i387_to_double((FROM), (TO)) : \
-(REGNUM < 8) ? bcopy ((FROM), (TO), 4) : \
-(REGNUM < 14) ? i387_to_double((FROM), (TO)) : \
- bcopy ((FROM), (TO), 4))
-
-extern void
-i387_to_double PARAMS ((char *, char *));
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
-((REGNUM < 3) ? bcopy ((FROM), (TO), 4) : \
-(REGNUM < 5) ? double_to_i387((FROM), (TO)) : \
-(REGNUM < 8) ? bcopy ((FROM), (TO), 4) : \
-(REGNUM < 14) ? double_to_i387((FROM), (TO)) : \
- bcopy ((FROM), (TO), 4))
-
-extern void
-double_to_i387 PARAMS ((char *, char *));
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-#define REGISTER_VIRTUAL_TYPE(N) \
-((N < 3) ? builtin_type_int : \
-(N < 5) ? builtin_type_double : \
-(N < 8) ? builtin_type_int : \
-(N < 14) ? builtin_type_double : \
- builtin_type_int)
-
-/* from m-i386.h */
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-
-#define STORE_STRUCT_RETURN(ADDR, SP) \
- { (SP) -= sizeof (ADDR); \
- write_memory ((SP), &(ADDR), sizeof (ADDR)); \
- write_register(0, (ADDR)); }
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- symmetry_extract_return_value(TYPE, REGBUF, VALBUF)
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- write_register_bytes (0, VALBUF, TYPE_LENGTH (TYPE))
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(int *)(REGBUF))
-
-
-/* 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. */
-
-/* On Symmetry, %ebp points to caller's %ebp, and the return address
- is right on top of that. */
-
-#define FRAME_CHAIN(thisframe) \
- (!inside_entry_file ((thisframe)->pc) ? \
- read_memory_integer((thisframe)->frame, 4) :\
- 0)
-
-#define FRAME_CHAIN_VALID(chain, thisframe) \
- (chain != 0)
-
-/* Define other aspects of the stack frame. */
-
-/* A macro that tells us whether the function invocation represented
- by FI does not have a frame on the stack associated with it. If it
- does not, FRAMELESS is set to 1, else 0. */
-#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) \
- (FRAMELESS) = frameless_look_for_prologue(FI)
-
-#define FRAME_SAVED_PC(fi) (read_memory_integer((fi)->frame + 4, 4))
-
-#define FRAME_ARGS_ADDRESS(fi) ((fi)->frame)
-
-#define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame)
-
-/* Return number of args passed to a frame.
- Can return -1, meaning no way to tell.
-
- The weirdness in the "addl $imm8" case is due to gcc sometimes
- issuing "addl $-int" after function call returns; this would
- produce ridiculously huge arg counts. */
-
-#define FRAME_NUM_ARGS(numargs, fi) \
-{ \
- int op = read_memory_integer(FRAME_SAVED_PC((fi)), 4); \
- int narg; \
- if ((op & 0xff) == 0x59) /* 0x59 'popl %ecx' */ \
- { \
- numargs = 1; \
- } \
- else if ((op & 0xffff) == 0xc483) /* 0xc483 'addl $imm8' */ \
- { \
- narg = ((op >> 16) & 0xff); \
- numargs = (narg >= 128) ? -1 : narg / 4; \
- } \
- else if ((op & 0xffff) == 0xc481) /* 0xc481 'addl $imm32' */ \
- { \
- narg = read_memory_integer(FRAME_SAVED_PC((fi))+2,4); \
- numargs = (narg < 0) ? -1 : narg / 4; \
- } \
- else \
- { \
- numargs = -1; \
- } \
-}
-
-/* Return number of bytes at start of arglist that are not really args. */
-
-#define FRAME_ARGS_SKIP 8
-
-/* 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. */
-
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
-{ i386_frame_find_saved_regs ((frame_info), &(frame_saved_regs)); }
-
-#ifdef __STDC__ /* Forward decl's for prototypes */
-struct frame_info;
-struct frame_saved_regs;
-#endif
-
-extern void
-i386_frame_find_saved_regs PARAMS ((struct frame_info *,
- struct frame_saved_regs *));
-
-
-/* Things needed for making the inferior call functions. */
-
-#define PUSH_DUMMY_FRAME \
-{ CORE_ADDR sp = read_register (SP_REGNUM); \
- int regnum; \
- sp = push_word (sp, read_register (PC_REGNUM)); \
- sp = push_word (sp, read_register (FP_REGNUM)); \
- write_register (FP_REGNUM, sp); \
- for (regnum = 0; regnum < NUM_REGS; regnum++) \
- sp = push_word (sp, read_register (regnum)); \
- write_register (SP_REGNUM, sp); \
-}
-
-#define POP_FRAME \
-{ \
- FRAME frame = get_current_frame (); \
- CORE_ADDR fp; \
- int regnum; \
- struct frame_saved_regs fsr; \
- struct frame_info *fi; \
- fi = get_frame_info (frame); \
- fp = fi->frame; \
- get_frame_saved_regs (fi, &fsr); \
- for (regnum = 0; regnum < NUM_REGS; regnum++) { \
- CORE_ADDR adr; \
- adr = fsr.regs[regnum]; \
- if (adr) \
- write_register (regnum, read_memory_integer (adr, 4)); \
- } \
- write_register (FP_REGNUM, read_memory_integer (fp, 4)); \
- write_register (PC_REGNUM, read_memory_integer (fp + 4, 4)); \
- write_register (SP_REGNUM, fp + 8); \
- flush_cached_frames (); \
- set_current_frame ( create_new_frame (read_register (FP_REGNUM), \
- read_pc ())); \
-}
-
-/* from i386-dep.c, worked better than my original... */
-/* This sequence of words is the instructions
- * call (32-bit offset)
- * int 3
- * This is 6 bytes.
- */
-
-#define CALL_DUMMY { 0x223344e8, 0xcc11 }
-
-#define CALL_DUMMY_LENGTH 8
-
-#define CALL_DUMMY_START_OFFSET 0 /* Start execution at beginning of dummy */
-
-/* Insert the specified number of args and function address
- into a call sequence of the above form stored at DUMMYNAME. */
-
-#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p) \
-{ \
- int from, to, delta, loc; \
- loc = (int)(read_register (SP_REGNUM) - CALL_DUMMY_LENGTH); \
- from = loc + 5; \
- to = (int)(fun); \
- delta = to - from; \
- *(int *)((char *)(dummyname) + 1) = delta; \
-}
-
-extern void
-print_387_control_word PARAMS ((unsigned int));
-
-extern void
-print_387_status_word PARAMS ((unsigned int));
diff --git a/gdb/tm-sysv4.h b/gdb/tm-sysv4.h
index f63d174..e69de29 100644
--- a/gdb/tm-sysv4.h
+++ b/gdb/tm-sysv4.h
@@ -1,45 +0,0 @@
-/* Macro definitions for GDB on all SVR4 target systems.
- Copyright 1991, 1992, 1993 Free Software Foundation, Inc.
- Written by Fred Fish at Cygnus Support (fnf@cygnus.com).
-
-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. */
-
-#include "solib.h" /* Support for shared libraries. */
-
-/* For SVR4 shared libraries, each call to a library routine goes through
- a small piece of trampoline code in the ".init" section. Although each
- of these fragments is labeled with the name of the routine being called,
- the gdb symbol reading code deliberately ignores them so it won't confuse
- them with the real functions. It does however know about the label that
- precedes all of the fragments, which is "_init". Thus when we lookup a
- function that corresponds to a PC value which is in one of the trampoline
- fragments, we'll appear to be in the function "_init". The following
- macro will evaluate to nonzero when NAME is valid and matches "_init".
- The horribly ugly wait_for_inferior() routine uses this macro to detect
- when we have stepped into one of these fragments. */
-
-#define IN_SOLIB_TRAMPOLINE(pc,name) ((name) && (STREQ ("_init", name)))
-
-/* It is unknown which, if any, SVR4 assemblers do not accept dollar signs
- in identifiers. The default in G++ is to use dots instead, for all SVR4
- systems, so we make that our default also. FIXME: There should be some
- way to get G++ to tell us what CPLUS_MARKER it is using, perhaps by
- stashing it in the debugging information as part of the name of an
- invented symbol ("gcc_cplus_marker$" for example). */
-
-#undef CPLUS_MARKER
-#define CPLUS_MARKER '.'
diff --git a/gdb/tm-tahoe.h b/gdb/tm-tahoe.h
deleted file mode 100644
index df6de14..0000000
--- a/gdb/tm-tahoe.h
+++ /dev/null
@@ -1,309 +0,0 @@
-/* Definitions to make GDB target for a tahoe running 4.3-Reno.
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/*
- * Ported by the State University of New York at Buffalo by the Distributed
- * Computer Systems Lab, Department of Computer Science, 1991.
- */
-
-#define TARGET_BYTE_ORDER BIG_ENDIAN
-#define BITS_BIG_ENDIAN 0
-
-/* Offset from address of function to start of its code.
- Zero on most machines. */
-
-#define FUNCTION_START_OFFSET 2
-
-/* Advance PC across any function entry prologue instructions
- to reach some "real" code. */
-
-#define SKIP_PROLOGUE(pc) \
-{ register int op = (unsigned char) read_memory_integer (pc, 1); \
- if (op == 0x11) pc += 2; /* skip brb */ \
- if (op == 0x13) pc += 3; /* skip brw */ \
- if (op == 0x2c && \
- ((unsigned char) read_memory_integer (pc+2, 1)) == 0x5e) \
- pc += 3; /* skip subl2 */ \
- if (op == 0xe9 && \
- ((unsigned char) read_memory_integer (pc+1, 1)) == 0xae && \
- ((unsigned char) read_memory_integer(pc+3, 1)) == 0x5e) \
- pc += 4; /* skip movab */ \
- if (op == 0xe9 && \
- ((unsigned char) read_memory_integer (pc+1, 1)) == 0xce && \
- ((unsigned char) read_memory_integer(pc+4, 1)) == 0x5e) \
- pc += 5; /* skip movab */ \
- if (op == 0xe9 && \
- ((unsigned char) read_memory_integer (pc+1, 1)) == 0xee && \
- ((unsigned char) read_memory_integer(pc+6, 1)) == 0x5e) \
- pc += 7; /* skip movab */ \
-}
-
-/* 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) FRAME_SAVED_PC(frame)
-
-/* Wrong for cross-debugging. I don't know the real values. */
-#include <machine/param.h>
-#define TARGET_UPAGES UPAGES
-#define TARGET_NBPG NBPG
-
-/* Address of end of stack space. */
-
-#define STACK_END_ADDR (0xc0000000 - (TARGET_UPAGES * TARGET_NBPG))
-
-/* On BSD, sigtramp is in the u area. Can't check the exact
- addresses because for cross-debugging we don't have target include
- files around. This should be close enough. */
-#define IN_SIGTRAMP(pc, name) ((pc) >= STACK_END_ADDR && (pc < 0xc0000000))
-
-/* Stack grows downward. */
-
-#define INNER_THAN <
-
-/* Sequence of bytes for breakpoint instruction. */
-
-#define BREAKPOINT {0x30}
-
-/* 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
-
-/* Nonzero if instruction at PC is a return instruction. */
-
-#define ABOUT_TO_RETURN(pc) (read_memory_integer (pc, 1) == 0x40)
-
-/* Return 1 if P points to an invalid floating point value.
- LEN is the length in bytes -- not relevant on the Tahoe. */
-
-#define INVALID_FLOAT(p, len) ((*(short *) p & 0xff80) == 0x8000)
-
-/* Say how long (ordinary) registers are. */
-
-#define REGISTER_TYPE long
-
-/* Number of machine registers */
-
-#define NUM_REGS 19
-
-/* 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", "fp", "sp", "pc", "ps", "al", "ah"}
-
-#define FP_REGNUM 13 /* Contains address of executing stack frame */
-#define SP_REGNUM 14 /* Contains address of top of stack */
-#define PC_REGNUM 15 /* Contains program counter */
-#define PS_REGNUM 16 /* Contains processor status */
-
-#define AL_REGNUM 17 /* Contains accumulator */
-#define AH_REGNUM 18
-
-/* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'. */
-
-#define REGISTER_BYTES (19*4)
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-
-#define REGISTER_BYTE(N) ((N) * 4)
-
-/* Number of bytes of storage in the actual machine representation
- for register N. On the tahoe, all regs are 4 bytes. */
-
-#define REGISTER_RAW_SIZE(N) 4
-
-/* Number of bytes of storage in the program's representation
- for register N. On the tahoe, all regs are 4 bytes. */
-
-#define REGISTER_VIRTUAL_SIZE(N) 4
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 4
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 4
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) 0
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), 4);
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), 4);
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-#define REGISTER_VIRTUAL_TYPE(N) builtin_type_int
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-
-#define STORE_STRUCT_RETURN(ADDR, SP) \
- { write_register (1, (ADDR)); }
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- bcopy (REGBUF, VALBUF, TYPE_LENGTH (TYPE))
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- write_register_bytes (0, VALBUF, TYPE_LENGTH (TYPE))
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(int *)(REGBUF))
-
-/* 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. */
-
-/* In the case of the Tahoe, the frame's nominal address is the FP value,
- and it points to the old FP */
-
-#define FRAME_CHAIN(thisframe) \
- (!inside_entry_file ((thisframe)->pc) ? \
- read_memory_integer ((thisframe)->frame, 4) :\
- 0)
-
-/* Define other aspects of the stack frame. */
-
-/* Saved PC */
-
-#define FRAME_SAVED_PC(FRAME) (read_memory_integer ((FRAME)->frame - 8, 4))
-
-/* In most of GDB, getting the args address is too important to
- just say "I don't know". */
-
-#define FRAME_ARGS_ADDRESS(fi) ((fi)->frame)
-
-/* Address to use as an anchor for finding local variables */
-
-#define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame)
-
-/* Return number of args passed to a frame.
- Can return -1, meaning no way to tell. */
-
-#define FRAME_NUM_ARGS(numargs, fi) \
-{ numargs = ((0xffff & read_memory_integer(((fi)->frame-4),4)) - 4) >> 2; }
-
-/* 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. */
-
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
-{ register int regnum; \
- register int rmask = read_memory_integer ((frame_info)->frame-4, 4) >> 16;\
- register CORE_ADDR next_addr; \
- bzero (&frame_saved_regs, sizeof frame_saved_regs); \
- next_addr = (frame_info)->frame - 8; \
- for (regnum = 12; regnum >= 0; regnum--, rmask <<= 1) \
- (frame_saved_regs).regs[regnum] = (rmask & 0x1000) ? (next_addr -= 4) : 0;\
- (frame_saved_regs).regs[SP_REGNUM] = (frame_info)->frame + 4; \
- (frame_saved_regs).regs[PC_REGNUM] = (frame_info)->frame - 8; \
- (frame_saved_regs).regs[FP_REGNUM] = (frame_info)->frame; \
-}
-
-/* Things needed for making the inferior call functions. */
-
-/* Push an empty stack frame, to record the current PC, etc. */
-
-#define PUSH_DUMMY_FRAME \
-{ register CORE_ADDR sp = read_register (SP_REGNUM); \
- register int regnum; \
-printf("PUSH_DUMMY_FRAME\n"); \
- sp = push_word (sp, read_register (FP_REGNUM)); \
- write_register (FP_REGNUM, sp); \
- sp = push_word (sp, 0x1fff0004); /*SAVE MASK*/ \
- sp = push_word (sp, read_register (PC_REGNUM)); \
- for (regnum = 12; regnum >= 0; regnum--) \
- sp = push_word (sp, read_register (regnum)); \
- write_register (SP_REGNUM, sp); \
-}
-
-/* Discard from the stack the innermost frame, restoring all registers. */
-
-#define POP_FRAME \
-{ register CORE_ADDR fp = read_register (FP_REGNUM); \
- register int regnum; \
- register int regmask = read_memory_integer (fp-4, 4); \
-printf("POP_FRAME\n"); \
- regmask >>= 16; \
- write_register (SP_REGNUM, fp+4); \
- write_register (PC_REGNUM, read_memory_integer(fp-8, 4)); \
- write_register (FP_REGNUM, read_memory_integer(fp, 4)); \
- fp -= 8; \
- for (regnum = 12; regnum >= 0; regnum--, regmask <<= 1) \
- if (regmask & 0x1000) \
- write_register (regnum, read_memory_integer (fp-=4, 4)); \
- flush_cached_frames (); \
- set_current_frame (create_new_frame (read_register (FP_REGNUM), \
- read_pc ())); }
-
-/* This sequence of words is the instructions
- calls #69, @#32323232
- bpt
- Note this is 8 bytes. */
-
-#define CALL_DUMMY {0xbf699f32, 0x32323230}
-
-/* Start execution at beginning of dummy */
-
-#define CALL_DUMMY_START_OFFSET 0
-
-/* Insert the specified number of args and function address
- into a call sequence of the above form stored at DUMMYNAME. */
-
-#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, valtype, using_gcc) \
-{ int temp = (int) fun; \
- *((char *) dummyname + 1) = nargs; \
- bcopy(&temp,(char *)dummyname+3,4); }
-
diff --git a/gdb/tm-ultra3.h b/gdb/tm-ultra3.h
index 7103144..e69de29 100644
--- a/gdb/tm-ultra3.h
+++ b/gdb/tm-ultra3.h
@@ -1,226 +0,0 @@
-/* Parameters for NYU Ultracomputer 29000 target, for GDB, the GNU debugger.
- Copyright 1990, 1991 Free Software Foundation, Inc.
- Contributed by David Wood @ New York University (wood@nyu.edu).
-
-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. */
-
-/* This file includes tm-29k.h, but predefines REGISTER_NAMES and
- related macros. The file supports a 29k running our flavor of
- Unix on our Ultra3 PE Boards. */
-
-/* Byte order is configurable, but this machine runs big-endian. */
-#define TARGET_BYTE_ORDER BIG_ENDIAN
-
-/* Initializer for an array of names of registers.
- There should be NUM_REGS strings in this initializer.
- */
-#define NUM_REGS (EXO_REGNUM + 1)
-
-#define REGISTER_NAMES { \
- "gr1", \
- "gr64", "gr65", "gr66", "gr67", "gr68", "gr69", "gr70", "gr71", "gr72", \
- "gr73", "gr74", "gr75", "gr76", "gr77", "gr78", "gr79", "gr80", "gr81", \
- "gr82", "gr83", "gr84", "gr85", "gr86", "gr87", "gr88", "gr89", "gr90", \
- "gr91", "gr92", "gr93", "gr94", "gr95", \
- "gr96", "gr97", "gr98", "gr99", "gr100", "gr101", "gr102", "gr103", "gr104", \
- "gr105", "gr106", "gr107", "gr108", "gr109", "gr110", "gr111", "gr112", \
- "gr113", "gr114", "gr115", "gr116", "gr117", "gr118", "gr119", "gr120", \
- "gr121", "gr122", "gr123", "gr124", "gr125", "gr126", "gr127", \
- "lr0", "lr1", "lr2", "lr3", "lr4", "lr5", "lr6", "lr7", "lr8", "lr9", \
- "lr10", "lr11", "lr12", "lr13", "lr14", "lr15", "lr16", "lr17", "lr18", \
- "lr19", "lr20", "lr21", "lr22", "lr23", "lr24", "lr25", "lr26", "lr27", \
- "lr28", "lr29", "lr30", "lr31", "lr32", "lr33", "lr34", "lr35", "lr36", \
- "lr37", "lr38", "lr39", "lr40", "lr41", "lr42", "lr43", "lr44", "lr45", \
- "lr46", "lr47", "lr48", "lr49", "lr50", "lr51", "lr52", "lr53", "lr54", \
- "lr55", "lr56", "lr57", "lr58", "lr59", "lr60", "lr61", "lr62", "lr63", \
- "lr64", "lr65", "lr66", "lr67", "lr68", "lr69", "lr70", "lr71", "lr72", \
- "lr73", "lr74", "lr75", "lr76", "lr77", "lr78", "lr79", "lr80", "lr81", \
- "lr82", "lr83", "lr84", "lr85", "lr86", "lr87", "lr88", "lr89", "lr90", \
- "lr91", "lr92", "lr93", "lr94", "lr95", "lr96", "lr97", "lr98", "lr99", \
- "lr100", "lr101", "lr102", "lr103", "lr104", "lr105", "lr106", "lr107", \
- "lr108", "lr109", "lr110", "lr111", "lr112", "lr113", "lr114", "lr115", \
- "lr116", "lr117", "lr118", "lr119", "lr120", "lr121", "lr122", "lr123", \
- "lr124", "lr125", "lr126", "lr127", \
- "vab", "ops", "cps", "cfg", "cha", "chd", "chc", "rbp", "tmc", "tmr", \
- "pc0", "pc1", "pc2", "mmu", "lru", \
- "ipc", "ipa", "ipb", "q", "alu", "bp", "fc", "cr", \
- "fpe", "int", "fps", "exo" }
-
-
-#ifdef KERNEL_DEBUGGING
-# define PADDR_U_REGNUM 22 /* gr86 */
-# define RETURN_REGNUM GR64_REGNUM
-#else
-# define RETURN_REGNUM GR96_REGNUM
-#endif /* KERNEL_DEBUGGING */
-
-
-/* Should rename all GR96_REGNUM to RETURN_REGNUM */
-#define GR1_REGNUM (0)
-#define GR64_REGNUM 1
-#define GR96_REGNUM (GR64_REGNUM + 32)
-/* This needs to be the memory stack pointer, not the register stack pointer,
- to make call_function work right. */
-#define SP_REGNUM MSP_REGNUM
-
-#define FP_REGNUM (LR0_REGNUM + 1) /* lr1 */
-/* Large Return Pointer */
-#define LRP_REGNUM (123 - 96 + RETURN_REGNUM)
-/* Static link pointer */
-#define SLP_REGNUM (124 - 96 + RETURN_REGNUM)
-/* Memory Stack Pointer. */
-#define MSP_REGNUM (125 - 96 + RETURN_REGNUM)
-/* Register allocate bound. */
-#define RAB_REGNUM (126 - 96 + RETURN_REGNUM)
-/* Register Free Bound. */
-#define RFB_REGNUM (127 - 96 + RETURN_REGNUM)
-/* Register Stack Pointer. */
-#define RSP_REGNUM GR1_REGNUM
-#define LR0_REGNUM ( 32 + GR96_REGNUM)
-
-/* Protected Special registers */
-#define VAB_REGNUM (LR0_REGNUM + 128)
-#define OPS_REGNUM (VAB_REGNUM + 1)
-#define CPS_REGNUM (VAB_REGNUM + 2)
-#define CFG_REGNUM (VAB_REGNUM + 3)
-#define CHA_REGNUM (VAB_REGNUM + 4)
-#define CHD_REGNUM (VAB_REGNUM + 5)
-#define CHC_REGNUM (VAB_REGNUM + 6)
-#define RBP_REGNUM (VAB_REGNUM + 7)
-#define TMC_REGNUM (VAB_REGNUM + 8)
-#define TMR_REGNUM (VAB_REGNUM + 9)
-#define NPC_REGNUM (VAB_REGNUM + 10) /* pc0 */
-#define PC_REGNUM (VAB_REGNUM + 11) /* pc1 */
-#define PC2_REGNUM (VAB_REGNUM + 12) /* pc2 */
-#define MMU_REGNUM (VAB_REGNUM + 13)
-#define LRU_REGNUM (VAB_REGNUM + 14)
- /* Register sequence gap */
-/* Unprotected Special registers */
-#define IPC_REGNUM (LRU_REGNUM + 1)
-#define IPA_REGNUM (IPC_REGNUM + 1)
-#define IPB_REGNUM (IPC_REGNUM + 2)
-#define Q_REGNUM (IPC_REGNUM + 3)
-#define ALU_REGNUM (IPC_REGNUM + 4)
-#define PS_REGNUM ALU_REGNUM
-#define BP_REGNUM (IPC_REGNUM + 5)
-#define FC_REGNUM (IPC_REGNUM + 6)
-#define CR_REGNUM (IPC_REGNUM + 7)
- /* Register sequence gap */
-#define FPE_REGNUM (CR_REGNUM + 1)
-#define INT_REGNUM (FPE_REGNUM + 1)
-#define FPS_REGNUM (FPE_REGNUM + 2)
- /* Register sequence gap */
-#define EXO_REGNUM (FPS_REGNUM + 1)
-
-/* Special register #x. */
-#define SR_REGNUM(x) \
- ((x) < 15 ? VAB_REGNUM + (x) \
- : (x) >= 128 && (x) < 136 ? IPC_REGNUM + (x-128) \
- : (x) >= 160 && (x) < 163 ? FPE_REGNUM + (x-160) \
- : (x) == 164 ? EXO_REGNUM \
- : (error ("Internal error in SR_REGNUM"), 0))
-
-#ifndef KERNEL_DEBUGGING
-/*
- * This macro defines the register numbers (from REGISTER_NAMES) that
- * are effectively unavailable to the user through ptrace(). It allows
- * us to include the whole register set in REGISTER_NAMES (inorder to
- * better support remote debugging). If it is used in
- * fetch/store_inferior_registers() gdb will not complain about I/O errors
- * on fetching these registers. If all registers in REGISTER_NAMES
- * are available, then return false (0).
- */
-#define CANNOT_STORE_REGISTER(regno) \
- (((regno)>=GR64_REGNUM && (regno)<GR64_REGNUM+32) || \
- ((regno)==VAB_REGNUM) || \
- ((regno)==OPS_REGNUM) || \
- ((regno)>=CFG_REGNUM && (regno)<=TMR_REGNUM) || \
- ((regno)==MMU_REGNUM) || \
- ((regno)==LRU_REGNUM) || \
- ((regno)>=ALU_REGNUM) || \
- ((regno)==CR_REGNUM) || \
- ((regno)==EXO_REGNUM))
-#define CANNOT_FETCH_REGISTER(regno) CANNOT_STORE_REGISTER(regno)
-#endif /* KERNEL_DEBUGGING */
-
-/*
- * Converts an sdb register number to an internal gdb register number.
- * Currently under gcc, gr96->0...gr128->31...lr0->32...lr127->159, or...
- * gr64->0...gr95->31, lr0->32...lr127->159.
- */
-#define SDB_REG_TO_REGNUM(value) (((value)<32) ? ((value)+RETURN_REGNUM) : \
- ((value)-32+LR0_REGNUM))
-
-#ifdef KERNEL_DEBUGGING
- /* ublock virtual address as defined in our sys/param.h */
- /* FIXME: Should get this from sys/param.h */
-# define UVADDR ((32*0x100000)-8192)
-#endif
-
-/*
- * Are we in sigtramp(), needed in infrun.c. Specific to ultra3, because
- * we take off the leading '_'.
- */
-#if !defined(KERNEL_DEBUGGING)
-#ifdef SYM1
-# define IN_SIGTRAMP(pc, name) (name && STREQ ("sigtramp", name))
-#else
- Need to define IN_SIGTRAMP() for sym2.
-#endif
-#endif /* !KERNEL_DEBUGGING */
-
-#include "tm-29k.h"
-
-/**** The following are definitions that override those in tm-29k.h ****/
-
-/* This sequence of words is the instructions
- mtsrim cr, 15
- loadm 0, 0, lr2, msp ; load first 16 words of arguments into registers
- add msp, msp, 16 * 4 ; point to the remaining arguments
- CONST_INSN:
- const gr96,inf
- consth gr96,inf
- calli lr0, gr96
- aseq 0x40,gr1,gr1 ; nop
- asneq 0x50,gr1,gr1 ; breakpoint
- When KERNEL_DEBUGGIN is defined, msp -> gr93, gr96 -> gr64,
- 7d -> 5d, 60 -> 40
- */
-
-/* Position of the "const" instruction within CALL_DUMMY in bytes. */
-#undef CALL_DUMMY
-#if TARGET_BYTE_ORDER == HOST_BYTE_ORDER
-#ifdef KERNEL_DEBUGGING /* gr96 -> gr64 */
-# define CALL_DUMMY {0x0400870f, 0x3600825d, 0x155d5d40, 0x03ff40ff, \
- 0x02ff40ff, 0xc8008040, 0x70400101, 0x72500101}
-#else
-# define CALL_DUMMY {0x0400870f, 0x3600827d, 0x157d7d40, 0x03ff60ff, \
- 0x02ff60ff, 0xc8008060, 0x70400101, 0x72500101}
-#endif /* KERNEL_DEBUGGING */
-#else /* Byte order differs. */
- you lose
-#endif /* Byte order differs. */
-
-#if !defined(KERNEL_DEBUGGING)
-# ifdef SYM1
-# undef DECR_PC_AFTER_BREAK
-# define DECR_PC_AFTER_BREAK 0 /* Sym1 kernel does the decrement */
-# else
- ->"ULTRA3 running other than sym1 OS"!;
-# endif
-#endif /* !KERNEL_DEBUGGING */
-
diff --git a/gdb/tm-umax.h b/gdb/tm-umax.h
deleted file mode 100644
index 3ec6852..0000000
--- a/gdb/tm-umax.h
+++ /dev/null
@@ -1,383 +0,0 @@
-/* Definitions to make GDB run on an encore under umax 4.2
- Copyright 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define TARGET_BYTE_ORDER LITTLE_ENDIAN
-
-/* Need to get function ends by adding this to epilogue address from .bf
- record, not using x_fsize field. */
-#define FUNCTION_EPILOGUE_SIZE 4
-
-/* 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. */
-
-#define SKIP_PROLOGUE(pc) \
-{ register unsigned char op = read_memory_integer (pc, 1); \
- if (op == 0x82) { op = read_memory_integer (pc+2,1); \
- if ((op & 0x80) == 0) pc += 3; \
- else if ((op & 0xc0) == 0x80) pc += 4; \
- else pc += 6; \
- } \
-}
-
-/* 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) \
- read_memory_integer (read_register (SP_REGNUM), 4)
-
-/* Address of end of stack space. */
-
-#define STACK_END_ADDR (0xfffff000)
-
-/* Stack grows downward. */
-
-#define INNER_THAN <
-
-/* Sequence of bytes for breakpoint instruction. */
-
-#define BREAKPOINT {0xf2}
-
-/* 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
-
-/* Nonzero if instruction at PC is a return instruction. */
-
-#define ABOUT_TO_RETURN(pc) (read_memory_integer (pc, 1) == 0x12)
-
-#ifndef NaN
-#include <nan.h>
-#endif NaN
-
-/* Return 1 if P points to an invalid floating point value. */
-/* Surely wrong for cross-debugging. */
-#define INVALID_FLOAT(p, s) \
- ((s == sizeof (float))? \
- NaF (*(float *) p) : \
- NaD (*(double *) p))
-
-/* Say how long (ordinary) registers are. */
-
-#define REGISTER_TYPE long
-
-/* Number of machine registers */
-
-#define NUM_REGS 25
-
-#define NUM_GENERAL_REGS 8
-
-/* 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", \
- "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \
- "sp", "fp", "pc", "ps", \
- "fsr", \
- "l0", "l1", "l2", "l3", "xx", \
- }
-
-/* 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 /* General register 0 */
-#define FP0_REGNUM 8 /* Floating point register 0 */
-#define SP_REGNUM 16 /* Contains address of top of stack */
-#define AP_REGNUM FP_REGNUM
-#define FP_REGNUM 17 /* Contains address of executing stack frame */
-#define PC_REGNUM 18 /* Contains program counter */
-#define PS_REGNUM 19 /* Contains processor status */
-#define FPS_REGNUM 20 /* Floating point status register */
-#define LP0_REGNUM 21 /* Double register 0 (same as FP0) */
-
-/* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'. */
-#define REGISTER_BYTES \
- ((NUM_REGS - 4) * REGISTER_RAW_SIZE(R0_REGNUM) \
- + 4 * REGISTER_RAW_SIZE(LP0_REGNUM))
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-
-#define REGISTER_BYTE(N) ((N) >= LP0_REGNUM ? \
- LP0_REGNUM * 4 + ((N) - LP0_REGNUM) * 8 : (N) * 4)
-
-/* Number of bytes of storage in the actual machine representation
- for register N. On the 32000, all regs are 4 bytes
- except for the doubled floating registers. */
-
-#define REGISTER_RAW_SIZE(N) ((N) >= LP0_REGNUM ? 8 : 4)
-
-/* Number of bytes of storage in the program's representation
- for register N. On the 32000, all regs are 4 bytes
- except for the doubled floating registers. */
-
-#define REGISTER_VIRTUAL_SIZE(N) ((N) >= LP0_REGNUM ? 8 : 4)
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 8
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 8
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) 0
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), REGISTER_VIRTUAL_SIZE(REGNUM));
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), REGISTER_VIRTUAL_SIZE(REGNUM));
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-#define REGISTER_VIRTUAL_TYPE(N) \
- (((N) < FP0_REGNUM) ? \
- builtin_type_int : \
- ((N) < FP0_REGNUM + 8) ? \
- builtin_type_float : \
- ((N) < LP0_REGNUM) ? \
- builtin_type_int : \
- builtin_type_double)
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function.
-
- On this machine this is a no-op, because gcc isn't used on it
- yet. So this calling convention is not used. */
-
-#define STORE_STRUCT_RETURN(ADDR, SP)
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- bcopy (REGBUF+REGISTER_BYTE (TYPE_CODE (TYPE) == TYPE_CODE_FLT ? FP0_REGNUM : 0), VALBUF, TYPE_LENGTH (TYPE))
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- write_register_bytes (REGISTER_BYTE (TYPE_CODE (TYPE) == TYPE_CODE_FLT ? FP0_REGNUM : 0), VALBUF, TYPE_LENGTH (TYPE))
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(int *)(REGBUF))
-
-/* 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. */
-
-/* In the case of the ns32000 series, the frame's nominal address is the FP
- value, and at that address is saved previous FP value as a 4-byte word. */
-
-#define FRAME_CHAIN(thisframe) \
- (!inside_entry_file ((thisframe)->pc) ? \
- read_memory_integer ((thisframe)->frame, 4) :\
- 0)
-
-/* Define other aspects of the stack frame. */
-
-#define FRAME_SAVED_PC(FRAME) (read_memory_integer ((FRAME)->frame + 4, 4))
-
-/* Compute base of arguments. */
-
-#define FRAME_ARGS_ADDRESS(fi) \
- ((ns32k_get_enter_addr ((fi)->pc) > 1) ? \
- ((fi)->frame) : (read_register (SP_REGNUM) - 4))
-
-#define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame)
-
-/* Get the address of the enter opcode for this function, if it is active.
- Returns positive address > 1 if pc is between enter/exit,
- 1 if pc before enter or after exit, 0 otherwise. */
-
-extern CORE_ADDR ns32k_get_enter_addr ();
-
-/* Return number of args passed to a frame.
- Can return -1, meaning no way to tell.
- Encore's C compiler often reuses same area on stack for args,
- so this will often not work properly. If the arg names
- are known, it's likely most of them will be printed. */
-
-#define FRAME_NUM_ARGS(numargs, fi) \
-{ CORE_ADDR pc; \
- CORE_ADDR enter_addr; \
- unsigned int insn; \
- unsigned int addr_mode; \
- int width; \
- \
- numargs = -1; \
- enter_addr = ns32k_get_enter_addr ((fi)->pc); \
- if (enter_addr > 0) \
- { \
- pc = (enter_addr == 1) ? \
- SAVED_PC_AFTER_CALL (fi) : \
- FRAME_SAVED_PC (fi); \
- insn = read_memory_integer (pc,2); \
- addr_mode = (insn >> 11) & 0x1f; \
- insn = insn & 0x7ff; \
- if ((insn & 0x7fc) == 0x57c && \
- addr_mode == 0x14) /* immediate */ \
- { \
- if (insn == 0x57c) /* adjspb */ \
- width = 1; \
- else if (insn == 0x57d) /* adjspw */ \
- width = 2; \
- else if (insn == 0x57f) /* adjspd */ \
- width = 4; \
- numargs = read_memory_integer (pc+2,width); \
- if (width > 1) \
- flip_bytes (&numargs, width); \
- numargs = - sign_extend (numargs, width*8) / 4;\
- } \
- } \
-}
-
-/* Return number of bytes at start of arglist that are not really args. */
-
-#define FRAME_ARGS_SKIP 8
-
-/* 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. */
-
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
-{ \
- register int regmask, regnum; \
- int localcount; \
- register CORE_ADDR enter_addr; \
- register CORE_ADDR next_addr; \
- \
- bzero (&(frame_saved_regs), sizeof (frame_saved_regs)); \
- enter_addr = ns32k_get_enter_addr ((frame_info)->pc); \
- if (enter_addr > 1) \
- { \
- regmask = read_memory_integer (enter_addr+1, 1) & 0xff; \
- localcount = ns32k_localcount (enter_addr); \
- next_addr = (frame_info)->frame + localcount; \
- for (regnum = 0; regnum < 8; regnum++, regmask >>= 1) \
- (frame_saved_regs).regs[regnum] = (regmask & 1) ? \
- (next_addr -= 4) : 0; \
- (frame_saved_regs).regs[SP_REGNUM] = (frame_info)->frame + 4;\
- (frame_saved_regs).regs[PC_REGNUM] = (frame_info)->frame + 4;\
- (frame_saved_regs).regs[FP_REGNUM] = \
- (read_memory_integer ((frame_info)->frame, 4));\
- } \
- else if (enter_addr == 1) \
- { \
- CORE_ADDR sp = read_register (SP_REGNUM); \
- (frame_saved_regs).regs[PC_REGNUM] = sp; \
- (frame_saved_regs).regs[SP_REGNUM] = sp + 4; \
- } \
-}
-
-/* Things needed for making the inferior call functions. */
-
-/* Push an empty stack frame, to record the current PC, etc. */
-
-#define PUSH_DUMMY_FRAME \
-{ register CORE_ADDR sp = read_register (SP_REGNUM);\
- register int regnum; \
- sp = push_word (sp, read_register (PC_REGNUM)); \
- sp = push_word (sp, read_register (FP_REGNUM)); \
- write_register (FP_REGNUM, sp); \
- for (regnum = 0; regnum < 8; regnum++) \
- sp = push_word (sp, read_register (regnum)); \
- write_register (SP_REGNUM, sp); \
-}
-
-/* Discard from the stack the innermost frame, restoring all registers. */
-
-#define POP_FRAME \
-{ register FRAME frame = get_current_frame (); \
- register CORE_ADDR fp; \
- register int regnum; \
- struct frame_saved_regs fsr; \
- struct frame_info *fi; \
- fi = get_frame_info (frame); \
- fp = fi->frame; \
- get_frame_saved_regs (fi, &fsr); \
- for (regnum = 0; regnum < 8; regnum++) \
- if (fsr.regs[regnum]) \
- write_register (regnum, read_memory_integer (fsr.regs[regnum], 4)); \
- write_register (FP_REGNUM, read_memory_integer (fp, 4)); \
- write_register (PC_REGNUM, read_memory_integer (fp + 4, 4)); \
- write_register (SP_REGNUM, fp + 8); \
- flush_cached_frames (); \
- set_current_frame (create_new_frame (read_register (FP_REGNUM),\
- read_pc ())); }
-
-/* This sequence of words is the instructions
- enter 0xff,0 82 ff 00
- jsr @0x00010203 7f ae c0 01 02 03
- adjspd 0x69696969 7f a5 01 02 03 04
- bpt f2
- Note this is 16 bytes. */
-
-#define CALL_DUMMY { 0x7f00ff82, 0x0201c0ae, 0x01a57f03, 0xf2040302 }
-
-#define CALL_DUMMY_START_OFFSET 3
-#define CALL_DUMMY_LENGTH 16
-#define CALL_DUMMY_ADDR 5
-#define CALL_DUMMY_NARGS 11
-
-/* Insert the specified number of args and function address
- into a call sequence of the above form stored at DUMMYNAME. */
-
-#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p) \
-{ \
- int flipped; \
- flipped = fun | 0xc0000000; \
- flip_bytes (&flipped, 4); \
- *((int *) (((char *) dummyname)+CALL_DUMMY_ADDR)) = flipped; \
- flipped = - nargs * 4; \
- flip_bytes (&flipped, 4); \
- *((int *) (((char *) dummyname)+CALL_DUMMY_NARGS)) = flipped; \
-}
diff --git a/gdb/tm-vax.h b/gdb/tm-vax.h
deleted file mode 100644
index 8631e04..0000000
--- a/gdb/tm-vax.h
+++ /dev/null
@@ -1,356 +0,0 @@
-/* Definitions to make GDB run on a vax under 4.2bsd.
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* There is one known bug with VAX support that I don't know how to
- fix: if you do a backtrace from a signal handler, you get something
- like:
-#0 0xbc in kill (592, 3)
-#1 0x7f in hand (...) (...)
-#2 0x7fffec7e in ?? (2, 0, 2147478112, 94)
- ^^ GDB doesn't know about sigtramp
-#3 0x7fffec70 in ?? (592, 2)
- ^^^^^^^^^^ wrong address
-#4 0xae in main (...) (...)
-
-when the correct backtrace (as given by adb) is:
-_kill(250,3) from _hand+21
-_hand(2,0,7fffea60,5e) from 7fffec7e
-sigtramp(2,0,7fffea60,5e) from _kill+4
-_kill(250,2) from _main+2e
-_main(1,7fffeac4,7fffeacc) from start+3d
-
-If anyone knows enough about VAX BSD to fix this, please send the
-fix to bug-gdb@prep.ai.mit.edu. */
-
-#define TARGET_BYTE_ORDER LITTLE_ENDIAN
-
-/* Offset from address of function to start of its code.
- Zero on most machines. */
-
-#define FUNCTION_START_OFFSET 2
-
-/* Advance PC across any function entry prologue instructions
- to reach some "real" code. */
-
-#define SKIP_PROLOGUE(pc) \
-{ register int op = (unsigned char) read_memory_integer (pc, 1); \
- if (op == 0x11) pc += 2; /* skip brb */ \
- if (op == 0x31) pc += 3; /* skip brw */ \
- if (op == 0xC2 && \
- ((unsigned char) read_memory_integer (pc+2, 1)) == 0x5E) \
- pc += 3; /* skip subl2 */ \
- if (op == 0x9E && \
- ((unsigned char) read_memory_integer (pc+1, 1)) == 0xAE && \
- ((unsigned char) read_memory_integer(pc+3, 1)) == 0x5E) \
- pc += 4; /* skip movab */ \
- if (op == 0x9E && \
- ((unsigned char) read_memory_integer (pc+1, 1)) == 0xCE && \
- ((unsigned char) read_memory_integer(pc+4, 1)) == 0x5E) \
- pc += 5; /* skip movab */ \
- if (op == 0x9E && \
- ((unsigned char) read_memory_integer (pc+1, 1)) == 0xEE && \
- ((unsigned char) read_memory_integer(pc+6, 1)) == 0x5E) \
- pc += 7; /* skip movab */ \
-}
-
-/* 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) FRAME_SAVED_PC(frame)
-
-#define TARGET_UPAGES 10
-#define TARGET_NBPG 512
-#define STACK_END_ADDR (0x80000000 - (TARGET_UPAGES * TARGET_NBPG))
-
-/* On the VAX, sigtramp is in the u area. Can't check the exact
- addresses because for cross-debugging we don't have VAX include
- files around. This should be close enough. */
-#define IN_SIGTRAMP(pc, name) ((pc) >= STACK_END_ADDR && (pc < 0x80000000))
-
-/* Stack grows downward. */
-
-#define INNER_THAN <
-
-/* Sequence of bytes for breakpoint instruction. */
-
-#define BREAKPOINT {3}
-
-/* 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
-
-/* Nonzero if instruction at PC is a return instruction. */
-
-#define ABOUT_TO_RETURN(pc) (read_memory_integer (pc, 1) == 04)
-
-/* Return 1 if P points to an invalid floating point value.
- LEN is the length in bytes -- not relevant on the Vax. */
-
-#define INVALID_FLOAT(p, len) ((*(short *) p & 0xff80) == 0x8000)
-
-/* Say how long (ordinary) registers are. */
-
-#define REGISTER_TYPE long
-
-/* Number of machine registers */
-
-#define NUM_REGS 17
-
-/* 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", "ap", "fp", "sp", "pc", "ps"}
-
-/* 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 AP_REGNUM 12
-#define FP_REGNUM 13 /* Contains address of executing stack frame */
-#define SP_REGNUM 14 /* Contains address of top of stack */
-#define PC_REGNUM 15 /* Contains program counter */
-#define PS_REGNUM 16 /* Contains processor status */
-
-/* Total amount of space needed to store our copies of the machine's
- register state, the array `registers'. */
-#define REGISTER_BYTES (17*4)
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-
-#define REGISTER_BYTE(N) ((N) * 4)
-
-/* Number of bytes of storage in the actual machine representation
- for register N. On the vax, all regs are 4 bytes. */
-
-#define REGISTER_RAW_SIZE(N) 4
-
-/* Number of bytes of storage in the program's representation
- for register N. On the vax, all regs are 4 bytes. */
-
-#define REGISTER_VIRTUAL_SIZE(N) 4
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 4
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 4
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) 0
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), 4);
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
- bcopy ((FROM), (TO), 4);
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-#define REGISTER_VIRTUAL_TYPE(N) builtin_type_int
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-
-#define STORE_STRUCT_RETURN(ADDR, SP) \
- { write_register (1, (ADDR)); }
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. */
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- bcopy (REGBUF, VALBUF, TYPE_LENGTH (TYPE))
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- write_register_bytes (0, VALBUF, TYPE_LENGTH (TYPE))
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(int *)(REGBUF))
-
-
-/* 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. */
-
-/* In the case of the Vax, the frame's nominal address is the FP value,
- and 12 bytes later comes the saved previous FP value as a 4-byte word. */
-
-#define FRAME_CHAIN(thisframe) \
- (!inside_entry_file ((thisframe)->pc) ? \
- read_memory_integer ((thisframe)->frame + 12, 4) :\
- 0)
-
-/* Define other aspects of the stack frame. */
-
-/* A macro that tells us whether the function invocation represented
- by FI does not have a frame on the stack associated with it. If it
- does not, FRAMELESS is set to 1, else 0. */
-/* On the vax, all functions have frames. */
-#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) {(FRAMELESS) = 0;}
-
-/* Saved Pc. */
-
-#define FRAME_SAVED_PC(FRAME) (read_memory_integer ((FRAME)->frame + 16, 4))
-
-/* Cannot find the AP register value directly from the FP value. Must
- find it saved in the frame called by this one, or in the AP
- register for the innermost frame. However, there is no way to tell
- the difference between the innermost frame and a frame for which we
- just don't know the frame that it called (e.g. "info frame
- 0x7ffec789"). For the sake of argument suppose that the stack is
- somewhat trashed (which is one reason that "info frame" exists).
- So return 0 (indicating we don't know the address of
- the arglist) if we don't know what frame this frame calls. */
-#define FRAME_ARGS_ADDRESS_CORRECT(fi) \
- (((fi)->next_frame \
- ? read_memory_integer ((fi)->next_frame + 8, 4) \
- : /* read_register (AP_REGNUM) */ 0))
-
-/* In most of GDB, getting the args address is too important to
- just say "I don't know". This is sometimes wrong for functions
- that aren't on top of the stack, but c'est la vie. */
-#define FRAME_ARGS_ADDRESS(fi) \
- (((fi)->next_frame \
- ? read_memory_integer ((fi)->next_frame + 8, 4) \
- : read_register (AP_REGNUM) /* 0 */))
-
-#define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame)
-
-/* Return number of args passed to a frame.
- Can return -1, meaning no way to tell. */
-
-#define FRAME_NUM_ARGS(numargs, fi) \
-{ numargs = (0xff & read_memory_integer (FRAME_ARGS_ADDRESS (fi), 1)); }
-
-/* Return number of bytes at start of arglist that are not really args. */
-
-#define FRAME_ARGS_SKIP 4
-
-/* 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. */
-
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
-{ register int regnum; \
- register int regmask = read_memory_integer ((frame_info)->frame+4, 4) >> 16; \
- register CORE_ADDR next_addr; \
- bzero (&frame_saved_regs, sizeof frame_saved_regs); \
- next_addr = (frame_info)->frame + 16; \
- /* Regmask's low bit is for register 0, \
- which is the first one that would be pushed. */ \
- for (regnum = 0; regnum < 12; regnum++, regmask >>= 1) \
- (frame_saved_regs).regs[regnum] = (regmask & 1) ? (next_addr += 4) : 0; \
- (frame_saved_regs).regs[SP_REGNUM] = next_addr + 4; \
- if (read_memory_integer ((frame_info)->frame + 4, 4) & 0x20000000) \
- (frame_saved_regs).regs[SP_REGNUM] += 4 + 4 * read_memory_integer (next_addr + 4, 4); \
- (frame_saved_regs).regs[PC_REGNUM] = (frame_info)->frame + 16; \
- (frame_saved_regs).regs[FP_REGNUM] = (frame_info)->frame + 12; \
- (frame_saved_regs).regs[AP_REGNUM] = (frame_info)->frame + 8; \
- (frame_saved_regs).regs[PS_REGNUM] = (frame_info)->frame + 4; \
-}
-
-/* Things needed for making the inferior call functions. */
-
-/* Push an empty stack frame, to record the current PC, etc. */
-
-#define PUSH_DUMMY_FRAME \
-{ register CORE_ADDR sp = read_register (SP_REGNUM);\
- register int regnum; \
- sp = push_word (sp, 0); /* arglist */ \
- for (regnum = 11; regnum >= 0; regnum--) \
- sp = push_word (sp, read_register (regnum)); \
- sp = push_word (sp, read_register (PC_REGNUM)); \
- sp = push_word (sp, read_register (FP_REGNUM)); \
- sp = push_word (sp, read_register (AP_REGNUM)); \
- sp = push_word (sp, (read_register (PS_REGNUM) & 0xffef) \
- + 0x2fff0000); \
- sp = push_word (sp, 0); \
- write_register (SP_REGNUM, sp); \
- write_register (FP_REGNUM, sp); \
- write_register (AP_REGNUM, sp + 17 * sizeof (int)); }
-
-/* Discard from the stack the innermost frame, restoring all registers. */
-
-#define POP_FRAME \
-{ register CORE_ADDR fp = read_register (FP_REGNUM); \
- register int regnum; \
- register int regmask = read_memory_integer (fp + 4, 4); \
- write_register (PS_REGNUM, \
- (regmask & 0xffff) \
- | (read_register (PS_REGNUM) & 0xffff0000)); \
- write_register (PC_REGNUM, read_memory_integer (fp + 16, 4)); \
- write_register (FP_REGNUM, read_memory_integer (fp + 12, 4)); \
- write_register (AP_REGNUM, read_memory_integer (fp + 8, 4)); \
- fp += 16; \
- for (regnum = 0; regnum < 12; regnum++) \
- if (regmask & (0x10000 << regnum)) \
- write_register (regnum, read_memory_integer (fp += 4, 4)); \
- fp = fp + 4 + ((regmask >> 30) & 3); \
- if (regmask & 0x20000000) \
- { regnum = read_memory_integer (fp, 4); \
- fp += (regnum + 1) * 4; } \
- write_register (SP_REGNUM, fp); \
- flush_cached_frames (); \
- set_current_frame (create_new_frame (read_register (FP_REGNUM),\
- read_pc ())); }
-
-/* This sequence of words is the instructions
- calls #69, @#32323232
- bpt
- Note this is 8 bytes. */
-
-#define CALL_DUMMY {0x329f69fb, 0x03323232}
-
-#define CALL_DUMMY_START_OFFSET 0 /* Start execution at beginning of dummy */
-
-/* Insert the specified number of args and function address
- into a call sequence of the above form stored at DUMMYNAME. */
-
-#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p) \
-{ *((char *) dummyname + 1) = nargs; \
- *(int *)((char *) dummyname + 3) = fun; }
diff --git a/gdb/tm-vx68.h b/gdb/tm-vx68.h
deleted file mode 100644
index 6f2ae25..0000000
--- a/gdb/tm-vx68.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Target machine description for VxWorks 68k's, for GDB, the GNU debugger.
- Copyright 1986, 1987, 1989, 1991, 1992, 1993 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define GDBINIT_FILENAME ".vxgdbinit"
-
-#define DEFAULT_PROMPT "(vxgdb) "
-
-#define HAVE_68881
-
-/* We have more complex, useful breakpoints on the target. */
-#define DECR_PC_AFTER_BREAK 0
-
-#include "tm-68k.h"
-
-/* We are guaranteed to have a zero frame pointer at bottom of stack, too. */
-#undef FRAME_CHAIN
-#undef FRAME_CHAIN_VALID
-
-/* Takes the current frame-struct pointer and returns the chain-pointer
- to get to the calling frame.
-
- If our current frame pointer is zero, we're at the top; else read out
- the saved FP from memory pointed to by the current FP. */
-
-#define FRAME_CHAIN(thisframe) ((thisframe)->frame? read_memory_integer ((thisframe)->frame, 4): 0)
-
-/* If the chain pointer is zero (either because the saved value fetched
- by FRAME_CHAIN was zero, or because the current FP was zero so FRAME_CHAIN
- never fetched anything), we are at the top of the stack. */
-
-#define FRAME_CHAIN_VALID(chain, thisframe) (chain != 0)
-
-/* FIXME, Longjmp information stolen from Sun-3 config. Dunno if right. */
-/* Offsets (in target ints) into jmp_buf. Not defined by Sun, but at least
- documented in a comment in <machine/setjmp.h>! */
-
-#define JB_ELEMENT_SIZE 4
-
-#define JB_ONSSTACK 0
-#define JB_SIGMASK 1
-#define JB_SP 2
-#define JB_PC 3
-#define JB_PSL 4
-#define JB_D2 5
-#define JB_D3 6
-#define JB_D4 7
-#define JB_D5 8
-#define JB_D6 9
-#define JB_D7 10
-#define JB_A2 11
-#define JB_A3 12
-#define JB_A4 13
-#define JB_A5 14
-#define JB_A6 15
-
-/* Figure out where the longjmp will land. Slurp the args out of the stack.
- We expect the first arg to be a pointer to the jmp_buf structure from which
- we extract the pc (JB_PC) that we will land at. The pc is copied into ADDR.
- This routine returns true on success */
-
-#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR)
diff --git a/gdb/tm-vx960.h b/gdb/tm-vx960.h
deleted file mode 100644
index a49c0bb..0000000
--- a/gdb/tm-vx960.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Parameters for VxWorks Intel 960's, for GDB, the GNU debugger.
- Copyright (C) 1986-1991 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#include "tm-i960.h"
-
-/* Under VxWorks the IP isn't filled in. Skip it, go with RIP, which has
- the real value. */
-#undef PC_REGNUM
-#define PC_REGNUM RIP_REGNUM
-
-#define GDBINIT_FILENAME ".vxgdbinit"
-
-#define DEFAULT_PROMPT "(vxgdb) "
-
-/* We have more complex, useful breakpoints on the target.
- Amount ip must be decremented by after a breakpoint. */
-
-#define DECR_PC_AFTER_BREAK 0
-
-/* We are guaranteed to have a zero frame pointer at bottom of stack, too. */
-
-#define FRAME_CHAIN_VALID(chain, thisframe) (chain != 0)
-
-/* Breakpoint patching is handled at the target end in VxWorks. */
-/* #define BREAKPOINT {0x00, 0x3e, 0x00, 0x66} */
diff --git a/gdb/tm-z8k.h b/gdb/tm-z8k.h
index 6be9403..e69de29 100644
--- a/gdb/tm-z8k.h
+++ b/gdb/tm-z8k.h
@@ -1,306 +0,0 @@
-/* Parameters for execution on a z8000 series machine.
- Copyright 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define IEEE_FLOAT 1
-
-#undef TARGET_INT_BIT
-#undef TARGET_LONG_BIT
-#undef TARGET_SHORT_BIT
-#undef TARGET_PTR_BIT
-
-#define TARGET_SHORT_BIT 16
-#define TARGET_INT_BIT 16
-#define TARGET_LONG_BIT 32
-#define TARGET_PTR_BIT (BIG ? 32: 16)
-
-/* Define the bit, byte, and word ordering of the machine. */
-#define TARGET_BYTE_ORDER BIG_ENDIAN
-
-/* 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. */
-
-#define SKIP_PROLOGUE(ip) {(ip) = z8k_skip_prologue(ip);}
-extern CORE_ADDR mz8k_skip_prologue PARAMS ((CORE_ADDR ip));
-
-
-/* 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) saved_pc_after_call(frame)
-
-/* Stack grows downward. */
-
-#define INNER_THAN <
-
-/* Sequence of bytes for breakpoint instruction. */
-
-#define BREAKPOINT {0x36,0x00}
-
-/* If your kernel resets the pc after the trap happens you may need to
- define this before including this file. */
-
-#define DECR_PC_AFTER_BREAK 0
-
-/* Nonzero if instruction at PC is a return instruction. */
-/* Allow any of the return instructions, including a trapv and a return
- from interupt. */
-
-#define ABOUT_TO_RETURN(pc) about_to_return(pc)
-
-/* Return 1 if P points to an invalid floating point value. */
-
-#define INVALID_FLOAT(p, len) 0 /* Just a first guess; not checked */
-
-/* Say how long registers are. */
-
-#define REGISTER_TYPE unsigned int
-
-#define NUM_REGS 23 /* 16 registers + 1 ccr + 1 pc + 3 debug
- regs + fake fp + fake sp*/
-#define REGISTER_BYTES (NUM_REGS *4)
-
-/* Index within `registers' of the first byte of the space for
- register N. */
-
-#define REGISTER_BYTE(N) ((N)*4)
-
-/* Number of bytes of storage in the actual machine representation
- for register N. On the z8k, all but the pc are 2 bytes, but we
- keep them all as 4 bytes and trim them on I/O */
-
-
-#define REGISTER_RAW_SIZE(N) (((N) < 16)? 2:4)
-
-/* Number of bytes of storage in the program's representation
- for register N. */
-
-#define REGISTER_VIRTUAL_SIZE(N) REGISTER_RAW_SIZE(N)
-
-/* Largest value REGISTER_RAW_SIZE can have. */
-
-#define MAX_REGISTER_RAW_SIZE 4
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have. */
-
-#define MAX_REGISTER_VIRTUAL_SIZE 4
-
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#define REGISTER_CONVERTIBLE(N) 0
-
-/* Convert data from raw format for register REGNUM
- to virtual format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
- register_convert_to_virtual(REGNUM, FROM, TO)
-
-/* Convert data from virtual format for register REGNUM
- to raw format for register REGNUM. */
-
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) \
- register_convert_to_raw(REGNUM, FROM, TO)
-
-/* Return the GDB type object for the "standard" data type
- of data in register N. */
-
-#define REGISTER_VIRTUAL_TYPE(N) \
- (REGISTER_VIRTUAL_SIZE(N) == 2? builtin_type_unsigned_int : builtin_type_long)
-
-/*#define INIT_FRAME_PC(x,y) init_frame_pc(x,y)*/
-/* Initializer for an array of names of registers.
- Entries beyond the first NUM_REGS are ignored. */
-
-#define REGISTER_NAMES \
- {"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", \
- "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", \
- "ccr", "pc", "cycles","insts","time","fp","sp"}
-
-/* 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 CCR_REGNUM 16 /* Contains processor status */
-#define PC_REGNUM 17 /* Contains program counter */
-#define CYCLES_REGNUM 18
-#define INSTS_REGNUM 19
-#define TIME_REGNUM 20
-#define FP_REGNUM 21 /* Contains fp, whatever memory model */
-#define SP_REGNUM 22 /* Conatins sp, whatever memory model */
-
-
-
-#define PTR_SIZE (BIG ? 4: 2)
-#define PTR_MASK (BIG ? 0xff00ffff : 0x0000ffff)
-
-/* Store the address of the place in which to copy the structure the
- subroutine will return. This is called from call_function. */
-
-#define STORE_STRUCT_RETURN(ADDR, SP) abort();
-
-/* Extract from an array REGBUF containing the (raw) register state
- a function return value of type TYPE, and copy that, in virtual format,
- into VALBUF. This is assuming that floating point values are returned
- as doubles in d0/d1. */
-
-
-#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
- bcopy(REGBUF + REGISTER_BYTE(2), VALBUF, TYPE_LENGTH(TYPE));
-
-/* Write into appropriate registers a function return value
- of type TYPE, given in virtual format. */
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) abort();
-
-/* Extract from an array REGBUF containing the (raw) register state
- the address in which a function should return its structure value,
- as a CORE_ADDR (or an expression that can be used as one). */
-
-#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(CORE_ADDR *)(REGBUF))
-
-/* 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.
- In the case of the Z8000, the frame's nominal address
- is the address of a ptr sized byte word containing the calling
- frame's address. */
-
-#define FRAME_CHAIN(thisframe) frame_chain(thisframe);
-
-
-
-/* Define other aspects of the stack frame. */
-
-/* A macro that tells us whether the function invocation represented
- by FI does not have a frame on the stack associated with it. If it
- does not, FRAMELESS is set to 1, else 0. */
-#define FRAMELESS_FUNCTION_INVOCATION(FI, FRAMELESS) \
- (FRAMELESS) = frameless_look_for_prologue(FI)
-
-#define FRAME_SAVED_PC(FRAME) frame_saved_pc(FRAME)
-
-#define FRAME_ARGS_ADDRESS(fi) ((fi)->frame)
-
-#define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame)
-
-/* Set VAL to the number of args passed to frame described by FI.
- Can set VAL to -1, meaning no way to tell. */
-
-/* We can't tell how many args there are
- now that the C compiler delays popping them. */
-#if !defined (FRAME_NUM_ARGS)
-#define FRAME_NUM_ARGS(val,fi) (val = -1)
-#endif
-
-/* Return number of bytes at start of arglist that are not really args. */
-
-#define FRAME_ARGS_SKIP 8
-
-
-
-/* Things needed for making the inferior call functions.
- It seems like every m68k based machine has almost identical definitions
- in the individual machine's configuration files. Most other cpu types
- (mips, i386, etc) have routines in their *-tdep.c files to handle this
- for most configurations. The m68k family should be able to do this as
- well. These macros can still be overridden when necessary. */
-
-/* The CALL_DUMMY macro is the sequence of instructions, as disassembled
- by gdb itself:
-
- fmovemx fp0-fp7,sp@- 0xf227 0xe0ff
- moveml d0-a5,sp@- 0x48e7 0xfffc
- clrw sp@- 0x4267
- movew ccr,sp@- 0x42e7
-
- /..* The arguments are pushed at this point by GDB;
- no code is needed in the dummy for this.
- The CALL_DUMMY_START_OFFSET gives the position of
- the following jsr instruction. *../
-
- jsr @#0x32323232 0x4eb9 0x3232 0x3232
- addal #0x69696969,sp 0xdffc 0x6969 0x6969
- trap #<your BPT_VECTOR number here> 0x4e4?
- nop 0x4e71
-
- Note this is CALL_DUMMY_LENGTH bytes (28 for the above example).
- We actually start executing at the jsr, since the pushing of the
- registers is done by PUSH_DUMMY_FRAME. If this were real code,
- the arguments for the function called by the jsr would be pushed
- between the moveml and the jsr, and we could allow it to execute through.
- But the arguments have to be pushed by GDB after the PUSH_DUMMY_FRAME is
- done, and we cannot allow the moveml to push the registers again lest
- they be taken for the arguments. */
-
-
-#define CALL_DUMMY { 0 }
-#define CALL_DUMMY_LENGTH 24 /* Size of CALL_DUMMY */
-#define CALL_DUMMY_START_OFFSET 8 /* Offset to jsr instruction*/
-
-
-/* Insert the specified number of args and function address
- into a call sequence of the above form stored at DUMMYNAME.
- We use the BFD routines to store a big-endian value of known size. */
-
-#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p) \
-{ _do_putb32 (fun, (char *) dummyname + CALL_DUMMY_START_OFFSET + 2); \
- _do_putb32 (nargs*4, (char *) dummyname + CALL_DUMMY_START_OFFSET + 8); }
-
-/* Push an empty stack frame, to record the current PC, etc. */
-
-#define PUSH_DUMMY_FRAME { z8k_push_dummy_frame (); }
-
-extern void z8k_push_dummy_frame PARAMS ((void));
-
-extern void z8k_pop_frame PARAMS ((void));
-
-/* Discard from the stack the innermost frame, restoring all registers. */
-
-#define POP_FRAME { z8k_pop_frame (); }
-
-/* Offset from SP to first arg on stack at first instruction of a function */
-
-#define SP_ARG0 (1 * 4)
-
-#define ADDR_BITS_REMOVE(x) addr_bits_remove(x)
-#define ADDR_BITS_SET(x) addr_bits_set(x)
-int z8001_mode;
-#define BIG (z8001_mode)
-
-#define read_memory_short(x) (read_memory_integer(x,2) & 0xffff)
-
-#define NO_STD_REGS
-
-#define PRINT_REGISTER_HOOK(regno) print_register_hook(regno)
-
-
-#define INIT_EXTRA_SYMTAB_INFO \
- z8k_set_pointer_size(objfile->obfd->arch_info->bits_per_address);
diff --git a/gdb/xm-3b1.h b/gdb/xm-3b1.h
deleted file mode 100644
index cfd71e0..0000000
--- a/gdb/xm-3b1.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Parameters for execution on a 3b1.
- Copyright (C) 1986, 1987, 1989 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. */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-#define HAVE_TERMIO
-#define USG
-
-/* This is the amount to subtract from u.u_ar0
- to get the offset in the core file of the register values. */
-
-#define KERNEL_U_ADDR 0x70000
-
-#define REGISTER_U_ADDR(addr, blockend, regno) \
-{ addr = blockend + regno * 4; }
-
-/* Interface definitions for kernel debugger KDB. */
-
-/* Map machine fault codes into signal numbers.
- First subtract 0, divide by 4, then index in a table.
- Faults for which the entry in this table is 0
- are not handled by KDB; the program's own trap handler
- gets to handle then. */
-
-#define FAULT_CODE_ORIGIN 0
-#define FAULT_CODE_UNITS 4
-#define FAULT_TABLE \
-{ 0, 0, 0, 0, SIGTRAP, 0, 0, 0, \
- 0, SIGTRAP, 0, 0, 0, 0, 0, SIGKILL, \
- 0, 0, 0, 0, 0, 0, 0, 0, \
- SIGILL }
-
-/* Start running with a stack stretching from BEG to END.
- BEG and END should be symbols meaningful to the assembler.
- This is used only for kdb. */
-
-#define INIT_STACK(beg, end) \
-{ asm (".globl end"); \
- asm ("movel $ end, sp"); \
- asm ("clrl fp"); }
-
-/* Push the frame pointer register on the stack. */
-#define PUSH_FRAME_PTR \
- asm ("movel fp, -(sp)");
-
-/* Copy the top-of-stack to the frame pointer register. */
-#define POP_FRAME_PTR \
- asm ("movl (sp), fp");
-
-/* After KDB is entered by a fault, push all registers
- that GDB thinks about (all NUM_REGS of them),
- so that they appear in order of ascending GDB register number.
- The fault code will be on the stack beyond the last register. */
-
-#define PUSH_REGISTERS \
-{ asm ("clrw -(sp)"); \
- asm ("pea 10(sp)"); \
- asm ("movem $ 0xfffe,-(sp)"); }
-
-/* Assuming the registers (including processor status) have been
- pushed on the stack in order of ascending GDB register number,
- restore them and return to the address in the saved PC register. */
-
-#define POP_REGISTERS \
-{ asm ("subil $8,28(sp)"); \
- asm ("movem (sp),$ 0xffff"); \
- asm ("rte"); }
-
-#endif
diff --git a/gdb/xm-altos.h b/gdb/xm-altos.h
deleted file mode 100644
index ea84016..0000000
--- a/gdb/xm-altos.h
+++ /dev/null
@@ -1,202 +0,0 @@
-/* Definitions to make GDB run on an Altos 3068 (m68k running SVR2)
- Copyright (C) 1987,1989 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. */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-/* The altos support would make a good base for a port to other USGR2 systems
- (like the 3b1 and the Convergent miniframe). */
-
-/* This is only needed in one file, but it's cleaner to put it here than
- putting in more #ifdef's. */
-#include <sys/page.h>
-#include <sys/net.h>
-
-#define USG
-
-#define HAVE_TERMIO
-
-#define CBREAK XTABS /* It takes all kinds... */
-
-#ifndef R_OK
-#define R_OK 4
-#define W_OK 2
-#define X_OK 1
-#define F_OK 0
-#endif
-
-/* Get sys/wait.h ie. from a Sun and edit it a little (mc68000 to m68k) */
-/* Why bother? */
-#if 0
-#define HAVE_WAIT_STRUCT
-#endif
-
-/* This is the amount to subtract from u.u_ar0
- to get the offset in the core file of the register values. */
-
-#define KERNEL_U_ADDR 0x1fbf000
-
-#define REGISTER_U_ADDR(addr, blockend, regno) \
-{ if (regno <= SP_REGNUM) \
- addr = blockend + regno * 4; \
- else if (regno == PS_REGNUM) \
- addr = blockend + regno * 4 + 4; \
- else if (regno == PC_REGNUM) \
- addr = blockend + regno * 4 + 2; \
-}
-
-#define REGISTER_ADDR(u_ar0, regno) \
- (((regno) < PS_REGNUM) \
- ? (&((struct exception_stack *) (u_ar0))->e_regs[(regno + R0)]) \
- : (((regno) == PS_REGNUM) \
- ? ((int *) (&((struct exception_stack *) (u_ar0))->e_PS)) \
- : (&((struct exception_stack *) (u_ar0))->e_PC)))
-
-#define FP_REGISTER_ADDR(u, regno) \
- (((char *) \
- (((regno) < FPC_REGNUM) \
- ? (&u.u_pcb.pcb_mc68881[FMC68881_R0 + (((regno) - FP0_REGNUM) * 3)]) \
- : (&u.u_pcb.pcb_mc68881[FMC68881_C + ((regno) - FPC_REGNUM)]))) \
- - ((char *) (& u)))
-
-
-#ifndef __GNUC__
-#undef USE_GAS
-#define ALTOS_AS
-#else
-#define USE_GAS
-#endif
-
-/* Motorola assembly format */
-#if !defined(USE_GAS) && !defined(ALTOS)
-#define MOTOROLA
-#endif
-
-/* Interface definitions for kernel debugger KDB. */
-
-/* Map machine fault codes into signal numbers.
- First subtract 0, divide by 4, then index in a table.
- Faults for which the entry in this table is 0
- are not handled by KDB; the program's own trap handler
- gets to handle then. */
-
-#define FAULT_CODE_ORIGIN 0
-#define FAULT_CODE_UNITS 4
-#define FAULT_TABLE \
-{ 0, 0, 0, 0, SIGTRAP, 0, 0, 0, \
- 0, SIGTRAP, 0, 0, 0, 0, 0, SIGKILL, \
- 0, 0, 0, 0, 0, 0, 0, 0, \
- SIGILL }
-
-/* Start running with a stack stretching from BEG to END.
- BEG and END should be symbols meaningful to the assembler.
- This is used only for kdb. */
-
-#ifdef MOTOROLA
-#define INIT_STACK(beg, end) \
-{ asm (".globl end"); \
- asm ("move.l $ end, sp"); \
- asm ("clr.l fp"); }
-#else
-#ifdef ALTOS_AS
-#define INIT_STACK(beg, end) \
-{ asm ("global end"); \
- asm ("mov.l &end,%sp"); \
- asm ("clr.l %fp"); }
-#else
-#define INIT_STACK(beg, end) \
-{ asm (".globl end"); \
- asm ("movel $ end, sp"); \
- asm ("clrl fp"); }
-#endif
-#endif
-
-/* Push the frame pointer register on the stack. */
-#ifdef MOTOROLA
-#define PUSH_FRAME_PTR \
- asm ("move.l fp, -(sp)");
-#else
-#ifdef ALTOS_AS
-#define PUSH_FRAME_PTR \
- asm ("mov.l %fp, -(%sp)");
-#else
-#define PUSH_FRAME_PTR \
- asm ("movel fp, -(sp)");
-#endif
-#endif
-
-/* Copy the top-of-stack to the frame pointer register. */
-#ifdef MOTOROLA
-#define POP_FRAME_PTR \
- asm ("move.l (sp), fp");
-#else
-#ifdef ALTOS_AS
-#define POP_FRAME_PTR \
- asm ("mov.l (%sp), %fp");
-#else
-#define POP_FRAME_PTR \
- asm ("movl (sp), fp");
-#endif
-#endif
-
-/* After KDB is entered by a fault, push all registers
- that GDB thinks about (all NUM_REGS of them),
- so that they appear in order of ascending GDB register number.
- The fault code will be on the stack beyond the last register. */
-
-#ifdef MOTOROLA
-#define PUSH_REGISTERS \
-{ asm ("clr.w -(sp)"); \
- asm ("pea (10,sp)"); \
- asm ("movem $ 0xfffe,-(sp)"); }
-#else
-#ifdef ALTOS_AS
-#define PUSH_REGISTERS \
-{ asm ("clr.w -(%sp)"); \
- asm ("pea (10,%sp)"); \
- asm ("movm.l &0xfffe,-(%sp)"); }
-#else
-#define PUSH_REGISTERS \
-{ asm ("clrw -(sp)"); \
- asm ("pea 10(sp)"); \
- asm ("movem $ 0xfffe,-(sp)"); }
-#endif
-#endif
-
-/* Assuming the registers (including processor status) have been
- pushed on the stack in order of ascending GDB register number,
- restore them and return to the address in the saved PC register. */
-
-#ifdef MOTOROLA
-#define POP_REGISTERS \
-{ asm ("subi.l $8,28(sp)"); \
- asm ("movem (sp),$ 0xffff"); \
- asm ("rte"); }
-#else
-#ifdef ALTOS_AS
-#define POP_REGISTERS \
-{ asm ("sub.l &8,28(%sp)"); \
- asm ("movem (%sp),&0xffff"); \
- asm ("rte"); }
-#else
-#define POP_REGISTERS \
-{ asm ("subil $8,28(sp)"); \
- asm ("movem (sp),$ 0xffff"); \
- asm ("rte"); }
-#endif
-#endif
diff --git a/gdb/xm-amix.h b/gdb/xm-amix.h
index a5c33a3..e69de29 100644
--- a/gdb/xm-amix.h
+++ b/gdb/xm-amix.h
@@ -1,45 +0,0 @@
-/* Macro definitions for GDB on a Commodore Amiga running SVR4 (amix)
- Copyright 1991, 1992 Free Software Foundation, Inc.
- Written by Fred Fish at Cygnus Support (fnf@cygnus.com)
-
-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. */
-
-/* Pick up most of what we need from the generic m68k host include file. */
-
-#include "xm-m68k.h"
-
-/* Pick up more stuff from the generic SVR4 host include file. */
-
-#include "xm-sysv4.h"
-
-/* The native AT&T compiler for m68k/SVR4 complains about using volatile
- to indicate functions that never return. So shut it up by simply
- defining away "NORETURN", which is normally defined to "volatile". */
-
-#ifndef __GNUC__
-# define NORETURN /**/
-#endif
-
-/* If you expect to use the mmalloc package to obtain mapped symbol files,
- for now you have to specify some parameters that determine how gdb places
- the mappings in it's address space. See the comments in map_to_address()
- for details. This is expected to only be a short term solution. Yes it
- is a kludge.
- FIXME: Make this more automatic. */
-
-#define MMAP_BASE_ADDRESS 0xC2000000 /* First mapping here */
-#define MMAP_INCREMENT 0x01000000 /* Increment to next mapping */
diff --git a/gdb/xm-apollo68b.h b/gdb/xm-apollo68b.h
index 9d1d39c..e69de29 100755
--- a/gdb/xm-apollo68b.h
+++ b/gdb/xm-apollo68b.h
@@ -1,24 +0,0 @@
-/* Macro defintions for an Apollo 68k in BSD mode
- Copyright (C) 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-#define ALIGN_STACK_ON_STARTUP
-
-extern char *strdup();
diff --git a/gdb/xm-apollo68v.h b/gdb/xm-apollo68v.h
index 6129523..e69de29 100644
--- a/gdb/xm-apollo68v.h
+++ b/gdb/xm-apollo68v.h
@@ -1,44 +0,0 @@
-/* Macro defintions for an Apollo.
- Copyright (C) 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/*
- * Changes for 80386 by Pace Willisson (pace@prep.ai.mit.edu)
- * July 1988
- */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-/* I'm running gdb 3.4 under 386/ix 2.0.2, which is a derivative of AT&T's
-Sys V/386 3.2.
-
-On some machines, gdb crashes when it's starting up while calling the
-vendor's termio tgetent() routine. It always works when run under
-itself (actually, under 3.2, it's not an infinitely recursive bug.)
-After some poking around, it appears that depending on the environment
-size, or whether you're running YP, or the phase of the moon or something,
-the stack is not always long-aligned when main() is called, and tgetent()
-takes strong offense at that. On some machines this bug never appears, but
-on those where it does, it occurs quite reliably. */
-#define ALIGN_STACK_ON_STARTUP
-
-/* define USG if you are using sys5 /usr/include's */
-#define USG
-
-#define HAVE_TERMIO
-
diff --git a/gdb/xm-arm.h b/gdb/xm-arm.h
deleted file mode 100644
index 70953c8..0000000
--- a/gdb/xm-arm.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Definitions to make GDB run on an ARM under RISCiX (4.3bsd).
- Copyright (C) 1986, 1987, 1989 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. */
-
-#define HOST_BYTE_ORDER LITTLE_ENDIAN
-
-/* Get rid of any system-imposed stack limit if possible. */
-
-#define SET_STACK_LIMIT_HUGE
-
-/* This is the amount to subtract from u.u_ar0
- to get the offset in the core file of the register values. */
-
-#define KERNEL_U_ADDR (0x01000000 - (UPAGES * NBPG))
-
-/* Override copies of {fetch,store}_inferior_registers in infptrace.c. */
-#define FETCH_INFERIOR_REGISTERS
-
-
-#if 0
-/* Interface definitions for kernel debugger KDB. */
-
-/* Map machine fault codes into signal numbers.
- First subtract 0, divide by 4, then index in a table.
- Faults for which the entry in this table is 0
- are not handled by KDB; the program's own trap handler
- gets to handle then. */
-
-#define FAULT_CODE_ORIGIN 0
-#define FAULT_CODE_UNITS 4
-#define FAULT_TABLE \
-{ 0, SIGKILL, SIGSEGV, 0, 0, 0, 0, 0, \
- 0, 0, SIGTRAP, SIGTRAP, 0, 0, 0, 0, \
- 0, 0, 0, 0, 0, 0, 0, 0}
-
-/* Start running with a stack stretching from BEG to END.
- BEG and END should be symbols meaningful to the assembler.
- This is used only for kdb. */
-
-#define INIT_STACK(beg, end) \
-{ asm (".globl end"); \
- asm ("movl $ end, sp"); \
- asm ("clrl fp"); }
-
-/* Push the frame pointer register on the stack. */
-#define PUSH_FRAME_PTR \
- asm ("pushl fp");
-
-/* Copy the top-of-stack to the frame pointer register. */
-#define POP_FRAME_PTR \
- asm ("movl (sp), fp");
-
-/* After KDB is entered by a fault, push all registers
- that GDB thinks about (all NUM_REGS of them),
- so that they appear in order of ascending GDB register number.
- The fault code will be on the stack beyond the last register. */
-
-#define PUSH_REGISTERS \
-{ asm ("pushl 8(sp)"); \
- asm ("pushl 8(sp)"); \
- asm ("pushal 0x14(sp)"); \
- asm ("pushr $037777"); }
-
-/* Assuming the registers (including processor status) have been
- pushed on the stack in order of ascending GDB register number,
- restore them and return to the address in the saved PC register. */
-
-#define POP_REGISTERS \
-{ asm ("popr $037777"); \
- asm ("subl2 $8,(sp)"); \
- asm ("movl (sp),sp"); \
- asm ("rei"); }
-#endif /* 0 */
diff --git a/gdb/xm-bigmips.h b/gdb/xm-bigmips.h
deleted file mode 100644
index 85f314f..0000000
--- a/gdb/xm-bigmips.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright (C) 1990 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. */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-#include "xm-mips.h"
diff --git a/gdb/xm-convex.h b/gdb/xm-convex.h
deleted file mode 100644
index f1a6bf9..0000000
--- a/gdb/xm-convex.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Definitions to make GDB run on Convex Unix (4bsd)
- Copyright 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-#define LONG_LONG
-#define ATTACH_DETACH
-#define HAVE_WAIT_STRUCT
-#define NO_SIGINTERRUPT
-
-/* Get rid of any system-imposed stack limit if possible. */
-
-#define SET_STACK_LIMIT_HUGE
-
-/* Use SIGCONT rather than SIGTSTP because convex Unix occasionally
- turkeys SIGTSTP. I think. */
-
-#define STOP_SIGNAL SIGCONT
-
-/* Hook to call after creating inferior process. */
-
-#define CREATE_INFERIOR_HOOK create_inferior_hook
diff --git a/gdb/xm-delta88.h b/gdb/xm-delta88.h
index eb8e20b..e69de29 100644
--- a/gdb/xm-delta88.h
+++ b/gdb/xm-delta88.h
@@ -1,44 +0,0 @@
-/* Host machine description for Motorola Delta 88 system, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-#if !defined (USG)
-#define USG 1
-#endif
-
-#include <sys/param.h>
-#include <sys/time.h>
-
-#define HAVE_TERMIO
-
-/*#define USIZE 2048*/
-#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
-
diff --git a/gdb/xm-go32.h b/gdb/xm-go32.h
index 91f5d35..e69de29 100644
--- a/gdb/xm-go32.h
+++ b/gdb/xm-go32.h
@@ -1,32 +0,0 @@
-/* Definitions for hosting on GO32, for GDB.
- Copyright 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#undef EIO
-#define EIO 0
-#define SYS_SIGLIST_MISSING 1
-#define HOST_BYTE_ORDER LITTLE_ENDIAN
-#include "fopen-bin.h"
-
-/* Define this lseek(n) != nth byte of file */
-#define LSEEK_NOT_LINEAR
-
-#define CANT_FORK
-
-#undef QUIT
-#define QUIT { pollquit(); }
diff --git a/gdb/xm-hp300bsd.h b/gdb/xm-hp300bsd.h
deleted file mode 100644
index 54800fd..0000000
--- a/gdb/xm-hp300bsd.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/* Parameters for hosting on a Hewlett-Packard 9000/300, running bsd.
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/*
- * Configuration file for HP9000/300 series machine running
- * University of Utah's 4.3bsd (or 4.4BSD) port. This is NOT for HP-UX.
- * Problems to hpbsd-bugs@cs.utah.edu
- */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-/* Avoid "INT_MIN redefined" preprocessor warnings -- by defining them here,
- exactly the same as in the system <limits.h> file. */
-#define UINT_MAX 4294967295 /* max value for an unsigned int */
-#define INT_MAX 2147483647 /* max value for an int */
-#define INT_MIN (-2147483647-1) /* min value for an int */
-#define LONG_MAX 2147483647 /* max value for a long */
-
-/* Get rid of any system-imposed stack limit if possible. */
-
-#define SET_STACK_LIMIT_HUGE
-
-/* Get kernel u area address at run-time using BSD style nlist (). */
-#define KERNEL_U_ADDR_BSD
-
-/* Kernel is a bit tenacious about sharing text segments, disallowing bpts. */
-#define ONE_PROCESS_WRITETEXT
-
-/* psignal's definition in 4.4BSD conflicts with the one in defs.h.
- But there *is* no psignal definition in 4.3BSD. So we avoid the defs.h
- version here, and supply our own (matching) one. */
-#define PSIGNAL_IN_SIGNAL_H
-void psignal PARAMS ((unsigned int, const char *));
-
-extern char *strdup PARAMS ((const char *));
-
-/* Interface definitions for kernel debugger KDB. */
-
-/* Map machine fault codes into signal numbers.
- First subtract 0, divide by 4, then index in a table.
- Faults for which the entry in this table is 0
- are not handled by KDB; the program's own trap handler
- gets to handle then. */
-
-#define FAULT_CODE_ORIGIN 0
-#define FAULT_CODE_UNITS 4
-#define FAULT_TABLE \
-{ 0, 0, 0, 0, SIGTRAP, 0, 0, 0, \
- 0, SIGTRAP, 0, 0, 0, 0, 0, SIGKILL, \
- 0, 0, 0, 0, 0, 0, 0, 0, \
- SIGILL }
-
-/* Start running with a stack stretching from BEG to END.
- BEG and END should be symbols meaningful to the assembler.
- This is used only for kdb. */
-
-#define INIT_STACK(beg, end) \
-{ asm (".globl end"); \
- asm ("movel #end, sp"); \
- asm ("movel #0,a6"); }
-
-/* Push the frame pointer register on the stack. */
-#define PUSH_FRAME_PTR \
- asm ("movel a6,sp@-");
-
-/* Copy the top-of-stack to the frame pointer register. */
-#define POP_FRAME_PTR \
- asm ("movl sp@,a6");
-
-/* After KDB is entered by a fault, push all registers
- that GDB thinks about (all NUM_REGS of them),
- so that they appear in order of ascending GDB register number.
- The fault code will be on the stack beyond the last register. */
-
-#define PUSH_REGISTERS \
-{ asm ("clrw -(sp)"); \
- asm ("pea sp@(10)"); \
- asm ("movem #0xfffe,sp@-"); }
-
-/* Assuming the registers (including processor status) have been
- pushed on the stack in order of ascending GDB register number,
- restore them and return to the address in the saved PC register. */
-
-#define POP_REGISTERS \
-{ asm ("subil #8,sp@(28)"); \
- asm ("movem sp@,#0xffff"); \
- asm ("rte"); }
diff --git a/gdb/xm-hp300hpux.h b/gdb/xm-hp300hpux.h
deleted file mode 100644
index 54979b5..0000000
--- a/gdb/xm-hp300hpux.h
+++ /dev/null
@@ -1,173 +0,0 @@
-/* Parameters for HP 9000 model 320 hosting, for GDB, the GNU debugger.
- Copyright (C) 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* HP/UX is USG, but it does have <ptrace.h> */
-#include <sys/ptrace.h>
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-/* Define this to indicate problems with traps after continuing. */
-#define HP_OS_BUG
-
-/* Set flag to indicate whether HP's assembler is in use. */
-#ifdef __GNUC__
-#ifdef __HPUX_ASM__
-#define HPUX_ASM
-#endif
-#else /* not GNU C. */
-#define HPUX_ASM
-#endif /* not GNU C. */
-
-/* Define this for versions of hp-ux older than 6.0 */
-/* #define HPUX_VERSION_5 */
-
-/* define USG if you are using sys5 /usr/include's */
-#undef USG /* In case it was defined in the Makefile for cplus-dem.c */
-#define USG
-
-/* The mem functions are in <string.h>. */
-#undef MEM_FNS_DECLARED
-#define MEM_FNS_DECLARED 1
-
-#define HAVE_TERMIO
-
-/* Get rid of any system-imposed stack limit if possible. */
-/* The hp9k320.h doesn't seem to have this feature. */
-/* #define SET_STACK_LIMIT_HUGE */
-/* So we'll just have to avoid big alloca's. */
-#define BROKEN_LARGE_ALLOCA
-
-/* This is the amount to subtract from u.u_ar0
- to get the offset in the core file of the register values. */
-
-#ifdef HPUX_VERSION_5
-#define KERNEL_U_ADDR 0x00979000
-#else /* Not HPUX version 5. */
-/* Use HPUX-style nlist() to get kernel_u_addr. */
-#define KERNEL_U_ADDR_HPUX
-#endif /* Not HPUX version 5. */
-
-#define REGISTER_ADDR(u_ar0, regno) \
- (unsigned int) \
- (((regno) < PS_REGNUM) \
- ? (&((struct exception_stack *) (u_ar0))->e_regs[(regno + R0)]) \
- : (((regno) == PS_REGNUM) \
- ? ((int *) (&((struct exception_stack *) (u_ar0))->e_PS)) \
- : (&((struct exception_stack *) (u_ar0))->e_PC)))
-
-#define FP_REGISTER_ADDR(u, regno) \
- (((char *) \
- (((regno) < FPC_REGNUM) \
- ? (&u.u_pcb.pcb_mc68881[FMC68881_R0 + (((regno) - FP0_REGNUM) * 3)]) \
- : (&u.u_pcb.pcb_mc68881[FMC68881_C + ((regno) - FPC_REGNUM)]))) \
- - ((char *) (& u)))
-
-/* Interface definitions for kernel debugger KDB. */
-
-/* Map machine fault codes into signal numbers.
- First subtract 0, divide by 4, then index in a table.
- Faults for which the entry in this table is 0
- are not handled by KDB; the program's own trap handler
- gets to handle then. */
-
-#define FAULT_CODE_ORIGIN 0
-#define FAULT_CODE_UNITS 4
-#define FAULT_TABLE \
-{ 0, 0, 0, 0, SIGTRAP, 0, 0, 0, \
- 0, SIGTRAP, 0, 0, 0, 0, 0, SIGKILL, \
- 0, 0, 0, 0, 0, 0, 0, 0, \
- SIGILL }
-
-#ifndef HPUX_ASM
-
-/* Start running with a stack stretching from BEG to END.
- BEG and END should be symbols meaningful to the assembler.
- This is used only for kdb. */
-
-#define INIT_STACK(beg, end) \
-{ asm (".globl end"); \
- asm ("movel $ end, sp"); \
- asm ("clrl fp"); }
-
-/* Push the frame pointer register on the stack. */
-#define PUSH_FRAME_PTR \
- asm ("movel fp, -(sp)");
-
-/* Copy the top-of-stack to the frame pointer register. */
-#define POP_FRAME_PTR \
- asm ("movl (sp), fp");
-
-/* After KDB is entered by a fault, push all registers
- that GDB thinks about (all NUM_REGS of them),
- so that they appear in order of ascending GDB register number.
- The fault code will be on the stack beyond the last register. */
-
-#define PUSH_REGISTERS \
-{ asm ("clrw -(sp)"); \
- asm ("pea 10(sp)"); \
- asm ("movem $ 0xfffe,-(sp)"); }
-
-/* Assuming the registers (including processor status) have been
- pushed on the stack in order of ascending GDB register number,
- restore them and return to the address in the saved PC register. */
-
-#define POP_REGISTERS \
-{ asm ("subil $8,28(sp)"); \
- asm ("movem (sp),$ 0xffff"); \
- asm ("rte"); }
-
-#else /* HPUX_ASM */
-
-/* Start running with a stack stretching from BEG to END.
- BEG and END should be symbols meaningful to the assembler.
- This is used only for kdb. */
-
-#define INIT_STACK(beg, end) \
-{ asm ("global end"); \
- asm ("mov.l &end,%sp"); \
- asm ("clr.l %a6"); }
-
-/* Push the frame pointer register on the stack. */
-#define PUSH_FRAME_PTR \
- asm ("mov.l %fp,-(%sp)");
-
-/* Copy the top-of-stack to the frame pointer register. */
-#define POP_FRAME_PTR \
- asm ("mov.l (%sp),%fp");
-
-/* After KDB is entered by a fault, push all registers
- that GDB thinks about (all NUM_REGS of them),
- so that they appear in order of ascending GDB register number.
- The fault code will be on the stack beyond the last register. */
-
-#define PUSH_REGISTERS \
-{ asm ("clr.w -(%sp)"); \
- asm ("pea 10(%sp)"); \
- asm ("movm.l &0xfffe,-(%sp)"); }
-
-/* Assuming the registers (including processor status) have been
- pushed on the stack in order of ascending GDB register number,
- restore them and return to the address in the saved PC register. */
-
-#define POP_REGISTERS \
-{ asm ("subi.l &8,28(%sp)"); \
- asm ("mov.m (%sp),&0xffff"); \
- asm ("rte"); }
-
-#endif /* HPUX_ASM */
diff --git a/gdb/xm-hppab.h b/gdb/xm-hppab.h
index 22f67d7..e69de29 100644
--- a/gdb/xm-hppab.h
+++ b/gdb/xm-hppab.h
@@ -1,42 +0,0 @@
-/* Parameters for hosting on an HPPA PA-RISC machine, running BSD, for GDB.
- Copyright 1991, 1992 Free Software Foundation, Inc.
-
- Contributed by the Center for Software Science at the
- University of Utah (pa-gdb-bugs@cs.utah.edu).
-
-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. */
-
-/* This is a big-endian host. */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-/* Avoid "INT_MIN redefined" warnings -- by defining it here, exactly
- the same as in the system <machine/machtypes.h> file. */
-#undef INT_MIN
-#define INT_MIN 0x80000000
-
-#ifndef hp800
-#define USG
-#endif
-
-#define KERNEL_U_ADDR 0
-
-#ifndef SEEK_SET
-# define SEEK_SET 0 /* Set file pointer to "offset" */
-# define SEEK_CUR 1 /* Set file pointer to current plus "offset" */
-# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
-#endif /* SEEK_SET */
diff --git a/gdb/xm-hppah.h b/gdb/xm-hppah.h
index 0c10fb6..e69de29 100644
--- a/gdb/xm-hppah.h
+++ b/gdb/xm-hppah.h
@@ -1,51 +0,0 @@
-/* Parameters for hosting on an HPPA-RISC machine running HPUX, for GDB.
- Copyright 1991, 1992 Free Software Foundation, Inc.
-
- Contributed by the Center for Software Science at the
- University of Utah (pa-gdb-bugs@cs.utah.edu).
-
-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. */
-
-/* Host is big-endian. */
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-/* Avoid "INT_MIN redefined" warnings -- by defining it here, exactly
- the same as in the system <machine/machtypes.h> file. */
-#undef INT_MIN
-#define INT_MIN 0x80000000
-
-#ifndef hp800
-#define USG
-#endif
-
-#ifndef __STDC__
-/* This define is discussed in decode_line_1 in symtab.c */
-#define HPPA_COMPILER_BUG
-#endif
-
-#define HAVE_TERMIO
-
-#define KERNEL_U_ADDR 0
-
-/* HP uses non-ANSI definitions, but with void * results. */
-#define MEM_FNS_DECLARED /* Some non-ANSI use void *, not char *. */
-extern void *
-memcpy PARAMS ((void *, const void *, size_t)); /* 4.11.2.1 */
-
-extern void *
-memset PARAMS ((void *, int, size_t)); /* 4.11.6.1 */
-
diff --git a/gdb/xm-i386bsd.h b/gdb/xm-i386bsd.h
index 8d28df0..e69de29 100644
--- a/gdb/xm-i386bsd.h
+++ b/gdb/xm-i386bsd.h
@@ -1,31 +0,0 @@
-/* Host-dependent definitions for Intel 386 running BSD Unix, for GDB.
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define HOST_BYTE_ORDER LITTLE_ENDIAN
-
-#include <machine/limits.h> /* for INT_MIN, to avoid "INT_MIN
- redefined" warnings from defs.h */
-
-/* psignal() is in <signal.h>. */
-
-#define PSIGNAL_IN_SIGNAL_H
-
-/* Get rid of any system-imposed stack limit if possible. */
-
-#define SET_STACK_LIMIT_HUGE
diff --git a/gdb/xm-i386mach.h b/gdb/xm-i386mach.h
index 1681988..e69de29 100644
--- a/gdb/xm-i386mach.h
+++ b/gdb/xm-i386mach.h
@@ -1,43 +0,0 @@
-/* Definitions to make GDB run on Mach on an Intel 386
- Copyright (C) 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define HOST_BYTE_ORDER LITTLE_ENDIAN
-
-/* Avoid "INT_MIN redefined" warnings -- by defining it here, exactly
- the same as in the system <machine/machtypes.h> file. */
-#undef INT_MIN
-#define INT_MIN 0x80000000
-
-/* Get rid of any system-imposed stack limit if possible. */
-
-#define SET_STACK_LIMIT_HUGE
-
-/* This is the amount to subtract from u.u_ar0
- to get the offset in the core file of the register values. */
-
-#define KERNEL_U_ADDR (0x80000000 - (UPAGES * NBPG))
-
-#define BROKEN_LARGE_ALLOCA
-
-#define PREPARE_TO_STORE() read_register_bytes (0, NULL, REGISTER_BYTES)
-
-/* <errno.h> only defines this if __STDC__!!! */
-extern int errno;
-
-extern char *strdup();
diff --git a/gdb/xm-i386sco.h b/gdb/xm-i386sco.h
deleted file mode 100644
index 8641ef6..0000000
--- a/gdb/xm-i386sco.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Macro defintions for i386, running SCO Unix System V/386 3.2.
- Copyright (C) 1989 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. */
-
-/* In 3.2v4 <sys/user.h> requires on <sys/dir.h>. */
-#include <sys/types.h>
-#include <sys/dir.h>
-
-#include "xm-i386v.h"
-
-/* Apparently there is inconsistency among various System V's about what
- the name of this field is. */
-#define U_FPSTATE(u) u.u_fps.u_fpstate
-
-/* TIOCGETC is defined in System V 3.2 termio.h, but struct tchars
- is not. This makes problems for inflow.c. */
-#define TIOCGETC_BROKEN
-
-/* All the job control definitions exist in SCO Unix, but the standard
- shells don't use them. So we must disable job control. */
-/* This is no longer true with 3.2v2 and later */
-/* #define NO_JOB_CONTROL */
-
-/* SCO's assembler doesn't grok dollar signs in identifiers.
- So we use dots instead. This item must be coordinated with G++. */
-#undef CPLUS_MARKER
-#define CPLUS_MARKER '.'
-#define HAVE_STRSTR
-
-/* Use setpgid instead of setpgrp on SCO */
-#define NEED_POSIX_SETPGID
diff --git a/gdb/xm-i386v.h b/gdb/xm-i386v.h
deleted file mode 100644
index cff2319..0000000
--- a/gdb/xm-i386v.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Host support for i386.
- Copyright 1986, 1987, 1989, 1992 Free Software Foundation, Inc.
- Changes for 80386 by Pace Willisson (pace@prep.ai.mit.edu), July 1988.
-
-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. */
-
-#define HOST_BYTE_ORDER LITTLE_ENDIAN
-
-/* I'm running gdb 3.4 under 386/ix 2.0.2, which is a derivative of AT&T's
-Sys V/386 3.2.
-
-On some machines, gdb crashes when it's starting up while calling the
-vendor's termio tgetent() routine. It always works when run under
-itself (actually, under 3.2, it's not an infinitely recursive bug.)
-After some poking around, it appears that depending on the environment
-size, or whether you're running YP, or the phase of the moon or something,
-the stack is not always long-aligned when main() is called, and tgetent()
-takes strong offense at that. On some machines this bug never appears, but
-on those where it does, it occurs quite reliably. */
-#define ALIGN_STACK_ON_STARTUP
-
-/* define USG if you are using sys5 /usr/include's */
-#define USG
-
-#define HAVE_TERMIO
-
-/* This is the amount to subtract from u.u_ar0
- to get the offset in the core file of the register values. */
-
-#define KERNEL_U_ADDR 0xe0000000
-
diff --git a/gdb/xm-i386v32.h b/gdb/xm-i386v32.h
deleted file mode 100644
index 4a6932a..0000000
--- a/gdb/xm-i386v32.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Macro defintions for i386, running System V 3.2.
- Copyright (C) 1989 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. */
-
-#include "xm-i386v.h"
-
-/* Apparently there is inconsistency among various System V's about what
- the name of this field is. */
-#define U_FPSTATE(u) u.u_fps.u_fpstate
-
-/* TIOCGETC is defined in System V 3.2 termio.h, but struct tchars
- is not. This makes problems for inflow.c. */
-#define TIOCGETC_BROKEN
diff --git a/gdb/xm-i386v4.h b/gdb/xm-i386v4.h
index 9528d61..e69de29 100644
--- a/gdb/xm-i386v4.h
+++ b/gdb/xm-i386v4.h
@@ -1,45 +0,0 @@
-/* Macro definitions for GDB on an Intel i386 running SVR4.
- Copyright 1991, 1992 Free Software Foundation, Inc.
- Written by Fred Fish at Cygnus Support (fnf@cygnus.com).
-
-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. */
-
-/* Pick up most of what we need from the generic i386 host include file. */
-
-#include "xm-i386v.h"
-
-/* Pick up more stuff from the generic SVR4 host include file. */
-
-#include "xm-sysv4.h"
-
-/* The native AT&T compiler for i386/SVR4 complains about using volatile
- to indicate functions that never return. So shut it up by simply
- defining away "NORETURN", which is normally defined to "volatile". */
-
-#ifndef __GNUC__
-# define NORETURN /**/
-#endif
-
-/* If you expect to use the mmalloc package to obtain mapped symbol files,
- for now you have to specify some parameters that determine how gdb places
- the mappings in it's address space. See the comments in map_to_address()
- for details. This is expected to only be a short term solution. Yes it
- is a kludge.
- FIXME: Make this more automatic. */
-
-#define MMAP_BASE_ADDRESS 0x81000000 /* First mapping here */
-#define MMAP_INCREMENT 0x01000000 /* Increment to next mapping */
diff --git a/gdb/xm-i860.h b/gdb/xm-i860.h
index 9840081..e69de29 100644
--- a/gdb/xm-i860.h
+++ b/gdb/xm-i860.h
@@ -1,21 +0,0 @@
-/* Macro definitions for running gdb on host machines with i860 cpu's.
- Copyright (C) 1991, Free Software Foundation, Inc.
- Written by Peggy Fieland @ stratus.com
-
-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. */
-
-
diff --git a/gdb/xm-irix3.h b/gdb/xm-irix3.h
index f12855e..e69de29 100644
--- a/gdb/xm-irix3.h
+++ b/gdb/xm-irix3.h
@@ -1,32 +0,0 @@
-/* Copyright (C) 1991 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. */
-
-/* This is for the iris. */
-
-#define HAVE_TERMIO
-
-#include "xm-bigmips.h"
-
-/* Override register locations in upage for SGI machines */
-#undef REGISTER_U_ADDR
-#define REGISTER_U_ADDR(addr, blockend, regno) \
- if (regno < PC_REGNUM) \
- addr = regno; \
- else \
- addr = regno + NSIG_HNDLRS; /* Skip over signal handlers */
-
diff --git a/gdb/xm-irix4.h b/gdb/xm-irix4.h
index 7a21cf5..e69de29 100644
--- a/gdb/xm-irix4.h
+++ b/gdb/xm-irix4.h
@@ -1,41 +0,0 @@
-/* Definitions for irix4 hosting support.
-
-Copyright (C) 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* This is for the iris. */
-
-#define HAVE_TERMIO
-
-#include "xm-bigmips.h"
-
-/* Override register locations in upage for SGI machines */
-#undef REGISTER_U_ADDR
-#define REGISTER_U_ADDR(addr, blockend, regno) \
- if (regno < PC_REGNUM) \
- addr = regno; \
- else \
- addr = regno + NSIG_HNDLRS; /* Skip over signal handlers */
-
-/* BEGIN GW MODS */
-/* Irix defines psignal() in signal.h, which gets gcc rather angry at us
- * because their definition is markedly different.
- */
-#define PSIGNAL_IN_SIGNAL_H
-
-#define BROKEN_SIGINFO_H /* <sys/siginfo.h> si_pid & si_uid are bogus */
diff --git a/gdb/xm-isi.h b/gdb/xm-isi.h
deleted file mode 100644
index 1934ff5..0000000
--- a/gdb/xm-isi.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Definitions to make GDB run on an ISI Optimum V (3.05) under 4.3bsd.
- Copyright 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-/* This has not been tested on ISI's running BSD 4.2, but it will probably
- work. */
-
-/* This is the amount to subtract from u.u_ar0
- to get the offset in the core file of the register values. */
-
-/*#define KERNEL_U_ADDR 0x10800000*/
-#define KERNEL_U_ADDR 0
-
-/* expects blockend to be u.u_ar0 */
-extern int rloc[]; /* Defined in isi-dep.c */
-#define REGISTER_U_ADDR(addr, blockend, regno) \
-{ blockend &= UPAGES*NBPG - 1; \
- if (regno < 18) addr = (int)blockend + rloc[regno]*4; \
- else if (regno < 26) addr = (int) &((struct user *)0)->u_68881_regs \
- + (regno - 18) * 12; \
- else if (regno < 29) addr = (int) &((struct user *)0)->u_68881_regs \
- + 8 * 12 + (regno - 26) * 4; \
-}
-
-/* Interface definitions for kernel debugger KDB. */
-
-/* Map machine fault codes into signal numbers.
- First subtract 0, divide by 4, then index in a table.
- Faults for which the entry in this table is 0
- are not handled by KDB; the program's own trap handler
- gets to handle then. */
-
-#define FAULT_CODE_ORIGIN 0
-#define FAULT_CODE_UNITS 4
-#define FAULT_TABLE \
-{ 0, 0, 0, 0, SIGTRAP, 0, 0, 0, \
- 0, SIGTRAP, 0, 0, 0, 0, 0, SIGKILL, \
- 0, 0, 0, 0, 0, 0, 0, 0, \
- SIGILL }
-
-/* Start running with a stack stretching from BEG to END.
- BEG and END should be symbols meaningful to the assembler.
- This is used only for kdb. */
-
-#define INIT_STACK(beg, end) \
-{ asm (".globl end"); \
- asm ("movl $ end, sp"); \
- asm ("clrl fp"); }
-
-/* Push the frame pointer register on the stack. */
-#define PUSH_FRAME_PTR \
- asm ("movel fp, -(sp)");
-
-/* Copy the top-of-stack to the frame pointer register. */
-#define POP_FRAME_PTR \
- asm ("movl (sp), fp");
-
-/* After KDB is entered by a fault, push all registers
- that GDB thinks about (all NUM_REGS of them),
- so that they appear in order of ascending GDB register number.
- The fault code will be on the stack beyond the last register. */
-
-#define PUSH_REGISTERS \
-{ asm ("clrw -(sp)"); \
- asm ("pea 10(sp)"); \
- asm ("movem $ 0xfffe,-(sp)"); }
-
-/* Assuming the registers (including processor status) have been
- pushed on the stack in order of ascending GDB register number,
- restore them and return to the address in the saved PC register. */
-
-#define POP_REGISTERS \
-{ asm ("subil $8,28(sp)"); \
- asm ("movem (sp),$ 0xffff"); \
- asm ("rte"); }
diff --git a/gdb/xm-linux.h b/gdb/xm-linux.h
index f265c73..e69de29 100644
--- a/gdb/xm-linux.h
+++ b/gdb/xm-linux.h
@@ -1,26 +0,0 @@
-/* Native support for linux, for GDB, the GNU debugger.
- Copyright (C) 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#include "xm-i386v.h"
-
-/* This is the amount to subtract from u.u_ar0
- to get the offset in the core file of the register values. */
-#undef KERNEL_U_ADDR
-#define KERNEL_U_ADDR 0x0
-#define PSIGNAL_IN_SIGNAL_H
diff --git a/gdb/xm-m68k.h b/gdb/xm-m68k.h
index f417e97..e69de29 100644
--- a/gdb/xm-m68k.h
+++ b/gdb/xm-m68k.h
@@ -1,22 +0,0 @@
-/* Macro definitions for running gdb on host machines with m68k cpu's.
- Copyright (C) 1991, Free Software Foundation, Inc.
- Written by Fred Fish at Cygnus Support (fnf@cygint)
-
-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. */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
diff --git a/gdb/xm-m88k.h b/gdb/xm-m88k.h
deleted file mode 100644
index f58f758..0000000
--- a/gdb/xm-m88k.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Host-machine dependent parameters for Motorola 88000, for GDB.
- Copyright 1986, 1987, 1988, 1989, 1990, 1991 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. */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-#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
-
-#ifdef DGUX
-#define x_foff _x_x._x_offset
-#define x_fname _x_name
-#define USER ptrace_user
-#define _BSD_WAIT_FLAVOR
-#endif
-
-#define HAVE_TERMIO
-
-#ifndef USIZE
-#define USIZE 2048
-#endif
-#define NBPG NBPC
-#define UPAGES USIZE
-
-/* Get rid of any system-imposed stack limit if possible. */
-
-#define SET_STACK_LIMIT_HUGE
-
-/* 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
-
diff --git a/gdb/xm-merlin.h b/gdb/xm-merlin.h
deleted file mode 100644
index 7cbba1c..0000000
--- a/gdb/xm-merlin.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Definitions to make GDB run on a merlin under utek 2.1
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#include <machine/reg.h>
-
-/* This machine doesn't have the siginterrupt call. */
-#define NO_SIGINTERRUPT
-
-/* Under Utek, a ptrace'd process can be the only active process for
- an executable. Therefore instead of /bin/sh use gdb-sh (which should
- just be a copy of /bin/sh which is world readable and writeable). */
-#define SHELL_FILE "/usr/gnu/lib/gdb-sh"
-
-#define HOST_BYTE_ORDER LITTLE_ENDIAN
-
-/* This is the amount to subtract from u.u_ar0
- to get the offset in the core file of the register values. */
-
-#define KERNEL_U_ADDR (0xfef000)
-
-#define REGISTER_U_ADDR(addr, blockend, regno) \
-{ \
- switch (regno) { \
- case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: \
- addr = blockend + (R0 - regno) * sizeof (int); break; \
- case PC_REGNUM: \
- addr = blockend + PC * sizeof (int); break; \
- case SP_REGNUM: \
- addr = blockend + SP * sizeof (int); break; \
- case FP_REGNUM: \
- addr = blockend + FP * sizeof (int); break; \
- case PS_REGNUM: \
- addr = blockend + 12 * sizeof (int); break; \
- case FPS_REGNUM: \
- addr = 108; break; \
- case FP0_REGNUM + 0: case FP0_REGNUM + 1: \
- case FP0_REGNUM + 2: case FP0_REGNUM + 3: \
- case FP0_REGNUM + 4: case FP0_REGNUM + 5: \
- case FP0_REGNUM + 6: case FP0_REGNUM + 7: \
- addr = 76 + (regno - FP0_REGNUM) * sizeof (float); break; \
- case LP0_REGNUM + 0: case LP0_REGNUM + 1: \
- case LP0_REGNUM + 2: case LP0_REGNUM + 3: \
- addr = 76 + (regno - LP0_REGNUM) * sizeof (double); break; \
- default: \
- printf ("bad argument to REGISTER_U_ADDR %d\n", regno); \
- abort (); \
- } \
-}
diff --git a/gdb/xm-mips.h b/gdb/xm-mips.h
deleted file mode 100644
index 2c2e5cd..0000000
--- a/gdb/xm-mips.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Definitions to make GDB run on a mips box under 4.3bsd.
- Copyright (C) 1986, 1987, 1989 Free Software Foundation, Inc.
- Contributed by Per Bothner(bothner@cs.wisc.edu) at U.Wisconsin
- and by Alessandro Forin(af@cs.cmu.edu) at CMU
-
-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. */
-
-#if !defined (HOST_BYTE_ORDER)
-#define HOST_BYTE_ORDER LITTLE_ENDIAN
-#endif
-
-/* Get rid of any system-imposed stack limit if possible */
-
-#define SET_STACK_LIMIT_HUGE
-
-#ifdef ultrix
-/* Needed for DECstation core files. */
-#include <machine/param.h>
-#define KERNEL_U_ADDR UADDR
-#endif
-
-#ifdef ultrix
-extern char *strdup();
-#endif
-
-/* DECstation memcpy and memset return void *, not char *. */
-
-extern void *memcpy();
-extern void *memset();
-#define MEM_FNS_DECLARED
-
-#if ! defined (__STDC__) && ! defined (offsetof)
-# define offsetof(TYPE, MEMBER) ((unsigned long) &((TYPE *)0)->MEMBER)
-#endif
-
-/* Only used for core files on DECstations.
- First four registers at u.u_ar0 are saved arguments, and
- there is no r0 saved. Float registers are saved
- in u_pcb.pcb_fpregs, not relative to u.u_ar0. */
-
-#define REGISTER_U_ADDR(addr, blockend, regno) \
- { \
- if (regno < FP0_REGNUM) \
- addr = blockend + sizeof(int) * (4 + regno - 1); \
- else \
- addr = offsetof (struct user, u_pcb.pcb_fpregs[0]) + \
- sizeof (int) * (regno - FP0_REGNUM); \
- }
-
-/* Kernel is a bit tenacious about sharing text segments, disallowing bpts. */
-#define ONE_PROCESS_WRITETEXT
diff --git a/gdb/xm-news.h b/gdb/xm-news.h
deleted file mode 100644
index 147063d..0000000
--- a/gdb/xm-news.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/* Parameters for execution on a Sony/NEWS, for GDB, the GNU debugger.
- Copyright 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-#define HAVE_WAIT_STRUCT
-
-/* Get rid of any system-imposed stack limit if possible. */
-
-#define SET_STACK_LIMIT_HUGE
-
-/* We can't use "isatty" or "fileno" on this machine. This isn't good,
- but it will have to do. */
-#define ISATTY(FP) ((FP) == stdin || (FP) == stdout)
-
-/* THis is the amount to subtract from u.u_ar0
- to get the offset in the core file of the register values. */
-
-#define KERNEL_U_ADDR UADDR
-
-/* The offsets in this macro are from /usr/include/machine/reg.h */
-
-#define REGISTER_U_ADDR(addr, blockend, regno) \
-{ static char offsets[] = { \
- /*d0-d7:*/1,2,3,4,5,6,7,8, \
- /*a0-a6:*/9,10,11,12,13,14,15, /*sp:*/-4, /*ps:*/0, /*pc:*/-1, \
- /*fp0-fp7:*/19,22,25,28,31,34,37,40, /*fpc:*/16,17,18 }; \
- addr = blockend + 4 * offsets[regno]; \
-}
-
-/* NewsOS 3 apparently dies on large alloca's -- roland@ai.mit.edu. */
-#define BROKEN_LARGE_ALLOCA
-
-
-/* Interface definitions for kernel debugger KDB. */
-
-/* Use GNU assembler instead of standard assembler */
-#define USE_GAS
-
-/* Motorola assembly format */
-#ifndef USE_GAS
-#define MOTOROLA
-#endif
-
-/* Map machine fault codes into signal numbers.
- First subtract 0, divide by 4, then index in a table.
- Faults for which the entry in this table is 0
- are not handled by KDB; the program's own trap handler
- gets to handle then. */
-
-#define FAULT_CODE_ORIGIN 0
-#define FAULT_CODE_UNITS 4
-#define FAULT_TABLE \
-{ 0, 0, 0, 0, SIGTRAP, 0, 0, 0, \
- 0, SIGTRAP, 0, 0, 0, 0, 0, SIGKILL, \
- 0, 0, 0, 0, 0, 0, 0, 0, \
- SIGILL }
-
-/* Start running with a stack stretching from BEG to END.
- BEG and END should be symbols meaningful to the assembler.
- This is used only for kdb. */
-
-#ifdef MOTOROLA
-#define INIT_STACK(beg, end) \
-{ asm (".globl end"); \
- asm ("move.l $ end, sp"); \
- asm ("clr.l fp"); }
-#else
-#define INIT_STACK(beg, end) \
-{ asm (".globl end"); \
- asm ("movel $ end, sp"); \
- asm ("clrl fp"); }
-#endif
-
-/* Push the frame pointer register on the stack. */
-#ifdef MOTOROLA
-#define PUSH_FRAME_PTR \
- asm ("move.l fp, -(sp)");
-#else
-#define PUSH_FRAME_PTR \
- asm ("movel fp, -(sp)");
-#endif
-
-/* Copy the top-of-stack to the frame pointer register. */
-#ifdef MOTOROLA
-#define POP_FRAME_PTR \
- asm ("move.l (sp), fp");
-#else
-#define POP_FRAME_PTR \
- asm ("movl (sp), fp");
-#endif
-
-/* After KDB is entered by a fault, push all registers
- that GDB thinks about (all NUM_REGS of them),
- so that they appear in order of ascending GDB register number.
- The fault code will be on the stack beyond the last register. */
-
-#ifdef MOTOROLA
-#define PUSH_REGISTERS \
-{ asm ("clr.w -(sp)"); \
- asm ("pea (10,sp)"); \
- asm ("movem $ 0xfffe,-(sp)"); }
-#else
-#define PUSH_REGISTERS \
-{ asm ("clrw -(sp)"); \
- asm ("pea 10(sp)"); \
- asm ("movem $ 0xfffe,-(sp)"); }
-#endif
-
-/* Assuming the registers (including processor status) have been
- pushed on the stack in order of ascending GDB register number,
- restore them and return to the address in the saved PC register. */
-
-#ifdef MOTOROLA
-#define POP_REGISTERS \
-{ asm ("subi.l $8,28(sp)"); \
- asm ("movem (sp),$ 0xffff"); \
- asm ("rte"); }
-#else
-#define POP_REGISTERS \
-{ asm ("subil $8,28(sp)"); \
- asm ("movem (sp),$ 0xffff"); \
- asm ("rte"); }
-#endif
diff --git a/gdb/xm-news1000.h b/gdb/xm-news1000.h
deleted file mode 100644
index 58671c5..0000000
--- a/gdb/xm-news1000.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Parameters for a Sony/NEWS series 1000 with News-OS version 3,
- for GDB, the GNU debugger.
- Copyright (C) 1990 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. */
-
-/* This is required by Sony include files like <sys/user.h> so we
- get the right offset into the u area. Relying on the compiler
- to define this only works for cc, not gcc. */
-#undef mc68030
-#define mc68030
-#include "xm-news.h"
diff --git a/gdb/xm-np1.h b/gdb/xm-np1.h
deleted file mode 100644
index 290003e..0000000
--- a/gdb/xm-np1.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/* Parameters for execution on a Gould NP1, for GDB, the GNU debugger.
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-/* Get rid of any system-imposed stack limit if possible. */
-#define SET_STACK_LIMIT_HUGE
-
-/* Address of U in kernel space */
-#define KERNEL_U_ADDR 0x7fffc000
-
-/* This is a piece of magic that is given a register number REGNO
- and as BLOCKEND the address in the system of the end of the user structure
- and stores in ADDR the address in the kernel or core dump
- of that register. */
-#define REGISTER_U_ADDR(addr, blockend, regno) { \
- addr = blockend + regno * 4; \
- if (regno == VE_REGNUM) addr = blockend - 9 * 4; \
- if (regno == PC_REGNUM) addr = blockend - 8 * 4; \
- if (regno == PS_REGNUM) addr = blockend - 7 * 4; \
- if (regno == FP_REGNUM) addr = blockend - 6 * 4; \
- if (regno >= V1_REGNUM) \
- addr = blockend + 16 * 4 + (regno - V1_REGNUM) * VR_SIZE; \
-}
-
-/* Don't try to write the frame pointer. */
-#define CANNOT_STORE_REGISTER(regno) ((regno) == FP_REGNUM)
-
-/*
- * No KDB support, Yet! */
-/* Interface definitions for kernel debugger KDB. */
-
-/* Map machine fault codes into signal numbers.
- First subtract 0, divide by 4, then index in a table.
- Faults for which the entry in this table is 0
- are not handled by KDB; the program's own trap handler
- gets to handle then. */
-
-#define FAULT_CODE_ORIGIN 0
-#define FAULT_CODE_UNITS 4
-#define FAULT_TABLE \
-{ 0, 0, 0, 0, SIGTRAP, 0, 0, 0, \
- 0, SIGTRAP, 0, 0, 0, 0, 0, SIGKILL, \
- 0, 0, 0, 0, 0, 0, 0, 0, \
- SIGILL }
-
-/* Start running with a stack stretching from BEG to END.
- BEG and END should be symbols meaningful to the assembler.
- This is used only for kdb. */
-
-#define INIT_STACK(beg, end) \
-{ asm (".globl end"); \
- asm ("movel $ end, sp"); \
- asm ("clrl fp"); }
-
-/* Push the frame pointer register on the stack. */
-#define PUSH_FRAME_PTR \
- asm ("movel fp, -(sp)");
-
-/* Copy the top-of-stack to the frame pointer register. */
-#define POP_FRAME_PTR \
- asm ("movl (sp), fp");
-
-/* After KDB is entered by a fault, push all registers
- that GDB thinks about (all NUM_REGS of them),
- so that they appear in order of ascending GDB register number.
- The fault code will be on the stack beyond the last register. */
-
-#define PUSH_REGISTERS \
-{ asm ("clrw -(sp)"); \
- asm ("pea 10(sp)"); \
- asm ("movem $ 0xfffe,-(sp)"); }
-
-/* Assuming the registers (including processor status) have been
- pushed on the stack in order of ascending GDB register number,
- restore them and return to the address in the saved PC register. */
-
-#define POP_REGISTERS \
-{ asm ("subil $8,28(sp)"); \
- asm ("movem (sp),$ 0xffff"); \
- asm ("rte"); }
diff --git a/gdb/xm-pn.h b/gdb/xm-pn.h
deleted file mode 100644
index 71894d8..0000000
--- a/gdb/xm-pn.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/* Parameters for execution on a Gould PN, for GDB, the GNU debugger.
- Copyright (C) 1986, 1987, 1989 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. */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-/* Get rid of any system-imposed stack limit if possible. */
-#define SET_STACK_LIMIT_HUGE
-
-/* Address of U in kernel space */
-#define KERNEL_U_ADDR 0x3fc000
-
-/* This is a piece of magic that is given a register number REGNO
- and as BLOCKEND the address in the system of the end of the user structure
- and stores in ADDR the address in the kernel or core dump
- of that register. */
-#define REGISTER_U_ADDR(addr, blockend, regno) { \
- addr = blockend + regno * 4; \
- if (regno == PC_REGNUM) addr = blockend - 8 * 4; \
- if (regno == PS_REGNUM) addr = blockend - 7 * 4; \
- if (regno == SP_REGNUM) addr = blockend - 6 * 4; \
-}
-
-/* No KDB support, Yet! */
-/* Interface definitions for kernel debugger KDB. */
-
-/* Map machine fault codes into signal numbers.
- First subtract 0, divide by 4, then index in a table.
- Faults for which the entry in this table is 0
- are not handled by KDB; the program's own trap handler
- gets to handle then. */
-
-#define FAULT_CODE_ORIGIN 0
-#define FAULT_CODE_UNITS 4
-#define FAULT_TABLE \
-{ 0, 0, 0, 0, SIGTRAP, 0, 0, 0, \
- 0, SIGTRAP, 0, 0, 0, 0, 0, SIGKILL, \
- 0, 0, 0, 0, 0, 0, 0, 0, \
- SIGILL }
-
-/* Start running with a stack stretching from BEG to END.
- BEG and END should be symbols meaningful to the assembler.
- This is used only for kdb. */
-
-#define INIT_STACK(beg, end) \
-{ asm (".globl end"); \
- asm ("movel $ end, sp"); \
- asm ("clrl fp"); }
-
-/* Push the frame pointer register on the stack. */
-#define PUSH_FRAME_PTR \
- asm ("movel fp, -(sp)");
-
-/* Copy the top-of-stack to the frame pointer register. */
-#define POP_FRAME_PTR \
- asm ("movl (sp), fp");
-
-/* After KDB is entered by a fault, push all registers
- that GDB thinks about (all NUM_REGS of them),
- so that they appear in order of ascending GDB register number.
- The fault code will be on the stack beyond the last register. */
-
-#define PUSH_REGISTERS \
-{ asm ("clrw -(sp)"); \
- asm ("pea 10(sp)"); \
- asm ("movem $ 0xfffe,-(sp)"); }
-
-/* Assuming the registers (including processor status) have been
- pushed on the stack in order of ascending GDB register number,
- restore them and return to the address in the saved PC register. */
-
-#define POP_REGISTERS \
-{ asm ("subil $8,28(sp)"); \
- asm ("movem (sp),$ 0xffff"); \
- asm ("rte"); }
diff --git a/gdb/xm-pyr.h b/gdb/xm-pyr.h
deleted file mode 100644
index 0d496a3..0000000
--- a/gdb/xm-pyr.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/* Definitions to make GDB run on a Pyramidax under OSx 4.0 (4.2bsd).
- Copyright 1988, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-/* Define PYRAMID_CONTROL_FRAME_DEBUGGING to get copious messages
- about reading the control stack on standard output. This
- makes gdb unusable as a debugger. */
-
-/* #define PYRAMID_CONTROL_FRAME_DEBUGGING */
-
-/* Define PYRAMID_FRAME_DEBUGGING for ? */
-
-/* use Pyramid's slightly strange ptrace */
-#define PYRAMID_PTRACE
-
-/* Traditional Unix virtual address spaces have thre regions: text,
- data and stack. The text, initialised data, and uninitialised data
- are represented in separate segments of the a.out file.
- When a process dumps core, the data and stack regions are written
- to a core file. This gives a debugger enough information to
- reconstruct (and debug) the virtual address space at the time of
- the coredump.
- Pyramids have an distinct fourth region of the virtual address
- space, in which the contents of the windowed registers are stacked
- in fixed-size frames. Pyramid refer to this region as the control
- stack. Each call (or trap) automatically allocates a new register
- frame; each return deallocates the current frame and restores the
- windowed registers to their values before the call.
-
- When dumping core, the control stack is written to a core files as
- a third segment. The core-handling functions need to know to deal
- with it. */
-
-/* Tell dep.c what the extra segment is. */
-#define PYRAMID_CORE
-
-#define NO_SIGINTERRUPT
-
-#define HAVE_WAIT_STRUCT
-
-/* Get rid of any system-imposed stack limit if possible. */
-
-#define SET_STACK_LIMIT_HUGE
-
-/* This is the amount to subtract from u.u_ar0
- to get the offset in the core file of the register values. */
-
-#define KERNEL_U_ADDR (0x80000000 - (UPAGES * NBPG))
-
-/* Define offsets of registers in the core file (or maybe u area) */
-#define REGISTER_U_ADDR(addr, blockend, regno) \
-{ struct user __u; \
- addr = blockend + (regno - 16 ) * 4; \
- if (regno == 67) { \
- printf("\\geting reg 67\\"); \
- addr = (int)(&__u.u_pcb.pcb_csp) - (int) &__u; \
- } else if (regno == KSP_REGNUM) { \
- printf("\\geting KSP (reg %d)\\", KSP_REGNUM); \
- addr = (int)(&__u.u_pcb.pcb_ksp) - (int) &__u; \
- } else if (regno == CSP_REGNUM) { \
- printf("\\geting CSP (reg %d\\",CSP_REGNUM); \
- addr = (int)(&__u.u_pcb.pcb_csp) - (int) &__u; \
- } else if (regno == 64) { \
- printf("\\geting reg 64\\"); \
- addr = (int)(&__u.u_pcb.pcb_csp) - (int) &__u; \
- } else if (regno == PS_REGNUM) \
- addr = blockend - 4; \
- else if (1 && ((16 > regno) && (regno > 11))) \
- addr = last_frame_offset + (4 *(regno+32)); \
- else if (0 && (12 > regno)) \
- addr = global_reg_offset + (4 *regno); \
- else if (16 > regno) \
- addr = global_reg_offset + (4 *regno); \
- else \
- addr = blockend + (regno - 16 ) * 4; \
-}
-
-/* Override copies of {fetch,store}_inferior_registers in infptrace.c. */
-#define FETCH_INFERIOR_REGISTERS
diff --git a/gdb/xm-rs6000.h b/gdb/xm-rs6000.h
index 5ee3bdd..e69de29 100644
--- a/gdb/xm-rs6000.h
+++ b/gdb/xm-rs6000.h
@@ -1,109 +0,0 @@
-/* Parameters for hosting on an RS6000, for GDB, the GNU debugger.
- Copyright 1986, 1987, 1989, 1991, 1992, 1993 Free Software Foundation, Inc.
- Contributed by IBM Corporation.
-
-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. */
-
-/* The following text is taken from config/rs6000.mh:
- * # The IBM version of /usr/include/rpc/rpc.h has a bug -- it says
- * # `extern fd_set svc_fdset;' without ever defining the type fd_set.
- * # Unfortunately this occurs in the vx-share code, which is not configured
- * # like the rest of GDB (e.g. it doesn't include "defs.h").
- * # We circumvent this bug by #define-ing fd_set here, but undefining it in
- * # the xm-rs6000.h file before ordinary modules try to use it. FIXME, IBM!
- * MH_CFLAGS='-Dfd_set=int'
- * So, here we do the undefine...which has to occur before we include
- * <sys/select.h> below.
- */
-#undef fd_set
-
-#include <sys/select.h>
-
-/* Big end is at the low address */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-#define HAVE_TERMIO 1
-#define USG 1
-#define HAVE_SIGSETMASK 1
-
-/* AIX declares the mem functions differently than defs.h does. AIX is
- right, but defs.h works on more old systems. For now, override it. */
-
-#define MEM_FNS_DECLARED 1
-
-/* This system requires that we open a terminal with O_NOCTTY for it to
- not become our controlling terminal. */
-
-#define USE_O_NOCTTY
-
-/* Get rid of any system-imposed stack limit if possible. */
-
-#define SET_STACK_LIMIT_HUGE
-
-/* Brain death inherited from PC's pervades. */
-#undef NULL
-#define NULL 0
-
-/* The IBM compiler requires this in order to properly compile alloca(). */
-#pragma alloca
-
-/* There is no vfork. */
-
-#define vfork fork
-
-/* Setpgrp() takes arguments, unlike ordinary Sys V's. */
-
-#define SETPGRP_ARGS 1
-
-/* /usr/include/stdlib.h always uses void* and void,
- even when __STDC__ isn't defined. */
-#define MALLOC_INCOMPATIBLE
-extern void *malloc PARAMS ((size_t size));
-extern void *realloc PARAMS ((void *ptr, size_t size));
-extern void free PARAMS ((void *));
-
-/* AIX doesn't have strdup, so we need to declare it for libiberty */
-extern char *strdup PARAMS ((char *));
-
-/* Signal handler for SIGWINCH `window size changed'. */
-
-#define SIGWINCH_HANDLER aix_resizewindow
-extern void aix_resizewindow ();
-
-/* `lines_per_page' and `chars_per_line' are local to utils.c. Rectify this. */
-
-#define SIGWINCH_HANDLER_BODY \
- \
-/* Respond to SIGWINCH `window size changed' signal, and reset GDB's \
- window settings approproatelt. */ \
- \
-void \
-aix_resizewindow () \
-{ \
- int fd = fileno (stdout); \
- if (isatty (fd)) { \
- int val; \
- \
- val = atoi (termdef (fd, 'l')); \
- if (val > 0) \
- lines_per_page = val; \
- val = atoi (termdef (fd, 'c')); \
- if (val > 0) \
- chars_per_line = val; \
- } \
-}
diff --git a/gdb/xm-rtbsd.h b/gdb/xm-rtbsd.h
index 77c4257..e69de29 100644
--- a/gdb/xm-rtbsd.h
+++ b/gdb/xm-rtbsd.h
@@ -1,43 +0,0 @@
-/* Definitions to host GDB on an IBM RT/PC running BSD Unix.
- Copyright 1986, 1987, 1989, 1991, 1992 Free Software Foundation, Inc.
- Contributed by David Wood @ New York University (wood@lab.ultra.nyu.edu).
-
-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. */
-
-/* Get rid of any system-imposed stack limit if possible. */
-#define SET_STACK_LIMIT_HUGE
-
-/* This machine is most significant byte first */
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-/* This OS has the wait structure */
-#define HAVE_WAIT_STRUCT
-
-#ifdef HOSTING_ONLY
-/*
- * This next two defines are to get GDB up and running as a host to
- * do remote debugging. I know there is a gdb for the RT, but there wasn't
- * an xconfig/rt* file.
- */
-#define KERNEL_U_ADDR_BSD /* This may be correct, but hasn't been tested */
-#define REGISTER_U_ADDR(a,b,c) \
- (printf("GDB can not debug IBM RT/PC BSD executables (yet)\n"),\
- quit(),0)
-#else
-# include "GDB for the RT is not included in the distribution"
-#endif
-
diff --git a/gdb/xm-sparc.h b/gdb/xm-sparc.h
deleted file mode 100644
index 9fc068f..0000000
--- a/gdb/xm-sparc.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Parameters for execution on a Sun 4, for GDB, the GNU debugger.
- Copyright 1986, 1987, 1989, 1991, 1992 Free Software Foundation, Inc.
- Contributed by Michael Tiemann (tiemann@mcc.com).
-
-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. */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-/* Get rid of any system-imposed stack limit if possible. */
-
-#define SET_STACK_LIMIT_HUGE
-
-/* Enable use of alternate code for Sun's format of core dump file. */
-
-#define NEW_SUN_CORE
-
-/* Before storing, we need to read all the registers. */
-
-#define CHILD_PREPARE_TO_STORE() read_register_bytes (0, NULL, REGISTER_BYTES)
-
-/* It does have a wait structure, and it might help things out . . . */
-
-#define HAVE_WAIT_STRUCT
-
diff --git a/gdb/xm-stratus.h b/gdb/xm-stratus.h
index 8898a6d..e69de29 100644
--- a/gdb/xm-stratus.h
+++ b/gdb/xm-stratus.h
@@ -1,40 +0,0 @@
-/* Macro definitions for GDB hosted on a Stratus machine.
- Copyright 1992 Free Software Foundation, Inc.
- Contributed by Peggy Fieland (pfieland@stratus.com).
-
-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. */
-
-/* Normally, i860 is little endian. However, stratus uses the i860 in
- big endian mode. */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-/* Pick up most of what we need from the generic i860 host include file. */
-
-#include "xm-i860.h"
-
-/* Pick up more stuff from the generic SVR4 host include file. */
-
-#include "xm-sysv4.h"
-
-/* The native compiler complains about using volatile to indicate functions
- that never return. So shut it up by simply defining away "NORETURN", which
- is normally defined to "volatile". */
-
-#ifndef __GNUC__
-# define NORETURN /**/
-#endif
diff --git a/gdb/xm-sun2.h b/gdb/xm-sun2.h
deleted file mode 100644
index 1d6d341..0000000
--- a/gdb/xm-sun2.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/* Parameters for execution on a Sun, for GDB, the GNU debugger.
- Copyright (C) 1986, 1987, 1989 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. */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-/* This is the amount to subtract from u.u_ar0
- to get the offset in the core file of the register values. */
-
-#define KERNEL_U_ADDR 0x2800
-
-/* Enable use of alternate code for Sun's format of core dump file. */
-
-#define NEW_SUN_CORE
-
-
-/* Interface definitions for kernel debugger KDB. */
-
-/* Map machine fault codes into signal numbers.
- First subtract 0, divide by 4, then index in a table.
- Faults for which the entry in this table is 0
- are not handled by KDB; the program's own trap handler
- gets to handle then. */
-
-#define FAULT_CODE_ORIGIN 0
-#define FAULT_CODE_UNITS 4
-#define FAULT_TABLE \
-{ 0, 0, 0, 0, SIGTRAP, 0, 0, 0, \
- 0, SIGTRAP, 0, 0, 0, 0, 0, SIGKILL, \
- 0, 0, 0, 0, 0, 0, 0, 0, \
- SIGILL }
-
-/* Start running with a stack stretching from BEG to END.
- BEG and END should be symbols meaningful to the assembler.
- This is used only for kdb. */
-
-#define INIT_STACK(beg, end) \
-{ asm (".globl end"); \
- asm ("movel $ end, sp"); \
- asm ("clrl fp"); }
-
-/* Push the frame pointer register on the stack. */
-#define PUSH_FRAME_PTR \
- asm ("movel fp, -(sp)");
-
-/* Copy the top-of-stack to the frame pointer register. */
-#define POP_FRAME_PTR \
- asm ("movl (sp), fp");
-
-/* After KDB is entered by a fault, push all registers
- that GDB thinks about (all NUM_REGS of them),
- so that they appear in order of ascending GDB register number.
- The fault code will be on the stack beyond the last register. */
-
-#define PUSH_REGISTERS \
-{ asm ("clrw -(sp)"); \
- asm ("pea 10(sp)"); \
- asm ("movem $ 0xfffe,-(sp)"); }
-
-/* Assuming the registers (including processor status) have been
- pushed on the stack in order of ascending GDB register number,
- restore them and return to the address in the saved PC register. */
-
-#define POP_REGISTERS \
-{ asm ("subil $8,28(sp)"); \
- asm ("movem (sp),$ 0xffff"); \
- asm ("rte"); }
diff --git a/gdb/xm-sun3.h b/gdb/xm-sun3.h
deleted file mode 100644
index 3970929..0000000
--- a/gdb/xm-sun3.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Parameters for execution on a Sun, for GDB, the GNU debugger.
- Copyright (C) 1986, 1987, 1989 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. */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-/* Get rid of any system-imposed stack limit if possible. */
-
-#define SET_STACK_LIMIT_HUGE
-
-/* Enable use of alternate code for Sun's format of core dump file. */
-
-#define NEW_SUN_CORE
-
-/* We have to grab the regs since we store all regs at once. */
-
-#define CHILD_PREPARE_TO_STORE() \
- read_register_bytes (0, (char *)NULL, REGISTER_BYTES)
-
-/* Interface definitions for kernel debugger KDB. */
-
-/* Map machine fault codes into signal numbers.
- First subtract 0, divide by 4, then index in a table.
- Faults for which the entry in this table is 0
- are not handled by KDB; the program's own trap handler
- gets to handle then. */
-
-#define FAULT_CODE_ORIGIN 0
-#define FAULT_CODE_UNITS 4
-#define FAULT_TABLE \
-{ 0, 0, 0, 0, SIGTRAP, 0, 0, 0, \
- 0, SIGTRAP, 0, 0, 0, 0, 0, SIGKILL, \
- 0, 0, 0, 0, 0, 0, 0, 0, \
- SIGILL }
-
-/* Start running with a stack stretching from BEG to END.
- BEG and END should be symbols meaningful to the assembler.
- This is used only for kdb. */
-
-#define INIT_STACK(beg, end) \
-{ asm (".globl end"); \
- asm ("movel #end, sp"); \
- asm ("movel #0,a6"); }
-
-/* Push the frame pointer register on the stack. */
-#define PUSH_FRAME_PTR \
- asm ("movel a6,sp@-");
-
-/* Copy the top-of-stack to the frame pointer register. */
-#define POP_FRAME_PTR \
- asm ("movl sp@,a6");
-
-/* After KDB is entered by a fault, push all registers
- that GDB thinks about (all NUM_REGS of them),
- so that they appear in order of ascending GDB register number.
- The fault code will be on the stack beyond the last register. */
-
-#define PUSH_REGISTERS \
-{ asm ("clrw -(sp)"); \
- asm ("pea sp@(10)"); \
- asm ("movem #0xfffe,sp@-"); }
-
-/* Assuming the registers (including processor status) have been
- pushed on the stack in order of ascending GDB register number,
- restore them and return to the address in the saved PC register. */
-
-#define POP_REGISTERS \
-{ asm ("subil #8,sp@(28)"); \
- asm ("movem sp@,#0xffff"); \
- asm ("rte"); }
diff --git a/gdb/xm-sun386.h b/gdb/xm-sun386.h
deleted file mode 100644
index bbc4402..0000000
--- a/gdb/xm-sun386.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Host support for Sun 386i, for GDB, the GNU debugger.
- Copyright (C) 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define HOST_BYTE_ORDER LITTLE_ENDIAN
-
-/* Get rid of any system-imposed stack limit if possible. */
-
-/* If I do this on SunOS 4.0.1, I get SIGSEGV's on (some) instructions which
- try to access the stack. */
-/* #define SET_STACK_LIMIT_HUGE */
-
-#define BROKEN_LARGE_ALLOCA
-
-/* Enable use of alternate code for Sun's format of core dump file. */
-
-#define NEW_SUN_CORE
-
-#define PREPARE_TO_STORE() read_register_bytes (0, NULL, REGISTER_BYTES)
diff --git a/gdb/xm-sun3os4.h b/gdb/xm-sun3os4.h
deleted file mode 100644
index cf23a4b..0000000
--- a/gdb/xm-sun3os4.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Macro definitions for a sun 3 running os 4.
- Copyright (C) 1989, 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. */
-
-#include "xm-sun3.h"
-#define FPU
-
-/* Large alloca's fail because the attempt to increase the stack limit in
- main() fails because shared libraries are allocated just below the initial
- stack limit. The SunOS kernel will not allow the stack to grow into
- the area occupied by the shared libraries. Sun knows about this bug
- but has no obvious fix for it. */
-#define BROKEN_LARGE_ALLOCA
-
-/* SunOS 4.x has memory mapped files. */
-
-#define HAVE_MMAP
-
-/* If you expect to use the mmalloc package to obtain mapped symbol files,
- for now you have to specify some parameters that determine how gdb places
- the mappings in it's address space. See the comments in map_to_address()
- for details. This is expected to only be a short term solution. Yes it
- is a kludge.
- FIXME: Make this more automatic. */
-
-#define MMAP_BASE_ADDRESS 0xE0000000 /* First mapping here */
-#define MMAP_INCREMENT 0x01000000 /* Increment to next mapping */
-
-/* Prevent type conflicts between yacc malloc decls and defs.h */
-#define MALLOC_INCOMPATIBLE
-extern char *malloc();
-extern char *realloc();
-extern void free();
diff --git a/gdb/xm-sun4os4.h b/gdb/xm-sun4os4.h
deleted file mode 100644
index be96f41..0000000
--- a/gdb/xm-sun4os4.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Macro definitions for running gdb on a Sun 4 running sunos 4.
- Copyright (C) 1989, 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. */
-
-#include "xm-sparc.h"
-#define FPU
-
-/* Large alloca's fail because the attempt to increase the stack limit in
- main() fails because shared libraries are allocated just below the initial
- stack limit. The SunOS kernel will not allow the stack to grow into
- the area occupied by the shared libraries. Sun knows about this bug
- but has no obvious fix for it. */
-#define BROKEN_LARGE_ALLOCA
-
-/* SunOS 4.x has memory mapped files. */
-
-#define HAVE_MMAP
-
-/* If you expect to use the mmalloc package to obtain mapped symbol files,
- for now you have to specify some parameters that determine how gdb places
- the mappings in it's address space. See the comments in map_to_address()
- for details. This is expected to only be a short term solution. Yes it
- is a kludge.
- FIXME: Make this more automatic. */
-
-#define MMAP_BASE_ADDRESS 0xE0000000 /* First mapping here */
-#define MMAP_INCREMENT 0x01000000 /* Increment to next mapping */
-
-/* /usr/include/malloc.h defines these w/o prototypes (and uses
- char * instead of void *). */
-#define MALLOC_INCOMPATIBLE
-extern char* malloc PARAMS (());
-extern char* realloc PARAMS (());
-extern void free PARAMS (());
-
-/* SunOS 4.x uses nonstandard "char *" as type of third argument to ptrace() */
-
-#define PTRACE_ARG3_TYPE char*
diff --git a/gdb/xm-sun4sol2.h b/gdb/xm-sun4sol2.h
index a3cc2ef..e69de29 100644
--- a/gdb/xm-sun4sol2.h
+++ b/gdb/xm-sun4sol2.h
@@ -1,67 +0,0 @@
-/* Macro definitions for running gdb on a Sun 4 running Solaris 2.
- Copyright 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* Most of what we know is generic to SPARC hosts. */
-
-#include "xm-sparc.h"
-
-/* Pick up more stuff from the generic SVR4 host include file. */
-
-#include "xm-sysv4.h"
-
-/* SVR4's can't seem to agree on what to call the type that contains the
- general registers. Kludge around it with a #define. */
-
-#define gregset_t prgregset_t
-#define fpregset_t prfpregset_t
-
-/* The native Sun compiler complains about using volatile
- to indicate functions that never return. So shut it up by simply
- defining away "NORETURN", which is normally defined to "volatile". */
-
-#ifndef __GNUC__
-# define NORETURN /**/
-#endif
-
-/* Large alloca's fail because the attempt to increase the stack limit in
- main() fails because shared libraries are allocated just below the initial
- stack limit. The SunOS kernel will not allow the stack to grow into
- the area occupied by the shared libraries. Sun knows about this bug
- but has no obvious fix for it. */
-#define BROKEN_LARGE_ALLOCA
-
-/* If you expect to use the mmalloc package to obtain mapped symbol files,
- for now you have to specify some parameters that determine how gdb places
- the mappings in it's address space. See the comments in map_to_address()
- for details. This is expected to only be a short term solution. Yes it
- is a kludge.
- FIXME: Make this more automatic. */
-
-#define MMAP_BASE_ADDRESS 0xE0000000 /* First mapping here */
-#define MMAP_INCREMENT 0x01000000 /* Increment to next mapping */
-
-/* These are not currently used in SVR4 (but should be, FIXME!). */
-#undef DO_DEFERRED_STORES
-#undef CLEAR_DEFERRED_STORES
-
-/* May be needed, may be not? From Pace Willisson's port. FIXME. */
-#define NEED_POSIX_SETPGID
-
-/* Solaris PSRVADDR support does not seem to include a place for nPC. */
-#define PRSVADDR_BROKEN
diff --git a/gdb/xm-symmetry.h b/gdb/xm-symmetry.h
deleted file mode 100644
index a18340a..0000000
--- a/gdb/xm-symmetry.h
+++ /dev/null
@@ -1,245 +0,0 @@
-/* Definitions to make GDB run on a Sequent Symmetry under dynix 3.0,
- with Weitek 1167 and i387 support.
- Copyright 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* Symmetry version by Jay Vosburgh (uunet!sequent!fubar) */
-
-/* This machine doesn't have the siginterrupt call. */
-#define NO_SIGINTERRUPT
-
-#define HAVE_WAIT_STRUCT
-
-/* XPT_DEBUG doesn't work yet under Dynix 3.0.12, but UNDEBUG does... */
-/* #define PTRACE_ATTACH XPT_DEBUG
-#define PTRACE_DETACH XPT_UNDEBUG
-#define ATTACH_DETACH */
-
-#define HOST_BYTE_ORDER LITTLE_ENDIAN
-
-/* Get rid of any system-imposed stack limit if possible. */
-
-#define SET_STACK_LIMIT_HUGE
-
-/* This is the amount to subtract from u.u_ar0
- to get the offset in the core file of the register values. */
-
-#define KERNEL_U_ADDR (0x80000000 - (UPAGES * NBPG))
-
-/* The magic numbers below are offsets into u_ar0 in the user struct.
- They live in <machine/reg.h>. Gdb calls this macro with blockend
- holding u.u_ar0 - KERNEL_U_ADDR. Only the registers listed are
- saved in the u area (along with a few others that aren't useful
- here. See <machine/reg.h>). */
-
-#define REGISTER_U_ADDR(addr, blockend, regno) \
-{ struct user foo; /* needed for finding fpu regs */ \
-switch (regno) { \
- case 0: \
- addr = blockend + EAX * sizeof(int); break; \
- case 1: \
- addr = blockend + EDX * sizeof(int); break; \
- case 2: \
- addr = blockend + ECX * sizeof(int); break; \
- case 3: /* st(0) */ \
- addr = blockend - \
- ((int)&foo.u_fpusave.fpu_stack[0][0] - (int)&foo); \
- break; \
- case 4: /* st(1) */ \
- addr = blockend - \
- ((int) &foo.u_fpusave.fpu_stack[1][0] - (int)&foo); \
- break; \
- case 5: \
- addr = blockend + EBX * sizeof(int); break; \
- case 6: \
- addr = blockend + ESI * sizeof(int); break; \
- case 7: \
- addr = blockend + EDI * sizeof(int); break; \
- case 8: /* st(2) */ \
- addr = blockend - \
- ((int) &foo.u_fpusave.fpu_stack[2][0] - (int)&foo); \
- break; \
- case 9: /* st(3) */ \
- addr = blockend - \
- ((int) &foo.u_fpusave.fpu_stack[3][0] - (int)&foo); \
- break; \
- case 10: /* st(4) */ \
- addr = blockend - \
- ((int) &foo.u_fpusave.fpu_stack[4][0] - (int)&foo); \
- break; \
- case 11: /* st(5) */ \
- addr = blockend - \
- ((int) &foo.u_fpusave.fpu_stack[5][0] - (int)&foo); \
- break; \
- case 12: /* st(6) */ \
- addr = blockend - \
- ((int) &foo.u_fpusave.fpu_stack[6][0] - (int)&foo); \
- break; \
- case 13: /* st(7) */ \
- addr = blockend - \
- ((int) &foo.u_fpusave.fpu_stack[7][0] - (int)&foo); \
- break; \
- case 14: \
- addr = blockend + ESP * sizeof(int); break; \
- case 15: \
- addr = blockend + EBP * sizeof(int); break; \
- case 16: \
- addr = blockend + EIP * sizeof(int); break; \
- case 17: \
- addr = blockend + FLAGS * sizeof(int); break; \
- case 18: /* fp1 */ \
- case 19: /* fp2 */ \
- case 20: /* fp3 */ \
- case 21: /* fp4 */ \
- case 22: /* fp5 */ \
- case 23: /* fp6 */ \
- case 24: /* fp7 */ \
- case 25: /* fp8 */ \
- case 26: /* fp9 */ \
- case 27: /* fp10 */ \
- case 28: /* fp11 */ \
- case 29: /* fp12 */ \
- case 30: /* fp13 */ \
- case 31: /* fp14 */ \
- case 32: /* fp15 */ \
- case 33: /* fp16 */ \
- case 34: /* fp17 */ \
- case 35: /* fp18 */ \
- case 36: /* fp19 */ \
- case 37: /* fp20 */ \
- case 38: /* fp21 */ \
- case 39: /* fp22 */ \
- case 40: /* fp23 */ \
- case 41: /* fp24 */ \
- case 42: /* fp25 */ \
- case 43: /* fp26 */ \
- case 44: /* fp27 */ \
- case 45: /* fp28 */ \
- case 46: /* fp29 */ \
- case 47: /* fp30 */ \
- case 48: /* fp31 */ \
- addr = blockend - \
- ((int) &foo.u_fpasave.fpa_regs[(regno)-18] - (int)&foo); \
- } \
-}
-
-/* Override copies of {fetch,store}_inferior_registers in infptrace.c. */
-
-#define FETCH_INFERIOR_REGISTERS
-
-/* We must fetch all the regs before storing, since we store all at once. */
-
-#define CHILD_PREPARE_TO_STORE() read_register_bytes (0, NULL, REGISTER_BYTES)
-
-/* Interface definitions for kernel debugger KDB. */
-/* This doesn't work... */
-/* Map machine fault codes into signal numbers.
- First subtract 0, divide by 4, then index in a table.
- Faults for which the entry in this table is 0
- are not handled by KDB; the program's own trap handler
- gets to handle then. */
-
-#define FAULT_CODE_ORIGIN 0
-#define FAULT_CODE_UNITS 4
-#define FAULT_TABLE \
-{ 0, SIGKILL, SIGSEGV, 0, 0, 0, 0, 0, \
- 0, 0, SIGTRAP, SIGTRAP, 0, 0, 0, 0, \
- 0, 0, 0, 0, 0, 0, 0, 0}
-
-/* Start running with a stack stretching from BEG to END.
- BEG and END should be symbols meaningful to the assembler.
- This is used only for kdb. */
-
-#define INIT_STACK(beg, end) \
-{ asm (".globl end"); \
- asm ("movl $ end, %esp"); \
- asm ("movl %ebp, $0"); }
-
-/* Push the frame pointer register on the stack. */
-#define PUSH_FRAME_PTR \
- asm ("pushl %ebp");
-
-/* Copy the top-of-stack to the frame pointer register. */
-#define POP_FRAME_PTR \
- asm ("movl (%esp), %ebp");
-
-/* After KDB is entered by a fault, push all registers
- that GDB thinks about (all NUM_REGS of them),
- so that they appear in order of ascending GDB register number.
- The fault code will be on the stack beyond the last register. */
-
-#define PUSH_REGISTERS \
-{ asm("pushad"); }
-/*
-{ asm("pushl %eax"); \
- asm("pushl %edx"); \
- asm("pushl %ecx"); \
- asm("pushl %st(0)"); \
- asm("pushl %st(1)"); \
- asm("pushl %ebx"); \
- asm("pushl %esi"); \
- asm("pushl %edi"); \
- asm("pushl %st(2)"); \
- asm("pushl %st(3)"); \
- asm("pushl %st(4)"); \
- asm("pushl %st(5)"); \
- asm("pushl %st(6)"); \
- asm("pushl %st(7)"); \
- asm("pushl %esp"); \
- asm("pushl %ebp"); \
- asm("pushl %eip"); \
- asm("pushl %eflags"); \
- asm("pushl %fp1"); \
- asm("pushl %fp2"); \
- asm("pushl %fp3"); \
- asm("pushl %fp4"); \
- asm("pushl %fp5"); \
- asm("pushl %fp6"); \
- asm("pushl %fp7"); \
- asm("pushl %fp8"); \
- asm("pushl %fp9"); \
- asm("pushl %fp10"); \
- asm("pushl %fp11"); \
- asm("pushl %fp12"); \
- asm("pushl %fp13"); \
- asm("pushl %fp14"); \
- asm("pushl %fp15"); \
- asm("pushl %fp16"); \
- asm("pushl %fp17"); \
- asm("pushl %fp18"); \
- asm("pushl %fp19"); \
- asm("pushl %fp20"); \
- asm("pushl %fp21"); \
- asm("pushl %fp22"); \
- asm("pushl %fp23"); \
- asm("pushl %fp24"); \
- asm("pushl %fp25"); \
- asm("pushl %fp26"); \
- asm("pushl %fp27"); \
- asm("pushl %fp28"); \
- asm("pushl %fp29"); \
- asm("pushl %fp30"); \
- asm("pushl %fp31"); \
-}
-*/
-/* Assuming the registers (including processor status) have been
- pushed on the stack in order of ascending GDB register number,
- restore them and return to the address in the saved PC register. */
-
-#define POP_REGISTERS \
-{ asm ("popad"); }
diff --git a/gdb/xm-sysv4.h b/gdb/xm-sysv4.h
index c2cc1f6..e69de29 100644
--- a/gdb/xm-sysv4.h
+++ b/gdb/xm-sysv4.h
@@ -1,55 +0,0 @@
-/* Definitions for running gdb on a host machine running any flavor of SVR4.
- Copyright 1991, 1992 Free Software Foundation, Inc.
- Written by Fred Fish at Cygnus Support (fnf@cygnus.com).
-
-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. */
-
-/* Use SVR4 style shared library support */
-
-#define SVR4_SHARED_LIBS
-
-/* SVR4 has termio facilities. */
-
-#define HAVE_TERMIO
-
-/* SVR4 has mmap facilities */
-
-#define HAVE_MMAP
-
-/* TIOCGETC and TIOCGLTC are picked up somewhere, but struct tchars
- and struct ltchars are not. This makes problems for inflow.c.
- It is unknown at this time if this is a generic SVR4 problem or
- one just limited to the initial SVR4 port host machine. */
-
-#define TIOCGETC_BROKEN
-#define TIOCGLTC_BROKEN
-
-/* SVR4 is a derivative of System V Release 3 (USG) */
-
-#define USG
-
-/* Get rid of any system-imposed stack limit if possible. */
-
-/* #define SET_STACK_LIMIT_HUGE */
-
-/* Use setpgid(0,0) to run inferior in a separate process group */
-
-#define NEED_POSIX_SETPGID
-
-/* We have to include these files now, so that GDB will not make
- competing definitions in defs.h. */
-#include <limits.h>
diff --git a/gdb/xm-tahoe.h b/gdb/xm-tahoe.h
deleted file mode 100644
index 57a3b19..0000000
--- a/gdb/xm-tahoe.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/* Definitions to make GDB hosted on a tahoe running 4.3-Reno
- Copyright 1986, 1987, 1989, 1991, 1992 Free Software Foundation, Inc.
- Contributed by the State University of New York at Buffalo, by the
- Distributed Computer Systems Lab, Department of Computer Science, 1991.
-
-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. */
-
-/* Make sure the system include files define BIG_ENDIAN, UINT_MAX, const,
- etc, rather than GDB's files. */
-#include <stdio.h>
-#include <sys/param.h>
-
-/* Host is big-endian */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-/* Get rid of any system-imposed stack limit if possible. */
-
-#define SET_STACK_LIMIT_HUGE
-
-/* This is the amount to subtract from u.u_ar0
- to get the offset in the core file of the register values. */
-
-#define KERNEL_U_ADDR (0xc0000000 - (TARGET_UPAGES * TARGET_NBPG))
-
-#define REGISTER_U_ADDR(addr, blockend, regno) \
-{ addr = blockend - 100 + regno * 4; \
- if (regno == PC_REGNUM) addr = blockend - 8; \
- if (regno == PS_REGNUM) addr = blockend - 4; \
- if (regno == FP_REGNUM) addr = blockend - 40; \
- if (regno == SP_REGNUM) addr = blockend - 36; \
- if (regno == AL_REGNUM) addr = blockend - 20; \
- if (regno == AH_REGNUM) addr = blockend - 24;}
-
-/* Interface definitions for kernel debugger KDB. */
-
-/* Map machine fault codes into signal numbers.
- First subtract 0, divide by 4, then index in a table.
- Faults for which the entry in this table is 0
- are not handled by KDB; the program's own trap handler
- gets to handle then. */
-
-#define FAULT_CODE_ORIGIN 0
-#define FAULT_CODE_UNITS 4
-#define FAULT_TABLE \
-{ 0, SIGKILL, SIGSEGV, 0, 0, 0, 0, 0, \
- 0, 0, SIGTRAP, SIGTRAP, 0, 0, 0, 0, \
- 0, 0, 0, 0, 0, 0, 0, 0}
-
-/* Start running with a stack stretching from BEG to END.
- BEG and END should be symbols meaningful to the assembler.
- This is used only for kdb. */
-
-#define INIT_STACK(beg, end) \
-{ asm (".globl end"); \
- asm ("movl $ end, sp"); \
- asm ("clrl fp"); }
-
-/* Push the frame pointer register on the stack. */
-
-#define PUSH_FRAME_PTR \
- asm ("pushl fp");
-
-/* Copy the top-of-stack to the frame pointer register. */
-
-#define POP_FRAME_PTR \
- asm ("movl (sp), fp");
-
-/* After KDB is entered by a fault, push all registers
- that GDB thinks about (all NUM_REGS of them),
- so that they appear in order of ascending GDB register number.
- The fault code will be on the stack beyond the last register. */
-
-#define PUSH_REGISTERS \
-{ asm ("pushl 8(sp)"); \
- asm ("pushl 8(sp)"); \
- asm ("pushal 0x41(sp)"); \
- asm ("pushl r0" ); \
- asm ("pushl r1" ); \
- asm ("pushl r2" ); \
- asm ("pushl r3" ); \
- asm ("pushl r4" ); \
- asm ("pushl r5" ); \
- asm ("pushl r6" ); \
- asm ("pushl r7" ); \
- asm ("pushl r8" ); \
- asm ("pushl r9" ); \
- asm ("pushl r10" ); \
- asm ("pushl r11" ); \
- asm ("pushl r12" ); \
- asm ("pushl fp" ); \
- asm ("pushl sp" ); \
- asm ("pushl pc" ); \
- asm ("pushl ps" ); \
- asm ("pushl aclo" ); \
- asm ("pushl achi" ); \
-}
-
-/* Assuming the registers (including processor status) have been
- pushed on the stack in order of ascending GDB register number,
- restore them and return to the address in the saved PC register. */
-
-#define POP_REGISTERS \
-{ \
- asm ("movl (sp)+, achi"); \
- asm ("movl (sp)+, aclo"); \
- asm ("movl (sp)+, ps"); \
- asm ("movl (sp)+, pc"); \
- asm ("movl (sp)+, sp"); \
- asm ("movl (sp)+, fp"); \
- asm ("movl (sp)+, r12"); \
- asm ("movl (sp)+, r11"); \
- asm ("movl (sp)+, r10"); \
- asm ("movl (sp)+, r9"); \
- asm ("movl (sp)+, r8"); \
- asm ("movl (sp)+, r7"); \
- asm ("movl (sp)+, r6"); \
- asm ("movl (sp)+, r5"); \
- asm ("movl (sp)+, r4"); \
- asm ("movl (sp)+, r3"); \
- asm ("movl (sp)+, r2"); \
- asm ("movl (sp)+, r1"); \
- asm ("movl (sp)+, r0"); \
- asm ("subl2 $8,(sp)"); \
- asm ("movl (sp),sp"); \
- asm ("rei"); }
diff --git a/gdb/xm-ultra3.h b/gdb/xm-ultra3.h
index 0abf68d..e69de29 100644
--- a/gdb/xm-ultra3.h
+++ b/gdb/xm-ultra3.h
@@ -1,56 +0,0 @@
-/* Host definitions for GDB running on a 29k NYU Ultracomputer
- Copyright (C) 1986, 1987, 1989, 1991 Free Software Foundation, Inc.
- Contributed by David Wood (wood@lab.ultra.nyu.edu).
-
-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. */
-
-/* Here at NYU we have what we call an ULTRA3 PE board. So
- ifdefs for ULTRA3 are my doing. At this point in time,
- I don't know of any other Unixi running on the 29k. */
-
-#define HOST_BYTE_ORDER BIG_ENDIAN
-
-#define HAVE_WAIT_STRUCT
-
-#ifndef L_SET
-# define L_SET 0 /* set the seek pointer */
-# define L_INCR 1 /* increment the seek pointer */
-# define L_XTND 2 /* extend the file size */
-#endif
-
-#ifndef O_RDONLY
-# define O_RDONLY 0
-# define O_WRONLY 1
-# define O_RDWR 2
-#endif
-
-#ifndef F_OK
-# define R_OK 4
-# define W_OK 2
-# define X_OK 1
-# define F_OK 0
-#endif
-
-/* Get rid of any system-imposed stack limit if possible */
-
-#define SET_STACK_LIMIT_HUGE
-
-/* System doesn't provide siginterrupt(). */
-#define NO_SIGINTERRUPT
-
-/* System uses a `short' to hold a process group ID. */
-#define SHORT_PGRP
diff --git a/gdb/xm-umax.h b/gdb/xm-umax.h
deleted file mode 100644
index 5c5acb8..0000000
--- a/gdb/xm-umax.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Definitions to make GDB run on an encore under umax 4.2
- Copyright 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define HOST_BYTE_ORDER LITTLE_ENDIAN
-
-#define HAVE_WAIT_STRUCT
-
-/* Doesn't have siginterupt. */
-#define NO_SIGINTERRUPT
-
diff --git a/gdb/xm-vax.h b/gdb/xm-vax.h
deleted file mode 100644
index 3e91b41..0000000
--- a/gdb/xm-vax.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Common definitions to make GDB run on Vaxen under 4.2bsd and Ultrix.
- Copyright (C) 1986, 1987, 1989, 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., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#define HOST_BYTE_ORDER LITTLE_ENDIAN
-
-/* Get rid of any system-imposed stack limit if possible. */
-
-#define SET_STACK_LIMIT_HUGE
-
-/* This is the amount to subtract from u.u_ar0
- to get the offset in the core file of the register values. */
-
-#define KERNEL_U_ADDR (0x80000000 - (UPAGES * NBPG))
-
-/* Kernel is a bit tenacious about sharing text segments, disallowing bpts. */
-#define ONE_PROCESS_WRITETEXT
-
-/* Interface definitions for kernel debugger KDB. */
-
-/* Map machine fault codes into signal numbers.
- First subtract 0, divide by 4, then index in a table.
- Faults for which the entry in this table is 0
- are not handled by KDB; the program's own trap handler
- gets to handle then. */
-
-#define FAULT_CODE_ORIGIN 0
-#define FAULT_CODE_UNITS 4
-#define FAULT_TABLE \
-{ 0, SIGKILL, SIGSEGV, 0, 0, 0, 0, 0, \
- 0, 0, SIGTRAP, SIGTRAP, 0, 0, 0, 0, \
- 0, 0, 0, 0, 0, 0, 0, 0}
-
-/* Start running with a stack stretching from BEG to END.
- BEG and END should be symbols meaningful to the assembler.
- This is used only for kdb. */
-
-#define INIT_STACK(beg, end) \
-{ asm (".globl end"); \
- asm ("movl $ end, sp"); \
- asm ("clrl fp"); }
-
-/* Push the frame pointer register on the stack. */
-#define PUSH_FRAME_PTR \
- asm ("pushl fp");
-
-/* Copy the top-of-stack to the frame pointer register. */
-#define POP_FRAME_PTR \
- asm ("movl (sp), fp");
-
-/* After KDB is entered by a fault, push all registers
- that GDB thinks about (all NUM_REGS of them),
- so that they appear in order of ascending GDB register number.
- The fault code will be on the stack beyond the last register. */
-
-#define PUSH_REGISTERS \
-{ asm ("pushl 8(sp)"); \
- asm ("pushl 8(sp)"); \
- asm ("pushal 0x14(sp)"); \
- asm ("pushr $037777"); }
-
-/* Assuming the registers (including processor status) have been
- pushed on the stack in order of ascending GDB register number,
- restore them and return to the address in the saved PC register. */
-
-#define POP_REGISTERS \
-{ asm ("popr $037777"); \
- asm ("subl2 $8,(sp)"); \
- asm ("movl (sp),sp"); \
- asm ("rei"); }
diff --git a/gdb/xm-vaxbsd.h b/gdb/xm-vaxbsd.h
index c859b6b..e69de29 100644
--- a/gdb/xm-vaxbsd.h
+++ b/gdb/xm-vaxbsd.h
@@ -1,10 +0,0 @@
-/* Definitions to make GDB run on a vax under 4.2bsd. */
-
-/* We have to include these files now, so that GDB will not make
- competing definitions in defs.h. */
-#include <machine/endian.h>
-#include <machine/limits.h>
-#include "xm-vax.h"
-
-/* In non-ANSI compiles, memcpy and memset are still void *, not char *. */
-#define MEM_FNS_DECLARED
diff --git a/gdb/xm-vaxult.h b/gdb/xm-vaxult.h
index ce1f629..e69de29 100644
--- a/gdb/xm-vaxult.h
+++ b/gdb/xm-vaxult.h
@@ -1,6 +0,0 @@
-/* Definitions to make GDB run on a vax under Ultrix. */
-
-#include "xm-vax.h"
-extern char *strdup();
-
-#define MEM_FNS_DECLARED
diff --git a/gdb/xm-vaxult2.h b/gdb/xm-vaxult2.h
index 7470350..e69de29 100644
--- a/gdb/xm-vaxult2.h
+++ b/gdb/xm-vaxult2.h
@@ -1,7 +0,0 @@
-/* Definitions to make GDB run on a vax under Ultrix. */
-
-#include "xm-vax.h"
-extern char *strdup();
-
-#define MEM_FNS_DECLARED
-#define NO_PTRACE_H