From 3d1e5a43cbe1780ea66df0fe091998ee61177899 Mon Sep 17 00:00:00 2001 From: Vyacheslav Petrishchev Date: Wed, 26 Feb 2020 12:32:03 +0600 Subject: [PATCH] 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, std::allocator > 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, std::allocator > 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, std::allocator > 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, std::allocator > 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. --- gdbsupport/ChangeLog | 5 +++++ gdbsupport/configure | 3 +++ gdbsupport/configure.ac | 3 +++ 3 files changed, 11 insertions(+) diff --git a/gdbsupport/ChangeLog b/gdbsupport/ChangeLog index c47bb4ebbba..6bfd6768727 100644 --- a/gdbsupport/ChangeLog +++ b/gdbsupport/ChangeLog @@ -1,3 +1,8 @@ +2020-03-05 Vyacheslav Petrishchev + + * configure.ac: Added call development.sh. + * configure: Regenerate. + 2020-03-05 Tankut Baris Aktemur * .gitattributes: New file. diff --git a/gdbsupport/configure b/gdbsupport/configure index a4871f8d5bc..e7a99e3ddfb 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 401e16f821d..ab71a3cb366 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) -- 2.30.2