diff options
author | Fred Fish <fnf@specifix.com> | 1992-03-04 20:50:10 +0000 |
---|---|---|
committer | Fred Fish <fnf@specifix.com> | 1992-03-04 20:50:10 +0000 |
commit | d7eddc517782bf0673e4bcd15c4159ae5799a247 (patch) | |
tree | 5cbaafd5433cb047b3a50693a4120fa5d0de4ae7 /gdb/tm-amix.h | |
parent | c7cb8acbe8eb1226ef76fe716aa050d3b9d0e860 (diff) | |
download | gdb-d7eddc517782bf0673e4bcd15c4159ae5799a247.zip gdb-d7eddc517782bf0673e4bcd15c4159ae5799a247.tar.gz gdb-d7eddc517782bf0673e4bcd15c4159ae5799a247.tar.bz2 |
* defs.h, utils.c: xrealloc takes PTR as first arg.
* defs.h: Reword confusing comment about ANSI prototypes.
* defs.h: Some minor whitespace changes.
* infrun.c (wait_for_inferior): Compare int tmp to int 0,
not NULL, which can be (void *).
* tm-amix.h, tm-i386v4.h: Add defines for setjmp/longjmp handling.
* tm-i386v.h (SP_ARG0): Define
* xm-sysv4.h: Back out of change for missing prototypes.
* i386-tdep.c (get_longjmp_target): Add function.
Diffstat (limited to 'gdb/tm-amix.h')
-rw-r--r-- | gdb/tm-amix.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gdb/tm-amix.h b/gdb/tm-amix.h index e13fc89..9a43be7 100644 --- a/gdb/tm-amix.h +++ b/gdb/tm-amix.h @@ -45,3 +45,33 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "tm-sysv4.h" #include "tm-68k.h" + +/* Offsets (in target ints) into jmp_buf. Not defined in any system header + file, so we have to step through setjmp/longjmp with a debugger and figure + them out. As a double check, note that <setjmp> defines _JBLEN as 13, + which matches the number of elements we see saved by setjmp(). */ + +#define JB_ELEMENT_SIZE sizeof(int) /* jmp_buf[_JBLEN] is array of ints */ + +#define JB_D2 0 +#define JB_D3 1 +#define JB_D4 2 +#define JB_D5 3 +#define JB_D6 4 +#define JB_D7 5 +#define JB_A1 6 +#define JB_A2 7 +#define JB_A3 8 +#define JB_A4 9 +#define JB_A5 10 +#define JB_A6 11 +#define JB_A7 12 + +#define JB_PC JB_A1 /* Setjmp()'s return PC saved in A1 */ + +/* 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) |