aboutsummaryrefslogtreecommitdiff
path: root/gdbsupport
diff options
context:
space:
mode:
authorVyacheslav Petrishchev <vyachemail@gmail.com>2020-02-26 12:32:03 +0600
committerSimon Marchi <simon.marchi@efficios.com>2020-03-05 14:33:17 -0500
commit3d1e5a43cbe1780ea66df0fe091998ee61177899 (patch)
tree6c9d9991cca2f088309795d46615b3343e5efbde /gdbsupport
parenta8e14f4cc2badfcf959f5e2cc57a941dc43f72d4 (diff)
downloadgdb-3d1e5a43cbe1780ea66df0fe091998ee61177899.zip
gdb-3d1e5a43cbe1780ea66df0fe091998ee61177899.tar.gz
gdb-3d1e5a43cbe1780ea66df0fe091998ee61177899.tar.bz2
gdbsupport/configure.ac: source development.sh
[Commit message by Simon Marchi] The GDB build in non-development mode (turn development to false in bfd/development.sh if you want to try) is currently broken: CXXLD gdb /home/smarchi/src/binutils-gdb/gdb/disasm-selftests.c:218: error: undefined reference to 'selftests::register_test_foreach_arch(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void (*)(gdbarch*))' /home/smarchi/src/binutils-gdb/gdb/disasm-selftests.c:220: error: undefined reference to 'selftests::register_test_foreach_arch(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void (*)(gdbarch*))' /home/smarchi/src/binutils-gdb/gdb/dwarf2/frame.c:2310: error: undefined reference to 'selftests::register_test_foreach_arch(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void (*)(gdbarch*))' /home/smarchi/src/binutils-gdb/gdb/gdbarch-selftests.c:168: error: undefined reference to 'selftests::register_test_foreach_arch(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, void (*)(gdbarch*))' /home/smarchi/src/binutils-gdb/gdbsupport/selftest.cc:96: error: undefined reference to 'selftests::reset()' This is because the gdbsupport configure script doesn't source bfd/development.sh to set the development variable. When $development is unset, GDB_AC_SELFTEST defaults to enabling selftests. I don't think the macro was written with this intention in mind, it just happens to be that way. So gdbsupport thinks selftests are enabled, while gdb thinks they are disabled. gdbsupport compiles in code that calls selftests:: functions, which are normally provided by gdb, but gdb doesn't provide them, hence the undefined references. Fix this by sourcing bfd/development.sh in gdbsupport/configure.ac, so that the development variable is set. gdbsupport/ChangeLog: * configure.ac: Added call development.sh. * configure: Regenerate.
Diffstat (limited to 'gdbsupport')
-rw-r--r--gdbsupport/ChangeLog5
-rwxr-xr-xgdbsupport/configure3
-rw-r--r--gdbsupport/configure.ac3
3 files changed, 11 insertions, 0 deletions
diff --git a/gdbsupport/ChangeLog b/gdbsupport/ChangeLog
index c47bb4e..6bfd676 100644
--- a/gdbsupport/ChangeLog
+++ b/gdbsupport/ChangeLog
@@ -1,3 +1,8 @@
+2020-03-05 Vyacheslav Petrishchev <vyachemail@gmail.com>
+
+ * configure.ac: Added call development.sh.
+ * configure: Regenerate.
+
2020-03-05 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
* .gitattributes: New file.
diff --git a/gdbsupport/configure b/gdbsupport/configure
index a4871f8..e7a99e3 100755
--- a/gdbsupport/configure
+++ b/gdbsupport/configure
@@ -6569,6 +6569,9 @@ fi
am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
+# Set the 'development' global.
+. $srcdir/../bfd/development.sh
+
# We require a C++11 compiler. Check if one is available, and if
# necessary, set CXX_DIALECT to some -std=xxx switch.
diff --git a/gdbsupport/configure.ac b/gdbsupport/configure.ac
index 401e16f..ab71a3c 100644
--- a/gdbsupport/configure.ac
+++ b/gdbsupport/configure.ac
@@ -33,6 +33,9 @@ AC_USE_SYSTEM_EXTENSIONS
ACX_LARGEFILE
AM_PROG_CC_STDC
+# Set the 'development' global.
+. $srcdir/../bfd/development.sh
+
# We require a C++11 compiler. Check if one is available, and if
# necessary, set CXX_DIALECT to some -std=xxx switch.
AX_CXX_COMPILE_STDCXX(11, , mandatory)