diff options
author | Eugene Syromyatnikov <evgsyr@gmail.com> | 2022-08-08 11:54:43 +0200 |
---|---|---|
committer | Eugene Syromyatnikov <evgsyr@gmail.com> | 2022-08-11 14:34:17 +0200 |
commit | 07da2c35fd20e1d9af9acd3401f3be7699486b67 (patch) | |
tree | 39d7be071eca802100bb67b500c67fbcd6ea0c11 /tests/arch_prctl.sh | |
parent | e926431fdaf4e75a73e8777ac6179dabe02b48d9 (diff) | |
download | strace-07da2c35fd20e1d9af9acd3401f3be7699486b67.tar.gz |
arch_prctl: decode ARCH_GET_XCOMP_SUPP, ARCH_{GET,REQ}_XCOMP{,_GUEST}_PERM
* src/xlat/archvals.in (ARCH_GET_XCOMP_SUPP, ARCH_GET_XCOMP_PERM,
ARCH_REQ_XCOMP_PERM): New constants, introduced by Linux commit
v5.16-rc1~195^2~21.
(ARCH_GET_XCOMP_GUEST_PERM, ARCH_REQ_XCOMP_GUEST_PERM): New constants,
introduced by Linux commit v5.17-rc1~15^2~70.
* src/xlat/x86_xfeature_bits.in: New file.
* src/xlat/x86_xfeatures.in: Likewise.
* src/prctl.c [X86_64 || X32 || I386]: Include
"xlat/x86_xfeature_bits.h", "xlat/x86_xfeatures.h".
* tests/.gitignore: Add arch_prctl, arch_prctl-Xabbrev, arch_prctl-Xraw,
arch_prctl-Xverbose, arch_prctl-success, arch_prctl-success-Xabbrev,
arch_prctl-success-Xraw, and arch_prctl-success-Xverbose.
* tests/Makefile.am (check_PROGRAMS): Add arch_prctl-success,
arch_prctl-success-Xabbrev, arch_prctl-success-Xraw,
and arch_prctl-success-Xverbose.
* tests/arch_prctl.c: New file.
* tests/arch_prctl-Xabbrev.c: Likewise.
* tests/arch_prctl-Xraw.c: Likewise.
* tests/arch_prctl-Xverbose.c: Likewise.
* tests/arch_prctl-success.c: Likewise.
* tests/arch_prctl-success-Xabbrev.c: Likewise.
* tests/arch_prctl-success-Xraw.c: Likewise.
* tests/arch_prctl-success-Xverbose.c: Likewise.
* tests/arch_prctl.sh: Likewise.
* tests/gen_tests.in (arch_prctl, arch_prctl-Xabbrev, arch_prctl-Xraw,
arch_prctl-Xverbose, arch_prctl-success, arch_prctl-success-Xabbrev,
arch_prctl-success-Xraw, arch_prctl-success-Xverbose): New tests.
* tests/prctl-success.sh (PRCTL_SYSCALL, PRCTL_MARKER_RE): New vaiables.
Handle "ARCH_PRCTL_INJECT_RETVALS" in addition to "PRCTL_INJECT_RETVALS",
set PRCTL_SYSCALL and PRCTL_MARKER_RE accordingly; use $PRCTL_SYSCALL
and $PRCTL_MARKER_RE in run_strace and sed calls.
* tests/pure_executables.list: Add arch_prctl, arch_prctl-Xabbrev,
arch_prctl-Xraw, and arch_prctl-Xverbose.
* NEWS: Mention it.
Diffstat (limited to 'tests/arch_prctl.sh')
-rw-r--r-- | tests/arch_prctl.sh | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/arch_prctl.sh b/tests/arch_prctl.sh new file mode 100644 index 000000000..ddab7e25a --- /dev/null +++ b/tests/arch_prctl.sh @@ -0,0 +1,16 @@ +#!/bin/sh +# +# Check arch_prctl syscall decoding. +# +# Copyright (c) 20212-2022 The strace developers. +# All rights reserved. +# +# SPDX-License-Identifier: GPL-2.0-or-later + +. "${srcdir=.}/init.sh" + +check_prog sed +run_prog > /dev/null +run_strace -earch_prctl "$@" $args > "$EXP" +sed '0,/^arch_prctl(0xffffffff\( \/\* ARCH_??? \*\/\)\?, 0xfffffffe) *= -1 /d' < "$LOG" > "$OUT" +match_diff "$OUT" "$EXP" |