diff options
author | Eric Andersen <andersen@codepoet.org> | 2001-10-11 08:29:22 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2001-10-11 08:29:22 +0000 |
commit | 5c12c8eecd5f2e06c200651e90befe85efcf166f (patch) | |
tree | dbaed54145d28357e3b145ad8631529ffd0c2344 /libc/sysdeps/linux/v850/bits/setjmp.h | |
parent | a924265e43cf2fcad97fc9489da482a27b0faf93 (diff) |
Patch from Miles Bader <miles@lsi.nec.co.jp> to support the v850.
He sent this patch to me a month ago, but I forgot to apply it...
Diffstat (limited to 'libc/sysdeps/linux/v850/bits/setjmp.h')
-rw-r--r-- | libc/sysdeps/linux/v850/bits/setjmp.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/v850/bits/setjmp.h b/libc/sysdeps/linux/v850/bits/setjmp.h new file mode 100644 index 000000000..3e4214a27 --- /dev/null +++ b/libc/sysdeps/linux/v850/bits/setjmp.h @@ -0,0 +1,37 @@ +/* + * libc/sysdeps/linux/v850/bits/setjmp.h -- v850 version of `jmp_buf' type + * + * Copyright (C) 2001 NEC Corporation + * Copyright (C) 2001 Miles Bader <miles@gnu.org> + * + * This file is subject to the terms and conditions of the GNU Lesser + * General Public License. See the file COPYING.LIB in the main + * directory of this archive for more details. + * + * Written by Miles Bader <miles@gnu.org> + */ + +#ifndef _SETJMP_H +# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead." +#endif + +#ifndef _ASM +typedef struct + { + /* Stack pointer. */ + void *__sp; + + /* Link pointer. */ + void *__lp; + + /* Callee-saved registers r2 and r20-r29. */ + int __regs[11]; + } __jmp_buf[1]; +#endif + +#define JB_SIZE (4 * 13) + +/* Test if longjmp to JMPBUF would unwind the frame + containing a local variable at ADDRESS. */ +#define _JMPBUF_UNWINDS(jmpbuf, address) \ + ((__ptr_t) (address) < &(jmpbuf)[0].__sp) |