1 #ifndef _BITS_SETJMP_H 2 #define _BITS_SETJMP_H 1 3 4 #if !defined _SETJMP_H && !defined _PTHREAD_H 5 # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead." 6 #endif 7 8 #ifndef _ASM 9 typedef struct 10 { 11 int __regs[15]; /* callee-saved registers r11-r25 */ 12 void *__gp; /* global pointer */ 13 void *__fp; /* frame pointer */ 14 void *__sp; /* stack pointer */ 15 void *__ra; /* return address */ 16 } __jmp_buf[1]; 17 #endif 18 19 /* Test if longjmp to JMPBUF would unwind the frame 20 containing a local variable at ADDRESS. */ 21 #define _JMPBUF_UNWINDS(jmpbuf, address) \ 22 ((void *) (address) < (void *) (jmpbuf)[0].__sp) 23 24 #endif 25