aboutsummaryrefslogtreecommitdiff
path: root/gdb/configure
diff options
context:
space:
mode:
authorDoug Evans <xdje42@gmail.com>2014-09-08 22:45:34 -0700
committerDoug Evans <xdje42@gmail.com>2014-09-08 22:45:34 -0700
commit92d8d229d9a310ebfcfc13bf4a75a286c1add1ac (patch)
treeb9ce9674fc04930b500d611e033bb5368c9d54a3 /gdb/configure
parent837405970476d31d6b4d7774e2c914fdfa7a9930 (diff)
downloadgdb-92d8d229d9a310ebfcfc13bf4a75a286c1add1ac.zip
gdb-92d8d229d9a310ebfcfc13bf4a75a286c1add1ac.tar.gz
gdb-92d8d229d9a310ebfcfc13bf4a75a286c1add1ac.tar.bz2
Fix for PR 17247: Block SIGCHLD while initializing Guile.
The problem here is that if a thread other than gdb's main thread gets a SIGCHLD (it's an asynchronous signal so the kernel will essentially pick a random thread) then gdb will hang if it is in sigsuspend when the SIGCHLD is delivered. The other thread will see the signal and the sigsuspend won't "wake up". Guile and libgc should be blocking SIGCHLD in their threads, but we need to work with Guile 2.0 and libgc 7.4. The problem first shows up in libgc 7.4 because it is the first release that enables multiple marker threads by default. gdb/ChangeLog: PR 17247 * guile.c: #include <signal.h>. (_initialize_guile): Block SIGCHLD while initializing Guile. Replaces the following, which is reverted. 2014-07-26 Doug Evans <xdje42@gmail.com> PR 17185 * configure.ac: Add check for header gc/gc.h. Add check for function setenv. * configure: Regenerate. * config.in: Regenerate. * guile/guile.c (_initialize_guile): Add workaround for libgc 7.4.0.
Diffstat (limited to 'gdb/configure')
-rwxr-xr-xgdb/configure26
1 files changed, 0 insertions, 26 deletions
diff --git a/gdb/configure b/gdb/configure
index bf141f1..350ec0c 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -9276,32 +9276,6 @@ else
fi
-# PR 17185, see if we can get the libgc version to see if we need
-# to apply the workaround.
-for ac_header in gc/gc.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "gc/gc.h" "ac_cv_header_gc_gc_h" "$ac_includes_default"
-if test "x$ac_cv_header_gc_gc_h" = x""yes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_GC_GC_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in setenv
-do :
- ac_fn_c_check_func "$LINENO" "setenv" "ac_cv_func_setenv"
-if test "x$ac_cv_func_setenv" = x""yes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SETENV 1
-_ACEOF
-
-fi
-done
-
-
# --------------------- #
# Check for libmcheck. #
# --------------------- #