[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.
This commit is contained in:
Tom de Vries
2022-05-11 15:48:23 +02:00
parent aa02037b08
commit 32412d8e48

View File

@ -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