aboutsummaryrefslogtreecommitdiff
path: root/gdb/tm-sun3.h
diff options
context:
space:
mode:
authorStu Grossman <grossman@cygnus>1992-02-22 09:06:58 +0000
committerStu Grossman <grossman@cygnus>1992-02-22 09:06:58 +0000
commit30875e1c4b96ec9966901d7ec4e50446394d1273 (patch)
treee828543e4be3f58dca19187290951f785a70028d /gdb/tm-sun3.h
parent021959e249f6aaddc39b5c61f692cd9155e33f52 (diff)
downloadgdb-30875e1c4b96ec9966901d7ec4e50446394d1273.zip
gdb-30875e1c4b96ec9966901d7ec4e50446394d1273.tar.gz
gdb-30875e1c4b96ec9966901d7ec4e50446394d1273.tar.bz2
* infrun.c, infcmd.c, breakpoint.c, main.c, symfile.c,
breakpoint.h, tm-sun4os4.h, tm-sparc.h, sparc-tdep.c, tm-mips.h, mips-tdep.h, tm-sun3.h, tm-68k.h, m68k-tdep.h: Add support for stepping (and nexting) through longjmp(). Also, cleanup breakpoint handling quite a bit by creating explicit breakpoint types instead of using magic breakpoint numbers. Makefile.in: Update version to 4.4.3
Diffstat (limited to 'gdb/tm-sun3.h')
-rw-r--r--gdb/tm-sun3.h31
1 files changed, 30 insertions, 1 deletions
diff --git a/gdb/tm-sun3.h b/gdb/tm-sun3.h
index d7e403f..528794e 100644
--- a/gdb/tm-sun3.h
+++ b/gdb/tm-sun3.h
@@ -1,5 +1,5 @@
/* Parameters for execution on a Sun, for GDB, the GNU debugger.
- Copyright (C) 1986, 1987, 1989 Free Software Foundation, Inc.
+ Copyright (C) 1986, 1987, 1989, 1992 Free Software Foundation, Inc.
This file is part of GDB.
@@ -37,3 +37,32 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#define STACK_END_ADDR USRSTACK
#include "tm-68k.h"
+
+/* Offsets (in target ints) into jmp_buf. Not defined by Sun, but at least
+ documented in a comment in <machine/setjmp.h>! */
+
+#define JB_ELEMENT_SIZE 4
+
+#define JB_ONSSTACK 0
+#define JB_SIGMASK 1
+#define JB_SP 2
+#define JB_PC 3
+#define JB_PSL 4
+#define JB_D2 5
+#define JB_D3 6
+#define JB_D4 7
+#define JB_D5 8
+#define JB_D6 9
+#define JB_D7 10
+#define JB_A2 11
+#define JB_A3 12
+#define JB_A4 13
+#define JB_A5 14
+#define JB_A6 15
+
+/* Figure out where the longjmp will land. Slurp the args out of the stack.
+ We expect the first arg to be a pointer to 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)