From 32412d8e48b156c387383833a97a649fce2f05a1 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Wed, 11 May 2022 15:48:23 +0200 Subject: [PATCH] [gdb/testsuite] Fix gdb.base/catch-syscall.exp with --with-expat=no When doing a gdb build with --with-expat=no, I run into: ... (gdb) PASS: gdb.base/catch-syscall.exp: determine pipe syscall: \ continue to breakpoint: before pipe call catch syscall pipe^M Unknown syscall name 'pipe'.^M (gdb) PASS: gdb.base/catch-syscall.exp: determine pipe syscall: \ catch syscall pipe catch syscall pipe2^M Unknown syscall name 'pipe2'.^M (gdb) PASS: gdb.base/catch-syscall.exp: determine pipe syscall: \ catch syscall pipe2 continue^M Continuing.^M [Detaching after vfork from child process 18538]^M [Inferior 1 (process 18537) exited normally]^M (gdb) FAIL: gdb.base/catch-syscall.exp: determine pipe syscall: continue ... This is a regression since recent commit 5463a15c18b ("[gdb/testsuite] Handle pipe2 syscall in gdb.base/catch-syscall.exp"). Fix this by using pipe/pipe2 syscall numbers instead. Tested on x86_64-linux. --- gdb/testsuite/gdb.base/catch-syscall.exp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/gdb/testsuite/gdb.base/catch-syscall.exp b/gdb/testsuite/gdb.base/catch-syscall.exp index 1260a64270f..d8b6898b3e0 100644 --- a/gdb/testsuite/gdb.base/catch-syscall.exp +++ b/gdb/testsuite/gdb.base/catch-syscall.exp @@ -705,10 +705,12 @@ proc setup_all_syscalls {} { # SYS_pipe doesn't exist on aarch64 kernel. set test "check SYS_pipe" set have_SYS_pipe 0 + set SYS_pipe -1 gdb_test_multiple "p pipe_syscall" $test { - -re -wrap " = $decimal" { + -re -wrap " = ($decimal)" { pass $test set have_SYS_pipe 1 + set SYS_pipe $expect_out(1,string) } -re -wrap "No symbol .*" { pass $test @@ -717,10 +719,12 @@ proc setup_all_syscalls {} { set test "check SYS_pipe2" set have_SYS_pipe2 0 + set SYS_pipe2 -1 gdb_test_multiple "p pipe2_syscall" $test { - -re -wrap " = $decimal" { + -re -wrap " = ($decimal)" { pass $test set have_SYS_pipe2 1 + set SYS_pipe2 $expect_out(1,string) } -re -wrap "No symbol .*" { pass $test @@ -736,19 +740,19 @@ proc setup_all_syscalls {} { gdb_test "break $line" gdb_continue_to_breakpoint "before pipe call" if { $have_SYS_pipe } { - gdb_test "catch syscall pipe" + gdb_test "catch syscall $SYS_pipe" } if { $have_SYS_pipe2 } { - gdb_test "catch syscall pipe2" + gdb_test "catch syscall $SYS_pipe2" } set ok 0 gdb_test_multiple "continue" "" { - -re -wrap "Catchpoint $decimal \\(call to syscall pipe\\).*" { + -re -wrap "Catchpoint $decimal \\(call to syscall (pipe|$SYS_pipe)\\).*" { lappend all_syscalls pipe pass $gdb_test_name set ok 1 } - -re -wrap "Catchpoint $decimal \\(call to syscall pipe2\\).*" { + -re -wrap "Catchpoint $decimal \\(call to syscall (pipe2|$SYS_pipe)\\).*" { lappend all_syscalls pipe2 pass $gdb_test_name set ok 1 -- 2.30.2