aboutsummaryrefslogtreecommitdiff
path: root/gdb/config
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1994-04-18 17:18:12 +0000
committerJeff Law <law@redhat.com>1994-04-18 17:18:12 +0000
commitfe15373a50890d37ab755827554f4a1b9feacfe3 (patch)
tree9943e29f6da0932b9a2d6e9b366592c7bb6da070 /gdb/config
parent8bd8cef202765c88fd2451b47bfe6ba58f0798e5 (diff)
downloadgdb-fe15373a50890d37ab755827554f4a1b9feacfe3.zip
gdb-fe15373a50890d37ab755827554f4a1b9feacfe3.tar.gz
gdb-fe15373a50890d37ab755827554f4a1b9feacfe3.tar.bz2
* nm-hppab.h (KERNEL_U_ADDR): Define.
(FIVE_ARG_PTRACE): Likewise. (CANNOT_STORE_REGISTER): Likewise. * nm-hppah.h (KERNEL_U_ADDR): Define. (FIVE_ARG_PTRACE): Likewise. (CANNOT_STORE_REGISTER): Likewise. (NEED_TEXT_START_END): Likewise. * tm-hppah.h (NEED_TEXT_START_END): Delete definition. * xm-hppah.h (KERNEL_U_ADDR): Delete definition. (FIVE_ARG_PTRACE): Likewise. * xm-hppab.h (KERNEL_U_ADDR): Delete definition. (FIVE_ARG_PTRACE): Likewise. * hppa-tdep.c (read_unwind_info): Make static. (restore_pc_queue): Indirect through the target vector to reload the register state.
Diffstat (limited to 'gdb/config')
-rw-r--r--gdb/config/pa/nm-hppab.h21
-rw-r--r--gdb/config/pa/nm-hppah.h25
-rw-r--r--gdb/config/pa/xm-hppab.h10
-rw-r--r--gdb/config/pa/xm-hppah.h10
4 files changed, 46 insertions, 20 deletions
diff --git a/gdb/config/pa/nm-hppab.h b/gdb/config/pa/nm-hppab.h
index c14cb25..8b948d2 100644
--- a/gdb/config/pa/nm-hppab.h
+++ b/gdb/config/pa/nm-hppab.h
@@ -19,6 +19,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#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);}
@@ -27,6 +29,25 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#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
+
+
+/* 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)
+
/* fetch_inferior_registers is in hppab-nat.c. */
#define FETCH_INFERIOR_REGISTERS
diff --git a/gdb/config/pa/nm-hppah.h b/gdb/config/pa/nm-hppah.h
index 6a465d7..fdbc17e 100644
--- a/gdb/config/pa/nm-hppah.h
+++ b/gdb/config/pa/nm-hppah.h
@@ -19,10 +19,35 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#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);}
+/* 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
+
+/* 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
+
+/* 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)
+
/* fetch_inferior_registers is in hppah-nat.c. */
#define FETCH_INFERIOR_REGISTERS
diff --git a/gdb/config/pa/xm-hppab.h b/gdb/config/pa/xm-hppab.h
index 13d1c1d..21cefd2 100644
--- a/gdb/config/pa/xm-hppab.h
+++ b/gdb/config/pa/xm-hppab.h
@@ -31,16 +31,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef INT_MIN
#define INT_MIN 0x80000000
-/* HPUX 8.0, in its infinite wisdom, has chosen to prototype ptrace
- with five arguments, so programs written for normal ptrace lose.
-
- Idiots.
-
- (They should have just made it varadic). */
-#define FIVE_ARG_PTRACE
-
-#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" */
diff --git a/gdb/config/pa/xm-hppah.h b/gdb/config/pa/xm-hppah.h
index bd452ad..64e7524 100644
--- a/gdb/config/pa/xm-hppah.h
+++ b/gdb/config/pa/xm-hppah.h
@@ -30,14 +30,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef INT_MIN
#define INT_MIN 0x80000000
-/* HPUX 8.0, in its infinite wisdom, has chosen to prototype ptrace
- with five arguments, so programs written for normal ptrace lose.
-
- Idiots.
-
- (They should have just made it varadic). */
-#define FIVE_ARG_PTRACE
-
#define USG
#ifndef __STDC__
@@ -47,8 +39,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#define HAVE_TERMIOS
-#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 *