... PASS: gdb.mi/mi-catch-cpp-exceptions.exp: all with invalid regexp: Setup -catch-catch -exec-continue^M ^running^M *running,thread-id="all"^M (gdb) ^M &"not stopped at a C++ exception catchpoint\n"^M =breakpoint-modified,bkpt={number="12",type="breakpoint",disp="keep",enabled="y",addr="0x00007ffff7ae7010",what="exception throw",catch-type="throw",thread-groups=["i1"],regexp="blahblah",times="1"}^M ~"\n"^M ~"Catchpoint 12 (exception thrown), 0x00007ffff7ae7010 in __cxa_throw () from /usr/lib64/libstdc++.so.6\n"^M *stopped,bkptno="12",reason="breakpoint-hit",disp="keep",frame={addr="0x00007ffff7ae7010",func="__cxa_throw",args=[],from="/usr/lib64/libstdc++.so.6",arch="i386:x86-64"},thread-id="1",stopped-threads="all",core="3"^M (gdb) ^M FAIL: gdb.mi/mi-catch-cpp-exceptions.exp: all with invalid regexp: run until breakpoint in main (timeout) ... AFAICT, this regexp: ... set testname "run until breakpoint in main" gdb_expect { -re "could not find minimal symbol for typeinfo address.*$mi_gdb_prompt$" { kfail "gdb/24541" "${testname}" } -re "\\*stopped,reason=\"breakpoint-hit\".*func=\"main\".*line=\"${main_lineno}\".*$mi_gdb_prompt$" { pass "${testname}" } timeout { fail "${testname} (timeout)" } } ... fails to accommodate for bkptno="12".
Thanks for reporting this. I'm guessing that you are running some variant of -m32? In which case you're hitting bug 24541, but it's not matching the KFAIL pattern that I was seeing, so the existing check fails. I'll add another pattern to catch this case.
The master branch has been updated by Andrew Burgess <aburgess@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=93cb9841d68263174a600dc70af742a8e2eabfc6 commit 93cb9841d68263174a600dc70af742a8e2eabfc6 Author: Andrew Burgess <andrew.burgess@embecosm.com> Date: Sun Jun 16 16:17:59 2019 +0100 gdb/testsuite: Improve detection of bug gdb/24541 In bug gdb/24686 a testsuite failure was reported, this failure was actually just another instance of bug gdb/24541, however, due to the non-deterministic nature of bug gdb/24541 the testsuite pattern that was intended to catch this bug failed. This commit adds a second pattern to help detect gdb/24541, which should change the FAIL reported in gdb/24686 into a KFAIL. gdb/testsuite/ChangeLog: PR gdb/24686 * gdb.mi/mi-catch-cpp-exceptions.exp: Add an extra pattern to improve detection of bug gdb/24541.
(In reply to Andrew Burgess from comment #1) > Thanks for reporting this. > > I'm guessing that you are running some variant of -m32? > No, this is on x86_64-linux (openSUSE Leap 15.0). > In which case you're hitting bug 24541, but it's not matching the KFAIL > pattern that I was seeing, so the existing check fails. > > I'll add another pattern to catch this case.
Fixed by commit in comment 2.