|
|
@ -0,0 +1,27 @@ |
|
|
|
--- ./eftest.c.orig 2004-09-07 15:43:00.320833176 +0200
|
|
|
|
+++ ./eftest.c 2004-09-07 15:44:44.374014688 +0200
|
|
|
|
@@ -24,7 +24,7 @@
|
|
|
|
extern int EF_PROTECT_BELOW; |
|
|
|
extern int EF_ALIGNMENT; |
|
|
|
|
|
|
|
-static jmp_buf env;
|
|
|
|
+static sigjmp_buf env;
|
|
|
|
|
|
|
|
/* |
|
|
|
* There is still too little standardization of the arguments and return |
|
|
|
@@ -40,13 +40,13 @@
|
|
|
|
) |
|
|
|
{ |
|
|
|
signal(PAGE_PROTECTION_VIOLATED_SIGNAL, SIG_DFL); |
|
|
|
- longjmp(env, 1);
|
|
|
|
+ siglongjmp(env, 1);
|
|
|
|
} |
|
|
|
|
|
|
|
static int |
|
|
|
gotSegmentationFault(int (*test)(void)) |
|
|
|
{ |
|
|
|
- if ( setjmp(env) == 0 ) {
|
|
|
|
+ if ( sigsetjmp(env, 1) == 0 ) {
|
|
|
|
int status; |
|
|
|
|
|
|
|
signal(PAGE_PROTECTION_VIOLATED_SIGNAL |