binutils-gdb/gdbsupport
Pedro Alves 3e09762b7d Stop 'configure --enable-threading' if std::thread doesn't work
Currently, if you configure gdb with explicit --enable-threading, but
then configure detects std::thread does not work, configure silently
disables threading support and continues configuring.

This patch makes that scenario cause a configuration error, like so:

 $ /home/pedro/gdb/src/configure --enable-threading && make
 ...
 configure: error: std::thread does not work; disable threading
 make[1]: *** [Makefile:11225: configure-gdbsupport] Error 1
 make[1]: Leaving directory '/home/pedro/gdb/build-windows-threads'
 make: *** [Makefile:1041: all] Error 2
 $

Additionally, if you don't explicitly pass --enable-threading, and
std::thread does not work, we will now get a warning (and the build
continues):

 $ /home/pedro/gdb/src/configure && make
 ...
 configure: WARNING: std::thread does not work; disabling threading
 ...

This is similar to how we handle --enable-tui and missing curses.  The
code and error/warning messages were borrowed from there.

Change-Id: I73a8b580d1e2a796b23136920c0e181408ae1b22
Approved-By: Tom Tromey <tom@tromey.com>
2024-05-16 13:03:58 +01:00
..
.dir-locals.el Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
.gitattributes gdb, gdbserver, gdbsupport: add .gitattributes files 2020-03-05 15:59:22 +01:00
acinclude.m4 gdb: move libiberty.m4 to gdbsupport 2024-01-10 19:52:52 -05:00
aclocal.m4 Finalized intl-update patches 2023-11-15 12:53:04 +00:00
agent.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
agent.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
alt-stack.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
array-view.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
ax.def Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
block-signals.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
break-common.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
btrace-common.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
btrace-common.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
buildargv.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
byte-vector.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
ChangeLog-2020-2021 gdb: move remaining ChangeLogs to legacy files 2021-07-26 12:20:33 +01:00
check-defines.el gdbsupport: assume that compiler supports std::{is_trivially_constructible,is_trivially_copyable} 2024-02-21 13:30:19 -05:00
cleanups.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
cleanups.h Rewrite final cleanups 2024-02-27 10:30:29 -07:00
common-debug.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
common-debug.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
common-defs.h gdb: remove some GCC version checks 2024-02-21 13:30:17 -05:00
common-exceptions.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
common-exceptions.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
common-gdbthread.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
common-inferior.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
common-inferior.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
common-regcache.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
common-regcache.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
common-types.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
common-utils.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
common-utils.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
common.m4 Stop 'configure --enable-threading' if std::thread doesn't work 2024-05-16 13:03:58 +01:00
compiler-type.m4 Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
config.in Finalized intl-update patches 2023-11-15 12:53:04 +00:00
configure Stop 'configure --enable-threading' if std::thread doesn't work 2024-05-16 13:03:58 +01:00
configure.ac Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
create-version.sh Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
def-vector.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
default-init-alloc.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
eintr.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
enum-flags.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
environ.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
environ.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
errors.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
errors.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
event-loop.cc Use std::vector in event-loop.cc 2024-04-21 19:54:27 -06:00
event-loop.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
event-pipe.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
event-pipe.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
fileio.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
fileio.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
filestuff.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
filestuff.h Introduce read_remainder_of_file 2024-02-27 09:46:31 -07:00
filtered-iterator.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
format.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
format.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
forward-scope-exit.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
function-view.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
gdb_assert.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
gdb_binary_search.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
gdb_file.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
gdb_locale.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
gdb_obstack.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
gdb_obstack.h Require trivial destructor in allocate_on_obstack 2024-03-21 12:21:24 -06:00
gdb_proc_service.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
gdb_ref_ptr.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
gdb_regex.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
gdb_regex.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
gdb_select.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
gdb_setjmp.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
gdb_signals.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
gdb_splay_tree.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
gdb_sys_time.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
gdb_tilde_expand.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
gdb_tilde_expand.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
gdb_unique_ptr.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
gdb_unlinker.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
gdb_vecs.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
gdb_vecs.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
gdb_wait.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
gdb_wait.h [gdb/build] Fix build on postmarketos 2024-03-14 21:28:44 +01:00
gdb-checked-static-cast.h gdbsupport: rename include guard in gdb-checked-static-cast.h 2024-03-19 14:41:51 +00:00
gdb-dlfcn.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
gdb-dlfcn.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
gdb-hashtab.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
gdb-hashtab.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
gdb-safe-ctype.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
gdb-sigmask.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
gdb-xfree.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
hash_enum.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
host-defs.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
intrusive_list.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
iterator-range.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
job-control.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
job-control.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
libiberty.m4 Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
Makefile.am gdb, gdbserver, gdbsupport: include early header files with -include 2024-03-26 21:09:19 -04:00
Makefile.in gdb, gdbserver, gdbsupport: include early header files with -include 2024-03-26 21:09:19 -04:00
netstuff.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
netstuff.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
new-op.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
next-iterator.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
observable.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
offset-type.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
packed.h gdbsupport: assume that compiler supports std::{is_trivially_constructible,is_trivially_copyable} 2024-02-21 13:30:19 -05:00
parallel-for.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
pathstuff.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
pathstuff.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
poison.h gdbsupport: assume that compiler supports std::{is_trivially_constructible,is_trivially_copyable} 2024-02-21 13:30:19 -05:00
preprocessor.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
print-utils.cc gdbsupport: constify some return values in print-utils.{h,cc} 2024-04-18 10:31:54 -04:00
print-utils.h gdbsupport: constify some return values in print-utils.{h,cc} 2024-04-18 10:31:54 -04:00
ptid.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
ptid.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
ptrace.m4 Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
range-chain.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
README
refcounted-object.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
reference-to-pointer-iterator.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
rsp-low.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
rsp-low.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
run-time-clock.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
run-time-clock.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
safe-iterator.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
safe-strerror.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
scope-exit.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
scoped_fd.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
scoped_ignore_signal.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
scoped_ignore_sigttou.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
scoped_mmap.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
scoped_mmap.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
scoped_restore.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
search.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
search.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
selftest.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
selftest.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
selftest.m4 Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
signals-state-save-restore.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
signals-state-save-restore.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
signals.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
symbol.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
task-group.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
task-group.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
tdesc.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
tdesc.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
thread-pool.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
thread-pool.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
traits.h gdb: move RequireLongest to gdbsupport/traits.h 2024-04-22 21:34:19 -04:00
underlying.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
valid-expr.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
version.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
warning.m4 gdbsupport, gdbserver, gdb: use -Wno-vla-cxx-extension 2024-04-17 10:49:32 -04:00
x86-xstate.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
xml-utils.cc gdb, gdbserver, gdbsupport: remove includes of early headers 2024-03-26 21:13:22 -04:00
xml-utils.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00

This is a helper library that is used by gdb and gdbserver.

To send patches, follow the gdb patch submission instructions in
../gdb/CONTRIBUTE.  For maintainers, see ../gdb/MAINTAINERS.