]>
granicus.if.org Git - strace/log
Dmitry V. Levin [Fri, 22 Apr 2016 23:54:58 +0000 (23:54 +0000)]
Rename PRI__s64 to PRI__d64
As PRI__*64 macros mirror PRI*64 macros from inttypes.h, follow the
principle of least astonishment and name these macros the same way.
* defs.h (PRI__s64): Rename to PRI__d64.
Dmitry V. Levin [Fri, 22 Apr 2016 23:41:36 +0000 (23:41 +0000)]
Fix old_mmap output when mmap arguments are unfetchable
* mem.c (SYS_FUNC(old_mmap)): Use umove_or_printaddr instead of umoven
to fetch mmap arguments, return RVAL_DECODED when umove_or_printaddr
fails.
* tests/old_mmap.c (main): Check it.
Dmitry V. Levin [Fri, 22 Apr 2016 23:47:46 +0000 (23:47 +0000)]
aarch64: fix old_mmap output for arm personality
* mem.c (SYS_FUNC(old_mmap)) [AARCH64]: Fetch mmap arguments
as 32-bit integers.
Dmitry V. Levin [Fri, 22 Apr 2016 23:36:26 +0000 (23:36 +0000)]
Define old_mmap parser only on architectures that use it
* mem.c (SYS_FUNC(old_mmap)): Define only on AARCH64, ARM, I386, X86_64,
X32, M68K, S390, and S390X.
Dmitry V. Levin [Fri, 22 Apr 2016 20:37:19 +0000 (20:37 +0000)]
tests: extend test coverage of mmap syscall
Check decoding of "old mmap" edition of mmap syscall
on those architectures that define it.
* tests/old_mmap.c: New file.
* tests/old_mmap.test: New test.
* tests/.gitignore: Add old_mmap.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add old_mmap.test.
Dmitry V. Levin [Fri, 22 Apr 2016 14:14:39 +0000 (14:14 +0000)]
tests: extend test coverage of mincore syscall
* tests/mincore.c (print_mincore): New function.
(test_mincore): Use it. Check mincore with invalid vec address.
Check mincore with length argument not a multiple of the page size.
(main): Check with DEFAULT_STRLEN pages.
Dmitry V. Levin [Fri, 22 Apr 2016 04:17:06 +0000 (04:17 +0000)]
Move parsers of sync_file_range and sync_file_range2 syscalls to libstrace
For each given architecture only one of these two syscalls has a
syscallent entry. When each parser is placed into a separate file,
moving to libstrace ensures that only one of them that is need
is linked into strace executable.
* sync_file_range.c (SYS_FUNC(sync_file_range2)): Move ...
* sync_file_range2.c: ... here.
* Makefile.am (strace_SOURCES): Move sync_file_range.c ...
(libstrace_a_SOURCES): ... here. Add sync_file_range2.c.
(strace_SOURCES_c): Add filtered libstrace_a_SOURCES.
Dmitry V. Levin [Fri, 22 Apr 2016 01:13:27 +0000 (01:13 +0000)]
tests: check decoding of clock_adjtime syscall
* tests/clock_adjtime.c: New file.
* tests/clock_adjtime.test: New test.
* tests/.gitignore: Add clock_adjtime.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add clock_adjtime.test.
Dmitry V. Levin [Thu, 21 Apr 2016 18:20:47 +0000 (18:20 +0000)]
tests: do not include <assert.h> unnecessarily
Automatically change tests/*.c files using the following script:
for f in tests/*.c; do
grep -q '\<assert(' "$f" ||
sed -i '/# *include *<assert\.h>/d' "$f"
done
Dmitry V. Levin [Thu, 21 Apr 2016 18:20:47 +0000 (18:20 +0000)]
tests: do not include <errno.h> unnecessarily
Automatically change tests/*.c files using the following script:
for f in tests/*.c; do
grep -Fv errno.h "$f" |
grep -Ewq '(si_)?errno|SOCK_FILTER_DENY_SYSCALL' ||
sed -i '/# *include *<errno\.h>/d' "$f"
done
Dmitry V. Levin [Thu, 21 Apr 2016 21:34:19 +0000 (21:34 +0000)]
tests/xetpriority.c: print syscall() result using %ld format
Dmitry V. Levin [Thu, 21 Apr 2016 21:33:43 +0000 (21:33 +0000)]
tests/xetpgid.c: print syscall() result using %ld format
Dmitry V. Levin [Thu, 21 Apr 2016 21:33:24 +0000 (21:33 +0000)]
tests/xchownx.c: use errno2name
Dmitry V. Levin [Thu, 21 Apr 2016 21:32:52 +0000 (21:32 +0000)]
tests/userfaultfd.c: stop using assert
Dmitry V. Levin [Thu, 21 Apr 2016 21:32:28 +0000 (21:32 +0000)]
tests/unlinkat.c: print syscall() result using %ld format
Dmitry V. Levin [Thu, 21 Apr 2016 21:32:00 +0000 (21:32 +0000)]
tests/umount.c: use errno2name
Dmitry V. Levin [Thu, 21 Apr 2016 21:28:30 +0000 (21:28 +0000)]
tests/truncate64.c: cleanup
* tests/truncate64.c (main): Use errno2name, stop using assert.
Dmitry V. Levin [Thu, 21 Apr 2016 21:28:03 +0000 (21:28 +0000)]
tests/truncate.c: cleanup
* tests/truncate.c (main): Use errno2name, stop using assert.
Dmitry V. Levin [Thu, 21 Apr 2016 21:27:19 +0000 (21:27 +0000)]
tests/tee.c: stop using assert
Dmitry V. Levin [Thu, 21 Apr 2016 21:26:52 +0000 (21:26 +0000)]
tests/syslog.c: use errno2name
Dmitry V. Levin [Thu, 21 Apr 2016 21:26:16 +0000 (21:26 +0000)]
tests/sync_file_range2.c: stop using assert
Dmitry V. Levin [Thu, 21 Apr 2016 21:25:55 +0000 (21:25 +0000)]
tests/sync_file_range.c: stop using assert
Dmitry V. Levin [Thu, 21 Apr 2016 21:25:29 +0000 (21:25 +0000)]
tests/symlinkat.c: cleanup
Dmitry V. Levin [Thu, 21 Apr 2016 21:24:43 +0000 (21:24 +0000)]
tests/swap.c: cleanup
* tests/swap.c (error_msg): Remove.
(main): Use errno2name.
Dmitry V. Levin [Thu, 21 Apr 2016 21:24:01 +0000 (21:24 +0000)]
tests/splice.c: stop using assert
Dmitry V. Levin [Thu, 21 Apr 2016 21:23:34 +0000 (21:23 +0000)]
tests/setugid.c: cleanup
Dmitry V. Levin [Thu, 21 Apr 2016 21:22:50 +0000 (21:22 +0000)]
tests/sethostname.c: use errno2name
Dmitry V. Levin [Thu, 21 Apr 2016 21:21:37 +0000 (21:21 +0000)]
tests/setgroups.c: use errno2name
* tests/setgroups.c (errno2str): Remove.
(main): Use errno2name.
Dmitry V. Levin [Thu, 21 Apr 2016 21:20:31 +0000 (21:20 +0000)]
tests/seccomp-strict.c: cleanup
* tests/seccomp-strict.c (main): Use errno2name, stop using assert.
Dmitry V. Levin [Thu, 21 Apr 2016 21:19:30 +0000 (21:19 +0000)]
tests/seccomp-filter.c: cleanup
* tests/seccomp-filter.c (main): Use errno2name, stop using assert.
Dmitry V. Levin [Thu, 21 Apr 2016 21:18:14 +0000 (21:18 +0000)]
tests/sched_xetscheduler.c: print syscall() result using %ld format
Dmitry V. Levin [Thu, 21 Apr 2016 21:17:46 +0000 (21:17 +0000)]
tests/sched_xetparam.c: print syscall() result using %ld format
Dmitry V. Levin [Thu, 21 Apr 2016 21:17:11 +0000 (21:17 +0000)]
tests/renameat.c: print syscall() result using %ld format
Dmitry V. Levin [Thu, 21 Apr 2016 21:16:54 +0000 (21:16 +0000)]
tests/rename.c: print syscall() result using %ld format
Dmitry V. Levin [Thu, 21 Apr 2016 21:16:34 +0000 (21:16 +0000)]
tests/readv.c: cleanup
Dmitry V. Levin [Thu, 21 Apr 2016 21:16:02 +0000 (21:16 +0000)]
tests/pwritev.c: use errno2name
Dmitry V. Levin [Thu, 21 Apr 2016 21:14:52 +0000 (21:14 +0000)]
tests/preadv-pwritev.c: cleanup
Dmitry V. Levin [Thu, 21 Apr 2016 21:13:20 +0000 (21:13 +0000)]
tests/prctl-seccomp-strict.c: cleanup
* tests/prctl-seccomp-strict.c (main): Use errno2name,
stop using assert.
Dmitry V. Levin [Thu, 21 Apr 2016 21:12:41 +0000 (21:12 +0000)]
tests/openat.c: use errno2name
Dmitry V. Levin [Thu, 21 Apr 2016 21:12:14 +0000 (21:12 +0000)]
tests/open.c: use errno2name
Dmitry V. Levin [Thu, 21 Apr 2016 21:06:13 +0000 (21:06 +0000)]
tests/mlockall.c: cleanup
Dmitry V. Levin [Thu, 21 Apr 2016 21:05:39 +0000 (21:05 +0000)]
tests/mlock2.c: stop using assert
Dmitry V. Levin [Thu, 21 Apr 2016 21:04:00 +0000 (21:04 +0000)]
tests/mknod.c: print syscall() result using %ld format
Dmitry V. Levin [Thu, 21 Apr 2016 21:03:13 +0000 (21:03 +0000)]
tests/mkdirat.c: print syscall() result using %ld format
Dmitry V. Levin [Thu, 21 Apr 2016 21:01:40 +0000 (21:01 +0000)]
tests/lseek.c: cleanup
* tests/lseek.c (main): Use errno2name, stop using assert.
Dmitry V. Levin [Thu, 21 Apr 2016 21:00:47 +0000 (21:00 +0000)]
tests/llseek.c: cleanup
* tests/llseek.c (main): Use errno2name, stop using assert.
Dmitry V. Levin [Thu, 21 Apr 2016 21:00:18 +0000 (21:00 +0000)]
tests/linkat.c: print syscall() result using %ld format
Dmitry V. Levin [Thu, 21 Apr 2016 20:59:46 +0000 (20:59 +0000)]
tests/iopl.c: use errno2name
Dmitry V. Levin [Thu, 21 Apr 2016 20:59:26 +0000 (20:59 +0000)]
tests/ioperm.c: use errno2name
Dmitry V. Levin [Thu, 21 Apr 2016 20:51:15 +0000 (20:51 +0000)]
tests/getgroups.c: use errno2name
* tests/getgroups.c (errno2str): Remove.
(main): Use errno2name.
Dmitry V. Levin [Thu, 21 Apr 2016 20:50:08 +0000 (20:50 +0000)]
tests/ftruncate64.c: cleanup
* tests/ftruncate64.c (main): Use errno2name, stop using assert.
Dmitry V. Levin [Thu, 21 Apr 2016 20:48:23 +0000 (20:48 +0000)]
tests/ftruncate.c: cleanup
* tests/ftruncate.c (main): Use errno2name, stop using assert.
Dmitry V. Levin [Thu, 21 Apr 2016 20:46:44 +0000 (20:46 +0000)]
tests/fsync.c: print syscall() result using %ld format
Dmitry V. Levin [Thu, 21 Apr 2016 20:46:15 +0000 (20:46 +0000)]
tests/flock.c: print syscall() result using %ld format
Dmitry V. Levin [Thu, 21 Apr 2016 20:45:17 +0000 (20:45 +0000)]
tests/file_handle.c: use errno2name
Dmitry V. Levin [Thu, 21 Apr 2016 20:41:38 +0000 (20:41 +0000)]
tests/fdatasync.c: print syscall() result using %ld format
Dmitry V. Levin [Thu, 21 Apr 2016 20:40:49 +0000 (20:40 +0000)]
tests/fchownat.c: use errno2name
Dmitry V. Levin [Thu, 21 Apr 2016 20:39:58 +0000 (20:39 +0000)]
tests/fchmodat.c: use errno2name
Dmitry V. Levin [Thu, 21 Apr 2016 20:39:40 +0000 (20:39 +0000)]
tests/fchmod.c: use errno2name
Dmitry V. Levin [Thu, 21 Apr 2016 20:38:47 +0000 (20:38 +0000)]
tests/faccessat.c: print syscall() result using %ld format
Dmitry V. Levin [Thu, 21 Apr 2016 20:38:15 +0000 (20:38 +0000)]
tests/epoll_wait.c: print syscall() result using %ld format
Dmitry V. Levin [Thu, 21 Apr 2016 20:37:50 +0000 (20:37 +0000)]
tests/epoll_ctl.c: print syscall() result using %ld format
Dmitry V. Levin [Thu, 21 Apr 2016 20:36:45 +0000 (20:36 +0000)]
tests/epoll_create1.c: cleanup
* tests/epoll_create1.c (main): Use errno2name, stop using assert.
Dmitry V. Levin [Thu, 21 Apr 2016 20:35:20 +0000 (20:35 +0000)]
tests/epoll_create.c: print syscall() result using %ld format
Dmitry V. Levin [Thu, 21 Apr 2016 20:34:56 +0000 (20:34 +0000)]
tests/dup3.c: print syscall() result using %ld format
Dmitry V. Levin [Thu, 21 Apr 2016 20:34:36 +0000 (20:34 +0000)]
tests/dup2.c: print syscall() result using %ld format
Dmitry V. Levin [Thu, 21 Apr 2016 20:33:32 +0000 (20:33 +0000)]
tests/dup.c: cleanup
Dmitry V. Levin [Thu, 21 Apr 2016 20:32:43 +0000 (20:32 +0000)]
tests/creat.c: stop using sys/stat.h
Dmitry V. Levin [Thu, 21 Apr 2016 20:31:32 +0000 (20:31 +0000)]
tests/copy_file_range.c: stop using assert
Dmitry V. Levin [Thu, 21 Apr 2016 20:30:25 +0000 (20:30 +0000)]
tests/chroot.c: use errno2name
Dmitry V. Levin [Thu, 21 Apr 2016 20:29:29 +0000 (20:29 +0000)]
tests/aio.c: use errno2name
Dmitry V. Levin [Thu, 21 Apr 2016 20:16:32 +0000 (20:16 +0000)]
tests: cleanup acct.test
* tests/acct.c (main): Use errno2name, stop using assert,
change sample file name.
* tests/acct.test: Update.
Dmitry V. Levin [Thu, 21 Apr 2016 17:49:32 +0000 (17:49 +0000)]
tests: use errno2name()
Automatically change tests/*.c files using the following sed regexp:
sed -i 's/errno == E[[:alnum:]]\+ ? "E[[:alnum:]]\+" : "E[[:alnum:]]\+"/errno2name()/g'
Dmitry V. Levin [Thu, 21 Apr 2016 18:16:10 +0000 (18:16 +0000)]
tests/dup.c: include "tests.h"
This is going to be necessary for the following commit.
Fei Jie [Thu, 21 Apr 2016 07:53:52 +0000 (15:53 +0800)]
tests: add getpgrp.test
* tests/getpgrp.c: New file.
* tests/getpgrp.test: New test.
* tests/.gitignore: Add getpgrp.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add getpgrp.test.
Fei Jie [Thu, 21 Apr 2016 07:53:51 +0000 (15:53 +0800)]
tests: add access.test
* tests/access.c: New file.
* tests/access.test: New test.
* tests/.gitignore: Add access.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add access.test.
Fei Jie [Thu, 21 Apr 2016 07:53:50 +0000 (15:53 +0800)]
tests: add fchdir.test
* tests/fchdir.c: New file.
* tests/fchdir.test: New test.
* tests/.gitignore: Add fchdir.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add fchdir.test.
Fei Jie [Thu, 21 Apr 2016 07:53:49 +0000 (15:53 +0800)]
tests: add mkdir.test
* tests/mkdir.c: New file.
* tests/mkdir.test: New test.
* tests/.gitignore: Add mkdir.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add mkdir.test.
Fei Jie [Thu, 21 Apr 2016 01:40:01 +0000 (09:40 +0800)]
tests: add getsid.test
* tests/getsid.c: New file.
* tests/getsid.test: New test.
* tests/.gitignore: Add getsid.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add getsid.test.
Dmitry V. Levin [Wed, 20 Apr 2016 22:51:28 +0000 (22:51 +0000)]
tests: add errno2name function to libtests
Add a simple translator of errno to its name, so one could
simply use errno2name() instead of complex expressions like
errno == EINVAL ? "EINVAL" : "EFAULT".
* tests.h (errno2name): New prototype.
* errno2name.c: New file.
* Makefile.am (libtests_a_SOURCES): Add it.
Dmitry V. Levin [Wed, 20 Apr 2016 18:04:34 +0000 (18:04 +0000)]
hppa: rename ECANCELLED to ECANCELED
hppa seems to be the only architecture that defines ECANCELLED synonym
for ECANCELED constant, other architectures just define ECANCELED.
Change the way how this constant is printed on hppa to be in line
with other architectures.
* linux/hppa/errnoent.h [253]: Rename ECANCELLED to ECANCELED.
Dmitry V. Levin [Wed, 20 Apr 2016 17:15:05 +0000 (17:15 +0000)]
Remove parser of unimplemented timerfd syscall
timerfd syscall was introduced in v2.6.22-rc1, but in v2.6.25-rc1
it was replaced by timerfd_* syscall family.
* linux/avr32/syscallent.h (timerfd): Fix nargs.
* linux/dummy.h (sys_timerfd): Add stub alias.
* time.c (SYS_FUNC(timerfd)): Remove.
Dmitry V. Levin [Wed, 20 Apr 2016 14:30:43 +0000 (14:30 +0000)]
tests: workaround kernel bugs in seccomp-strict.test and prctl-seccomp-strict.test
If kernel implementation of strict seccomp mode is buggy, test programs
will be killed by SIGKILL. This is a known problem at least on
x32 and mips. Skip affected tests if this is the case.
This change partially revert commit
9c1a72cd3f3d52d573876ce474b620a5f141fb1b .
* tests/seccomp-strict.c (main): Remove workaround for x32.
* tests/prctl-seccomp-strict.c: Likewise.
* tests/seccomp-strict.test: Skip the test if the test program
has been killed by SIGKILL.
* tests/prctl-seccomp-strict.test: Likewise.
Dmitry V. Levin [Wed, 20 Apr 2016 05:40:58 +0000 (05:40 +0000)]
tests/shmxt.c: do not use SHM_RND, it is unreliable
* tests/shmxt.c (main): Do not set SHM_RND flag.
Dmitry V. Levin [Wed, 20 Apr 2016 04:32:04 +0000 (04:32 +0000)]
tests/rt_sigpending.c: fix for systems where _NSIG > 16 * sizeof(long)
* tests/rt_sigsuspend.c (iterate): Do not assume that size will be less
than sizeof(long) on the second iteration.
Dmitry V. Levin [Wed, 20 Apr 2016 00:26:46 +0000 (00:26 +0000)]
prctl-seccomp-strict.test: robustify against unrelated prctl invocations
* tests/prctl-seccomp-strict.test: Filter out PR_GET_* prctl calls.
Dmitry V. Levin [Tue, 19 Apr 2016 22:16:30 +0000 (22:16 +0000)]
tests: adjust rt_sigpending to older kernels
With linux kernels older than v3.9-rc1, compat rt_sigpending syscall
could fail with EFAULT in cases where on later kernels it succeeds.
Adjust the test to handle both cases properly.
* tests/rt_sigpending.c (iterate): Stop iterations if rt_sigpending
failed with EFAULT.
Dmitry V. Levin [Tue, 19 Apr 2016 21:10:44 +0000 (21:10 +0000)]
tests: adjust readv/writev and preadv/pwritev tests to older kernels
With linux kernels older than v3.16-rc1, iovec based compat syscalls may
return EINVAL in some cases where on later kernels they return EFAULT.
Adjust tests to handle both cases properly.
* tests/preadv-pwritev.c: Include <errno.h>.
(main): Print either "EINVAL" or "EFAULT" depending on errno.
* tests/pwritev.c: Likewise.
* tests/readv.c: Likewise.
Dmitry V. Levin [Tue, 19 Apr 2016 18:45:25 +0000 (18:45 +0000)]
tests: remove obsolete non-strict uid tests
Recently added strict tests for uid/gid related syscalls
made old uid tests obsolete.
* tests/uid.awk: Remove.
* tests/uid.c: Remove.
* tests/uid.test: Remove.
* tests/uid16.c: Remove.
* tests/uid16.test: Remove.
* tests/uid32.c: Remove.
* tests/uid32.test: Remove.
* tests/.gitignore: Remove uid, uid16, and uid32.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Remove uid.test, uid16.test, and uid32.test.
(EXTRA_DIST): Remove uid.awk.
Dmitry V. Levin [Tue, 19 Apr 2016 18:28:03 +0000 (18:28 +0000)]
tests: extend test coverage of getuid/getgid family syscalls
Add strict tests for getuid, getuid32, getgid, getgid32, geteuid,
geteuid32, getegid, and getegid32 syscalls.
* tests/getegid.c: New file.
* tests/getegid.test: New test.
* tests/getegid32.c: New file.
* tests/getegid32.test: New test.
* tests/geteuid.c: New file.
* tests/geteuid.test: New test.
* tests/geteuid32.c: New file.
* tests/geteuid32.test: New test.
* tests/getgid.c: New file.
* tests/getgid.test: New test.
* tests/getgid32.c: New file.
* tests/getgid32.test: New test.
* tests/getuid.c: New file.
* tests/getuid.test: New test.
* tests/getuid32.c: New file.
* tests/getuid32.test: New test.
* tests/.gitignore: Add getuid, getuid32, getgid, getgid32, geteuid,
* geteuid32, getegid, and getegid32.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add getegid.test, getegid32.test, geteuid.test,
geteuid32.test, getgid.test, getgid32.test, getuid.test,
and getuid32.test.
Dmitry V. Levin [Tue, 19 Apr 2016 17:45:26 +0000 (17:45 +0000)]
tests: extend test coverage of getresgid32 syscall
* tests/getresgid32.c: New file.
* tests/getresgid32.test: New test.
* tests/.gitignore: Add getresgid32.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add getresgid32.test.
Dmitry V. Levin [Tue, 19 Apr 2016 17:42:51 +0000 (17:42 +0000)]
tests: extend test coverage of getresgid syscall
* tests/getresgid.c: New file.
* tests/getresgid.test: New test.
* tests/.gitignore: Add getresgid.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add getresgid.test.
Dmitry V. Levin [Tue, 19 Apr 2016 17:34:00 +0000 (17:34 +0000)]
tests: extend test coverage of getresuid32 syscall
* tests/getresuid32.c: New file.
* tests/getresuid32.test: New test.
* tests/.gitignore: Add getresuid32.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add getresuid32.test.
Dmitry V. Levin [Tue, 19 Apr 2016 17:30:23 +0000 (17:30 +0000)]
tests: extend test coverage of getresuid syscall
* tests/getresugid.c: New file.
* tests/getresuid.c: New file.
* tests/getresuid.test: New test.
* tests/.gitignore: Add getresuid.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add getresuid.test.
(EXTRA_DIST): Add getresugid.c.
Fei Jie [Tue, 19 Apr 2016 07:38:34 +0000 (15:38 +0800)]
tests: add symlinkat.test
* tests/symlinkat.c: New file.
* tests/symlinkat.test: New test.
* tests/.gitignore: Add symlinkat.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add symlinkat.test.
Fei Jie [Tue, 19 Apr 2016 07:38:33 +0000 (15:38 +0800)]
tests: add iopl.test
* tests/iopl.c: New file.
* tests/iopl.test: New test.
* tests/.gitignore: Add iopl.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add iopl.test.
Dmitry V. Levin [Wed, 20 Apr 2016 00:46:50 +0000 (00:46 +0000)]
mips o32, powerpc, powerpc64: fix decoding of iopl syscall
* linux/mips/syscallent-o32.h (iopl): Fix nargs.
* linux/powerpc/syscallent.h (iopl): Fix nargs and sys_func.
* linux/powerpc64/syscallent.h (iopl): Likewise.
Fei Jie [Tue, 19 Apr 2016 07:38:32 +0000 (15:38 +0800)]
tests: add ioperm.test
* tests/ioperm.c: New file.
* tests/ioperm.test: New test.
* tests/.gitignore: Add ioperm.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add ioperm.test.
Dmitry V. Levin [Tue, 19 Apr 2016 01:59:52 +0000 (01:59 +0000)]
Fix corner cases of getgroups and setgroups syscall decoders
* uid.c (print_groups): New function.
(SYS_FUNC(setgroups), SYS_FUNC(getgroups)): Use it.
Print first syscall argument using %u format.
* tests/getgroups.c: New file.
* tests/getgroups.test: New test.
* tests/getgroups32.c: New file.
* tests/getgroups32.test: New test.
* tests/setgroups.c: New file.
* tests/setgroups.test: New test.
* tests/setgroups32.c: New file.
* tests/setgroups32.test: New test.
* tests/.gitignore: Add getgroups, getgroups32, setgroups,
and setgroups32.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add getgroups.test, getgroups32.test,
setgroups.test, and setgroups32.test.
Dmitry V. Levin [Mon, 18 Apr 2016 16:24:48 +0000 (16:24 +0000)]
Cleanup setfsuid syscall decoder
* uid.c (SYS_FUNC(setfsuid)): Remove redundant check.