aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/NEWS11
-rwxr-xr-xgdb/configure24
-rwxr-xr-xgdbserver/configure24
-rw-r--r--gdbsupport/common.m422
-rwxr-xr-xgdbsupport/configure24
5 files changed, 99 insertions, 6 deletions
diff --git a/gdb/NEWS b/gdb/NEWS
index 13b6628..3f78ace 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -3,6 +3,17 @@
*** Changes since GDB 11
+* Configure changes
+
+--enable-threading
+
+ Enable or disable multithreaded symbol loading. This is enabled
+ by default, but passing --disable-threading or --enable-threading=no
+ to configure will disable it.
+
+ Disabling this can cause a performance penalty when there are a lot of
+ symbols to load, but is useful for debugging purposes.
+
* New commands
maint set backtrace-on-fatal-signal on|off
diff --git a/gdb/configure b/gdb/configure
index 448167f..d13ab37 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -910,6 +910,7 @@ with_python
with_python_libdir
with_guile
enable_source_highlight
+enable_threading
with_intel_pt
with_libipt_prefix
with_libipt_type
@@ -1597,6 +1598,8 @@ Optional Features:
--disable-rpath do not hardcode runtime library paths
--enable-source-highlight
enable source-highlight for source listings
+ --enable-threading include support for parallel processing of data
+ (yes/no)
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings if gcc is used
--enable-gdb-build-warnings
@@ -14065,6 +14068,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
@@ -14762,10 +14781,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'
diff --git a/gdbserver/configure b/gdbserver/configure
index 8e2bd4e..d90135b 100755
--- a/gdbserver/configure
+++ b/gdbserver/configure
@@ -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'
diff --git a/gdbsupport/common.m4 b/gdbsupport/common.m4
index 81e7c75..430d66b 100644
--- a/gdbsupport/common.m4
+++ b/gdbsupport/common.m4
@@ -76,6 +76,19 @@ AC_DEFUN([GDB_AC_COMMON], [
# Define HAVE_KINFO_GETFILE if kinfo_getfile is available.
AC_CHECK_FUNCS(kinfo_getfile)
+ # ----------------------- #
+ # Check for threading. #
+ # ----------------------- #
+
+ AC_ARG_ENABLE(threading,
+ AS_HELP_STRING([--enable-threading], [include support for parallel processing of data (yes/no)]),
+ [case "$enableval" in
+ yes) want_threading=yes ;;
+ no) want_threading=no ;;
+ *) AC_MSG_ERROR([bad value $enableval for threading]) ;;
+ esac],
+ [want_threading=yes])
+
# Check for std::thread. This does not work on some platforms, like
# mingw and DJGPP.
AC_LANG_PUSH([C++])
@@ -101,9 +114,12 @@ AC_DEFUN([GDB_AC_COMMON], [
LIBS="$save_LIBS"
CXXFLAGS="$save_CXXFLAGS"
fi
- if test "$gdb_cv_cxx_std_thread" = "yes"; then
- AC_DEFINE(CXX_STD_THREAD, 1,
- [Define to 1 if std::thread works.])
+
+ if test "$want_threading" = "yes"; then
+ if test "$gdb_cv_cxx_std_thread" = "yes"; then
+ AC_DEFINE(CXX_STD_THREAD, 1,
+ [Define to 1 if std::thread works.])
+ fi
fi
AC_LANG_POP
diff --git a/gdbsupport/configure b/gdbsupport/configure
index 0b4e81a..8b4cb7e 100755
--- a/gdbsupport/configure
+++ b/gdbsupport/configure
@@ -767,6 +767,7 @@ enable_silent_rules
enable_dependency_tracking
enable_plugins
enable_largefile
+enable_threading
with_intel_pt
with_gnu_ld
enable_rpath
@@ -1419,6 +1420,8 @@ Optional Features:
speeds up one-time build
--enable-plugins Enable support for plugins
--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
@@ -8277,6 +8280,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
@@ -8974,10 +8993,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'