https://bugs.gentoo.org/944352 --- a/fault.c +++ b/fault.c @@ -52,7 +52,7 @@ # endif #endif -static void (*psig0_func)() = SIG_ERR; /* previous signal handler for signal 0 */ +static void (*psig0_func)(int) = SIG_ERR; /* previous signal handler for signal 0 */ static char sigsegv_stack[SIGSTKSZ]; static BOOL sleeping = 0; @@ -98,7 +98,7 @@ }; void (*( -sigval[MAXTRAP]))() = +sigval[MAXTRAP]))(int) = { 0, 0, /* done, hangup */ @@ -522,7 +522,7 @@ void init_sigval(void) { - extern void (*(sigval[]))(); + extern void (*(sigval[]))(int); #ifdef SIGHUP if (SIGHUP < MAXTRAP) @@ -566,7 +566,7 @@ #endif #ifdef SIGSEGV if (SIGSEGV < MAXTRAP) - sigval[SIGSEGV] = sigsegv; + sigval[SIGSEGV] = (void (*)(int))sigsegv; #endif #ifdef SIGEMT if (SIGEMT < MAXTRAP) --- heirloom-sh-050706/test.c.orig +++ heirloom-sh-050706/test.c @@ -268,7 +268,7 @@ filtyp(const unsigned char *f, int field) { struct stat statb; - int (*statf)() = (field == S_IFLNK) ? lstat : stat; + int (*statf)(const char *, struct stat *) = (field == S_IFLNK) ? lstat : stat; if ((*statf)(f, &statb) < 0) return(0);