The discussion on 2008-11-05 led to an agreement how to best fix this, but
no one actually committed the fix. Now done as follows:


2008-12-22  Ingo Weinhold  <ingo_weinh...@gmx.de>  (tiny change)
            Eric Blake  <e...@byu.net>
            Paolo Bonzini  <bonz...@gnu.org>
            Bruno Haible  <br...@clisp.org>

        Make c-stack work on Haiku.
        * lib/c-stack.c (SA_ONSTACK): Define fallback.
        (c_stack_action): Use SA_ONSTACK flag.

--- lib/c-stack.c.orig  2008-12-23 00:53:04.000000000 +0100
+++ lib/c-stack.c       2008-12-23 00:38:43.000000000 +0100
@@ -82,6 +82,9 @@
 # define SIGACTION_WORKS 1
 #else
 # define SIGACTION_WORKS 0
+# ifndef SA_ONSTACK
+#  define SA_ONSTACK 0
+# endif
 #endif
 
 extern char *program_name;
@@ -317,7 +320,7 @@
   act.sa_flags = SA_NODEFER | SA_ONSTACK | SA_RESETHAND | SA_SIGINFO;
   act.sa_sigaction = segv_handler;
 # else
-  act.sa_flags = SA_NODEFER | SA_RESETHAND;
+  act.sa_flags = SA_NODEFER | SA_ONSTACK | SA_RESETHAND;
   act.sa_handler = die;
 # endif
 


Reply via email to