You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

25 lines
896 B

diff -up diffutils-3.7/lib/c-stack.c.sigstksz diffutils-3.7/lib/c-stack.c
--- diffutils-3.7/lib/c-stack.c.sigstksz 2021-04-12 10:58:48.892279388 +0100
+++ diffutils-3.7/lib/c-stack.c 2021-04-12 11:04:59.488695551 +0100
@@ -52,12 +52,18 @@ typedef struct sigaltstack stack_t;
#endif
#ifndef SIGSTKSZ
# define SIGSTKSZ 16384
-#elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384
+#elif HAVE_LIBSIGSEGV
/* 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
+# if defined _SC_SIGSTKSZ && _SC_SIGSTKSZ < 16384
+ /* glibc 2.34 defines SIGSTKSZ to sysconf (_SC_SIGSTKSZ) */
+# undef SIGSTKSZ
+# define SIGSTKSZ 16384
+# elif SIGSTKSZ < 16384
+# undef SIGSTKSZ
+# define SIGSTKSZ 16384
+# endif
#endif
#include <stdlib.h>