(segv_handler, c_stack_action) [! defined SA_SIGINFO]:
authorJim Meyering <jim@meyering.net>
Sat, 22 Jun 2002 16:20:15 +0000 (16:20 +0000)
committerJim Meyering <jim@meyering.net>
Sat, 22 Jun 2002 16:20:15 +0000 (16:20 +0000)
Do not assume SA_SIGINFO behavior.
Bug reported by Jim Meyering on NetBSD 1.5.2.

lib/c-stack.c

index 6e724b74ce9539dca141ce3f634a91822d92b3ca..095f890e514209ddcc3f4b1e4d270c55b4d2c09c 100644 (file)
@@ -277,7 +277,7 @@ static union
   void *p;
 } alternate_signal_stack;
 
-# if defined SA_ONSTACK && defined _SC_PAGESIZE
+# if defined SA_ONSTACK && defined SA_SIGINFO && defined _SC_PAGESIZE
 
 /* Handle a segmentation violation and exit.  This function is
    async-signal-safe.  */
@@ -363,7 +363,7 @@ c_stack_action (char * const *argv __attribute__ ((unused)),
   stack_overflow_message = _("stack overflow");
 
   {
-# if ! (defined SA_ONSTACK && defined _SC_PAGESIZE)
+# if ! (defined SA_ONSTACK && defined SA_SIGINFO && defined _SC_PAGESIZE)
     return signal (SIGSEGV, die) == SIG_ERR ? -1 : 0;
 # else
     struct sigaction act;