changeset 13818:7d63d145c370

c-stack: work around libsigsegv 2.8 bug * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack overflow on at least PowerPC64. Signed-off-by: Eric Blake <eblake@redhat.com>
author Eric Blake <eblake@redhat.com>
date Thu, 21 Oct 2010 10:29:13 -0600
parents a2338f3ccd5a
children b7fdddf92299
files ChangeLog lib/c-stack.c
diffstat 2 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-10-21  Eric Blake  <eblake@redhat.com>
+
+	c-stack: work around libsigsegv 2.8 bug
+	* lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
+	overflow on at least PowerPC64.
+
 2010-10-17  Bruno Haible  <bruno@clisp.org>
 
 	userspec: Drop redundant file.
--- a/lib/c-stack.c
+++ b/lib/c-stack.c
@@ -53,6 +53,12 @@
 #endif
 #ifndef SIGSTKSZ
 # define SIGSTKSZ 16384
+#elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384
+/* libsigsegv 2.6 through 2.8 have a bug where some architectures use
+   more than the Linux default of an 8k alternate stack when deciding
+   if a fault was caused by stack overflow.  */
+# undef SIGSTKSZ
+# define SIGSTKSZ 16384
 #endif
 
 #include <stdlib.h>