From: Tom de Vries Date: Wed, 25 Jun 2025 07:39:30 +0000 (+0200) Subject: [gdb/testsuite] Fix gdb.base/infcall-failure.exp on freebsd X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5d721846dc366dff149b83776a5584a2b7f1243f;p=thirdparty%2Fbinutils-gdb.git [gdb/testsuite] Fix gdb.base/infcall-failure.exp on freebsd On x86_64-freebsd with test-case gdb.base/infcall-failure.exp I get: ... (gdb) continue Continuing. Program received signal SIGSEGV, Segmentation fault. Address not mapped to object. 0x0000000000400522 in func_segfault () at infcall-failure.c:24 24 return *p; /* Segfault here. */ Error in testing condition for breakpoint 2: The program being debugged was signaled while in a function called from GDB. GDB remains in the frame where the signal was received. To change this behavior use "set unwind-on-signal on". Evaluation of the expression containing the function (func_segfault) will be abandoned. When the function is done executing, GDB will silently stop. (gdb) FAIL: $exp: target_async=on: target_non_stop=on: \ run_cond_hits_segfault_test: continue ... The problem is that the regexp in the test-case doesn't expect the "Address not mapped to object." bit. Fix this by updating the regexp. Approved-by: Kevin Buettner Tested on x86_64-freebsd and x86_64-linux. --- diff --git a/gdb/testsuite/gdb.base/infcall-failure.exp b/gdb/testsuite/gdb.base/infcall-failure.exp index 66bccd186ae..e7aeac1ff1c 100644 --- a/gdb/testsuite/gdb.base/infcall-failure.exp +++ b/gdb/testsuite/gdb.base/infcall-failure.exp @@ -131,7 +131,13 @@ proc_with_prefix run_cond_hits_segfault_test { async_p non_stop_p } { [multi_line \ "Continuing\\." \ "" \ - "Program received signal SIGSEGV, Segmentation fault\\." \ + [string cat \ + [string_to_regexp \ + "Program received signal SIGSEGV, Segmentation fault."] \ + "("] \ + [string cat \ + [string_to_regexp "Address not mapped to object."] \ + ")?"] \ "${::hex} in func_segfault \\(\\) at \[^\r\n\]+:${::segv_line}" \ "${::decimal}\\s+\[^\r\n\]+Segfault here\[^\r\n\]+" \ "Error in testing condition for breakpoint ${bp_1_num}:" \ @@ -161,7 +167,13 @@ proc_with_prefix run_call_hits_segfault_test { async_p non_stop_p } { gdb_test "call func_segfault ()" \ [multi_line \ "" \ - "Program received signal SIGSEGV, Segmentation fault\\." \ + [string cat \ + [string_to_regexp \ + "Program received signal SIGSEGV, Segmentation fault."] \ + "("] \ + [string cat \ + [string_to_regexp "Address not mapped to object."] \ + ")?"] \ "${::hex} in func_segfault \\(\\) at \[^\r\n\]+:${::segv_line}" \ "${::decimal}\\s+\[^\r\n\]+Segfault here\[^\r\n\]+" \ "The program being debugged was signaled while in a function called from GDB\\." \