aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2022-06-27 12:47:26 +0200
committerTom de Vries <tdevries@suse.de>2022-06-27 12:47:26 +0200
commita08bdb159bb7401f266836ded2899a9015828c25 (patch)
tree08b9a990581e51f259ef8e37545f97d854eedae3
parented1c7ad8e31a2cfca1d8c8c898ee7cde6ae340ca (diff)
downloadgdb-a08bdb159bb7401f266836ded2899a9015828c25.zip
gdb-a08bdb159bb7401f266836ded2899a9015828c25.tar.gz
gdb-a08bdb159bb7401f266836ded2899a9015828c25.tar.bz2
[gdb/build] Fix gdbserver build with -fsanitize=thread
[ Copied from gcc commit 153689603fd ("[gdb/build] Fix gdbserver build with -fsanitize=thread"). ] When building gdbserver with -fsanitize=thread (added to CFLAGS/CXXFLAGS) we run into: ... ld: ../libiberty/libiberty.a(safe-ctype.o): warning: relocation against \ `__tsan_init' in read-only section `.text' ld: ../libiberty/libiberty.a(safe-ctype.o): relocation R_X86_64_PC32 \ against symbol `__tsan_init' can not be used when making a shared object; \ recompile with -fPIC ld: final link failed: bad value collect2: error: ld returned 1 exit status make[1]: *** [libinproctrace.so] Error 1 ... which looks similar to what is described in commit 78e49486944 ("[gdb/build] Fix gdbserver build with -fsanitize=address"). The gdbserver component builds a shared library libinproctrace.so, which uses libiberty and therefore requires the pic variant. The gdbserver Makefile is setup to use this variant, if available, but it's not there. Fix this by listing gdbserver in the toplevel configure alongside libcc1, as a component that needs the libiberty pic variant, setting: ... extra_host_libiberty_configure_flags=--enable-shared ... Tested on x86_64-linux. ChangeLog: 2022-06-27 Tom de Vries <tdevries@suse.de> * configure.ac: Build libiberty pic variant for gdbserver. * configure: Regenerate.
-rwxr-xr-xconfigure2
-rw-r--r--configure.ac2
2 files changed, 2 insertions, 2 deletions
diff --git a/configure b/configure
index 1badcb3..aac80b8 100755
--- a/configure
+++ b/configure
@@ -6964,7 +6964,7 @@ fi
extra_host_libiberty_configure_flags=
extra_host_zlib_configure_flags=
case " $configdirs " in
- *" lto-plugin "* | *" libcc1 "*)
+ *" lto-plugin "* | *" libcc1 "* | *" gdbserver "*)
# When these are to be built as shared libraries, the same applies to
# libiberty.
extra_host_libiberty_configure_flags=--enable-shared
diff --git a/configure.ac b/configure.ac
index 5b6e204..29f74d1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2344,7 +2344,7 @@ fi
extra_host_libiberty_configure_flags=
extra_host_zlib_configure_flags=
case " $configdirs " in
- *" lto-plugin "* | *" libcc1 "*)
+ *" lto-plugin "* | *" libcc1 "* | *" gdbserver "*)
# When these are to be built as shared libraries, the same applies to
# libiberty.
extra_host_libiberty_configure_flags=--enable-shared