summaryrefslogtreecommitdiff
path: root/include/setjmp.h
diff options
context:
space:
mode:
authorPeter S. Mazinger <ps.m@gmx.net>2011-03-13 20:10:13 +0100
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2012-06-15 14:00:23 +0200
commit8f86b8a1977128e2795737fed2577b377cc2b15e (patch)
treeefe970f2c360ff69636f4625517e275346d9975d /include/setjmp.h
parent17967fd080face7e64a3c25b323760deab106096 (diff)
move *longjmp related prototypes to setjmp.h
Provide common prototypes for __longjmp, __libc_longjmp, __libc_siglongjmp _longjmp_unwind, __libc_unwind_longjmp in setjmp.h in preparation for use in LT new Add __longjmp to h8300 and i960 Make common longjmp.c good for NPTL Guard _longjmp_unwind use in sh's longjmp.c for NPTL (I think sh could use the common one) Remove unneeded attribute_noreturn, prototype provides it already Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Diffstat (limited to 'include/setjmp.h')
-rw-r--r--include/setjmp.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/setjmp.h b/include/setjmp.h
index fb9c078f7..c70f77198 100644
--- a/include/setjmp.h
+++ b/include/setjmp.h
@@ -113,4 +113,14 @@ extern void siglongjmp (sigjmp_buf __env, int __val)
__END_DECLS
+#ifdef _LIBC
+extern void __longjmp(__jmp_buf __env, int __val) attribute_noreturn;
+libc_hidden_proto(__longjmp)
+extern __typeof(longjmp) __libc_longjmp attribute_noreturn;
+extern __typeof(siglongjmp) __libc_siglongjmp attribute_noreturn;
+extern void _longjmp_unwind(jmp_buf __env, int __val);
+/* We use the normal longjmp for unwinding */
+# define __libc_unwind_longjmp(buf, val) __libc_longjmp(buf, val)
+#endif
+
#endif /* setjmp.h */