diff options
author | Tom de Vries <tdevries@suse.de> | 2022-05-11 15:48:23 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2022-05-11 15:48:23 +0200 |
commit | 32412d8e48b156c387383833a97a649fce2f05a1 (patch) | |
tree | ef86364d4fe1a8b4e3869fa1f15998316326754c | |
parent | aa02037b08312eece5c06e1e98b2ce8b30993c5c (diff) | |
download | gdb-32412d8e48b156c387383833a97a649fce2f05a1.zip gdb-32412d8e48b156c387383833a97a649fce2f05a1.tar.gz gdb-32412d8e48b156c387383833a97a649fce2f05a1.tar.bz2 |
[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.
-rw-r--r-- | gdb/testsuite/gdb.base/catch-syscall.exp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/gdb/testsuite/gdb.base/catch-syscall.exp b/gdb/testsuite/gdb.base/catch-syscall.exp index 1260a64..d8b6898 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 |