2fa95ae169
linux/*/syscallent*.h part is modified automatically by: sed -i 's/TF\(,[[:space:]]*SEN.*[_"]statv\?fs\)/TF|TSF\1/' \ linux/*/syscallent*.h [ldv: rewritten trace_statfs.test using sched.test as a template] * sysent.h (TRACE_STATFS): New macro. * syscall.c: Alias TSF to TRACE_STATFS around syscallent.h inclusion. * qualify.c (lookup_class): Add SCHED_STATFS for "%statfs". * strace.1 (.SS Filtering): Add information about %statfs syscall class. * NEWS: Mention this change. * linux/64/syscallent.h (statfs): Add TSF flag. * linux/aarch64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/32/syscallent.h (statfs64): Likewise. * linux/arm/syscallent.h (statfs, statfs64): Likewise. * linux/avr32/syscallent.h: Likewise. * linux/bfin/syscallent.h: Likewise. * linux/crisv10/syscallent.h: Likewise. * linux/hppa/syscallent.h: Likewise. * linux/i386/syscallent.h: Likewise. * linux/ia64/syscallent.h: Likewise. * linux/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise. * linux/alpha/syscallent.h (osf_statfs, osf_statfs64, statfs): Likewise. * linux/mips/syscallent-compat.h (*_statfs, *_statvfs): Likewise. * tests/trace_statfs.test: New test. * tests/Makefile.am (DECODER_TESTS): Add it. * tests/ksysent.c (TSF): New macro, defined to 0. * tests/nsyscalls.c: Likewise.
49 lines
1.9 KiB
Bash
Executable File
49 lines
1.9 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Check -e trace=%statfs option.
|
|
#
|
|
# Copyright (c) 2017 The strace developers.
|
|
# All rights reserved.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions
|
|
# are met:
|
|
# 1. Redistributions of source code must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
# 2. Redistributions in binary form must reproduce the above copyright
|
|
# notice, this list of conditions and the following disclaimer in the
|
|
# documentation and/or other materials provided with the distribution.
|
|
# 3. The name of the author may not be used to endorse or promote products
|
|
# derived from this software without specific prior written permission.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
. "${srcdir=.}/init.sh"
|
|
|
|
while read w s; do {
|
|
try_run_prog "../$s" || continue
|
|
run_strace -a$w -e%statfs ../$s > "$EXP"
|
|
match_diff "$LOG" "$EXP"
|
|
} < /dev/null; done << EOF
|
|
17 statfs
|
|
23 statfs64
|
|
EOF
|
|
|
|
grep -E -v '^(#|statfs)' \
|
|
< "$srcdir/pure_executables.list" > negative.list
|
|
|
|
while read s; do {
|
|
try_run_prog "../$s" || continue
|
|
run_strace -qq -esignal=none -e%statfs ../$s > /dev/null
|
|
match_diff "$LOG" /dev/null
|
|
} < /dev/null; done < negative.list
|