On 03/23/2018 12:32 AM, The Fireplace wrote:

Alright, I’ve tested using the process you described, with my only change to it being to add a few needed arguments <https://paste.ubuntu.com/p/36DRSHvbqw/> for my setup to ./configure. When I ran make, it ended somewhat quickly, with the following error:

https://paste.ubuntu.com/p/X4s6McxBBd/

Thanks. I installed the attached patch into Gnulib and committed this into diffutils. Please try the same procedure again for diffutils. CC'ing bug-gnulib.

Alright, I’ve finished testing. I found -Werror, but removing it didn’t seem to work, so I commented out the unused function it was warning me about instead. After doing that, make finished successfully. However, when running make check, one test failed:

../build-aux/test-driver: line 107:  6309 Aborted                 (core dumped) "$@" > $log_file 2>&1

FAIL: test-fcntl

If you need a full log on that, I can get it for you, just tell me which file you need.

gnulib-tests/test-fcntl.log would be the first thing. Also, perhaps you can run the program gnulib-tests/test-fcntl under GDB and see exactly where it crashes.

>From 0d111b0de328d31dd3444ceeec977a7aaa5bb0ed Mon Sep 17 00:00:00 2001
From: Paul Eggert <egg...@cs.ucla.edu>
Date: Fri, 23 Mar 2018 11:26:15 -0700
Subject: [PATCH] c-stack: port to recent GCC build

Problem reported by The Fireplace (Bug#30913).
* lib/c-stack.c (die): Define only if used.
---
 ChangeLog     | 6 ++++++
 lib/c-stack.c | 5 +++++
 2 files changed, 11 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 9b8653f78..9839555c7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-03-23  Paul Eggert  <egg...@cs.ucla.edu>
+
+	c-stack: port to recent GCC build
+	Problem reported by The Fireplace (Bug#30913).
+	* lib/c-stack.c (die): Define only if used.
+
 2018-03-20  Bruno Haible  <br...@clisp.org>
 
 	euidaccess: Port to native Windows.
diff --git a/lib/c-stack.c b/lib/c-stack.c
index ddb3c939c..c309666fe 100644
--- a/lib/c-stack.c
+++ b/lib/c-stack.c
@@ -99,6 +99,10 @@ static void (* volatile segv_action) (int);
 static char const * volatile program_error_message;
 static char const * volatile stack_overflow_message;
 
+#if ((HAVE_LIBSIGSEGV && ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC) \
+     || (HAVE_SIGALTSTACK && HAVE_DECL_SIGALTSTACK            \
+         && HAVE_STACK_OVERFLOW_HANDLING && SIGINFO_WORKS))
+
 /* Output an error message, then exit with status EXIT_FAILURE if it
    appears to have been a stack overflow, or with a core dump
    otherwise.  This function is async-signal-safe.  */
@@ -124,6 +128,7 @@ die (int signo)
   raise (signo);
   abort ();
 }
+#endif
 
 #if (HAVE_SIGALTSTACK && HAVE_DECL_SIGALTSTACK \
      && HAVE_STACK_OVERFLOW_HANDLING) || HAVE_LIBSIGSEGV
-- 
2.14.3

Reply via email to