Fix GDB build failure when $development is false
authorYao Qi <yao.qi@linaro.org>
Mon, 8 Jan 2018 10:09:32 +0000 (10:09 +0000)
committerYao Qi <yao.qi@linaro.org>
Mon, 8 Jan 2018 10:09:32 +0000 (10:09 +0000)
commit1e5ded6ce688ddee065fa852053dda07fcce959e
tree5e1d593ab7b7e216bc1ee0f05ff367b49009ac8e
parent9f86398b29d53a5a0aaea390ce813628715b3125
Fix GDB build failure when $development is false

We don't build GDB selftests bits when $development is false.  However, if
we turn bfd/development.sh:$development to false, common/selftest.c is
compiled which is not expected.  It causes the build failure,

selftest.o: In function `selftests::run_tests(char const*)':
binutils-gdb/gdb/common/selftest.c:97: undefined reference to `selftests::reset()'
collect2: error: ld returned 1 exit status

I fix this issue by putting selftest.o selftest-arch.o into CONFIG_OBS
only when $development is true.  After this is fixed, there are other
build failures in maint.c, this patch fixes them as well.

In the release mode, the output of these commands are:

(gdb) maintenance selftest
Selftests are not available in a non-development build.
(gdb) maintenance selftest foo
Selftests are not available in a non-development build.
(gdb) maintenance info selftests
Selftests are not available in a non-development build.

gdb:

2018-01-08  Yao Qi  <yao.qi@linaro.org>
    Simon Marchi  <simon.marchi@ericsson.com>

* Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
common/selftest.c.
(COMMON_OBS): Remove selftest.o.
* configure.ac: Append selftest-arch.c and common/selftest.c to
CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
* configure: Re-generated.
* maint.c (maintenance_selftest): Wrap selftests::run_tests with
GDB_SELF_TEST.
(maintenance_info_selftests): Likewise.

gdb/testsuite:

2018-01-08  Simon Marchi  <simon.marchi@ericsson.com>

* gdb.gdb/unittest.exp: Match output in non-development mode.
gdb/ChangeLog
gdb/Makefile.in
gdb/configure
gdb/configure.ac
gdb/maint.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.gdb/unittest.exp