aboutsummaryrefslogtreecommitdiff
path: root/gdb/tm-sun4os4.h
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/tm-sun4os4.h')
-rw-r--r--gdb/tm-sun4os4.h25
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)