diff options
Diffstat (limited to 'gdb/tm-sun4os4.h')
-rw-r--r-- | gdb/tm-sun4os4.h | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/gdb/tm-sun4os4.h b/gdb/tm-sun4os4.h index 6a5ad19..309720a 100644 --- a/gdb/tm-sun4os4.h +++ b/gdb/tm-sun4os4.h @@ -1,5 +1,5 @@ /* Macro definitions for GDB for a Sun 4 running sunos 4. - Copyright (C) 1989, Free Software Foundation, Inc. + Copyright (C) 1989, 1992 Free Software Foundation, Inc. This file is part of GDB. @@ -22,3 +22,26 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #undef STACK_END_ADDRESS #define STACK_END_ADDRESS 0xf8000000 + +/* 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 */ + +#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR) |