--- heirloom-sh-050706.orig/fault.c 2026-07-18 11:22:54.448128615 +0200 +++ heirloom-sh-050706/fault.c 2026-07-18 11:34:02.168270494 +0200 @@ -31,7 +31,7 @@ /* * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany * - * Sccsid @(#)fault.c 1.11 (gritter) 6/22/05 + * Sccsid @(#)fault.c 1.13 (gritter) 1/18/09 */ /* from OpenSolaris "fault.c 1.27 05/06/08 SMI" SVr4.0 1.13.17.1 */ /* @@ -39,11 +39,21 @@ */ #include "defs.h" -#include #include #include -static void (*psig0_func)() = SIG_ERR; /* previous signal handler for signal 0 */ + +#if __GLIBC__ >= 2 +# undef SIGSTKSZ +# if defined __ia64__ +# define SIGSTKSZ 262144 +# else +# define SIGSTKSZ 65536 +# endif +#endif + + +static void (*psig0_func)(int) = SIG_ERR; /* previous signal handler for signal 0 */ static char sigsegv_stack[SIGSTKSZ]; static BOOL sleeping = 0; @@ -89,7 +99,7 @@ }; void (*( -sigval[MAXTRAP]))() = +sigval[MAXTRAP]))(int) = { 0, 0, /* done, hangup */ @@ -513,7 +523,7 @@ void init_sigval(void) { - extern void (*(sigval[]))(); + extern void (*(sigval[]))(int); #ifdef SIGHUP if (SIGHUP < MAXTRAP) @@ -557,7 +567,7 @@ #endif #ifdef SIGSEGV if (SIGSEGV < MAXTRAP) - sigval[SIGSEGV] = sigsegv; + sigval[SIGSEGV] = (void(*)(int))sigsegv; #endif #ifdef SIGEMT if (SIGEMT < MAXTRAP)