summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2020-03-30 21:16:05 +0000
committerDmitry V. Levin <ldv@altlinux.org>2020-03-30 21:16:05 +0000
commite5f7fe5f7d854bc49953c76addd15a0ebcfe17b3 (patch)
tree96eab53cea7a61e8533f92c3bcfe28db1345f549
parent87a68e7a1b2145f8f752428e319881d2b0d50ac3 (diff)
downloadstrace-e5f7fe5f7d854bc49953c76addd15a0ebcfe17b3.tar.gz
tests: disable umovestr_cached.test on mips o32 unless PTRACE_GET_SYSCALL_INFO works
If PTRACE_GET_SYSCALL_INFO does not work, then the test has to be skipped on mips o32 because only the first four syscall arguments are obtained from registers on that architecture, remaining syscall arguments have to be fetched from the tracee memory. * tests/umovestr_cached.test [$STRACE_ARCH == mips && $MIPS_ABI == o32]: Skip the test if PTRACE_GET_SYSCALL_INFO does not work.
-rwxr-xr-xtests/umovestr_cached.test7
1 files changed, 5 insertions, 2 deletions
diff --git a/tests/umovestr_cached.test b/tests/umovestr_cached.test
index 349a15ca0..8e00d6c06 100755
--- a/tests/umovestr_cached.test
+++ b/tests/umovestr_cached.test
@@ -13,10 +13,13 @@ check_prog grep
$STRACE -d -enone / > /dev/null 2> "$LOG"
grep -x "[^:]*strace: PTRACE_GET_SYSCALL_INFO works" "$LOG" > /dev/null || {
# PTRACE_GET_SYSCALL_INFO does not work
- case "$STRACE_ARCH" in
- ia64)
+ case "$STRACE_ARCH:$MIPS_ABI" in
+ ia64:|mips:o32)
# ia64 invokes extra process_vm_readv syscalls to obtain syscall
# arguments, see linux/ia64/get_syscall_args.c for details.
+ # mips o32 obtains the first four syscalls arguments from registers
+ # and invokes extra process_vm_readv syscalls to obtain remaining
+ # syscall arguments, see linux/mips/get_syscall_args.c for details.
skip_ "the test is not supported on $STRACE_ARCH yet"
;;
esac