According to Tom G. Christensen on 8/13/2008 2:45 PM:
Weird. So Irix 5.3 has sigaction, but not sa_sigaction? Can you please post the definition of struct sigaction from <signal.h>?From <sys/signal.h>:typedef struct sigaction { int sa_flags; /* see below for values */ __sigret_t (*sa_handler)(_sigargs); /* SIG_DFL, SIG_IGN, or *fn */ sigset_t sa_mask; /* additional set of sigs to be */ /* blocked during handler execution */ int sa_resv[2]; } sigaction_t;
Let's try resolving this one first. Does this program compile successfully (although it probably issues a warning)?
#include <signal.h> #define sa_sigaction sa_handler static void handler (int i, siginfo_t *s, void *v) { } int main() { struct sigaction sa; sa.sa_sigaction = handler; sa.sa_flags = SA_SIGINFO; return 0; }If so, then we only need to adjust the docs (the presence of SA_SIGINFO is no longer a reliable flag for having sa_sigaction), and use HAVE_STRUCT_SIGACTION_SA_SIGACTION in signal.h.in. Everywhere except c-stack.c only cares about the name resolving for compilation to work, without actually trying to use it, and c-stack can easily be taught to avoid SA_SIGINFO if sa_sigaction doesn't work, and compiler warnings can be ignored. If not, then there is more work to do, but I think it is still possible.
Then, since your latest logs show: libsigsegv: mips-sgi-irix5.3 | yes | yes | 2.5it looks like c-stack will work with libsigsegv, once we downgrade the compiler error on sa_sigaction to a warning.
-- Don't work too hard, make some time for fun as well! Eric Blake [EMAIL PROTECTED]
signature.asc
Description: OpenPGP digital signature