On Haiku, the regex test runs into a libc-internal assertion (both from
  regexec.c:1377:pop_fail_stack: num >= 0
and from glibc bug 11053. This is annoying, because it requires human
intervention for the build to continue.

Fixed like this:


2024-10-26  Bruno Haible  <br...@clisp.org>

        regex: Avoid dialog while running configure test on Haiku/x86_64.
        Reported by Alexandru Popa <alp...@gmail.com> in
        <https://sourceforge.net/p/clisp/mailman/message/58831511/>.
        * m4/regex.m4 (gl_REGEX): Disable dialog upon abort on Haiku.

diff --git a/m4/regex.m4 b/m4/regex.m4
index 18f36804c4..041b46d244 100644
--- a/m4/regex.m4
+++ b/m4/regex.m4
@@ -1,5 +1,5 @@
 # regex.m4
-# serial 76
+# serial 77
 dnl Copyright (C) 1996-2001, 2003-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -44,12 +44,12 @@ AC_DEFUN([gl_REGEX]
             # include <malloc.h> /* defines M_CHECK_ACTION on glibc */
             #endif
 
-            #if defined M_CHECK_ACTION || HAVE_DECL_ALARM
+            #if defined __HAIKU__ || defined M_CHECK_ACTION || HAVE_DECL_ALARM
             # include <signal.h>
             # include <unistd.h>
             #endif
 
-            #ifdef M_CHECK_ACTION
+            #if defined __HAIKU__ || defined M_CHECK_ACTION
             /* Exit with distinguishable exit code.  */
             static void sigabrt_no_core (int sig) { raise (SIGTERM); }
             #endif
@@ -68,6 +68,9 @@ AC_DEFUN([gl_REGEX]
             signal (SIGALRM, SIG_DFL);
             alarm (2);
 #endif
+#ifdef __HAIKU__
+            signal (SIGABRT, sigabrt_no_core);
+#endif
 #ifdef M_CHECK_ACTION
             signal (SIGABRT, sigabrt_no_core);
             mallopt (M_CHECK_ACTION, 2);




Reply via email to