4e3ded36ef
tests/bpf: fix build with incompatibly old linux/bpf.h and/or gcc
...
* configure.ac: Check how union bpf_attr.log_buf initialization works.
* tests/bpf.c: Check for HAVE_UNION_BPF_ATTR_LOG_BUF.
2015-07-29 22:53:07 +00:00
3456bcca67
Implement sched_getattr and sched_setattr syscalls decoding
...
* xlat/sched_flags.in: New file.
* sched.c: Include "xlat/sched_flags.h".
(print_sched_attr, sys_sched_setattr, sys_sched_getattr): New functions.
* linux/dummy.h (sys_sched_getattr, sys_sched_setattr): Remove.
* tests/sched_xetattr.c: New file.
* tests/sched_xetattr.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add sched_xetattr.
(TESTS): Add sched_xetattr.test.
* tests/.gitignore: Add sched_xetattr.
2015-07-29 09:18:26 +00:00
95b84ea641
Implement memfd_create syscall decoding
...
* memfd_create.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* linux/dummy.h (sys_memfd_create): Remove.
* pathtrace.c (pathtrace_match): Add SEN_memfd_create.
* xlat/memfd_create_flags.in: New file.
* tests/memfd_create.c: New file.
* tests/memfd_create.expected: Likewise.
* tests/memfd_create.test: New test.
* tests/Makefile.am: (check_PROGRAMS): Add memfd_create.
(TESTS): Add memfd_create.test.
(EXTRA_DIST): Add memfd_create.expected.
* tests/.gitignore: Add memfd_create.
2015-07-29 09:18:26 +00:00
Elliott Hughes
e46534351d
Fix builds where HAVE_MQUEUE_H isn't defined
...
Android doesn't have <mqueue.h>.
* ipc.c (sys_mq_open) [!HAVE_MQUEUE_H]: Fix printaddr invocation.
2015-07-28 22:40:01 +00:00
afa10d877c
tests/restart_syscall: skip if nanosleep looks uninterrupted
...
* tests/restart_syscall.test: Skip if restart_syscall is not detected
and nanosleep syscall looks uninterrupted.
2015-07-27 15:27:43 +00:00
7c2210190a
Implement execveat syscall decoding
...
* execve.c (decode_execve): New function.
(sys_execve): Use it.
(sys_execveat): New function.
* linux/dummy.h (sys_execveat): Remove.
* tests/execveat.c: New file.
* tests/execveat.expected: Likewise.
* tests/execveat-v.expected: Likewise.
* tests/execveat.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add execveat.
(TESTS): Add execveat.test.
(EXTRA_DIST): Add execveat.expected and execveat-v.expected.
* tests/.gitignore: Add execveat.
2015-07-27 15:27:43 +00:00
4ff687bb31
execve: fix support of personalities with different word size
...
* execve.c (printargc): Do not assume that host and target pointers have
the same size.
* tests/execve.c: New file.
* tests/execve.expected: Likewise.
* tests/execve-v.expected: Likewise.
* tests/execve.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add execve.
(TESTS): Add execve.test.
(EXTRA_DIST): Add execve.expected and execve-v.expected.
* tests/.gitignore: Add execve.
2015-07-27 15:27:43 +00:00
ddb53dd142
Implement bpf syscall decoding
...
* bpf.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* configure.ac (AC_CHECK_HEADERS): Add linux/bpf.h.
* linux/dummy.h (sys_bpf): Remove.
* pathtrace.c (pathtrace_match): Add SEN_bpf.
* xlat/bpf_commands.in: New file.
* xlat/bpf_map_types.in: New file.
* xlat/bpf_map_update_elem_flags.in: New file.
* xlat/bpf_prog_types.in: New file.
* tests/bpf.c: New file.
* tests/bpf.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add bpf.
(TESTS): Add bpf.test.
* tests/.gitignore: Add bpf.
2015-07-27 15:27:43 +00:00
3691562e7d
prctl: fix decoding of unrecognized commands
...
The use of printargs introduced by commit v4.10-179-g210a6b6 is wrong:
when the first argument is already printed, printargs cannot be called.
* prctl.c (print_prctl_args): New function.
(sys_prctl): Use it.
2015-07-25 09:55:02 +00:00
f8b49133b7
Macroize -m32/-mx32 configure checks
...
Prepare for additional configure checks that would be needed
for new multiple personalities support.
* m4/mpers.m4: New file.
* configure.ac: Use it.
2015-07-23 11:39:32 +00:00
04fcb99972
tests/uid: import uid overflow check from tests/uid16
...
* tests/uid.c (main): Skip if the uid returned by getuid matches
/proc/sys/kernel/overflowuid.
2015-07-22 19:47:39 +00:00
ae61067ce6
sh64: fix inotify_{add,rm}_watch syscall entries
...
* linux/sh64/syscallent.h (inotify_add_watch, inotify_rm_watch):
Set sys_func.
2015-07-21 19:09:35 +00:00
1e0efbb18d
microblaze: fix several syscall entries
...
* linux/microblaze/syscallent.h (signalfd4, eventfd2, epoll_create1,
dup3, pipe2, inotify_init1, recvmmsg): Set sys_func.
2015-07-21 19:09:35 +00:00
be547c19da
hppa: fix several syscall entries
...
* linux/hppa/syscallent.h (remap_file_pages, mq_open, mq_unlink,
mq_timedsend, mq_timedreceive, mq_notify, mq_getsetattr,
clock_nanosleep, signalfd, timerfd): Set sys_func.
2015-07-21 19:09:35 +00:00
d00eb1f58d
ia64: fix getpagesize syscall entry
...
* linux/ia64/syscallent.h (getpagesize): Fux nargs.
2015-07-21 19:09:35 +00:00
76c9f0ecb7
avr32: fix fstatat64 syscall entry
...
* linux/avr32/syscallent.h (fstatat64): Set sys_func.
2015-07-21 19:09:35 +00:00
ecabdcf959
alpha: fix 2 dummy osf syscall entries
...
* linux/alpha/syscallent.h (osf_set_program_attributes): Fix nargs.
(osf_sigstack): Fix nargs and sys_name.
2015-07-21 19:09:35 +00:00
82841f7e7e
alpha, arm, ia64, mips, sh64: fix semop syscall entries
...
* linux/alpha/syscallent.h (semop): Fix nargs, set sys_func.
* linux/ia64/syscallent.h (semop): Set sys_func.
* linux/mips/syscallent-n32.h (semop): Likewise.
* linux/mips/syscallent-n64.h (semop): Likewise.
* linux/arm/syscallent.h (semop): Fix nargs.
* linux/sh64/syscallent.h (semop): Likewise.
2015-07-21 19:09:35 +00:00
ece9ce6fea
m68k: fix getpagesize decoding
...
* linux/m68k/syscallent.h (getpagesize): Set sys_func.
* mem.c [M68K] (sys_getpagesize): Define.
2015-07-21 19:09:35 +00:00
f1548d93f1
tests/ip_mreq: skip if basic setsockopt operations fail
...
* tests/ip_mreq.c (main): Return 77 if basic
IP_ADD_MEMBERSHIP/IP_DROP_MEMBERSHIP options cannot be set.
2015-07-21 19:09:35 +00:00
95eaf19644
tests: use -lpthread instead of -pthread
...
On some obscure systems, -lpthread is more likely to work than -pthread.
* tests/Makefile.am (filter_unavailable_LDFLAGS): Rename to
filter_unavailable_LDADD and change to -lpthread.
2015-07-21 19:09:35 +00:00
ce93bbdef1
mips o32: fix utimensat syscall entry
...
* linux/mips/syscallent-o32.h (utimensat): set sys_flags and sys_func.
2015-07-21 19:09:35 +00:00
ba8b9556bb
linux/mips/syscallent-compat.h: use designated initializers
...
Change linux/mips/syscallent-compat.h to use designated initializers
like normal syscallent.h files.
* linux/mips/syscallent-compat.h: Use designated initializers.
2015-07-21 19:09:35 +00:00
a3eb3b410d
linux/mips/syscallent-compat.h: fix initalization of empty entries
...
This complements commit 140ecf876686d49085c6eb3a2306e2ea6ea641bc.
* linux/mips/syscallent-compat.h: Fix initalization of empty entries.
2015-07-21 19:09:35 +00:00
716fb20263
Remove unused parsers of getmsg and putmsg
...
* stream.c [SPARC || SPARC64] (sys_putmsg, sys_getmsg): Remove.
Stop including "xlat/msgflags.h".
* xlat/msgflags.in: Remove.
2015-07-20 22:41:56 +00:00
fa6c0879c7
sigreturn: make use of RVAL_DECODED
...
* sigreturn.c (arch_sigreturn): New function.
(sys_sigreturn): Use it. Return RVAL_DECODED.
* linux/alpha/arch_sigreturn.c: Update.
* linux/crisv10/arch_sigreturn.c: Likewise.
* linux/m68k/arch_sigreturn.c: Likewise.
* linux/microblaze/arch_sigreturn.c: Likewise.
* linux/x86_64/arch_sigreturn.c: Likewise.
2015-07-20 22:03:07 +00:00
eebb5616bf
or1k_atomic.c: make use of RVAL_DECODED
...
* or1k_atomic.c (sys_or1k_atomic): Update for RVAL_DECODED.
2015-07-20 22:03:07 +00:00
57ae04e402
Update openat parser for the RVAL_DECODED change
...
* open.c (sys_openat): Update for RVAL_DECODED.
2015-07-20 22:03:07 +00:00
d9e87921de
bjm.c: make use of RVAL_DECODED
...
* bjm.c (sys_create_module, sys_delete_module, sys_init_module,
sys_finit_module): Update for RVAL_DECODED.
2015-07-20 22:03:07 +00:00
0b2eabeed4
access.c: make use of RVAL_DECODED
...
* access.c (decode_access, sys_faccessat): Update for RVAL_DECODED.
2015-07-20 22:03:07 +00:00
8aa2a81233
affinity.c: make use of RVAL_DECODED
...
* affinity.c (sys_sched_setaffinity): Update for RVAL_DECODED.
2015-07-20 22:03:07 +00:00
a52375f748
affinity.c: use printaddr and umove_or_printaddr
...
* affinity.c (print_affinitylist): Use printaddr and umove_or_printaddr.
(sys_sched_getaffinity): Remove redundant u_rval check.
2015-07-20 22:03:07 +00:00
07eaf50848
aio.c: enhance io_* syscalls decoding
...
* aio.c (sys_io_setup): Use printnum_int64 and printnum_long.
(sys_io_destroy, sys_io_submit): Update for RVAL_DECODED.
(sys_io_submit): Use umove_or_printaddr and printaddr.
Enclose iocb array in square brackets.
Change to traditional structure output format.
(print_io_event): New function.
(sys_io_cancel, sys_io_getevents): Use it.
(sys_io_cancel): Use umove_or_printaddr and printaddr.
(sys_io_getevents): Use printaddr.
2015-07-20 22:03:07 +00:00
4b6fc98816
cacheflush.c: make use of RVAL_DECODED
...
* cacheflush.c (sys_cacheflush): Update for RVAL_DECODED.
2015-07-20 22:03:07 +00:00
bb16ee1f65
cacheflush.c: use printaddr
...
* cacheflush.c (sys_cacheflush): Use printaddr.
2015-07-20 22:03:07 +00:00
ff33aac4e9
capability.c: make use of RVAL_DECODED
...
* capability.c (sys_capset): Update for RVAL_DECODED.
2015-07-20 22:03:07 +00:00
c70da7c15e
capability.c: use printaddr and umove_or_printaddr
...
* capability.c (get_cap_header): Use printaddr.
(print_cap_data): Use printaddr and umove_or_printaddr.
2015-07-20 22:03:07 +00:00
474083a189
chdir.c: make use of RVAL_DECODED
...
* chdir.c (sys_chdir): Update for RVAL_DECODED.
2015-07-20 22:03:07 +00:00
a4d45720d0
chmod.c: make use of RVAL_DECODED
...
* chmod.c (decode_chmod): Change to return void.
(sys_chmod, sys_fchmodat): Update callers. Update for RVAL_DECODED.
(sys_fchmod): Update for RVAL_DECODED.
2015-07-20 22:03:07 +00:00
10e407dfb3
clone.c: make use of RVAL_DECODED
...
* clone.c (sys_setns, sys_unshare, sys_fork): Update for RVAL_DECODED.
2015-07-20 22:03:07 +00:00
cbabaf9141
Alias sys_epoll_create to printargs_ld
...
* desc.c (sys_epoll_create): Remove.
* linux/dummy.h (sys_epoll_create): Alias to printargs_ld.
2015-07-20 22:03:07 +00:00
df0c18c4a3
desc.c: make use of RVAL_DECODED
...
* desc.c (sys_flock, sys_close, sys_dup, do_dup2, sys_epoll_create1,
sys_epoll_ctl, do_eventfd, sys_perf_event_open): Update
for RVAL_DECODED.
2015-07-20 22:03:07 +00:00
e6019fd424
desc.c: do not use xmalloc, use umove_or_printaddr and printaddr
...
* desc.c (printflock64, printflock): Use umove_or_printaddr.
(decode_select): Do not use xmalloc. Use umoven_or_printaddr
and printaddr.
(sys_oldselect): Use printaddr.
(sys_epoll_ctl): Use umoven_or_printaddr and printaddr.
(print_epoll_event_array): New function.
(sys_epoll_wait_common): Use it.
(sys_pselect6): Use umove_or_printaddr.
(sys_eventfd2): Use printaddr.
2015-07-20 22:03:07 +00:00
d4b3f6a8e2
xlat/epollctls.in: add default values
...
* xlat/epollctls.in (EPOLL_CTL_ADD, EPOLL_CTL_DEL, EPOLL_CTL_MOD): Add
default values.
2015-07-20 22:03:07 +00:00
3ef50217c1
dirent.c: do not use xmalloc
...
* dirent.c (print_old_dirent): Use umove_or_printaddr.
(sys_readdir): Use printaddr.
(sys_getdents, sys_getdents64): Do not use xmalloc for dirents,
treat malloc failure the same way as umoven failure. Use printaddr.
2015-07-20 22:03:07 +00:00
7e56b4e5ae
execve.c: make use of RVAL_DECODED
...
* execve.c (sys_execve, sys_execv): Update for RVAL_DECODED.
2015-07-20 22:03:07 +00:00
ad18132608
execve.c: use printaddr and umove_or_printaddr
...
* execve.c (printargv): Use umoven_or_printaddr.
(sys_execve, sys_execv): Use printaddr.
2015-07-20 22:03:07 +00:00
429c6775d4
fadvise.c: make use of RVAL_DECODED
...
* fadvise.c (sys_fadvise64, sys_fadvise64_64): Update for RVAL_DECODED.
2015-07-20 22:03:07 +00:00
5dcf3b1642
fallocate.c: make use of RVAL_DECODED
...
* fallocate.c (sys_fallocate): Update for RVAL_DECODED.
2015-07-20 22:03:07 +00:00
a3a7ffee58
fanotify.c: make use of RVAL_DECODED
...
* fanotify.c (sys_fanotify_init, sys_fanotify_mark): Update
for RVAL_DECODED.
2015-07-20 22:03:07 +00:00