summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libpthread/linuxthreads.old/ptlongjmp.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libpthread/linuxthreads.old/ptlongjmp.c b/libpthread/linuxthreads.old/ptlongjmp.c
index ca29c7722..d18f9b330 100644
--- a/libpthread/linuxthreads.old/ptlongjmp.c
+++ b/libpthread/linuxthreads.old/ptlongjmp.c
@@ -21,8 +21,8 @@
/* These functions are not declared anywhere since they shouldn't be
used at another place but here. */
-extern __typeof(siglongjmp) __libc_siglongjmp;
-extern __typeof(longjmp) __libc_longjmp;
+extern void __libc_siglongjmp (sigjmp_buf env, int val) attribute_noreturn;
+extern void __libc_longjmp (sigjmp_buf env, int val) attribute_noreturn;
static void pthread_cleanup_upto(__jmp_buf target)
{
@@ -39,13 +39,13 @@ static void pthread_cleanup_upto(__jmp_buf target)
THREAD_SETMEM(self, p_in_sighandler, NULL);
}
-void siglongjmp(sigjmp_buf env, int val)
+void attribute_noreturn siglongjmp(sigjmp_buf env, int val)
{
pthread_cleanup_upto(env->__jmpbuf);
__libc_siglongjmp(env, val);
}
-void longjmp(jmp_buf env, int val)
+void attribute_noreturn longjmp(jmp_buf env, int val)
{
pthread_cleanup_upto(env->__jmpbuf);
__libc_siglongjmp(env, val);