[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bison segv under Cygwin 64 at fatal-signal.c:318
From: |
Brian Inglis |
Subject: |
Re: bison segv under Cygwin 64 at fatal-signal.c:318 |
Date: |
Sat, 18 Sep 2021 07:22:30 -0600 |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 |
On 2021-09-17 14:25, Bruno Haible wrote:
Brian Inglis wrote:
Can you also try to build it through
gl_cv_have_weak=no ../configure -C && make && make check
in a different subdirectory?
Please send the config.log, config.cache, config.status, and
gltests/test-suite.log for each run.
Done and attached
Thanks! Indeed, gl_cv_have_weak=no appears to make the essential difference.
Therefore, I'm applying this fix.
2021-09-17 Bruno Haible <bruno@clisp.org>
threadlib: Avoid crashes in thread-related functions on Cygwin 3.2.0.
Reported by Brian Inglis via Akim Demaille in
<https://lists.gnu.org/archive/html/bug-gnulib/2021-09/msg00063.html>.
* m4/threadlib.m4 (gl_WEAK_SYMBOLS): Force a "guessing no" result on
Cygwin.
diff -w --git a/m4/threadlib.m4 b/m4/threadlib.m4
index 37b797c18..6b43bbdfa 100644
--- a/m4/threadlib.m4
+++ b/m4/threadlib.m4
@@ -1,4 +1,4 @@
-# threadlib.m4 serial 31
+# threadlib.m4 serial 32
dnl Copyright (C) 2005-2021 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -84,7 +84,15 @@ AC_DEFUN([gl_WEAK_SYMBOLS],
AC_REQUIRE([AC_CANONICAL_HOST])
AC_CACHE_CHECK([whether imported symbols can be declared weak],
[gl_cv_have_weak],
- [gl_cv_have_weak=no
+ [case "$host_os" in
+ cygwin*)
+ dnl On Cygwin 3.2.0 with gcc 10.2, the test below would succeed, but
+ dnl programs that use pthread_in_use() with weak symbol references
+ dnl crash miserably at runtime.
+ gl_cv_have_weak="guessing no"
+ ;;
+ *)
+ gl_cv_have_weak=no
dnl First, test whether the compiler accepts it syntactically.
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
@@ -116,6 +124,8 @@ int main ()
[gl_cv_have_weak="guessing no"])
])
fi
+ ;;
+ esac
dnl But when linking statically, weak symbols don't work.
case " $LDFLAGS " in
*" -static "*) gl_cv_have_weak=no ;;
Patch would not apply as included gnulib and bison threadlib.m4 appear
to be from July and August.
Respun and applied patch successfully to glm4/threadlib.m4.
Still did not change gnulib or bison builds to configure weak=no or
check successfully.
Were there additional conditions required to ensure that was used?
Had to configure with explicit gl_cv_have_weak=no arg to successfully
configure and run tests.
Please see attached tars for logs and config.*.
Patch also made no difference to bison build, but adding to CYGCONF_ARGS
explicit gl_cv_have_weak=no allowed all tests to run:
* D, Java, 129: Output file name: `~!..., 150: Tabulations and multibyte
characters, 283-287: syncline escapes, 647: LAC: Exploratory stack, were
skipped;
* all but two others 672-673: Doxygen Public-Private Documentation were
successful.
Please see attached bison...check.log.gz.
So the diagnosis and cure were correct and worked, but the patch did not
seem to make any difference?
--
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada
This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in binary units and prefixes, physical quantities in SI.]
bison-3.8.1-0-check.log.gz
Description: GNU Zip compressed data
gnulib-testdir-build.tar.xz
Description: Binary data
gnulib-testdir-weak-no.tar.xz
Description: Binary data
- Re: bison segv under Cygwin 64 at fatal-signal.c:318, Akim Demaille, 2021/09/16
- Re: bison segv under Cygwin 64 at fatal-signal.c:318, Bruno Haible, 2021/09/16
- Re: bison segv under Cygwin 64 at fatal-signal.c:318, Brian Inglis, 2021/09/16
- Re: bison segv under Cygwin 64 at fatal-signal.c:318, Bruno Haible, 2021/09/16
- Re: bison segv under Cygwin 64 at fatal-signal.c:318, Brian Inglis, 2021/09/17
- Re: bison segv under Cygwin 64 at fatal-signal.c:318, Bruno Haible, 2021/09/17
- Re: bison segv under Cygwin 64 at fatal-signal.c:318,
Brian Inglis <=
- Re: bison segv under Cygwin 64 at fatal-signal.c:318, Brian Inglis, 2021/09/18
- Re: bison segv under Cygwin 64 at fatal-signal.c:318, Akim Demaille, 2021/09/18
- Re: bison segv under Cygwin 64 at fatal-signal.c:318, Bruno Haible, 2021/09/18
- Re: bison segv under Cygwin 64 at fatal-signal.c:318, Brian Inglis, 2021/09/18
- Re: bison segv under Cygwin 64 at fatal-signal.c:318, Brian Inglis, 2021/09/18
- Re: rebuilding after modifying some .m4 files, Bruno Haible, 2021/09/18
- Re: bison segv under Cygwin 64 at fatal-signal.c:318, Brian Inglis, 2021/09/18
- Re: bison segv under Cygwin 64 at fatal-signal.c:318, Bruno Haible, 2021/09/18
- Re: bison segv under Cygwin 64 at fatal-signal.c:318, Akim Demaille, 2021/09/20
- Re: bison segv under Cygwin 64 at fatal-signal.c:318, Brian Inglis, 2021/09/23