]> granicus.if.org Git - strace/log
strace
8 years agotests/vfork-f.c: use libtests
Dmitry V. Levin [Wed, 6 Jan 2016 11:22:59 +0000 (11:22 +0000)]
tests/vfork-f.c: use libtests

* tests/vfork-f.c (main): Use assert and perror_msg_and_fail.

8 years agotests/fork-f.c: use libtests
Dmitry V. Levin [Wed, 6 Jan 2016 11:22:25 +0000 (11:22 +0000)]
tests/fork-f.c: use libtests

* tests/fork-f.c (main): Use assert and perror_msg_and_fail.

8 years agotests/userfaultfd.c: use libtests
Dmitry V. Levin [Wed, 6 Jan 2016 10:01:20 +0000 (10:01 +0000)]
tests/userfaultfd.c: use libtests

* tests/userfaultfd.c: Use SKIP_MAIN_UNDEFINED.
(main): Use assert.

8 years agotests/mlock2.c: use libtests
Dmitry V. Levin [Wed, 6 Jan 2016 10:00:44 +0000 (10:00 +0000)]
tests/mlock2.c: use libtests

* tests/mlock2.c: Use SKIP_MAIN_UNDEFINED.
(main): Use assert.

8 years agotests/membarrier.c: use libtests
Dmitry V. Levin [Wed, 6 Jan 2016 09:59:46 +0000 (09:59 +0000)]
tests/membarrier.c: use libtests

* tests/membarrier.c: Use SKIP_MAIN_UNDEFINED.
(main): Use assert.

8 years agotests/nanosleep.c: use libtests
Dmitry V. Levin [Wed, 6 Jan 2016 09:56:09 +0000 (09:56 +0000)]
tests/nanosleep.c: use libtests

* tests/nanosleep.c (main): Use assert, perror_msg_and_fail,
and perror_msg_and_skip.

8 years agotests/timerfd_xettime.c: use libtests
Dmitry V. Levin [Wed, 6 Jan 2016 09:51:37 +0000 (09:51 +0000)]
tests/timerfd_xettime.c: use libtests

* tests/timerfd_xettime.c: Use SKIP_MAIN_UNDEFINED.
(main): Use perror_msg_and_skip.

8 years agotests/timer_xettime.c: use libtests
Dmitry V. Levin [Wed, 6 Jan 2016 09:50:44 +0000 (09:50 +0000)]
tests/timer_xettime.c: use libtests

* tests/timer_xettime.c: Use SKIP_MAIN_UNDEFINED.
(main): Use perror_msg_and_skip.

8 years agotests/timer_create.c: use libtests
Dmitry V. Levin [Wed, 6 Jan 2016 09:49:32 +0000 (09:49 +0000)]
tests/timer_create.c: use libtests

* tests/timer_create.c: Use SKIP_MAIN_UNDEFINED.
(main): Use perror_msg_and_skip.

8 years agotests/clock_xettime.c: use libtests
Dmitry V. Levin [Wed, 6 Jan 2016 09:48:05 +0000 (09:48 +0000)]
tests/clock_xettime.c: use libtests

* tests/clock_xettime.c: Use SKIP_MAIN_UNDEFINED.
(main): Use perror_msg_and_skip.

8 years agotests/clock_nanosleep.c: use libtests
Dmitry V. Levin [Wed, 6 Jan 2016 09:46:29 +0000 (09:46 +0000)]
tests/clock_nanosleep.c: use libtests

* tests/clock_nanosleep.c (main): Use assert and perror_msg_and_skip.

8 years agotests/truncate64.c: use libtests
Dmitry V. Levin [Wed, 6 Jan 2016 09:36:00 +0000 (09:36 +0000)]
tests/truncate64.c: use libtests

* tests/truncate64.c: Use SKIP_MAIN_UNDEFINED.
(main): Use assert and perror_msg_and_skip.

8 years agotests/truncate.c: use libtests
Dmitry V. Levin [Wed, 6 Jan 2016 09:35:39 +0000 (09:35 +0000)]
tests/truncate.c: use libtests

* tests/truncate.c: Use SKIP_MAIN_UNDEFINED.
(main): Use assert and perror_msg_and_skip.

8 years agotests/ftruncate64.c: use libtests
Dmitry V. Levin [Wed, 6 Jan 2016 09:35:23 +0000 (09:35 +0000)]
tests/ftruncate64.c: use libtests

* tests/ftruncate64.c: Use SKIP_MAIN_UNDEFINED.
(main): Use assert and perror_msg_and_skip.

8 years agotests/ftruncate.c: use libtests
Dmitry V. Levin [Wed, 6 Jan 2016 09:34:30 +0000 (09:34 +0000)]
tests/ftruncate.c: use libtests

* tests/ftruncate.c: Use SKIP_MAIN_UNDEFINED.
(main): Use assert and perror_msg_and_skip.

8 years agotests/llseek.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 23:28:15 +0000 (23:28 +0000)]
tests/llseek.c: use libtests

* tests/llseek.c: Use SKIP_MAIN_UNDEFINED.
(main): Use assert and perror_msg_and_skip.

8 years agotests/lseek.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 23:27:42 +0000 (23:27 +0000)]
tests/lseek.c: use libtests

* tests/lseek.c: Use SKIP_MAIN_UNDEFINED.
(main): Use assert and perror_msg_and_skip.

8 years agotests/readlinkat.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 23:27:05 +0000 (23:27 +0000)]
tests/readlinkat.c: use libtests

* tests/readlinkat.c: Use SKIP_MAIN_UNDEFINED.
(main): Use perror_msg_and_skip.

8 years agotests/readlink.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 23:26:13 +0000 (23:26 +0000)]
tests/readlink.c: use libtests

* tests/readlink.c: Use SKIP_MAIN_UNDEFINED.
(main): Use perror_msg_and_skip.

8 years agotests/xattr.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 23:18:25 +0000 (23:18 +0000)]
tests/xattr.c: use libtests

* tests/xattr.c: Use SKIP_MAIN_UNDEFINED.
(main): Use perror_msg_and_skip.

8 years agotests/seccomp.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 23:17:29 +0000 (23:17 +0000)]
tests/seccomp.c: use libtests

* tests/seccomp.c: Use SKIP_MAIN_UNDEFINED.
(main): Use perror_msg_and_fail and perror_msg_and_skip.

8 years agotests/restart_syscall.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 23:14:25 +0000 (23:14 +0000)]
tests/restart_syscall.c: use libtests

* tests/restart_syscall.c (main): Use assert, perror_msg_and_fail,
and perror_msg_and_skip.

8 years agotests/inet-cmsg.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 23:13:41 +0000 (23:13 +0000)]
tests/inet-cmsg.c: use libtests

* tests/inet-cmsg.c (main): Use perror_msg_and_skip.

8 years agotests/eventfd.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 23:12:51 +0000 (23:12 +0000)]
tests/eventfd.c: use libtests

* tests/eventfd.c: Use SKIP_MAIN_UNDEFINED.
(main): Use perror_msg_and_skip.

8 years agotests/epoll_create1.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 23:11:48 +0000 (23:11 +0000)]
tests/epoll_create1.c: use libtests

* tests/epoll_create1.c: Use SKIP_MAIN_UNDEFINED.
(main): Use assert and perror_msg_and_skip.

8 years agotests/mmap.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 23:07:59 +0000 (23:07 +0000)]
tests/mmap.c: use libtests

* tests/mmap.c (main): Use get_page_size and perror_msg_and_fail.

8 years agotests/fanotify_mark.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 23:06:14 +0000 (23:06 +0000)]
tests/fanotify_mark.c: use libtests

* tests/fanotify_mark.c: Use SKIP_MAIN_UNDEFINED.

8 years agotests/inet-accept-connect-send-recv.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 23:04:30 +0000 (23:04 +0000)]
tests/inet-accept-connect-send-recv.c: use libtests

* tests/inet-accept-connect-send-recv.c (main): Use perror_msg_and_skip
and perror_msg_and_fail.

8 years agotests/net-accept-connect.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 23:03:26 +0000 (23:03 +0000)]
tests/net-accept-connect.c: use libtests

* tests/net-accept-connect.c (main): Use perror_msg_and_skip
and perror_msg_and_fail.

8 years agotests/unix-pair-send-recv.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 23:02:21 +0000 (23:02 +0000)]
tests/unix-pair-send-recv.c: use libtests

* tests/unix-pair-send-recv.c (main): Use perror_msg_and_skip
and perror_msg_and_fail.

8 years agotests/xselect.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 22:56:30 +0000 (22:56 +0000)]
tests/xselect.c: use libtests

* tests/xselect.c (main): Use assert, perror_msg_and_fail,
and perror_msg_and_skip.

8 years agotests/pselect6.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 22:55:05 +0000 (22:55 +0000)]
tests/pselect6.c: use libtests

* tests/pselect6.c: Use SKIP_MAIN_UNDEFINED.
(main): Use assert, perror_msg_and_fail, and perror_msg_and_skip.

8 years agotests/oldselect.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 22:53:28 +0000 (22:53 +0000)]
tests/oldselect.c: use libtests

* tests/oldselect.c: Use SKIP_MAIN_UNDEFINED.
(main): Use perror_msg_and_fail and perror_msg_and_skip.

8 years agotests/select.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 22:52:39 +0000 (22:52 +0000)]
tests/select.c: use libtests

* tests/select.c: Use SKIP_MAIN_UNDEFINED.

8 years agotests/_newselect.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 22:51:44 +0000 (22:51 +0000)]
tests/_newselect.c: use libtests

* tests/_newselect.c: Use SKIP_MAIN_UNDEFINED.

8 years agotests/fstatat.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 22:41:28 +0000 (22:41 +0000)]
tests/fstatat.c: use libtests

* tests/fstatat.c: Use SKIP_MAIN_UNDEFINED.

8 years agotests/newfstatat.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 22:40:51 +0000 (22:40 +0000)]
tests/newfstatat.c: use libtests

* tests/newfstatat.c: Use SKIP_MAIN_UNDEFINED.

8 years agotests/fstatat64.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 22:40:17 +0000 (22:40 +0000)]
tests/fstatat64.c: use libtests

* tests/fstatat64.c: Use SKIP_MAIN_UNDEFINED.

8 years agotests/xstatx.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 22:37:42 +0000 (22:37 +0000)]
tests/xstatx.c: use libtests

* tests/xstatx.c: Use SKIP_MAIN_UNDEFINED.

8 years agotests/stat64.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 22:35:52 +0000 (22:35 +0000)]
tests/stat64.c: use libtests

* tests/stat64.c: Use SKIP_MAIN_UNDEFINED.

8 years agotests/stat.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 22:35:11 +0000 (22:35 +0000)]
tests/stat.c: use libtests

* tests/stat.c: Use SKIP_MAIN_UNDEFINED.

8 years agotests/lstat64.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 22:34:30 +0000 (22:34 +0000)]
tests/lstat64.c: use libtests

* tests/lstat64.c: Use SKIP_MAIN_UNDEFINED.

8 years agotests/lstat.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 22:33:26 +0000 (22:33 +0000)]
tests/lstat.c: use libtests

* tests/lstat.c: Use SKIP_MAIN_UNDEFINED.

8 years agotests/fstat64.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 22:32:37 +0000 (22:32 +0000)]
tests/fstat64.c: use libtests

* tests/fstat64.c: Use SKIP_MAIN_UNDEFINED.

8 years agotests/fstat.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 22:31:46 +0000 (22:31 +0000)]
tests/fstat.c: use libtests

* tests/fstat.c: Use SKIP_MAIN_UNDEFINED.

8 years agotests/statfs.c: use libtests
Dmitry V. Levin [Tue, 5 Jan 2016 22:28:51 +0000 (22:28 +0000)]
tests/statfs.c: use libtests

* tests/statfs.c (main): Use perror_msg_and_fail.

8 years agotests/xettimeofday.c: use libtests
Dmitry V. Levin [Mon, 4 Jan 2016 23:59:16 +0000 (23:59 +0000)]
tests/xettimeofday.c: use libtests

* tests/xettimeofday.c (main): Use assert and perror_msg_and_skip.

8 years agotests/utime.c: use libtests
Dmitry V. Levin [Mon, 4 Jan 2016 23:58:19 +0000 (23:58 +0000)]
tests/utime.c: use libtests

* tests/utime.c (main): Use assert and perror_msg_and_skip.

8 years agotests/filter-unavailable.c: use libtests
Dmitry V. Levin [Mon, 4 Jan 2016 23:56:03 +0000 (23:56 +0000)]
tests/filter-unavailable.c: use libtests

* tests/filter-unavailable.c (main): Use perror_msg_and_fail.

8 years agotests/scm_rights.c: use libtests
Dmitry V. Levin [Mon, 4 Jan 2016 23:53:31 +0000 (23:53 +0000)]
tests/scm_rights.c: use libtests

* tests/scm_rights.c (main): Use perror_msg_and_fail and perror_msg_and_skip.

8 years agotests/caps.c: use libtests
Dmitry V. Levin [Mon, 4 Jan 2016 23:51:11 +0000 (23:51 +0000)]
tests/caps.c: use libtests

* tests/caps.c (main): Use perror_msg_and_skip.

8 years agotests/rt_sigqueueinfo.c: use libtests
Dmitry V. Levin [Mon, 4 Jan 2016 23:49:32 +0000 (23:49 +0000)]
tests/rt_sigqueueinfo.c: use libtests

* tests/rt_sigqueueinfo.c (main): Use assert and perror_msg_and_skip.

8 years agotests/umount.c: use libtests
Dmitry V. Levin [Mon, 4 Jan 2016 23:47:59 +0000 (23:47 +0000)]
tests/umount.c: use libtests

* tests/umount.c: Use SKIP_MAIN_UNDEFINED.
(main): Use perror_msg_and_fail.

8 years agotests/umount2.c: use libtests
Dmitry V. Levin [Mon, 4 Jan 2016 23:47:59 +0000 (23:47 +0000)]
tests/umount2.c: use libtests

* tests/umount2.c (main): Use perror_msg_and_fail.

8 years agotests/times.c: use libtests
Dmitry V. Levin [Mon, 4 Jan 2016 23:44:20 +0000 (23:44 +0000)]
tests/times.c: use libtests

* tests/times.c (main): Use perror_msg_and_fail and perror_msg_and_skip.

8 years agotests/times-fail.c: use assert
Dmitry V. Levin [Mon, 4 Jan 2016 23:43:09 +0000 (23:43 +0000)]
tests/times-fail.c: use assert

* tests/times-fail.c (main): Use assert.

8 years agotests/memfd_create.c: use libtests
Dmitry V. Levin [Mon, 4 Jan 2016 23:41:27 +0000 (23:41 +0000)]
tests/memfd_create.c: use libtests

* tests/memfd_create.c: Use SKIP_MAIN_UNDEFINED.

8 years agotests/execveat.c: use libtests
Dmitry V. Levin [Mon, 4 Jan 2016 23:40:24 +0000 (23:40 +0000)]
tests/execveat.c: use libtests

* tests/execveat.c: Use SKIP_MAIN_UNDEFINED.

8 years agotests/xetitimer.c: use libtests
Dmitry V. Levin [Mon, 4 Jan 2016 23:38:19 +0000 (23:38 +0000)]
tests/xetitimer.c: use libtests

* tests/xetitimer.c (main): Use perror_msg_and_skip.

8 years agotests/sysinfo.c: use libtests
Dmitry V. Levin [Mon, 4 Jan 2016 23:36:00 +0000 (23:36 +0000)]
tests/sysinfo.c: use libtests

* tests/sysinfo.c (main): Use perror_msg_and_skip.

8 years agotests/sigaltstack.c: use libtests
Dmitry V. Levin [Mon, 4 Jan 2016 23:34:00 +0000 (23:34 +0000)]
tests/sigaltstack.c: use libtests

* tests/sigaltstack.c (main): Use perror_msg_and_skip.

8 years agotests/adjtimex.c: use libtests
Dmitry V. Levin [Mon, 4 Jan 2016 23:31:09 +0000 (23:31 +0000)]
tests/adjtimex.c: use libtests

* tests/adjtimex.c (main): Use perror_msg_and_skip.

8 years agotests/xet_robust_list.c: use libtests
Dmitry V. Levin [Sun, 3 Jan 2016 22:09:54 +0000 (22:09 +0000)]
tests/xet_robust_list.c: use libtests

* tests/xet_robust_list.c: Use SKIP_MAIN_UNDEFINED.
(main): Use perror_msg_and_skip and tail_alloc.

8 years agotests/umovestr2.c: use libtests
Dmitry V. Levin [Sun, 3 Jan 2016 22:07:40 +0000 (22:07 +0000)]
tests/umovestr2.c: use libtests

* tests/umovestr2.c (main): Use get_page_size and tail_alloc.

8 years agotests/umovestr.c: use libtests
Dmitry V. Levin [Sun, 3 Jan 2016 21:58:52 +0000 (21:58 +0000)]
tests/umovestr.c: use libtests

* tests/umovestr.c (main): Use perror_msg_and_skip and tail_alloc.

8 years agotests/time.c: use libtests
Dmitry V. Levin [Sun, 3 Jan 2016 21:56:05 +0000 (21:56 +0000)]
tests/time.c: use libtests

* tests/time.c: Use SKIP_MAIN_UNDEFINED.
(main): Use perror_msg_and_skip and tail_alloc.

8 years agotests/sendfile64.c: use libtests
Dmitry V. Levin [Sun, 3 Jan 2016 21:54:31 +0000 (21:54 +0000)]
tests/sendfile64.c: use libtests

* tests/sendfile64.c: Use SKIP_MAIN_UNDEFINED.
(main): Use assert, perror_msg_and_fail, perror_msg_and_skip,
and tail_alloc.

8 years agotests/sendfile.c: use libtests
Dmitry V. Levin [Sun, 3 Jan 2016 21:52:58 +0000 (21:52 +0000)]
tests/sendfile.c: use libtests

* tests/sendfile.c: Use SKIP_MAIN_UNDEFINED.
(main): Use assert, perror_msg_and_fail, perror_msg_and_skip,
and tail_alloc.

8 years agotests: include tests.h instead of config.h
Dmitry V. Levin [Sat, 2 Jan 2016 13:28:43 +0000 (13:28 +0000)]
tests: include tests.h instead of config.h

Automatically edit tests/*.c files using the following perl one-liner:

perl -0777 -pi -e \
's/#ifdef HAVE_CONFIG_H\n# include "config\.h"\n#endif\n*/#include "tests.h"\n/' \
tests/*.c

8 years agotests: introduce libtests
Dmitry V. Levin [Sat, 2 Jan 2016 12:05:14 +0000 (12:05 +0000)]
tests: introduce libtests

Introduce tests/libtests.a with common functions for use in tests.

* tests/tests.h: New file.
* tests/error_msg.c: Likewise.
* tests/tail_alloc.c: Likewise.
* tests/get_page_size.c: Likewise.
* tests/Makefile.am (libtests_a_SOURCES, libtests_a_CPPFLAGS,
check_LIBRARIES, LDADD): New variables.
(clock_xettime_LDADD, filter_unavailable_LDADD, mq_LDADD,
pc_LDADD, times_LDADD): Add $(LDADD).
* tests/.gitignore: Add libtests.a.

8 years agotests: enable strace-k.test only for --with-libunwind configurations
Dmitry V. Levin [Fri, 1 Jan 2016 23:09:02 +0000 (23:09 +0000)]
tests: enable strace-k.test only for --with-libunwind configurations

Also, since -k option does not support multiple personalities,
add strace-k.test to XFAIL_TESTS when running mpers tests.

* tests/Makefile.am (MPERS_NAME, LIBUNWIND_TESTS, XFAIL_TESTS_,
XFAIL_TESTS_m32, XFAIL_TESTS_mx32, XFAIL_TESTS): New variables.
[USE_LIBUNWIND] (LIBUNWIND_TESTS): Add strace-k.test.
(TESTS): Replace strace-k.test with $(LIBUNWIND_TESTS).
* bootstrap: Substitute MPERS_NAME variable in tests-*/Makefile.am.
* tests/strace-k.test: Do not check for -k option availability.

8 years agoMove gcc compat macros to gcc_compat.h
Dmitry V. Levin [Thu, 31 Dec 2015 14:19:41 +0000 (14:19 +0000)]
Move gcc compat macros to gcc_compat.h

* defs.h: Include "gcc_compat.h".
(GNUC_PREREQ, ATTRIBUTE_NORETURN, ATTRIBUTE_FORMAT,
ATTRIBUTE_ALIGNED, ATTRIBUTE_PACKED, ATTRIBUTE_MALLOC,
ATTRIBUTE_NOINLINE, ATTRIBUTE_ALLOC_SIZE): Move ...
* gcc_compat.h: ... here.
* Makefile.am (strace_SOURCES): Add gcc_compat.h.

8 years agoMove defs.h from noinst_HEADERS to strace_SOURCES
Dmitry V. Levin [Thu, 31 Dec 2015 14:15:59 +0000 (14:15 +0000)]
Move defs.h from noinst_HEADERS to strace_SOURCES

* Makefile.am (noinst_HEADERS): Move defs.h ...
(strace_SOURCES): ... here.

8 years agotest: remove fork.c and vfork.c
Dmitry V. Levin [Wed, 30 Dec 2015 23:28:35 +0000 (23:28 +0000)]
test: remove fork.c and vfork.c

These manual tests are obsoleted by fork-f.test and vfork-f.test.

* test/fork.c: Remove.
* test/vfork.c: Remove.
* test/Makefile (PROGS): Remove fork and vfork.
* test/.gitignore: Remove fork and vfork.

8 years agotests: add fork-f.test and vfork-f.test
Dmitry V. Levin [Wed, 30 Dec 2015 23:00:43 +0000 (23:00 +0000)]
tests: add fork-f.test and vfork-f.test

Check how strace -f follows fork and vfork syscalls.

* tests/fork-f.c: New file.
* tests/fork-f.test: New test.
* tests/vfork-f.c: New file.
* tests/vfork-f.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add fork-f and vfork-f.
(TESTS): Add fork-f.test and vfork-f.test.
* tests/.gitignore: Add fork-f and vfork-f.

8 years agoSet SYSCALL_NEVER_FAILS flag for getpid, getppid and gettid syscall
Dmitry V. Levin [Tue, 29 Dec 2015 01:06:39 +0000 (01:06 +0000)]
Set SYSCALL_NEVER_FAILS flag for getpid, getppid and gettid syscall

* linux/*/syscallent*.h (getpid, getppid, gettid): Set NF flag.

8 years agoSet SYSCALL_NEVER_FAILS flag for umask syscall
Dmitry V. Levin [Mon, 28 Dec 2015 00:44:47 +0000 (00:44 +0000)]
Set SYSCALL_NEVER_FAILS flag for umask syscall

Linux kernel always ANDs umask argument with 0700 and therefore
this syscall never fails.

* linux/*/syscallent*.h (umask): Set NF flag.

8 years agoalpha, ia64, mips, nios2, powerpc, sparc: always check for syscall error
Dmitry V. Levin [Sun, 27 Dec 2015 00:18:51 +0000 (00:18 +0000)]
alpha, ia64, mips, nios2, powerpc, sparc: always check for syscall error

On architectures that use dedicated registers to report syscall errors,
check for syscall error condition regardless of SYSCALL_NEVER_FAILS flag
in the syscall entry.  On architectures that use negated errno
semantics, there is no way to distinguish a syscall error from a valid
return code that looks like a syscall error, and the check for
SYSCALL_NEVER_FAILS flag remains the only way to tell one case
from another.

* linux/alpha/get_error.c (get_error): Ignore check_errno.
* linux/ia64/get_error.c: Likewise.
* linux/mips/get_error.c: Likewise.
* linux/nios2/get_error.c: Likewise.
* linux/powerpc/get_error.c: Likewise.
* linux/sparc/get_error.c: Likewise.
* linux/sparc64/get_error.c: Likewise.

8 years agoHandle unlikely errors from personality syscall
Dmitry V. Levin [Sun, 27 Dec 2015 00:18:35 +0000 (00:18 +0000)]
Handle unlikely errors from personality syscall

Despite being marked as SYSCALL_NEVER_FAILS, personality syscall still
might report a failure on some architectures due to obscure kernel
bugs.  Check for this unlikely case and let users know that their
kernel has gone bananas.

* personality.c (SYS_FUNC(personality)): Do not parse syscall return
value in case of syserror.

8 years agoDo not truncate return value of get{,e}[ug]id and setfs[ug]id syscalls
Dmitry V. Levin [Sun, 27 Dec 2015 00:18:03 +0000 (00:18 +0000)]
Do not truncate return value of get{,e}[ug]id and setfs[ug]id syscalls

This should not be a user visible change unless the kernel does
something completely unexpected.  In the latter case, let user see
what is going on.

* uid.c (SYS_FUNC(getuid), SYS_FUNC(setfsuid)): Do not truncate
tcp->u_rval to uid_t on exiting syscall, return RVAL_DECODED.

8 years agoEnhance personality syscall decoding
Dmitry V. Levin [Sat, 26 Dec 2015 01:40:50 +0000 (01:40 +0000)]
Enhance personality syscall decoding

* xlat/personality_options.in: Split into ...
* xlat/personality_types.in: ... personality types and ...
* xlat/personality_flags.in: ... personality flags.
* personality.c: Include "xlat/personality_types.h"
and "xlat/personality_flags.h" instead of "xlat/personality_options.h".
(SYS_FUNC(personality)): Print PER_MASK part of personality as
a symbolic value, and the rest of personality as a set of flags.
* tests/personality.c (main): Add more test cases.
* tests/personality.test: Update.

8 years agosh, sh64: fix syscall flags in several syscall entries
Dmitry V. Levin [Fri, 25 Dec 2015 21:02:03 +0000 (21:02 +0000)]
sh, sh64: fix syscall flags in several syscall entries

* linux/sh/syscallent.h (geteuid32, getegid32, setfsuid32, setfsgid32):
Set SYSCALL_NEVER_FAILS flag.
(fchown32): Set TRACE_DESC flag.
* linux/sh64/syscallent.h: Likewise.

8 years agoPrint personality value 0xffffffff properly
Dmitry V. Levin [Fri, 25 Dec 2015 20:56:06 +0000 (20:56 +0000)]
Print personality value 0xffffffff properly

Value 0xffffffff of personality syscall first argument has a special
meaning, it is not a set of personality flags.

* personality.c (SYS_FUNC(personality)): If personality equals
to 0xffffffff, print it verbatim.
* tests/personality.c (main): Test it.

8 years agotests: add personality.test
Dmitry V. Levin [Fri, 25 Dec 2015 00:52:42 +0000 (00:52 +0000)]
tests: add personality.test

* tests/personality.c: New file.
* tests/personality.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add personality.
(TESTS): Add personality.test.
* tests/.gitignore: Add personality.

8 years agoEnhance personality syscall decoding
Dmitry V. Levin [Thu, 24 Dec 2015 16:53:07 +0000 (16:53 +0000)]
Enhance personality syscall decoding

* personality.c (SYS_FUNC(personality)): On entering syscall,
print first argument not as a hex value but as a set of flags.
On exiting syscall, print return code as a set of flags.
* NEWS: Mention this enhancement.

8 years agoSet SYSCALL_NEVER_FAILS flag for personality syscall
Dmitry V. Levin [Fri, 25 Dec 2015 00:34:07 +0000 (00:34 +0000)]
Set SYSCALL_NEVER_FAILS flag for personality syscall

Starting with commit
v2.6.29-6609-g11d06b2a1e5658f448a308aa3beb97bacd64a940, personality
syscall never fails to set the personality, but before commit
v2.6.35-rc1-372-g485d527 it still could return an error.
Starting with that commit, personality syscall never returns an error.

* linux/*/syscallent.h: Set SYSCALL_NEVER_FAILS flag in personality
syscall entries.

8 years agoAdd personality emulation flags
Dmitry V. Levin [Thu, 24 Dec 2015 16:28:24 +0000 (16:28 +0000)]
Add personality emulation flags

* xlat/personality_options.in: Add UNAME26, ADDR_NO_RANDOMIZE,
FDPIC_FUNCPTRS, MMAP_PAGE_ZERO, ADDR_COMPAT_LAYOUT, READ_IMPLIES_EXEC,
ADDR_LIMIT_32BIT, SHORT_INODE, WHOLE_SECONDS, STICKY_TIMEOUTS,
and ADDR_LIMIT_3GB.

8 years agoarc, metag, nios2, or1k, tile: fix build
Dmitry V. Levin [Thu, 24 Dec 2015 15:40:55 +0000 (15:40 +0000)]
arc, metag, nios2, or1k, tile: fix build

Fix build regression introduced by commit
34683e3926d8c2daa368afb805da422ee7043396.

* linux/32/syscallent.h: Add sys_ prefix to ARCH_mmap and mmap.
* linux/arc/syscallent.h: Add sys_ prefix to ARCH_mmap and mmap_pgoff.
* linux/nios2/syscallent.h: Likewise.
* linux/or1k/syscallent.h: Likewise.
* linux/tile/syscallent1.h: Add sys_ prefix to ARCH_mmap and sys_mmap_4koff.
* pathtrace.c (pathtrace_match): Handle SEN_ARCH_mmap.
* NEWS: Mention this build fix.

Reported-by: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
8 years agopackages: remove acl development library from build dependencies
Dmitry V. Levin [Thu, 24 Dec 2015 00:02:36 +0000 (00:02 +0000)]
packages: remove acl development library from build dependencies

Starting with commit v4.9-46-g681452b that removed all references
to acl.h, we no longer use acl development library.

* .travis.yml (addons.apt.packages): Remove libacl1-dev.
* strace.spec (BuildRequires): Remove libacl-devel.

8 years agopackages/x86_64: enable experimental -k option
Dmitry V. Levin [Wed, 23 Dec 2015 04:23:13 +0000 (04:23 +0000)]
packages/x86_64: enable experimental -k option

* debian/control (Build-Depends) [amd64]: Add libunwind-dev.
* strace.spec (BuildRequires) [x86_64]: Add libunwind-devel.

8 years agomaint: post-release administrivia
Dmitry V. Levin [Tue, 22 Dec 2015 04:26:56 +0000 (04:26 +0000)]
maint: post-release administrivia

* NEWS: Add header line for the next release.

8 years agoPrepare for 4.11 release v4.11
Dmitry V. Levin [Mon, 21 Dec 2015 20:21:22 +0000 (20:21 +0000)]
Prepare for 4.11 release

* NEWS: Update for 4.11 release.
* debian/changelog: 4.11-1.
* strace.spec: 4.11-1.

8 years agoSync strace.spec and debian/ with packages
Dmitry V. Levin [Sun, 20 Dec 2015 00:51:51 +0000 (00:51 +0000)]
Sync strace.spec and debian/ with packages

* debian/changelog: Sync with 4.10-3.
* debian/control: Likewise.
* debian/rules: Likewise.
* strace.spec: Sync with 4.10-3.

8 years ago.mailmap: add addresses of Kirill A. Shutemov
Dmitry V. Levin [Sun, 20 Dec 2015 00:25:10 +0000 (00:25 +0000)]
.mailmap: add addresses of Kirill A. Shutemov

* .mailmap: Add both addresses of Kirill A. Shutemov here
to avoid duplications in CREDITS file.

8 years agoNEWS: Prepare for 4.11 release
Dmitry V. Levin [Sat, 19 Dec 2015 20:57:30 +0000 (20:57 +0000)]
NEWS: Prepare for 4.11 release

8 years agoia64: wire up mlock2 syscall
Dmitry V. Levin [Fri, 18 Dec 2015 20:55:40 +0000 (20:55 +0000)]
ia64: wire up mlock2 syscall

* linux/ia64/syscallent.h [1346]: Add mlock2 entry.

8 years agoAdd copyright headers to some files which lack them
Dmitry V. Levin [Thu, 17 Dec 2015 17:56:48 +0000 (17:56 +0000)]
Add copyright headers to some files which lack them

Before this change, all files that exist since 20th century had
copyright headers, while most files that appeared later didn't.  This
change fixes the inconsistency by adding missing copyright headers.

It doesn't mean that copyright headers became maintained.  In my view,
git history provides much better information on this subject and is much
more accurate than copyright headers.

8 years agotests/aio.c: include <time.h>
Dmitry V. Levin [Wed, 16 Dec 2015 02:00:01 +0000 (02:00 +0000)]
tests/aio.c: include <time.h>

* tests/aio.c: Include <time.h> for struct timespec.

Reported-by: Szabolcs Nagy <nsz@port70.net>
8 years agompers.sh: switch to DWARF version 2 format for better portability
Dmitry V. Levin [Wed, 16 Dec 2015 01:26:27 +0000 (01:26 +0000)]
mpers.sh: switch to DWARF version 2 format for better portability

* mpers.sh (CFLAGS): Replace -gdwarf-4 with -gdwarf-2.

8 years agompers.awk: add support for DWARF version 2 format
Dmitry V. Levin [Wed, 16 Dec 2015 01:25:10 +0000 (01:25 +0000)]
mpers.awk: add support for DWARF version 2 format

* mpers.awk: Handle DW_AT_data_member_location in DWARF v2 format.