diff options
author | Jeff Law <law@redhat.com> | 1994-04-18 17:18:12 +0000 |
---|---|---|
committer | Jeff Law <law@redhat.com> | 1994-04-18 17:18:12 +0000 |
commit | fe15373a50890d37ab755827554f4a1b9feacfe3 (patch) | |
tree | 9943e29f6da0932b9a2d6e9b366592c7bb6da070 /gdb/config | |
parent | 8bd8cef202765c88fd2451b47bfe6ba58f0798e5 (diff) | |
download | gdb-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.h | 21 | ||||
-rw-r--r-- | gdb/config/pa/nm-hppah.h | 25 | ||||
-rw-r--r-- | gdb/config/pa/xm-hppab.h | 10 | ||||
-rw-r--r-- | gdb/config/pa/xm-hppah.h | 10 |
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 * |