diff options
author | Tom de Vries <tdevries@suse.de> | 2023-02-21 14:10:12 +0100 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2023-02-21 14:10:12 +0100 |
commit | b3060b05134f47f6c6aba72f31746822343252ac (patch) | |
tree | 7d80409eeabd4d04c09aa66ddacc71522e2b6965 /gdb | |
parent | d720176596dd6495c258fa73c4029f009616ebd2 (diff) | |
download | gdb-b3060b05134f47f6c6aba72f31746822343252ac.zip gdb-b3060b05134f47f6c6aba72f31746822343252ac.tar.gz gdb-b3060b05134f47f6c6aba72f31746822343252ac.tar.bz2 |
[gdb/testsuite] Require syscall time in gdb.reverse/time-reverse.exp
On aarch64-linux, I run into:
...
Running gdb.reverse/time-reverse.exp ...
gdb compile failed, gdb.reverse/time-reverse.c: In function 'main':
gdb.reverse/time-reverse.c:39:12: error: 'SYS_time' undeclared \
(first use in this function); did you mean 'SYS_times'?
syscall (SYS_time, &time_global);
^~~~~~~~
SYS_times
gdb.reverse/time-reverse.c:39:12: note: each undeclared identifier is \
reported only once for each function it appears in
UNTESTED: gdb.reverse/time-reverse.exp: failed to prepare
...
Fix this by adding a new proc have_syscall, and requiring syscall time, such
that we have instead:
...
UNSUPPORTED: gdb.reverse/time-reverse.exp: require failed: \
expr [have_syscall time]
...
Tested on x86_64-linux and aarch64-linux.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/testsuite/gdb.reverse/time-reverse.exp | 2 | ||||
-rw-r--r-- | gdb/testsuite/lib/gdb.exp | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.reverse/time-reverse.exp b/gdb/testsuite/gdb.reverse/time-reverse.exp index 07d55b3..befda65 100644 --- a/gdb/testsuite/gdb.reverse/time-reverse.exp +++ b/gdb/testsuite/gdb.reverse/time-reverse.exp @@ -23,6 +23,8 @@ require supports_reverse standard_testfile +require {expr [have_syscall time]} + if { [prepare_for_testing "failed to prepare" $testfile $srcfile] } { return -1 } diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index e48228e..12839a5 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -9397,5 +9397,16 @@ gdb_caching_proc linux_kernel_version { return [list $v1 $v2 $v3] } +# Return 1 if syscall NAME is supported. + +proc have_syscall { name } { + set src \ + [list \ + "#include <sys/syscall.h>" \ + "int var = SYS_$name;"] + set src [join $src "\n"] + return [gdb_can_simple_compile have_syscall_$name $src object] +} + # Always load compatibility stuff. load_lib future.exp |