gdb/testsuite: add "breakpoint always-inserted" axis in gdb.base/continue-after-abort...
authorSimon Marchi <simon.marchi@efficios.com>
Wed, 11 Nov 2020 16:18:10 +0000 (11:18 -0500)
committerSimon Marchi <simon.marchi@efficios.com>
Wed, 11 Nov 2020 16:18:11 +0000 (11:18 -0500)
commitacb994fab6bd62ac7d3ad1d729ee72f461081917
treee211e20fc7c35a90c664dca85f2eb3e41177d977
parentf27c0b449face6052e3b2fa92d77acc17522cb8e
gdb/testsuite: add "breakpoint always-inserted" axis in gdb.base/continue-after-aborted-step-over.exp

The test gdb.base/continue-after-aborted-step-over.exp fails on ROCm GDB
[1] when using the unix board (when debugging a standard x86-64/Linux
program), with:

    (gdb) b *0^M
    Breakpoint 2 at 0x0^M
    Warning:^M
    Cannot insert breakpoint 2.^M
    Cannot access memory at address 0x0^M
    ^M
    (gdb) FAIL: gdb.base/continue-after-aborted-step-over.exp: displaced-stepping=off: b *0

This happens because that build of GDB defaults to "set breakpoint
always-inserted on", for reasons that are unrelevant to explain here.
As soon as the breakpoint is created, GDB tries to insert it and
(expectedly) fails.  This causes more text to be output than what the
pattern expects.

It is actually be relevant to run the test with both "set breakpoint
always-inserted" on and off.  With it on, it mimics what happens when
running in non-stop mode, with other threads running.  This is relevant
for upstream even outside of the ROCm port, so here's a patch for it.

Add this other axis and adjust the "b *0" test to handle the extra
output when it is on.

[1] https://github.com/ROCm-Developer-Tools/ROCgdb

gdb/testsuite/ChangeLog:

* gdb.base/continue-after-aborted-step-over.exp: Add "breakpoint
always-inserted" axis.
(do_test): Add breakpoint_always_inserted parameter.

Change-Id: I95126cae563a0b9a72f4a99627809fc34340cd5e
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/continue-after-aborted-step-over.exp