mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-23 19:50:13 +08:00
[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:
@ -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
|
||||
|
Reference in New Issue
Block a user