mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-01-27 03:54:29 +00:00
2003-03-27 Andrew Cagney <cagney@redhat.com>
* NEWS: Mention removal of support for hppa*-*-bsd* and hppa*-*-osf* natives, and hppa*-*-pro* target. * config/pa/xm-hppah.h: Do not include "pa/xm-pa.h". * config/pa/xm-pa.h: Obsolete file. * config/pa/xm-hppab.h: Obsolete file. * config/pa/nm-hppab.h: Obsolete file. * config/pa/tm-hppab.h: Obsolete file. * config/pa/tm-hppao.h: Obsolete file. * config/pa/nm-hppao.h: Obsolete file. * config/pa/tm-pro.h: Obsolete file. * config/pa/hppaosf.mt: Obsolete file. * config/pa/hppaosf.mh: Obsolete file. * config/pa/hppapro.mt: Obsolete file. * config/pa/hppabsd.mt: Obsolete file. * config/pa/hppabsd.mh: Obsolete file. * configure.host: Disable hppa*-*-bsd* and hppa*-*-osf*. * configure.tgt: Disable hppa*-*-bsd*, hppa*-*-pro* and hppa*-*-osf*.
This commit is contained in:
parent
922fbb7b53
commit
56056df735
@ -1,3 +1,24 @@
|
||||
2003-03-27 Andrew Cagney <cagney@redhat.com>
|
||||
|
||||
* NEWS: Mention removal of support for hppa*-*-bsd* and
|
||||
hppa*-*-osf* natives, and hppa*-*-pro* target.
|
||||
* config/pa/xm-hppah.h: Do not include "pa/xm-pa.h".
|
||||
* config/pa/xm-pa.h: Obsolete file.
|
||||
* config/pa/xm-hppab.h: Obsolete file.
|
||||
* config/pa/nm-hppab.h: Obsolete file.
|
||||
* config/pa/tm-hppab.h: Obsolete file.
|
||||
* config/pa/tm-hppao.h: Obsolete file.
|
||||
* config/pa/nm-hppao.h: Obsolete file.
|
||||
* config/pa/tm-pro.h: Obsolete file.
|
||||
* config/pa/hppaosf.mt: Obsolete file.
|
||||
* config/pa/hppaosf.mh: Obsolete file.
|
||||
* config/pa/hppapro.mt: Obsolete file.
|
||||
* config/pa/hppabsd.mt: Obsolete file.
|
||||
* config/pa/hppabsd.mh: Obsolete file.
|
||||
* configure.host: Disable hppa*-*-bsd* and hppa*-*-osf*.
|
||||
* configure.tgt: Disable hppa*-*-bsd*, hppa*-*-pro* and
|
||||
hppa*-*-osf*.
|
||||
|
||||
2003-03-27 Andrew Cagney <cagney@redhat.com>
|
||||
|
||||
* d10v-tdep.c (d10v_gdbarch_init): Set push_dummy_call instead of
|
||||
|
3
gdb/NEWS
3
gdb/NEWS
@ -41,6 +41,9 @@ Mitsubishi M32R/D w/simulator m32r-*-elf*
|
||||
Z8000 simulator z8k-zilog-none or z8ksim
|
||||
Matsushita MN10200 w/simulator mn10200-*-*
|
||||
H8/500 simulator h8500-hitachi-hms or h8500hms
|
||||
HP/PA running BSD hppa*-*-bsd*
|
||||
HP/PA running OSF/1 hppa*-*-osf*
|
||||
HP/PA Pro target hppa*-*-pro*
|
||||
|
||||
* REMOVED configurations and files
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Host: Hewlett-Packard PA-RISC machine, running BSD
|
||||
XM_FILE= xm-hppab.h
|
||||
NAT_FILE= nm-hppab.h
|
||||
NATDEPFILES= hppab-nat.o corelow.o core-aout.o inftarg.o fork-child.o somread.o infptrace.o hpread.o somsolib.o
|
||||
# OBSOLETE # Host: Hewlett-Packard PA-RISC machine, running BSD
|
||||
# OBSOLETE XM_FILE= xm-hppab.h
|
||||
# OBSOLETE NAT_FILE= nm-hppab.h
|
||||
# OBSOLETE NATDEPFILES= hppab-nat.o corelow.o core-aout.o inftarg.o fork-child.o somread.o infptrace.o hpread.o somsolib.o
|
||||
|
@ -1,3 +1,3 @@
|
||||
# Target: HP PA-RISC running bsd
|
||||
TDEPFILES= hppa-tdep.o
|
||||
TM_FILE= tm-hppab.h
|
||||
# OBSOLETE # Target: HP PA-RISC running bsd
|
||||
# OBSOLETE TDEPFILES= hppa-tdep.o
|
||||
# OBSOLETE TM_FILE= tm-hppab.h
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Host: Hewlett-Packard PA-RISC machine, running BSD
|
||||
XM_FILE= xm-hppab.h
|
||||
NAT_FILE= nm-hppao.h
|
||||
NATDEPFILES= fork-child.o m3-nat.o hppam3-nat.o somread.o hpread.o somsolib.o
|
||||
NAT_CLIBS= -lmachid -lnetname -lmach
|
||||
# OBSOLETE # Host: Hewlett-Packard PA-RISC machine, running BSD
|
||||
# OBSOLETE XM_FILE= xm-hppab.h
|
||||
# OBSOLETE NAT_FILE= nm-hppao.h
|
||||
# OBSOLETE NATDEPFILES= fork-child.o m3-nat.o hppam3-nat.o somread.o hpread.o somsolib.o
|
||||
# OBSOLETE NAT_CLIBS= -lmachid -lnetname -lmach
|
||||
|
@ -1,3 +1,3 @@
|
||||
# Target: HP PA-RISC running OSF1
|
||||
TDEPFILES= hppa-tdep.o
|
||||
TM_FILE= tm-hppao.h
|
||||
# OBSOLETE # Target: HP PA-RISC running OSF1
|
||||
# OBSOLETE TDEPFILES= hppa-tdep.o
|
||||
# OBSOLETE TM_FILE= tm-hppao.h
|
||||
|
@ -1,3 +1,3 @@
|
||||
# Target: PA based debug monitor
|
||||
TDEPFILES= hppa-tdep.o op50-rom.o w89k-rom.o monitor.o xmodem.o dsrec.o
|
||||
TM_FILE= tm-pro.h
|
||||
# OBSOLETE # Target: PA based debug monitor
|
||||
# OBSOLETE TDEPFILES= hppa-tdep.o op50-rom.o w89k-rom.o monitor.o xmodem.o dsrec.o
|
||||
# OBSOLETE TM_FILE= tm-pro.h
|
||||
|
@ -1,123 +1,123 @@
|
||||
/* HPPA PA-RISC machine native support for BSD, for GDB.
|
||||
Copyright 1991, 1992, 1993, 1994, 1995, 2002 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GDB.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include "somsolib.h"
|
||||
#include "regcache.h"
|
||||
|
||||
#define U_REGS_OFFSET 0
|
||||
|
||||
#define KERNEL_U_ADDR 0
|
||||
|
||||
/* What a coincidence! */
|
||||
#define REGISTER_U_ADDR(addr, blockend, regno) \
|
||||
{ addr = (int)(blockend) + REGISTER_BYTE (regno);}
|
||||
|
||||
/* 3rd argument to ptrace is supposed to be a caddr_t. */
|
||||
|
||||
#define PTRACE_ARG3_TYPE caddr_t
|
||||
|
||||
/* HPUX 8.0, in its infinite wisdom, has chosen to prototype ptrace
|
||||
with five arguments, so programs written for normal ptrace lose. */
|
||||
#define FIVE_ARG_PTRACE
|
||||
|
||||
|
||||
/* fetch_inferior_registers is in hppab-nat.c. */
|
||||
#define FETCH_INFERIOR_REGISTERS
|
||||
|
||||
/* attach/detach works to some extent under BSD and HPUX. So long
|
||||
as the process you're attaching to isn't blocked waiting on io,
|
||||
blocked waiting on a signal, or in a system call things work
|
||||
fine. (The problems in those cases are related to the fact that
|
||||
the kernel can't provide complete register information for the
|
||||
target process... Which really pisses off GDB.) */
|
||||
|
||||
#define ATTACH_DETACH
|
||||
|
||||
/* The PA-BSD kernel has support for using the data memory break bit
|
||||
to implement fast watchpoints.
|
||||
|
||||
Watchpoints on the PA act much like traditional page protection
|
||||
schemes, but with some notable differences.
|
||||
|
||||
First, a special bit in the page table entry is used to cause
|
||||
a trap when a specific page is written to. This avoids having
|
||||
to overload watchpoints on the page protection bits. This makes
|
||||
it possible for the kernel to easily decide if a trap was caused
|
||||
by a watchpoint or by the user writing to protected memory and can
|
||||
signal the user program differently in each case.
|
||||
|
||||
Second, the PA has a bit in the processor status word which causes
|
||||
data memory breakpoints (aka watchpoints) to be disabled for a single
|
||||
instruction. This bit can be used to avoid the overhead of unprotecting
|
||||
and reprotecting pages when it becomes necessary to step over a watchpoint.
|
||||
|
||||
|
||||
When the kernel receives a trap indicating a write to a page which
|
||||
is being watched, the kernel performs a couple of simple actions. First
|
||||
is sets the magic "disable memory breakpoint" bit in the processor
|
||||
status word, it then sends a SIGTRAP to the process which caused the
|
||||
trap.
|
||||
|
||||
GDB will take control and catch the signal for the inferior. GDB then
|
||||
examines the PSW-X bit to determine if the SIGTRAP was caused by a
|
||||
watchpoint firing. If so GDB single steps the inferior over the
|
||||
instruction which caused the watchpoint to trigger (note because the
|
||||
kernel disabled the data memory break bit for one instruction no trap
|
||||
will be taken!). GDB will then determines the appropriate action to
|
||||
take. (this may include restarting the inferior if the watchpoint
|
||||
fired because of a write to an address on the same page as a watchpoint,
|
||||
but no write to the watched address occured). */
|
||||
|
||||
#define TARGET_HAS_HARDWARE_WATCHPOINTS /* Enable the code in procfs.c */
|
||||
|
||||
/* The PA can watch any number of locations, there's no need for it to reject
|
||||
anything (generic routines already check that all intermediates are
|
||||
in memory). */
|
||||
#define TARGET_CAN_USE_HARDWARE_WATCHPOINT(type, cnt, ot) \
|
||||
((type) == bp_hardware_watchpoint)
|
||||
|
||||
/* When a hardware watchpoint fires off the PC will be left at the
|
||||
instruction which caused the watchpoint. It will be necessary for
|
||||
GDB to step over the watchpoint.
|
||||
|
||||
On a PA running BSD, it is trivial to identify when it will be
|
||||
necessary to step over a hardware watchpoint as we can examine
|
||||
the PSW-X bit. If the bit is on, then we trapped because of a
|
||||
watchpoint, else we trapped for some other reason. */
|
||||
#define STOPPED_BY_WATCHPOINT(W) \
|
||||
((W).kind == TARGET_WAITKIND_STOPPED \
|
||||
&& (W).value.sig == TARGET_SIGNAL_TRAP \
|
||||
&& ((int) read_register (IPSW_REGNUM) & 0x00100000))
|
||||
|
||||
/* The PA can single step over a watchpoint if the kernel has set the
|
||||
"X" bit in the processor status word (disable data memory breakpoint
|
||||
for one instruction).
|
||||
|
||||
The kernel will always set this bit before notifying the inferior
|
||||
that it hit a watchpoint. Thus, the inferior can single step over
|
||||
the instruction which caused the watchpoint to fire. This avoids
|
||||
the traditional need to disable the watchpoint, step the inferior,
|
||||
then enable the watchpoint again. */
|
||||
#define HAVE_STEPPABLE_WATCHPOINT
|
||||
|
||||
/* Use these macros for watchpoint insertion/deletion. */
|
||||
/* type can be 0: write watch, 1: read watch, 2: access watch (read/write) */
|
||||
#define target_insert_watchpoint(addr, len, type) hppa_set_watchpoint (addr, len, 1)
|
||||
#define target_remove_watchpoint(addr, len, type) hppa_set_watchpoint (addr, len, 0)
|
||||
// OBSOLETE /* HPPA PA-RISC machine native support for BSD, for GDB.
|
||||
// OBSOLETE Copyright 1991, 1992, 1993, 1994, 1995, 2002 Free Software Foundation, Inc.
|
||||
// OBSOLETE
|
||||
// OBSOLETE This file is part of GDB.
|
||||
// OBSOLETE
|
||||
// OBSOLETE This program is free software; you can redistribute it and/or modify
|
||||
// OBSOLETE it under the terms of the GNU General Public License as published by
|
||||
// OBSOLETE the Free Software Foundation; either version 2 of the License, or
|
||||
// OBSOLETE (at your option) any later version.
|
||||
// OBSOLETE
|
||||
// OBSOLETE This program is distributed in the hope that it will be useful,
|
||||
// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// OBSOLETE GNU General Public License for more details.
|
||||
// OBSOLETE
|
||||
// OBSOLETE You should have received a copy of the GNU General Public License
|
||||
// OBSOLETE along with this program; if not, write to the Free Software
|
||||
// OBSOLETE Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
// OBSOLETE Boston, MA 02111-1307, USA. */
|
||||
// OBSOLETE
|
||||
// OBSOLETE #include "somsolib.h"
|
||||
// OBSOLETE #include "regcache.h"
|
||||
// OBSOLETE
|
||||
// OBSOLETE #define U_REGS_OFFSET 0
|
||||
// OBSOLETE
|
||||
// OBSOLETE #define KERNEL_U_ADDR 0
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* What a coincidence! */
|
||||
// OBSOLETE #define REGISTER_U_ADDR(addr, blockend, regno) \
|
||||
// OBSOLETE { addr = (int)(blockend) + REGISTER_BYTE (regno);}
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* 3rd argument to ptrace is supposed to be a caddr_t. */
|
||||
// OBSOLETE
|
||||
// OBSOLETE #define PTRACE_ARG3_TYPE caddr_t
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* HPUX 8.0, in its infinite wisdom, has chosen to prototype ptrace
|
||||
// OBSOLETE with five arguments, so programs written for normal ptrace lose. */
|
||||
// OBSOLETE #define FIVE_ARG_PTRACE
|
||||
// OBSOLETE
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* fetch_inferior_registers is in hppab-nat.c. */
|
||||
// OBSOLETE #define FETCH_INFERIOR_REGISTERS
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* attach/detach works to some extent under BSD and HPUX. So long
|
||||
// OBSOLETE as the process you're attaching to isn't blocked waiting on io,
|
||||
// OBSOLETE blocked waiting on a signal, or in a system call things work
|
||||
// OBSOLETE fine. (The problems in those cases are related to the fact that
|
||||
// OBSOLETE the kernel can't provide complete register information for the
|
||||
// OBSOLETE target process... Which really pisses off GDB.) */
|
||||
// OBSOLETE
|
||||
// OBSOLETE #define ATTACH_DETACH
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* The PA-BSD kernel has support for using the data memory break bit
|
||||
// OBSOLETE to implement fast watchpoints.
|
||||
// OBSOLETE
|
||||
// OBSOLETE Watchpoints on the PA act much like traditional page protection
|
||||
// OBSOLETE schemes, but with some notable differences.
|
||||
// OBSOLETE
|
||||
// OBSOLETE First, a special bit in the page table entry is used to cause
|
||||
// OBSOLETE a trap when a specific page is written to. This avoids having
|
||||
// OBSOLETE to overload watchpoints on the page protection bits. This makes
|
||||
// OBSOLETE it possible for the kernel to easily decide if a trap was caused
|
||||
// OBSOLETE by a watchpoint or by the user writing to protected memory and can
|
||||
// OBSOLETE signal the user program differently in each case.
|
||||
// OBSOLETE
|
||||
// OBSOLETE Second, the PA has a bit in the processor status word which causes
|
||||
// OBSOLETE data memory breakpoints (aka watchpoints) to be disabled for a single
|
||||
// OBSOLETE instruction. This bit can be used to avoid the overhead of unprotecting
|
||||
// OBSOLETE and reprotecting pages when it becomes necessary to step over a watchpoint.
|
||||
// OBSOLETE
|
||||
// OBSOLETE
|
||||
// OBSOLETE When the kernel receives a trap indicating a write to a page which
|
||||
// OBSOLETE is being watched, the kernel performs a couple of simple actions. First
|
||||
// OBSOLETE is sets the magic "disable memory breakpoint" bit in the processor
|
||||
// OBSOLETE status word, it then sends a SIGTRAP to the process which caused the
|
||||
// OBSOLETE trap.
|
||||
// OBSOLETE
|
||||
// OBSOLETE GDB will take control and catch the signal for the inferior. GDB then
|
||||
// OBSOLETE examines the PSW-X bit to determine if the SIGTRAP was caused by a
|
||||
// OBSOLETE watchpoint firing. If so GDB single steps the inferior over the
|
||||
// OBSOLETE instruction which caused the watchpoint to trigger (note because the
|
||||
// OBSOLETE kernel disabled the data memory break bit for one instruction no trap
|
||||
// OBSOLETE will be taken!). GDB will then determines the appropriate action to
|
||||
// OBSOLETE take. (this may include restarting the inferior if the watchpoint
|
||||
// OBSOLETE fired because of a write to an address on the same page as a watchpoint,
|
||||
// OBSOLETE but no write to the watched address occured). */
|
||||
// OBSOLETE
|
||||
// OBSOLETE #define TARGET_HAS_HARDWARE_WATCHPOINTS /* Enable the code in procfs.c */
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* The PA can watch any number of locations, there's no need for it to reject
|
||||
// OBSOLETE anything (generic routines already check that all intermediates are
|
||||
// OBSOLETE in memory). */
|
||||
// OBSOLETE #define TARGET_CAN_USE_HARDWARE_WATCHPOINT(type, cnt, ot) \
|
||||
// OBSOLETE ((type) == bp_hardware_watchpoint)
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* When a hardware watchpoint fires off the PC will be left at the
|
||||
// OBSOLETE instruction which caused the watchpoint. It will be necessary for
|
||||
// OBSOLETE GDB to step over the watchpoint.
|
||||
// OBSOLETE
|
||||
// OBSOLETE On a PA running BSD, it is trivial to identify when it will be
|
||||
// OBSOLETE necessary to step over a hardware watchpoint as we can examine
|
||||
// OBSOLETE the PSW-X bit. If the bit is on, then we trapped because of a
|
||||
// OBSOLETE watchpoint, else we trapped for some other reason. */
|
||||
// OBSOLETE #define STOPPED_BY_WATCHPOINT(W) \
|
||||
// OBSOLETE ((W).kind == TARGET_WAITKIND_STOPPED \
|
||||
// OBSOLETE && (W).value.sig == TARGET_SIGNAL_TRAP \
|
||||
// OBSOLETE && ((int) read_register (IPSW_REGNUM) & 0x00100000))
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* The PA can single step over a watchpoint if the kernel has set the
|
||||
// OBSOLETE "X" bit in the processor status word (disable data memory breakpoint
|
||||
// OBSOLETE for one instruction).
|
||||
// OBSOLETE
|
||||
// OBSOLETE The kernel will always set this bit before notifying the inferior
|
||||
// OBSOLETE that it hit a watchpoint. Thus, the inferior can single step over
|
||||
// OBSOLETE the instruction which caused the watchpoint to fire. This avoids
|
||||
// OBSOLETE the traditional need to disable the watchpoint, step the inferior,
|
||||
// OBSOLETE then enable the watchpoint again. */
|
||||
// OBSOLETE #define HAVE_STEPPABLE_WATCHPOINT
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* Use these macros for watchpoint insertion/deletion. */
|
||||
// OBSOLETE /* type can be 0: write watch, 1: read watch, 2: access watch (read/write) */
|
||||
// OBSOLETE #define target_insert_watchpoint(addr, len, type) hppa_set_watchpoint (addr, len, 1)
|
||||
// OBSOLETE #define target_remove_watchpoint(addr, len, type) hppa_set_watchpoint (addr, len, 0)
|
||||
|
@ -1,43 +1,43 @@
|
||||
/* HPPA PA-RISC machine native support for Lites, for GDB.
|
||||
Copyright 1995, 2002 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GDB.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include "config/nm-m3.h"
|
||||
#define U_REGS_OFFSET 0
|
||||
|
||||
#define KERNEL_U_ADDR 0
|
||||
|
||||
/* What a coincidence! */
|
||||
#define REGISTER_U_ADDR(addr, blockend, regno) \
|
||||
{ addr = (int)(blockend) + REGISTER_BYTE (regno);}
|
||||
|
||||
/* fetch_inferior_registers is in hppab-nat.c. */
|
||||
#define FETCH_INFERIOR_REGISTERS
|
||||
|
||||
/* attach/detach works to some extent under BSD and HPUX. So long
|
||||
as the process you're attaching to isn't blocked waiting on io,
|
||||
blocked waiting on a signal, or in a system call things work
|
||||
fine. (The problems in those cases are related to the fact that
|
||||
the kernel can't provide complete register information for the
|
||||
target process... Which really pisses off GDB.) */
|
||||
|
||||
#define ATTACH_DETACH
|
||||
|
||||
#define EMULATOR_BASE 0x90100000
|
||||
#define EMULATOR_END 0x90200000
|
||||
// OBSOLETE /* HPPA PA-RISC machine native support for Lites, for GDB.
|
||||
// OBSOLETE Copyright 1995, 2002 Free Software Foundation, Inc.
|
||||
// OBSOLETE
|
||||
// OBSOLETE This file is part of GDB.
|
||||
// OBSOLETE
|
||||
// OBSOLETE This program is free software; you can redistribute it and/or modify
|
||||
// OBSOLETE it under the terms of the GNU General Public License as published by
|
||||
// OBSOLETE the Free Software Foundation; either version 2 of the License, or
|
||||
// OBSOLETE (at your option) any later version.
|
||||
// OBSOLETE
|
||||
// OBSOLETE This program is distributed in the hope that it will be useful,
|
||||
// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// OBSOLETE GNU General Public License for more details.
|
||||
// OBSOLETE
|
||||
// OBSOLETE You should have received a copy of the GNU General Public License
|
||||
// OBSOLETE along with this program; if not, write to the Free Software
|
||||
// OBSOLETE Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
// OBSOLETE Boston, MA 02111-1307, USA. */
|
||||
// OBSOLETE
|
||||
// OBSOLETE #include "config/nm-m3.h"
|
||||
// OBSOLETE #define U_REGS_OFFSET 0
|
||||
// OBSOLETE
|
||||
// OBSOLETE #define KERNEL_U_ADDR 0
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* What a coincidence! */
|
||||
// OBSOLETE #define REGISTER_U_ADDR(addr, blockend, regno) \
|
||||
// OBSOLETE { addr = (int)(blockend) + REGISTER_BYTE (regno);}
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* fetch_inferior_registers is in hppab-nat.c. */
|
||||
// OBSOLETE #define FETCH_INFERIOR_REGISTERS
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* attach/detach works to some extent under BSD and HPUX. So long
|
||||
// OBSOLETE as the process you're attaching to isn't blocked waiting on io,
|
||||
// OBSOLETE blocked waiting on a signal, or in a system call things work
|
||||
// OBSOLETE fine. (The problems in those cases are related to the fact that
|
||||
// OBSOLETE the kernel can't provide complete register information for the
|
||||
// OBSOLETE target process... Which really pisses off GDB.) */
|
||||
// OBSOLETE
|
||||
// OBSOLETE #define ATTACH_DETACH
|
||||
// OBSOLETE
|
||||
// OBSOLETE #define EMULATOR_BASE 0x90100000
|
||||
// OBSOLETE #define EMULATOR_END 0x90200000
|
||||
|
@ -1,47 +1,47 @@
|
||||
/* 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). */
|
||||
|
||||
/* For BSD:
|
||||
|
||||
The signal context structure pointer is always saved at the base
|
||||
of the frame + 0x4.
|
||||
|
||||
We get the PC & SP directly from the sigcontext structure itself.
|
||||
For other registers we have to dive in a little deeper:
|
||||
|
||||
The hardware save state pointer is at offset 0x10 within the
|
||||
signal context structure.
|
||||
|
||||
Within the hardware save state, registers are found in the same order
|
||||
as the register numbers in GDB. */
|
||||
|
||||
#define FRAME_SAVED_PC_IN_SIGTRAMP(FRAME, TMP) \
|
||||
{ \
|
||||
*(TMP) = read_memory_integer ((FRAME)->frame + 0x4, 4); \
|
||||
*(TMP) = read_memory_integer (*(TMP) + 0x18, 4); \
|
||||
}
|
||||
|
||||
#define FRAME_BASE_BEFORE_SIGTRAMP(FRAME, TMP) \
|
||||
{ \
|
||||
*(TMP) = read_memory_integer ((FRAME)->frame + 0x4, 4); \
|
||||
*(TMP) = read_memory_integer (*(TMP) + 0x8, 4); \
|
||||
}
|
||||
|
||||
#define FRAME_FIND_SAVED_REGS_IN_SIGTRAMP(FRAME, FSR) \
|
||||
{ \
|
||||
int i; \
|
||||
CORE_ADDR TMP; \
|
||||
TMP = read_memory_integer ((FRAME)->frame + 0x4, 4); \
|
||||
TMP = read_memory_integer (TMP + 0x10, 4); \
|
||||
for (i = 0; i < NUM_REGS; i++) \
|
||||
{ \
|
||||
if (i == SP_REGNUM) \
|
||||
(FSR)->regs[SP_REGNUM] = read_memory_integer (TMP + SP_REGNUM * 4, 4); \
|
||||
else \
|
||||
(FSR)->regs[i] = TMP + i * 4; \
|
||||
} \
|
||||
}
|
||||
|
||||
/* It's mostly just the common stuff. */
|
||||
#include "pa/tm-hppa.h"
|
||||
// OBSOLETE /* Parameters for execution on an HP PA-RISC machine running BSD, for GDB.
|
||||
// OBSOLETE Contributed by the Center for Software Science at the
|
||||
// OBSOLETE University of Utah (pa-gdb-bugs@cs.utah.edu). */
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* For BSD:
|
||||
// OBSOLETE
|
||||
// OBSOLETE The signal context structure pointer is always saved at the base
|
||||
// OBSOLETE of the frame + 0x4.
|
||||
// OBSOLETE
|
||||
// OBSOLETE We get the PC & SP directly from the sigcontext structure itself.
|
||||
// OBSOLETE For other registers we have to dive in a little deeper:
|
||||
// OBSOLETE
|
||||
// OBSOLETE The hardware save state pointer is at offset 0x10 within the
|
||||
// OBSOLETE signal context structure.
|
||||
// OBSOLETE
|
||||
// OBSOLETE Within the hardware save state, registers are found in the same order
|
||||
// OBSOLETE as the register numbers in GDB. */
|
||||
// OBSOLETE
|
||||
// OBSOLETE #define FRAME_SAVED_PC_IN_SIGTRAMP(FRAME, TMP) \
|
||||
// OBSOLETE { \
|
||||
// OBSOLETE *(TMP) = read_memory_integer ((FRAME)->frame + 0x4, 4); \
|
||||
// OBSOLETE *(TMP) = read_memory_integer (*(TMP) + 0x18, 4); \
|
||||
// OBSOLETE }
|
||||
// OBSOLETE
|
||||
// OBSOLETE #define FRAME_BASE_BEFORE_SIGTRAMP(FRAME, TMP) \
|
||||
// OBSOLETE { \
|
||||
// OBSOLETE *(TMP) = read_memory_integer ((FRAME)->frame + 0x4, 4); \
|
||||
// OBSOLETE *(TMP) = read_memory_integer (*(TMP) + 0x8, 4); \
|
||||
// OBSOLETE }
|
||||
// OBSOLETE
|
||||
// OBSOLETE #define FRAME_FIND_SAVED_REGS_IN_SIGTRAMP(FRAME, FSR) \
|
||||
// OBSOLETE { \
|
||||
// OBSOLETE int i; \
|
||||
// OBSOLETE CORE_ADDR TMP; \
|
||||
// OBSOLETE TMP = read_memory_integer ((FRAME)->frame + 0x4, 4); \
|
||||
// OBSOLETE TMP = read_memory_integer (TMP + 0x10, 4); \
|
||||
// OBSOLETE for (i = 0; i < NUM_REGS; i++) \
|
||||
// OBSOLETE { \
|
||||
// OBSOLETE if (i == SP_REGNUM) \
|
||||
// OBSOLETE (FSR)->regs[SP_REGNUM] = read_memory_integer (TMP + SP_REGNUM * 4, 4); \
|
||||
// OBSOLETE else \
|
||||
// OBSOLETE (FSR)->regs[i] = TMP + i * 4; \
|
||||
// OBSOLETE } \
|
||||
// OBSOLETE }
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* It's mostly just the common stuff. */
|
||||
// OBSOLETE #include "pa/tm-hppa.h"
|
||||
|
@ -1,98 +1,98 @@
|
||||
/* Parameters for execution on an HP PA-RISC machine running OSF1, for GDB.
|
||||
Contributed by the Center for Software Science at the
|
||||
University of Utah (pa-gdb-bugs@cs.utah.edu). */
|
||||
|
||||
#include "regcache.h"
|
||||
|
||||
/* Define offsets to access CPROC stack when it does not have
|
||||
* a kernel thread.
|
||||
*/
|
||||
#define MACHINE_CPROC_SP_OFFSET 20
|
||||
#define MACHINE_CPROC_PC_OFFSET 16
|
||||
#define MACHINE_CPROC_FP_OFFSET 12
|
||||
|
||||
/*
|
||||
* Software defined PSW masks.
|
||||
*/
|
||||
#define PSW_SS 0x10000000 /* Kernel managed single step */
|
||||
|
||||
/* Thread flavors used in re-setting the T bit.
|
||||
* @@ this is also bad for cross debugging.
|
||||
*/
|
||||
#define TRACE_FLAVOR HP800_THREAD_STATE
|
||||
#define TRACE_FLAVOR_SIZE HP800_THREAD_STATE_COUNT
|
||||
#define TRACE_SET(x,state) \
|
||||
((struct hp800_thread_state *)state)->cr22 |= PSW_SS
|
||||
#define TRACE_CLEAR(x,state) \
|
||||
((((struct hp800_thread_state *)state)->cr22 &= ~PSW_SS), 1)
|
||||
|
||||
/* For OSF1 (Should be close if not identical to BSD, but I haven't
|
||||
tested it yet):
|
||||
|
||||
The signal context structure pointer is always saved at the base
|
||||
of the frame + 0x4.
|
||||
|
||||
We get the PC & SP directly from the sigcontext structure itself.
|
||||
For other registers we have to dive in a little deeper:
|
||||
|
||||
The hardware save state pointer is at offset 0x10 within the
|
||||
signal context structure.
|
||||
|
||||
Within the hardware save state, registers are found in the same order
|
||||
as the register numbers in GDB. */
|
||||
|
||||
#define FRAME_SAVED_PC_IN_SIGTRAMP(FRAME, TMP) \
|
||||
{ \
|
||||
*(TMP) = read_memory_integer ((FRAME)->frame + 0x4, 4); \
|
||||
*(TMP) = read_memory_integer (*(TMP) + 0x18, 4); \
|
||||
}
|
||||
|
||||
#define FRAME_BASE_BEFORE_SIGTRAMP(FRAME, TMP) \
|
||||
{ \
|
||||
*(TMP) = read_memory_integer ((FRAME)->frame + 0x4, 4); \
|
||||
*(TMP) = read_memory_integer (*(TMP) + 0x8, 4); \
|
||||
}
|
||||
|
||||
#define FRAME_FIND_SAVED_REGS_IN_SIGTRAMP(FRAME, FSR) \
|
||||
{ \
|
||||
int i; \
|
||||
CORE_ADDR TMP; \
|
||||
TMP = read_memory_integer ((FRAME)->frame + 0x4, 4); \
|
||||
TMP = read_memory_integer (TMP + 0x10, 4); \
|
||||
for (i = 0; i < NUM_REGS; i++) \
|
||||
{ \
|
||||
if (i == SP_REGNUM) \
|
||||
(FSR)->regs[SP_REGNUM] = read_memory_integer (TMP + SP_REGNUM * 4, 4); \
|
||||
else \
|
||||
(FSR)->regs[i] = TMP + i * 4; \
|
||||
} \
|
||||
}
|
||||
|
||||
/* OSF1 does not need the pc space queue restored. */
|
||||
#define NO_PC_SPACE_QUEUE_RESTORE
|
||||
|
||||
/* The mach kernel uses the recovery counter to implement single
|
||||
stepping. While this greatly simplifies the kernel support
|
||||
necessary for single stepping, it unfortunately does the wrong
|
||||
thing in the presense of a nullified instruction (gives control
|
||||
back two insns after the nullifed insn). This is an artifact
|
||||
of the HP architecture (recovery counter doesn't tick for
|
||||
nullified insns).
|
||||
|
||||
Do our best to avoid losing in such situations. */
|
||||
#define INSTRUCTION_NULLIFIED \
|
||||
(({ \
|
||||
int ipsw = (int)read_register(IPSW_REGNUM); \
|
||||
if (ipsw & PSW_N) \
|
||||
{ \
|
||||
int pcoqt = (int)read_register(PCOQ_TAIL_REGNUM); \
|
||||
write_register(PCOQ_HEAD_REGNUM, pcoqt); \
|
||||
write_register(PCOQ_TAIL_REGNUM, pcoqt + 0x4); \
|
||||
write_register(IPSW_REGNUM, ipsw & ~(PSW_N | PSW_B | PSW_X)); \
|
||||
stop_pc = pcoqt; \
|
||||
} \
|
||||
}), 0)
|
||||
|
||||
/* It's mostly just the common stuff. */
|
||||
|
||||
#include "pa/tm-hppa.h"
|
||||
// OBSOLETE /* Parameters for execution on an HP PA-RISC machine running OSF1, for GDB.
|
||||
// OBSOLETE Contributed by the Center for Software Science at the
|
||||
// OBSOLETE University of Utah (pa-gdb-bugs@cs.utah.edu). */
|
||||
// OBSOLETE
|
||||
// OBSOLETE #include "regcache.h"
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* Define offsets to access CPROC stack when it does not have
|
||||
// OBSOLETE * a kernel thread.
|
||||
// OBSOLETE */
|
||||
// OBSOLETE #define MACHINE_CPROC_SP_OFFSET 20
|
||||
// OBSOLETE #define MACHINE_CPROC_PC_OFFSET 16
|
||||
// OBSOLETE #define MACHINE_CPROC_FP_OFFSET 12
|
||||
// OBSOLETE
|
||||
// OBSOLETE /*
|
||||
// OBSOLETE * Software defined PSW masks.
|
||||
// OBSOLETE */
|
||||
// OBSOLETE #define PSW_SS 0x10000000 /* Kernel managed single step */
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* Thread flavors used in re-setting the T bit.
|
||||
// OBSOLETE * @@ this is also bad for cross debugging.
|
||||
// OBSOLETE */
|
||||
// OBSOLETE #define TRACE_FLAVOR HP800_THREAD_STATE
|
||||
// OBSOLETE #define TRACE_FLAVOR_SIZE HP800_THREAD_STATE_COUNT
|
||||
// OBSOLETE #define TRACE_SET(x,state) \
|
||||
// OBSOLETE ((struct hp800_thread_state *)state)->cr22 |= PSW_SS
|
||||
// OBSOLETE #define TRACE_CLEAR(x,state) \
|
||||
// OBSOLETE ((((struct hp800_thread_state *)state)->cr22 &= ~PSW_SS), 1)
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* For OSF1 (Should be close if not identical to BSD, but I haven't
|
||||
// OBSOLETE tested it yet):
|
||||
// OBSOLETE
|
||||
// OBSOLETE The signal context structure pointer is always saved at the base
|
||||
// OBSOLETE of the frame + 0x4.
|
||||
// OBSOLETE
|
||||
// OBSOLETE We get the PC & SP directly from the sigcontext structure itself.
|
||||
// OBSOLETE For other registers we have to dive in a little deeper:
|
||||
// OBSOLETE
|
||||
// OBSOLETE The hardware save state pointer is at offset 0x10 within the
|
||||
// OBSOLETE signal context structure.
|
||||
// OBSOLETE
|
||||
// OBSOLETE Within the hardware save state, registers are found in the same order
|
||||
// OBSOLETE as the register numbers in GDB. */
|
||||
// OBSOLETE
|
||||
// OBSOLETE #define FRAME_SAVED_PC_IN_SIGTRAMP(FRAME, TMP) \
|
||||
// OBSOLETE { \
|
||||
// OBSOLETE *(TMP) = read_memory_integer ((FRAME)->frame + 0x4, 4); \
|
||||
// OBSOLETE *(TMP) = read_memory_integer (*(TMP) + 0x18, 4); \
|
||||
// OBSOLETE }
|
||||
// OBSOLETE
|
||||
// OBSOLETE #define FRAME_BASE_BEFORE_SIGTRAMP(FRAME, TMP) \
|
||||
// OBSOLETE { \
|
||||
// OBSOLETE *(TMP) = read_memory_integer ((FRAME)->frame + 0x4, 4); \
|
||||
// OBSOLETE *(TMP) = read_memory_integer (*(TMP) + 0x8, 4); \
|
||||
// OBSOLETE }
|
||||
// OBSOLETE
|
||||
// OBSOLETE #define FRAME_FIND_SAVED_REGS_IN_SIGTRAMP(FRAME, FSR) \
|
||||
// OBSOLETE { \
|
||||
// OBSOLETE int i; \
|
||||
// OBSOLETE CORE_ADDR TMP; \
|
||||
// OBSOLETE TMP = read_memory_integer ((FRAME)->frame + 0x4, 4); \
|
||||
// OBSOLETE TMP = read_memory_integer (TMP + 0x10, 4); \
|
||||
// OBSOLETE for (i = 0; i < NUM_REGS; i++) \
|
||||
// OBSOLETE { \
|
||||
// OBSOLETE if (i == SP_REGNUM) \
|
||||
// OBSOLETE (FSR)->regs[SP_REGNUM] = read_memory_integer (TMP + SP_REGNUM * 4, 4); \
|
||||
// OBSOLETE else \
|
||||
// OBSOLETE (FSR)->regs[i] = TMP + i * 4; \
|
||||
// OBSOLETE } \
|
||||
// OBSOLETE }
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* OSF1 does not need the pc space queue restored. */
|
||||
// OBSOLETE #define NO_PC_SPACE_QUEUE_RESTORE
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* The mach kernel uses the recovery counter to implement single
|
||||
// OBSOLETE stepping. While this greatly simplifies the kernel support
|
||||
// OBSOLETE necessary for single stepping, it unfortunately does the wrong
|
||||
// OBSOLETE thing in the presense of a nullified instruction (gives control
|
||||
// OBSOLETE back two insns after the nullifed insn). This is an artifact
|
||||
// OBSOLETE of the HP architecture (recovery counter doesn't tick for
|
||||
// OBSOLETE nullified insns).
|
||||
// OBSOLETE
|
||||
// OBSOLETE Do our best to avoid losing in such situations. */
|
||||
// OBSOLETE #define INSTRUCTION_NULLIFIED \
|
||||
// OBSOLETE (({ \
|
||||
// OBSOLETE int ipsw = (int)read_register(IPSW_REGNUM); \
|
||||
// OBSOLETE if (ipsw & PSW_N) \
|
||||
// OBSOLETE { \
|
||||
// OBSOLETE int pcoqt = (int)read_register(PCOQ_TAIL_REGNUM); \
|
||||
// OBSOLETE write_register(PCOQ_HEAD_REGNUM, pcoqt); \
|
||||
// OBSOLETE write_register(PCOQ_TAIL_REGNUM, pcoqt + 0x4); \
|
||||
// OBSOLETE write_register(IPSW_REGNUM, ipsw & ~(PSW_N | PSW_B | PSW_X)); \
|
||||
// OBSOLETE stop_pc = pcoqt; \
|
||||
// OBSOLETE } \
|
||||
// OBSOLETE }), 0)
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* It's mostly just the common stuff. */
|
||||
// OBSOLETE
|
||||
// OBSOLETE #include "pa/tm-hppa.h"
|
||||
|
@ -1,14 +1,14 @@
|
||||
/* Parameters for execution on an HP PA-RISC level 0 embedded system.
|
||||
This is based on tm-hppab.h.
|
||||
Contributed by the Center for Software Science at the
|
||||
University of Utah (pa-gdb-bugs@cs.utah.edu). */
|
||||
|
||||
#define PA_LEVEL_0 /* Disables touching space regs and fp */
|
||||
|
||||
/* All the PRO targets use software floating point at the moment. */
|
||||
#define SOFT_FLOAT 1
|
||||
|
||||
/* It's mostly just the common stuff. */
|
||||
#include "pa/tm-hppa.h"
|
||||
|
||||
#define GDB_TARGET_IS_PA_ELF
|
||||
// OBSOLETE /* Parameters for execution on an HP PA-RISC level 0 embedded system.
|
||||
// OBSOLETE This is based on tm-hppab.h.
|
||||
// OBSOLETE Contributed by the Center for Software Science at the
|
||||
// OBSOLETE University of Utah (pa-gdb-bugs@cs.utah.edu). */
|
||||
// OBSOLETE
|
||||
// OBSOLETE #define PA_LEVEL_0 /* Disables touching space regs and fp */
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* All the PRO targets use software floating point at the moment. */
|
||||
// OBSOLETE #define SOFT_FLOAT 1
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* It's mostly just the common stuff. */
|
||||
// OBSOLETE #include "pa/tm-hppa.h"
|
||||
// OBSOLETE
|
||||
// OBSOLETE #define GDB_TARGET_IS_PA_ELF
|
||||
|
@ -1,24 +1,24 @@
|
||||
/* Parameters for hosting on an HPPA PA-RISC machine, running BSD, for GDB.
|
||||
Copyright 1991, 1992, 1993, 1996, 1998 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., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include "pa/xm-pa.h"
|
||||
// OBSOLETE /* Parameters for hosting on an HPPA PA-RISC machine, running BSD, for GDB.
|
||||
// OBSOLETE Copyright 1991, 1992, 1993, 1996, 1998 Free Software Foundation, Inc.
|
||||
// OBSOLETE
|
||||
// OBSOLETE Contributed by the Center for Software Science at the
|
||||
// OBSOLETE University of Utah (pa-gdb-bugs@cs.utah.edu).
|
||||
// OBSOLETE
|
||||
// OBSOLETE This file is part of GDB.
|
||||
// OBSOLETE
|
||||
// OBSOLETE This program is free software; you can redistribute it and/or modify
|
||||
// OBSOLETE it under the terms of the GNU General Public License as published by
|
||||
// OBSOLETE the Free Software Foundation; either version 2 of the License, or
|
||||
// OBSOLETE (at your option) any later version.
|
||||
// OBSOLETE
|
||||
// OBSOLETE This program is distributed in the hope that it will be useful,
|
||||
// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// OBSOLETE GNU General Public License for more details.
|
||||
// OBSOLETE
|
||||
// OBSOLETE You should have received a copy of the GNU General Public License
|
||||
// OBSOLETE along with this program; if not, write to the Free Software
|
||||
// OBSOLETE Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
// OBSOLETE Boston, MA 02111-1307, USA. */
|
||||
// OBSOLETE
|
||||
// OBSOLETE #include "pa/xm-pa.h"
|
||||
|
@ -22,8 +22,6 @@
|
||||
Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include "pa/xm-pa.h"
|
||||
|
||||
#define USG
|
||||
|
||||
#define HAVE_TERMIOS
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Definitions for all PA machines. */
|
||||
|
||||
/* This was created for "makeva", which is obsolete. This file can
|
||||
probably go away (unless someone can think of some other host thing
|
||||
which is common to various pa machines). */
|
||||
// OBSOLETE /* Definitions for all PA machines. */
|
||||
// OBSOLETE
|
||||
// OBSOLETE /* This was created for "makeva", which is obsolete. This file can
|
||||
// OBSOLETE probably go away (unless someone can think of some other host thing
|
||||
// OBSOLETE which is common to various pa machines). */
|
||||
|
@ -40,13 +40,13 @@ arm*-*-linux*) gdb_host=linux ;;
|
||||
arm*-*-netbsdelf*) gdb_host=nbsdelf ;;
|
||||
arm*-*-netbsd*) gdb_host=nbsdaout ;;
|
||||
|
||||
hppa*-*-bsd*) gdb_host=hppabsd ;;
|
||||
# OBSOLETE hppa*-*-bsd*) gdb_host=hppabsd ;;
|
||||
hppa*-*-hiux*) gdb_host=hppahpux ;;
|
||||
hppa*-*-hpux10.20) gdb_host=hpux1020 ;;
|
||||
hppa*64*-*-hpux11*) gdb_host=hpux11w ;;
|
||||
hppa*-*-hpux11*) gdb_host=hpux11 ;;
|
||||
hppa*-*-hpux*) gdb_host=hppahpux ;;
|
||||
hppa*-*-osf*) gdb_host=hppaosf ;;
|
||||
# OBSOLETE hppa*-*-osf*) gdb_host=hppaosf ;;
|
||||
|
||||
i[3456]86-ncr-*) gdb_host=ncr3000 ;;
|
||||
i[3456]86-sequent-bsd*) gdb_host=symmetry ;; # dynix
|
||||
|
@ -73,12 +73,12 @@ h8300-*-*) gdb_target=h8300 ;;
|
||||
|
||||
frv-*-*) gdb_target=frv ;;
|
||||
|
||||
hppa*-*-bsd*) gdb_target=hppabsd ;;
|
||||
hppa*-*-pro*) gdb_target=hppapro ;;
|
||||
# OBSOLETE hppa*-*-bsd*) gdb_target=hppabsd ;;
|
||||
# OBSOLETE hppa*-*-pro*) gdb_target=hppapro ;;
|
||||
hppa*64*-*-hpux11*) gdb_target=hppa64 ;;
|
||||
hppa*-*-hpux*) gdb_target=hppahpux ;;
|
||||
hppa*-*-hiux*) gdb_target=hppahpux ;;
|
||||
hppa*-*-osf*) gdb_target=hppaosf ;;
|
||||
# OBSOLETE hppa*-*-osf*) gdb_target=hppaosf ;;
|
||||
hppa*-*-*) gdb_target=hppa ;;
|
||||
|
||||
i[3456]86-sequent-bsd*) gdb_target=symmetry ;;
|
||||
|
Loading…
x
Reference in New Issue
Block a user