[PATCH][gdb/testsuite] Add untested case in selftest_setup

Simon Marchi simon.marchi@polymtl.ca
Fri Sep 3 12:24:42 GMT 2021


On 2021-09-02 2:13 a.m., Tom de Vries via Gdb-patches wrote:
> Hi,
> 
> When building gdb with "-Wall -O2 -g -flto=auto", I run into:
> ...
> FAIL: gdb.gdb/python-helper.exp: breakpoint in captured_main \
>   (got interactive prompt)
> FAIL: gdb.gdb/python-helper.exp: run until breakpoint at captured_main
> WARNING: Couldn't test self
> ...
> and similar in gdb.gdb/selftest.exp.
> 
> The first FAIL in more detail:
> ...
> (gdb) break captured_main^M
> Function "captured_main" not defined.^M
> Make breakpoint pending on future shared library load? (y or [n]) n^M
> (gdb) FAIL: gdb.gdb/python-helper.exp: breakpoint in captured_main \
>   (got interactive prompt)
> ...
> 
> The problem is that lto has optimized away the captured_main function
> and consequently the selftests dependent on that cannot run.
> 
> Fix this by:
> - using gdb_breakpoint to detect failure to set the breakpoint
> - handling the failure to set a breakpoint by calling untested
> - not emitting the warning if we've already got untested
> such that we have:
> ...
> (gdb) UNTESTED: gdb.gdb/python-helper.exp: Cannot set breakpoint at \
>   captured_main, skipping testcase.
> ...
> 
> Any comments?

I don't see what else we could do in this case, so LGTM.

Simon


More information about the Gdb-patches mailing list