|
@@ -24,6 +24,8 @@
|
|
|
#include <setjmp.h>
|
|
|
#include <signal.h>
|
|
|
|
|
|
+extern int __longjmp(char *env, int val);
|
|
|
+extern int __sigprocmask(int how, const sigset_t *set, sigset_t *oldset);
|
|
|
|
|
|
/* Set the signal mask to the one specified in ENV, and jump
|
|
|
to the position specified in ENV, causing the setjmp
|
|
@@ -36,7 +38,7 @@ void __libc_siglongjmp (sigjmp_buf env, int val)
|
|
|
(sigset_t *) NULL);
|
|
|
|
|
|
/* Call the machine-dependent function to restore machine state. */
|
|
|
- __longjmp (env[0].__jmpbuf, val ?: 1);
|
|
|
+ __longjmp ((char *) env[0].__jmpbuf, val ?: 1);
|
|
|
}
|
|
|
|
|
|
__asm__(".weak longjmp; longjmp = __libc_siglongjmp");
|