diff options
author | Yao Qi <yao.qi@linaro.org> | 2018-01-08 10:09:32 +0000 |
---|---|---|
committer | Yao Qi <yao.qi@linaro.org> | 2018-01-08 10:09:32 +0000 |
commit | 1e5ded6ce688ddee065fa852053dda07fcce959e (patch) | |
tree | 5e1d593ab7b7e216bc1ee0f05ff367b49009ac8e /gdb/testsuite/gdb.gdb | |
parent | 9f86398b29d53a5a0aaea390ce813628715b3125 (diff) | |
download | binutils-gdb-1e5ded6ce688ddee065fa852053dda07fcce959e.tar.gz |
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.
Diffstat (limited to 'gdb/testsuite/gdb.gdb')
-rw-r--r-- | gdb/testsuite/gdb.gdb/unittest.exp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gdb/testsuite/gdb.gdb/unittest.exp b/gdb/testsuite/gdb.gdb/unittest.exp index 44e93290b62..1c835850b8d 100644 --- a/gdb/testsuite/gdb.gdb/unittest.exp +++ b/gdb/testsuite/gdb.gdb/unittest.exp @@ -16,7 +16,18 @@ set do_xml_test [expr ![gdb_skip_xml_test]] gdb_start -gdb_test "maintenance selftest" "Ran $decimal unit tests, 0 failed" + +set test "maintenance selftest" +gdb_test_multiple $test $test { + -re "Ran ($decimal) unit tests, 0 failed\r\n$gdb_prompt $" { + set num_ran $expect_out(1,string) + gdb_assert "$num_ran > 0" $test + } + + -re "Selftests are not available in a non-development build.\r\n$gdb_prompt $" { + unsupported $test + } +} if { ![is_remote host] && $do_xml_test } { gdb_test "maintenance check xml-descriptions ${srcdir}/../features" \ |