diff options
author | Stu Grossman <grossman@cygnus> | 1992-02-22 09:06:58 +0000 |
---|---|---|
committer | Stu Grossman <grossman@cygnus> | 1992-02-22 09:06:58 +0000 |
commit | 30875e1c4b96ec9966901d7ec4e50446394d1273 (patch) | |
tree | e828543e4be3f58dca19187290951f785a70028d /gdb/tm-sun3.h | |
parent | 021959e249f6aaddc39b5c61f692cd9155e33f52 (diff) | |
download | gdb-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.h | 31 |
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) |