forked from Imagelibrary/binutils-gdb
New --enable-threading configure option to control use of threads in GDB/GDBserver
Add the --enable-threading configure option so multithreading can be disabled at configure time. This is useful for statically-linked builds of GDB/GDBserver, since the thread library doesn't play well with that setup. If you try to run a statically-linked GDB built with threading, it will crash when setting up the number of worker threads. This new option is also convenient when debugging GDB in a system with lots of threads, where the thread discovery code in GDB will emit too many messages, like so: [New Thread 0xfffff74d3a50 (LWP 2625599)] If you have X threads, that message will be repeated X times. The default for --enable-threading is "yes".
This commit is contained in:
24
gdbserver/configure
vendored
24
gdbserver/configure
vendored
@@ -746,6 +746,7 @@ ac_user_opts='
|
||||
enable_option_checking
|
||||
enable_maintainer_mode
|
||||
enable_largefile
|
||||
enable_threading
|
||||
with_intel_pt
|
||||
with_gnu_ld
|
||||
enable_rpath
|
||||
@@ -1396,6 +1397,8 @@ Optional Features:
|
||||
enable make rules and dependencies not useful (and
|
||||
sometimes confusing) to the casual installer
|
||||
--disable-largefile omit support for large files
|
||||
--enable-threading include support for parallel processing of data
|
||||
(yes/no)
|
||||
--disable-rpath do not hardcode runtime library paths
|
||||
--enable-unit-tests Enable the inclusion of unit tests when compiling
|
||||
GDB
|
||||
@@ -7264,6 +7267,22 @@ fi
|
||||
done
|
||||
|
||||
|
||||
# ----------------------- #
|
||||
# Check for threading. #
|
||||
# ----------------------- #
|
||||
|
||||
# Check whether --enable-threading was given.
|
||||
if test "${enable_threading+set}" = set; then :
|
||||
enableval=$enable_threading; case "$enableval" in
|
||||
yes) want_threading=yes ;;
|
||||
no) want_threading=no ;;
|
||||
*) as_fn_error $? "bad value $enableval for threading" "$LINENO" 5 ;;
|
||||
esac
|
||||
else
|
||||
want_threading=yes
|
||||
fi
|
||||
|
||||
|
||||
# Check for std::thread. This does not work on some platforms, like
|
||||
# mingw and DJGPP.
|
||||
ac_ext=cpp
|
||||
@@ -7961,10 +7980,13 @@ done
|
||||
LIBS="$save_LIBS"
|
||||
CXXFLAGS="$save_CXXFLAGS"
|
||||
fi
|
||||
if test "$gdb_cv_cxx_std_thread" = "yes"; then
|
||||
|
||||
if test "$want_threading" = "yes"; then
|
||||
if test "$gdb_cv_cxx_std_thread" = "yes"; then
|
||||
|
||||
$as_echo "#define CXX_STD_THREAD 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
fi
|
||||
ac_ext=c
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
|
||||
Reference in New Issue
Block a user