Upgrade strace to 4.16 from 4.14.

Noteworthy changes in release 4.16 (2017-02-14)

* Improvements
  * Implemented syscall return value injection (-e inject=SET:retval= option).
  * Implemented signal injection (-e inject=SET:signal= option).
  * Implemented decoding of SUID_DUMP_* constants in PR_[GS]ET_DUMPABLE.
  * Implemented decoding of all SG_* ioctl commands.
  * Implemented decoding of ustat syscall.
  * Implemented decoding of BPF_OBJ_PIN, BPF_OBJ_GET, BPF_PROG_ATTACH,
    and BPF_PROG_DETACH commands of bpf syscall.
  * Enhanced decoding of sg_io_hdr and sg_io_v4 structures.
  * Enhanced decoding of get_robust_list, getrandom, io_submit, set_robust_list
    syscalls.
  * Enhanced decoding of entities of kernel long type on x32 and mips n32 ABIs.
  * Updated lists of IP_*, IPV6_*, and LOOP_* constants.
  * Updated lists of ioctl commands from Linux 4.10.
  * Added decoding of recently added syscalls on avr32, microblaze, ppc,
    and ppc64.

* Bug fixes
  * Fixed pathmatch of oldselect syscall on 64-bit architectures.
  * Fixed decoding of mmap2 syscall on s390 when arguments are not available.
  * Fixed decoding of kexec_file_load, mprotect, pkey_mprotect, prctl, preadv*,
    and pwritev* syscalls on x32.
  * Fixed printing of string arguments of getxattr and setxattr syscalls
    when -s option is used to limit the printed string size.
  * Fixed decoding of ifconf, ifreq, and loop_info structures on non-native
    personalities.
  * Fixed decoding of SG_* and LOOP_* ioctl commands.
  * Fixed build on mips with musl libc.
  * Fixed cross-building of ioctlsort.
  * Applied minor formatting fixes to the manual page.

Noteworthy changes in release 4.15 (2016-12-14)

* Changes in behavior
  * Time stamps are now printed according to ISO 8601.
  * Changed output format of val3 parameter of futex FUTEX_WAKE_OP operation.
  * The last argument of mincore, sched_getaffinity, and sched_setaffinity
    syscalls is now formatted as an array.

* Improvements
  * Implemented syscall fault injection (-e fault=... option).
  * Implemented decoding of DM_* ioctl commands.
  * Implemented decoding of attr parameter of perf_event_open syscall.
  * Implemented decoding of pkey_alloc, pkey_free, and pkey_mprotect syscalls.
  * Implemented dumping of mq_timedsend and mq_timedreceive syscalls.
  * Implemented decoding of PR_SET_FP_MODE and PR_GET_FP_MODE operations
    of prctl syscall.
  * Implemented PTRACE_GETREGS API support on m68k.
  * Updated lists of ARCH_*, BPF_*, BTRFS_*, FALLOC_*, MS_*, *_MAGIC,
    and V4L2_* constants.
  * Updated lists of ioctl commands from Linux 4.9.
  * Added decoding of recently added syscalls on arc, x32, and xtensa.
  * Enhanced manual page.

* Bug fixes
  * Fixed corner cases in decoding of exit, exit_group, futimesat, getgroups,
    getresuid, init_module, inotify_init1, kcmp, kexec_load, lookup_dcookie,
    mq_getsetattr, mq_notify, mq_open, mq_timedreceive, mq_timedsend,
    name_to_handle_at, prctl, process_vm_readv, process_vm_writev, setfsuid,
    setgroups, setns, unshare, and utimes syscalls.
  * Fixed handling of verbose flag in printing of controls array
    of struct v4l2_ext_controls.
  * Fixed omission of field names in the output of capability, sigaction,
    sigevent, statfs, timespec, timeval, and utimbuf structures.
  * Fixed printing of unknown syscalls in siginfo structure.
  * Fixed decoding of ioctl constants on m68k.
  * Fixed cris architecture support.
  * Fixed cross build when host compiler does not support the same
    set of warning flags as the cross compiler.
  * Fixed build on SLE10 and SLE11.

Bug: N/A
Test: manual
Change-Id: I590bf5db1652aa1dfdc0eb16e30fd97c82af2261
diff --git a/tests/.gitignore b/tests/.gitignore
deleted file mode 100644
index 5b33416..0000000
--- a/tests/.gitignore
+++ /dev/null
@@ -1,323 +0,0 @@
-*.log
-*.log.*
-*.o
-*.tmp
-*.tmp-*
-*.tmp.*
-*.trs
-_newselect
-accept
-accept4
-access
-acct
-addkey
-adjtimex
-aio
-alarm
-attach-f-p
-attach-p-cmd-cmd
-attach-p-cmd-p
-bpf
-brk
-btrfs
-caps
-chmod
-chown
-chown32
-chroot
-clock_adjtime
-clock_nanosleep
-clock_xettime
-copy_file_range
-count-f
-creat
-dup
-dup2
-dup3
-epoll_create
-epoll_create1
-epoll_ctl
-epoll_pwait
-epoll_wait
-eventfd
-execve
-execve-v
-execveat
-execveat-v
-faccessat
-fadvise64
-fadvise64_64
-fallocate
-fanotify_mark
-fchdir
-fchmod
-fchmodat
-fchown
-fchown32
-fchownat
-fcntl
-fcntl64
-fdatasync
-file_handle
-file_ioctl
-filter-unavailable
-flock
-fork-f
-fstat
-fstat64
-fstatat64
-fstatfs
-fstatfs64
-fsync
-ftruncate
-ftruncate64
-futex
-futimesat
-get_mempolicy
-getcpu
-getcwd
-getdents
-getdents64
-getegid
-getegid32
-geteuid
-geteuid32
-getgid
-getgid32
-getgroups
-getgroups32
-getpeername
-getpgrp
-getrandom
-getresgid
-getresgid32
-getresuid
-getresuid32
-getrlimit
-getrusage
-getsid
-getsockname
-getuid
-getuid32
-getxxid
-inet-cmsg
-ioctl
-ioctl_block
-ioctl_evdev
-ioctl_evdev-v
-ioctl_mtd
-ioctl_rtc
-ioctl_rtc-v
-ioctl_uffdio
-ioctl_v4l2
-ioperm
-iopl
-ip_mreq
-ipc
-ipc_msg
-ipc_msgbuf
-ipc_sem
-ipc_shm
-keyctl
-kill
-ksysent
-ksysent.h
-lchown
-lchown32
-libtests.a
-link
-linkat
-llseek
-lseek
-lstat
-lstat64
-mbind
-membarrier
-memfd_create
-migrate_pages
-mincore
-mkdir
-mkdirat
-mknod
-mknodat
-mlock
-mlock2
-mlockall
-mmap
-mmap64
-mmsg
-mmsg-silent
-mmsg_name
-mmsg_name-v
-mount
-move_pages
-mq
-msg_control
-msg_control-v
-msg_name
-munlockall
-nanosleep
-net-accept-connect
-net-icmp_filter
-net-sockaddr
-net-y-unix
-net-yy-inet
-net-yy-netlink
-net-yy-unix
-netlink_inet_diag
-netlink_netlink_diag
-netlink_protocol
-netlink_unix_diag
-newfstatat
-nsyscalls
-old_mmap
-oldselect
-open
-openat
-pause
-pc
-perf_event_open
-personality
-pipe
-poll
-ppoll
-prctl-seccomp-filter-v
-prctl-seccomp-strict
-pread64-pwrite64
-preadv
-preadv-pwritev
-preadv2-pwritev2
-prlimit64
-pselect6
-ptrace
-pwritev
-quotactl
-quotactl-v
-quotactl-xfs
-quotactl-xfs-v
-read-write
-readahead
-readdir
-readlink
-readlinkat
-readv
-reboot
-recvfrom
-recvmmsg-timeout
-recvmsg
-redirect-fds
-remap_file_pages
-rename
-renameat
-renameat2
-request_key
-restart_syscall
-rmdir
-rt_sigpending
-rt_sigprocmask
-rt_sigqueueinfo
-rt_sigsuspend
-rt_sigtimedwait
-rt_tgsigqueueinfo
-sched_get_priority_mxx
-sched_rr_get_interval
-sched_xetaffinity
-sched_xetattr
-sched_xetparam
-sched_xetscheduler
-sched_yield
-scm_rights
-seccomp-filter
-seccomp-filter-v
-seccomp-strict
-select
-semop
-sendfile
-sendfile64
-set_mempolicy
-set_ptracer_any
-setdomainname
-setfsgid
-setfsgid32
-setfsuid
-setfsuid32
-setgid
-setgid32
-setgroups
-setgroups32
-sethostname
-setregid
-setregid32
-setresgid
-setresgid32
-setresuid
-setresuid32
-setreuid
-setreuid32
-setrlimit
-setuid
-setuid32
-shmxt
-shutdown
-sigaction
-sigaltstack
-siginfo
-signal_receive
-signalfd4
-sigreturn
-sleep
-socketcall
-splice
-stack-fcall
-stat
-stat64
-statfs
-statfs64
-swap
-symlink
-symlinkat
-sync
-sync_file_range
-sync_file_range2
-sysinfo
-syslog
-tee
-time
-timer_create
-timer_xettime
-timerfd_xettime
-times
-times-fail
-truncate
-truncate64
-ugetrlimit
-uio
-umask
-umount
-umount2
-umovestr
-umovestr2
-umovestr3
-uname
-unix-pair-send-recv
-unix-pair-sendto-recvfrom
-unlink
-unlinkat
-userfaultfd
-utime
-utimensat
-utimes
-vfork-f
-vhangup
-vmsplice
-wait4
-wait4-v
-waitid
-waitid-v
-waitpid
-xattr
-xet_robust_list
-xetitimer
-xetpgid
-xetpriority
-xettimeofday
diff --git a/tests/Makefile b/tests/Makefile
new file mode 100644
index 0000000..53b7a6c
--- /dev/null
+++ b/tests/Makefile
@@ -0,0 +1,5800 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# tests/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+# Automake input for strace tests.
+#
+# Copyright (c) 2011-2016 Dmitry V. Levin <[email protected]>
+# 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.
+
+# scno.h make rules for strace.
+#
+# Copyright (c) 2017 Dmitry V. Levin <[email protected]>
+# 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.
+
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/strace
+pkgincludedir = $(includedir)/strace
+pkglibdir = $(libdir)/strace
+pkglibexecdir = $(libexecdir)/strace
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = x86_64-pc-linux-gnu
+host_triplet = x86_64-pc-linux-gnu
+check_PROGRAMS = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(EXEEXT) \
+	access$(EXEEXT) acct$(EXEEXT) add_key$(EXEEXT) \
+	adjtimex$(EXEEXT) aio$(EXEEXT) alarm$(EXEEXT) answer$(EXEEXT) \
+	attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \
+	attach-p-cmd-cmd$(EXEEXT) attach-p-cmd-p$(EXEEXT) bpf$(EXEEXT) \
+	brk$(EXEEXT) btrfs$(EXEEXT) caps$(EXEEXT) caps-abbrev$(EXEEXT) \
+	chmod$(EXEEXT) chown$(EXEEXT) chown32$(EXEEXT) chroot$(EXEEXT) \
+	clock_adjtime$(EXEEXT) clock_nanosleep$(EXEEXT) \
+	clock_xettime$(EXEEXT) copy_file_range$(EXEEXT) \
+	count-f$(EXEEXT) creat$(EXEEXT) delete_module$(EXEEXT) \
+	dup$(EXEEXT) dup2$(EXEEXT) dup3$(EXEEXT) epoll_create$(EXEEXT) \
+	epoll_create1$(EXEEXT) epoll_ctl$(EXEEXT) epoll_pwait$(EXEEXT) \
+	epoll_wait$(EXEEXT) erestartsys$(EXEEXT) eventfd$(EXEEXT) \
+	execve$(EXEEXT) execve-v$(EXEEXT) execveat$(EXEEXT) \
+	execveat-v$(EXEEXT) faccessat$(EXEEXT) fadvise64$(EXEEXT) \
+	fadvise64_64$(EXEEXT) fallocate$(EXEEXT) \
+	fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) fchdir$(EXEEXT) \
+	fchmod$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \
+	fchown32$(EXEEXT) fchownat$(EXEEXT) fcntl$(EXEEXT) \
+	fcntl64$(EXEEXT) fdatasync$(EXEEXT) file_handle$(EXEEXT) \
+	file_ioctl$(EXEEXT) filter-unavailable$(EXEEXT) \
+	finit_module$(EXEEXT) flock$(EXEEXT) fork-f$(EXEEXT) \
+	fstat$(EXEEXT) fstat64$(EXEEXT) fstatat64$(EXEEXT) \
+	fstatfs$(EXEEXT) fstatfs64$(EXEEXT) fsync$(EXEEXT) \
+	ftruncate$(EXEEXT) ftruncate64$(EXEEXT) futex$(EXEEXT) \
+	futimesat$(EXEEXT) get_mempolicy$(EXEEXT) getcpu$(EXEEXT) \
+	getcwd$(EXEEXT) getdents$(EXEEXT) getdents64$(EXEEXT) \
+	getegid$(EXEEXT) getegid32$(EXEEXT) geteuid$(EXEEXT) \
+	geteuid32$(EXEEXT) getgid$(EXEEXT) getgid32$(EXEEXT) \
+	getgroups$(EXEEXT) getgroups32$(EXEEXT) getpeername$(EXEEXT) \
+	getpgrp$(EXEEXT) getrandom$(EXEEXT) getresgid$(EXEEXT) \
+	getresgid32$(EXEEXT) getresuid$(EXEEXT) getresuid32$(EXEEXT) \
+	getrlimit$(EXEEXT) getrusage$(EXEEXT) getsid$(EXEEXT) \
+	getsockname$(EXEEXT) getuid$(EXEEXT) getuid32$(EXEEXT) \
+	getxxid$(EXEEXT) inet-cmsg$(EXEEXT) init_module$(EXEEXT) \
+	inotify$(EXEEXT) inotify_init1$(EXEEXT) ioctl$(EXEEXT) \
+	ioctl_block$(EXEEXT) ioctl_dm$(EXEEXT) ioctl_dm-v$(EXEEXT) \
+	ioctl_evdev$(EXEEXT) ioctl_evdev-v$(EXEEXT) \
+	ioctl_loop$(EXEEXT) ioctl_loop-nv$(EXEEXT) \
+	ioctl_loop-v$(EXEEXT) ioctl_mtd$(EXEEXT) ioctl_rtc$(EXEEXT) \
+	ioctl_rtc-v$(EXEEXT) ioctl_scsi$(EXEEXT) \
+	ioctl_sg_io_v3$(EXEEXT) ioctl_sg_io_v4$(EXEEXT) \
+	ioctl_sock_gifconf$(EXEEXT) ioctl_uffdio$(EXEEXT) \
+	ioctl_v4l2$(EXEEXT) ioperm$(EXEEXT) iopl$(EXEEXT) \
+	ioprio$(EXEEXT) ip_mreq$(EXEEXT) ipc$(EXEEXT) ipc_msg$(EXEEXT) \
+	ipc_msgbuf$(EXEEXT) ipc_sem$(EXEEXT) ipc_shm$(EXEEXT) \
+	kcmp$(EXEEXT) kexec_file_load$(EXEEXT) kexec_load$(EXEEXT) \
+	keyctl$(EXEEXT) kill$(EXEEXT) ksysent$(EXEEXT) lchown$(EXEEXT) \
+	lchown32$(EXEEXT) link$(EXEEXT) linkat$(EXEEXT) \
+	llseek$(EXEEXT) lookup_dcookie$(EXEEXT) lseek$(EXEEXT) \
+	lstat$(EXEEXT) lstat64$(EXEEXT) mbind$(EXEEXT) \
+	membarrier$(EXEEXT) memfd_create$(EXEEXT) \
+	migrate_pages$(EXEEXT) mincore$(EXEEXT) mkdir$(EXEEXT) \
+	mkdirat$(EXEEXT) mknod$(EXEEXT) mknodat$(EXEEXT) \
+	mlock$(EXEEXT) mlock2$(EXEEXT) mlockall$(EXEEXT) mmap$(EXEEXT) \
+	mmap64$(EXEEXT) mmsg$(EXEEXT) mmsg-silent$(EXEEXT) \
+	mmsg_name$(EXEEXT) mmsg_name-v$(EXEEXT) mount$(EXEEXT) \
+	move_pages$(EXEEXT) mq$(EXEEXT) mq_sendrecv$(EXEEXT) \
+	mq_sendrecv-read$(EXEEXT) mq_sendrecv-write$(EXEEXT) \
+	msg_control$(EXEEXT) msg_control-v$(EXEEXT) msg_name$(EXEEXT) \
+	munlockall$(EXEEXT) nanosleep$(EXEEXT) \
+	net-accept-connect$(EXEEXT) net-icmp_filter$(EXEEXT) \
+	net-sockaddr$(EXEEXT) net-y-unix$(EXEEXT) net-yy-inet$(EXEEXT) \
+	net-yy-netlink$(EXEEXT) net-yy-unix$(EXEEXT) \
+	netlink_inet_diag$(EXEEXT) netlink_netlink_diag$(EXEEXT) \
+	netlink_protocol$(EXEEXT) netlink_unix_diag$(EXEEXT) \
+	newfstatat$(EXEEXT) nsyscalls$(EXEEXT) old_mmap$(EXEEXT) \
+	oldfstat$(EXEEXT) oldlstat$(EXEEXT) oldselect$(EXEEXT) \
+	oldstat$(EXEEXT) open$(EXEEXT) openat$(EXEEXT) pause$(EXEEXT) \
+	pc$(EXEEXT) perf_event_open$(EXEEXT) \
+	perf_event_open_nonverbose$(EXEEXT) \
+	perf_event_open_unabbrev$(EXEEXT) personality$(EXEEXT) \
+	pipe$(EXEEXT) pipe2$(EXEEXT) pkey_alloc$(EXEEXT) \
+	pkey_free$(EXEEXT) pkey_mprotect$(EXEEXT) poll$(EXEEXT) \
+	ppoll$(EXEEXT) prctl-arg2-intptr$(EXEEXT) \
+	prctl-dumpable$(EXEEXT) prctl-name$(EXEEXT) \
+	prctl-no-args$(EXEEXT) prctl-pdeathsig$(EXEEXT) \
+	prctl-seccomp-filter-v$(EXEEXT) prctl-seccomp-strict$(EXEEXT) \
+	prctl-securebits$(EXEEXT) prctl-tid_address$(EXEEXT) \
+	prctl-tsc$(EXEEXT) pread64-pwrite64$(EXEEXT) preadv$(EXEEXT) \
+	preadv-pwritev$(EXEEXT) preadv2-pwritev2$(EXEEXT) \
+	print_maxfd$(EXEEXT) printstr$(EXEEXT) prlimit64$(EXEEXT) \
+	process_vm_readv$(EXEEXT) process_vm_writev$(EXEEXT) \
+	pselect6$(EXEEXT) ptrace$(EXEEXT) pwritev$(EXEEXT) \
+	qual_fault$(EXEEXT) qual_inject-error-signal$(EXEEXT) \
+	qual_inject-retval$(EXEEXT) qual_inject-signal$(EXEEXT) \
+	qual_signal$(EXEEXT) quotactl$(EXEEXT) quotactl-v$(EXEEXT) \
+	quotactl-xfs$(EXEEXT) quotactl-xfs-v$(EXEEXT) \
+	read-write$(EXEEXT) readahead$(EXEEXT) readdir$(EXEEXT) \
+	readlink$(EXEEXT) readlinkat$(EXEEXT) readv$(EXEEXT) \
+	reboot$(EXEEXT) recvfrom$(EXEEXT) recvmmsg-timeout$(EXEEXT) \
+	recvmsg$(EXEEXT) redirect-fds$(EXEEXT) \
+	remap_file_pages$(EXEEXT) rename$(EXEEXT) renameat$(EXEEXT) \
+	renameat2$(EXEEXT) request_key$(EXEEXT) \
+	restart_syscall$(EXEEXT) rmdir$(EXEEXT) rt_sigpending$(EXEEXT) \
+	rt_sigprocmask$(EXEEXT) rt_sigqueueinfo$(EXEEXT) \
+	rt_sigsuspend$(EXEEXT) rt_sigtimedwait$(EXEEXT) \
+	rt_tgsigqueueinfo$(EXEEXT) sched_get_priority_mxx$(EXEEXT) \
+	sched_rr_get_interval$(EXEEXT) sched_xetaffinity$(EXEEXT) \
+	sched_xetattr$(EXEEXT) sched_xetparam$(EXEEXT) \
+	sched_xetscheduler$(EXEEXT) sched_yield$(EXEEXT) \
+	scm_rights$(EXEEXT) seccomp-filter$(EXEEXT) \
+	seccomp-filter-v$(EXEEXT) seccomp-strict$(EXEEXT) \
+	select$(EXEEXT) semop$(EXEEXT) sendfile$(EXEEXT) \
+	sendfile64$(EXEEXT) set_mempolicy$(EXEEXT) \
+	set_ptracer_any$(EXEEXT) setdomainname$(EXEEXT) \
+	setfsgid$(EXEEXT) setfsgid32$(EXEEXT) setfsuid$(EXEEXT) \
+	setfsuid32$(EXEEXT) setgid$(EXEEXT) setgid32$(EXEEXT) \
+	setgroups$(EXEEXT) setgroups32$(EXEEXT) sethostname$(EXEEXT) \
+	setns$(EXEEXT) setregid$(EXEEXT) setregid32$(EXEEXT) \
+	setresgid$(EXEEXT) setresgid32$(EXEEXT) setresuid$(EXEEXT) \
+	setresuid32$(EXEEXT) setreuid$(EXEEXT) setreuid32$(EXEEXT) \
+	setrlimit$(EXEEXT) setuid$(EXEEXT) setuid32$(EXEEXT) \
+	shmxt$(EXEEXT) shutdown$(EXEEXT) sigaction$(EXEEXT) \
+	sigaltstack$(EXEEXT) siginfo$(EXEEXT) signal_receive$(EXEEXT) \
+	signalfd4$(EXEEXT) sigreturn$(EXEEXT) sleep$(EXEEXT) \
+	socketcall$(EXEEXT) splice$(EXEEXT) stack-fcall$(EXEEXT) \
+	stat$(EXEEXT) stat64$(EXEEXT) statfs$(EXEEXT) \
+	statfs64$(EXEEXT) swap$(EXEEXT) symlink$(EXEEXT) \
+	symlinkat$(EXEEXT) sync$(EXEEXT) sync_file_range$(EXEEXT) \
+	sync_file_range2$(EXEEXT) sysinfo$(EXEEXT) syslog$(EXEEXT) \
+	tee$(EXEEXT) threads-execve$(EXEEXT) time$(EXEEXT) \
+	timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
+	timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \
+	truncate$(EXEEXT) truncate64$(EXEEXT) ugetrlimit$(EXEEXT) \
+	uio$(EXEEXT) umask$(EXEEXT) umount$(EXEEXT) umount2$(EXEEXT) \
+	umoven-illptr$(EXEEXT) umovestr$(EXEEXT) \
+	umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) umovestr3$(EXEEXT) \
+	uname$(EXEEXT) unix-pair-send-recv$(EXEEXT) \
+	unix-pair-sendto-recvfrom$(EXEEXT) unlink$(EXEEXT) \
+	unlinkat$(EXEEXT) unshare$(EXEEXT) userfaultfd$(EXEEXT) \
+	ustat$(EXEEXT) utime$(EXEEXT) utimensat$(EXEEXT) \
+	utimes$(EXEEXT) vfork-f$(EXEEXT) vhangup$(EXEEXT) \
+	vmsplice$(EXEEXT) wait4$(EXEEXT) wait4-v$(EXEEXT) \
+	waitid$(EXEEXT) waitid-v$(EXEEXT) waitpid$(EXEEXT) \
+	xattr$(EXEEXT) xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \
+	xetitimer$(EXEEXT) xetpgid$(EXEEXT) xetpriority$(EXEEXT) \
+	xettimeofday$(EXEEXT)
+TESTS = $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_1)
+DIST_COMMON = $(srcdir)/../scno.am $(srcdir)/Makefile.in \
+	$(srcdir)/Makefile.am $(top_srcdir)/depcomp \
+	$(top_srcdir)/test-driver
+subdir = tests
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+	$(top_srcdir)/m4/ax_prog_cc_for_build.m4 \
+	$(top_srcdir)/m4/ax_valgrind_check.m4 \
+	$(top_srcdir)/m4/mpers.m4 \
+	$(top_srcdir)/m4/st_save_restore_var.m4 \
+	$(top_srcdir)/m4/st_warn_cflags.m4 \
+	$(top_srcdir)/m4/warnings.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AR = ar
+ARFLAGS = cru
+AM_V_AR = $(am__v_AR_$(V))
+am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
+am__v_AR_0 = @echo "  AR      " $@;
+am__v_AR_1 = 
+libtests_a_AR = $(AR) $(ARFLAGS)
+libtests_a_LIBADD =
+am_libtests_a_OBJECTS = libtests_a-errno2name.$(OBJEXT) \
+	libtests_a-error_msg.$(OBJEXT) \
+	libtests_a-fill_memory.$(OBJEXT) \
+	libtests_a-get_page_size.$(OBJEXT) \
+	libtests_a-hexdump_strdup.$(OBJEXT) \
+	libtests_a-hexquote_strndup.$(OBJEXT) \
+	libtests_a-inode_of_sockfd.$(OBJEXT) \
+	libtests_a-libmmsg.$(OBJEXT) \
+	libtests_a-libsocketcall.$(OBJEXT) \
+	libtests_a-overflowuid.$(OBJEXT) \
+	libtests_a-pipe_maxfd.$(OBJEXT) \
+	libtests_a-print_quoted_string.$(OBJEXT) \
+	libtests_a-printflags.$(OBJEXT) libtests_a-printxval.$(OBJEXT) \
+	libtests_a-signal2name.$(OBJEXT) libtests_a-sprintrc.$(OBJEXT) \
+	libtests_a-tail_alloc.$(OBJEXT) libtests_a-tprintf.$(OBJEXT)
+libtests_a_OBJECTS = $(am_libtests_a_OBJECTS)
+_newselect_SOURCES = _newselect.c
+_newselect_OBJECTS = _newselect.$(OBJEXT)
+_newselect_LDADD = $(LDADD)
+_newselect_DEPENDENCIES = libtests.a
+accept_SOURCES = accept.c
+accept_OBJECTS = accept.$(OBJEXT)
+accept_LDADD = $(LDADD)
+accept_DEPENDENCIES = libtests.a
+accept4_SOURCES = accept4.c
+accept4_OBJECTS = accept4.$(OBJEXT)
+accept4_LDADD = $(LDADD)
+accept4_DEPENDENCIES = libtests.a
+access_SOURCES = access.c
+access_OBJECTS = access.$(OBJEXT)
+access_LDADD = $(LDADD)
+access_DEPENDENCIES = libtests.a
+acct_SOURCES = acct.c
+acct_OBJECTS = acct.$(OBJEXT)
+acct_LDADD = $(LDADD)
+acct_DEPENDENCIES = libtests.a
+add_key_SOURCES = add_key.c
+add_key_OBJECTS = add_key.$(OBJEXT)
+add_key_LDADD = $(LDADD)
+add_key_DEPENDENCIES = libtests.a
+adjtimex_SOURCES = adjtimex.c
+adjtimex_OBJECTS = adjtimex.$(OBJEXT)
+adjtimex_LDADD = $(LDADD)
+adjtimex_DEPENDENCIES = libtests.a
+aio_SOURCES = aio.c
+aio_OBJECTS = aio.$(OBJEXT)
+aio_LDADD = $(LDADD)
+aio_DEPENDENCIES = libtests.a
+alarm_SOURCES = alarm.c
+alarm_OBJECTS = alarm.$(OBJEXT)
+alarm_LDADD = $(LDADD)
+alarm_DEPENDENCIES = libtests.a
+answer_SOURCES = answer.c
+answer_OBJECTS = answer.$(OBJEXT)
+answer_LDADD = $(LDADD)
+answer_DEPENDENCIES = libtests.a
+attach_f_p_SOURCES = attach-f-p.c
+attach_f_p_OBJECTS = attach-f-p.$(OBJEXT)
+attach_f_p_DEPENDENCIES = $(LDADD)
+attach_f_p_cmd_SOURCES = attach-f-p-cmd.c
+attach_f_p_cmd_OBJECTS = attach-f-p-cmd.$(OBJEXT)
+attach_f_p_cmd_LDADD = $(LDADD)
+attach_f_p_cmd_DEPENDENCIES = libtests.a
+attach_p_cmd_cmd_SOURCES = attach-p-cmd-cmd.c
+attach_p_cmd_cmd_OBJECTS = attach-p-cmd-cmd.$(OBJEXT)
+attach_p_cmd_cmd_LDADD = $(LDADD)
+attach_p_cmd_cmd_DEPENDENCIES = libtests.a
+attach_p_cmd_p_SOURCES = attach-p-cmd-p.c
+attach_p_cmd_p_OBJECTS = attach-p-cmd-p.$(OBJEXT)
+attach_p_cmd_p_LDADD = $(LDADD)
+attach_p_cmd_p_DEPENDENCIES = libtests.a
+bpf_SOURCES = bpf.c
+bpf_OBJECTS = bpf.$(OBJEXT)
+bpf_LDADD = $(LDADD)
+bpf_DEPENDENCIES = libtests.a
+brk_SOURCES = brk.c
+brk_OBJECTS = brk.$(OBJEXT)
+brk_LDADD = $(LDADD)
+brk_DEPENDENCIES = libtests.a
+btrfs_SOURCES = btrfs.c
+btrfs_OBJECTS = btrfs.$(OBJEXT)
+btrfs_LDADD = $(LDADD)
+btrfs_DEPENDENCIES = libtests.a
+caps_SOURCES = caps.c
+caps_OBJECTS = caps.$(OBJEXT)
+caps_LDADD = $(LDADD)
+caps_DEPENDENCIES = libtests.a
+caps_abbrev_SOURCES = caps-abbrev.c
+caps_abbrev_OBJECTS = caps-abbrev.$(OBJEXT)
+caps_abbrev_LDADD = $(LDADD)
+caps_abbrev_DEPENDENCIES = libtests.a
+chmod_SOURCES = chmod.c
+chmod_OBJECTS = chmod.$(OBJEXT)
+chmod_LDADD = $(LDADD)
+chmod_DEPENDENCIES = libtests.a
+chown_SOURCES = chown.c
+chown_OBJECTS = chown.$(OBJEXT)
+chown_LDADD = $(LDADD)
+chown_DEPENDENCIES = libtests.a
+chown32_SOURCES = chown32.c
+chown32_OBJECTS = chown32.$(OBJEXT)
+chown32_LDADD = $(LDADD)
+chown32_DEPENDENCIES = libtests.a
+chroot_SOURCES = chroot.c
+chroot_OBJECTS = chroot.$(OBJEXT)
+chroot_LDADD = $(LDADD)
+chroot_DEPENDENCIES = libtests.a
+clock_adjtime_SOURCES = clock_adjtime.c
+clock_adjtime_OBJECTS = clock_adjtime.$(OBJEXT)
+clock_adjtime_LDADD = $(LDADD)
+clock_adjtime_DEPENDENCIES = libtests.a
+clock_nanosleep_SOURCES = clock_nanosleep.c
+clock_nanosleep_OBJECTS = clock_nanosleep.$(OBJEXT)
+clock_nanosleep_LDADD = $(LDADD)
+clock_nanosleep_DEPENDENCIES = libtests.a
+clock_xettime_SOURCES = clock_xettime.c
+clock_xettime_OBJECTS = clock_xettime.$(OBJEXT)
+clock_xettime_DEPENDENCIES = $(LDADD)
+copy_file_range_SOURCES = copy_file_range.c
+copy_file_range_OBJECTS = copy_file_range.$(OBJEXT)
+copy_file_range_LDADD = $(LDADD)
+copy_file_range_DEPENDENCIES = libtests.a
+count_f_SOURCES = count-f.c
+count_f_OBJECTS = count-f.$(OBJEXT)
+count_f_DEPENDENCIES = $(LDADD)
+creat_SOURCES = creat.c
+creat_OBJECTS = creat.$(OBJEXT)
+creat_LDADD = $(LDADD)
+creat_DEPENDENCIES = libtests.a
+delete_module_SOURCES = delete_module.c
+delete_module_OBJECTS = delete_module.$(OBJEXT)
+delete_module_LDADD = $(LDADD)
+delete_module_DEPENDENCIES = libtests.a
+dup_SOURCES = dup.c
+dup_OBJECTS = dup.$(OBJEXT)
+dup_LDADD = $(LDADD)
+dup_DEPENDENCIES = libtests.a
+dup2_SOURCES = dup2.c
+dup2_OBJECTS = dup2.$(OBJEXT)
+dup2_LDADD = $(LDADD)
+dup2_DEPENDENCIES = libtests.a
+dup3_SOURCES = dup3.c
+dup3_OBJECTS = dup3.$(OBJEXT)
+dup3_LDADD = $(LDADD)
+dup3_DEPENDENCIES = libtests.a
+epoll_create_SOURCES = epoll_create.c
+epoll_create_OBJECTS = epoll_create.$(OBJEXT)
+epoll_create_LDADD = $(LDADD)
+epoll_create_DEPENDENCIES = libtests.a
+epoll_create1_SOURCES = epoll_create1.c
+epoll_create1_OBJECTS = epoll_create1.$(OBJEXT)
+epoll_create1_LDADD = $(LDADD)
+epoll_create1_DEPENDENCIES = libtests.a
+epoll_ctl_SOURCES = epoll_ctl.c
+epoll_ctl_OBJECTS = epoll_ctl.$(OBJEXT)
+epoll_ctl_LDADD = $(LDADD)
+epoll_ctl_DEPENDENCIES = libtests.a
+epoll_pwait_SOURCES = epoll_pwait.c
+epoll_pwait_OBJECTS = epoll_pwait.$(OBJEXT)
+epoll_pwait_LDADD = $(LDADD)
+epoll_pwait_DEPENDENCIES = libtests.a
+epoll_wait_SOURCES = epoll_wait.c
+epoll_wait_OBJECTS = epoll_wait.$(OBJEXT)
+epoll_wait_LDADD = $(LDADD)
+epoll_wait_DEPENDENCIES = libtests.a
+erestartsys_SOURCES = erestartsys.c
+erestartsys_OBJECTS = erestartsys.$(OBJEXT)
+erestartsys_LDADD = $(LDADD)
+erestartsys_DEPENDENCIES = libtests.a
+eventfd_SOURCES = eventfd.c
+eventfd_OBJECTS = eventfd.$(OBJEXT)
+eventfd_LDADD = $(LDADD)
+eventfd_DEPENDENCIES = libtests.a
+execve_SOURCES = execve.c
+execve_OBJECTS = execve.$(OBJEXT)
+execve_LDADD = $(LDADD)
+execve_DEPENDENCIES = libtests.a
+execve_v_SOURCES = execve-v.c
+execve_v_OBJECTS = execve-v.$(OBJEXT)
+execve_v_LDADD = $(LDADD)
+execve_v_DEPENDENCIES = libtests.a
+execveat_SOURCES = execveat.c
+execveat_OBJECTS = execveat.$(OBJEXT)
+execveat_LDADD = $(LDADD)
+execveat_DEPENDENCIES = libtests.a
+execveat_v_SOURCES = execveat-v.c
+execveat_v_OBJECTS = execveat-v.$(OBJEXT)
+execveat_v_LDADD = $(LDADD)
+execveat_v_DEPENDENCIES = libtests.a
+faccessat_SOURCES = faccessat.c
+faccessat_OBJECTS = faccessat.$(OBJEXT)
+faccessat_LDADD = $(LDADD)
+faccessat_DEPENDENCIES = libtests.a
+fadvise64_SOURCES = fadvise64.c
+fadvise64_OBJECTS = fadvise64.$(OBJEXT)
+fadvise64_LDADD = $(LDADD)
+fadvise64_DEPENDENCIES = libtests.a
+fadvise64_64_SOURCES = fadvise64_64.c
+fadvise64_64_OBJECTS = fadvise64_64.$(OBJEXT)
+fadvise64_64_LDADD = $(LDADD)
+fadvise64_64_DEPENDENCIES = libtests.a
+fallocate_SOURCES = fallocate.c
+fallocate_OBJECTS = fallocate.$(OBJEXT)
+fallocate_LDADD = $(LDADD)
+fallocate_DEPENDENCIES = libtests.a
+fanotify_init_SOURCES = fanotify_init.c
+fanotify_init_OBJECTS = fanotify_init.$(OBJEXT)
+fanotify_init_LDADD = $(LDADD)
+fanotify_init_DEPENDENCIES = libtests.a
+fanotify_mark_SOURCES = fanotify_mark.c
+fanotify_mark_OBJECTS = fanotify_mark.$(OBJEXT)
+fanotify_mark_LDADD = $(LDADD)
+fanotify_mark_DEPENDENCIES = libtests.a
+fchdir_SOURCES = fchdir.c
+fchdir_OBJECTS = fchdir.$(OBJEXT)
+fchdir_LDADD = $(LDADD)
+fchdir_DEPENDENCIES = libtests.a
+fchmod_SOURCES = fchmod.c
+fchmod_OBJECTS = fchmod.$(OBJEXT)
+fchmod_LDADD = $(LDADD)
+fchmod_DEPENDENCIES = libtests.a
+fchmodat_SOURCES = fchmodat.c
+fchmodat_OBJECTS = fchmodat.$(OBJEXT)
+fchmodat_LDADD = $(LDADD)
+fchmodat_DEPENDENCIES = libtests.a
+fchown_SOURCES = fchown.c
+fchown_OBJECTS = fchown.$(OBJEXT)
+fchown_LDADD = $(LDADD)
+fchown_DEPENDENCIES = libtests.a
+fchown32_SOURCES = fchown32.c
+fchown32_OBJECTS = fchown32.$(OBJEXT)
+fchown32_LDADD = $(LDADD)
+fchown32_DEPENDENCIES = libtests.a
+fchownat_SOURCES = fchownat.c
+fchownat_OBJECTS = fchownat.$(OBJEXT)
+fchownat_LDADD = $(LDADD)
+fchownat_DEPENDENCIES = libtests.a
+fcntl_SOURCES = fcntl.c
+fcntl_OBJECTS = fcntl.$(OBJEXT)
+fcntl_LDADD = $(LDADD)
+fcntl_DEPENDENCIES = libtests.a
+fcntl64_SOURCES = fcntl64.c
+fcntl64_OBJECTS = fcntl64.$(OBJEXT)
+fcntl64_LDADD = $(LDADD)
+fcntl64_DEPENDENCIES = libtests.a
+fdatasync_SOURCES = fdatasync.c
+fdatasync_OBJECTS = fdatasync.$(OBJEXT)
+fdatasync_LDADD = $(LDADD)
+fdatasync_DEPENDENCIES = libtests.a
+file_handle_SOURCES = file_handle.c
+file_handle_OBJECTS = file_handle.$(OBJEXT)
+file_handle_LDADD = $(LDADD)
+file_handle_DEPENDENCIES = libtests.a
+file_ioctl_SOURCES = file_ioctl.c
+file_ioctl_OBJECTS = file_ioctl.$(OBJEXT)
+file_ioctl_LDADD = $(LDADD)
+file_ioctl_DEPENDENCIES = libtests.a
+filter_unavailable_SOURCES = filter-unavailable.c
+filter_unavailable_OBJECTS = filter-unavailable.$(OBJEXT)
+filter_unavailable_DEPENDENCIES = $(LDADD)
+finit_module_SOURCES = finit_module.c
+finit_module_OBJECTS = finit_module.$(OBJEXT)
+finit_module_LDADD = $(LDADD)
+finit_module_DEPENDENCIES = libtests.a
+flock_SOURCES = flock.c
+flock_OBJECTS = flock.$(OBJEXT)
+flock_LDADD = $(LDADD)
+flock_DEPENDENCIES = libtests.a
+fork_f_SOURCES = fork-f.c
+fork_f_OBJECTS = fork-f.$(OBJEXT)
+fork_f_LDADD = $(LDADD)
+fork_f_DEPENDENCIES = libtests.a
+fstat_SOURCES = fstat.c
+fstat_OBJECTS = fstat.$(OBJEXT)
+fstat_LDADD = $(LDADD)
+fstat_DEPENDENCIES = libtests.a
+fstat64_SOURCES = fstat64.c
+fstat64_OBJECTS = fstat64-fstat64.$(OBJEXT)
+fstat64_LDADD = $(LDADD)
+fstat64_DEPENDENCIES = libtests.a
+fstatat64_SOURCES = fstatat64.c
+fstatat64_OBJECTS = fstatat64-fstatat64.$(OBJEXT)
+fstatat64_LDADD = $(LDADD)
+fstatat64_DEPENDENCIES = libtests.a
+fstatfs_SOURCES = fstatfs.c
+fstatfs_OBJECTS = fstatfs.$(OBJEXT)
+fstatfs_LDADD = $(LDADD)
+fstatfs_DEPENDENCIES = libtests.a
+fstatfs64_SOURCES = fstatfs64.c
+fstatfs64_OBJECTS = fstatfs64.$(OBJEXT)
+fstatfs64_LDADD = $(LDADD)
+fstatfs64_DEPENDENCIES = libtests.a
+fsync_SOURCES = fsync.c
+fsync_OBJECTS = fsync.$(OBJEXT)
+fsync_LDADD = $(LDADD)
+fsync_DEPENDENCIES = libtests.a
+ftruncate_SOURCES = ftruncate.c
+ftruncate_OBJECTS = ftruncate.$(OBJEXT)
+ftruncate_LDADD = $(LDADD)
+ftruncate_DEPENDENCIES = libtests.a
+ftruncate64_SOURCES = ftruncate64.c
+ftruncate64_OBJECTS = ftruncate64-ftruncate64.$(OBJEXT)
+ftruncate64_LDADD = $(LDADD)
+ftruncate64_DEPENDENCIES = libtests.a
+futex_SOURCES = futex.c
+futex_OBJECTS = futex.$(OBJEXT)
+futex_LDADD = $(LDADD)
+futex_DEPENDENCIES = libtests.a
+futimesat_SOURCES = futimesat.c
+futimesat_OBJECTS = futimesat.$(OBJEXT)
+futimesat_LDADD = $(LDADD)
+futimesat_DEPENDENCIES = libtests.a
+get_mempolicy_SOURCES = get_mempolicy.c
+get_mempolicy_OBJECTS = get_mempolicy.$(OBJEXT)
+get_mempolicy_LDADD = $(LDADD)
+get_mempolicy_DEPENDENCIES = libtests.a
+getcpu_SOURCES = getcpu.c
+getcpu_OBJECTS = getcpu.$(OBJEXT)
+getcpu_LDADD = $(LDADD)
+getcpu_DEPENDENCIES = libtests.a
+getcwd_SOURCES = getcwd.c
+getcwd_OBJECTS = getcwd.$(OBJEXT)
+getcwd_LDADD = $(LDADD)
+getcwd_DEPENDENCIES = libtests.a
+getdents_SOURCES = getdents.c
+getdents_OBJECTS = getdents.$(OBJEXT)
+getdents_LDADD = $(LDADD)
+getdents_DEPENDENCIES = libtests.a
+getdents64_SOURCES = getdents64.c
+getdents64_OBJECTS = getdents64.$(OBJEXT)
+getdents64_LDADD = $(LDADD)
+getdents64_DEPENDENCIES = libtests.a
+getegid_SOURCES = getegid.c
+getegid_OBJECTS = getegid.$(OBJEXT)
+getegid_LDADD = $(LDADD)
+getegid_DEPENDENCIES = libtests.a
+getegid32_SOURCES = getegid32.c
+getegid32_OBJECTS = getegid32.$(OBJEXT)
+getegid32_LDADD = $(LDADD)
+getegid32_DEPENDENCIES = libtests.a
+geteuid_SOURCES = geteuid.c
+geteuid_OBJECTS = geteuid.$(OBJEXT)
+geteuid_LDADD = $(LDADD)
+geteuid_DEPENDENCIES = libtests.a
+geteuid32_SOURCES = geteuid32.c
+geteuid32_OBJECTS = geteuid32.$(OBJEXT)
+geteuid32_LDADD = $(LDADD)
+geteuid32_DEPENDENCIES = libtests.a
+getgid_SOURCES = getgid.c
+getgid_OBJECTS = getgid.$(OBJEXT)
+getgid_LDADD = $(LDADD)
+getgid_DEPENDENCIES = libtests.a
+getgid32_SOURCES = getgid32.c
+getgid32_OBJECTS = getgid32.$(OBJEXT)
+getgid32_LDADD = $(LDADD)
+getgid32_DEPENDENCIES = libtests.a
+getgroups_SOURCES = getgroups.c
+getgroups_OBJECTS = getgroups.$(OBJEXT)
+getgroups_LDADD = $(LDADD)
+getgroups_DEPENDENCIES = libtests.a
+getgroups32_SOURCES = getgroups32.c
+getgroups32_OBJECTS = getgroups32.$(OBJEXT)
+getgroups32_LDADD = $(LDADD)
+getgroups32_DEPENDENCIES = libtests.a
+getpeername_SOURCES = getpeername.c
+getpeername_OBJECTS = getpeername.$(OBJEXT)
+getpeername_LDADD = $(LDADD)
+getpeername_DEPENDENCIES = libtests.a
+getpgrp_SOURCES = getpgrp.c
+getpgrp_OBJECTS = getpgrp.$(OBJEXT)
+getpgrp_LDADD = $(LDADD)
+getpgrp_DEPENDENCIES = libtests.a
+getrandom_SOURCES = getrandom.c
+getrandom_OBJECTS = getrandom.$(OBJEXT)
+getrandom_LDADD = $(LDADD)
+getrandom_DEPENDENCIES = libtests.a
+getresgid_SOURCES = getresgid.c
+getresgid_OBJECTS = getresgid.$(OBJEXT)
+getresgid_LDADD = $(LDADD)
+getresgid_DEPENDENCIES = libtests.a
+getresgid32_SOURCES = getresgid32.c
+getresgid32_OBJECTS = getresgid32.$(OBJEXT)
+getresgid32_LDADD = $(LDADD)
+getresgid32_DEPENDENCIES = libtests.a
+getresuid_SOURCES = getresuid.c
+getresuid_OBJECTS = getresuid.$(OBJEXT)
+getresuid_LDADD = $(LDADD)
+getresuid_DEPENDENCIES = libtests.a
+getresuid32_SOURCES = getresuid32.c
+getresuid32_OBJECTS = getresuid32.$(OBJEXT)
+getresuid32_LDADD = $(LDADD)
+getresuid32_DEPENDENCIES = libtests.a
+getrlimit_SOURCES = getrlimit.c
+getrlimit_OBJECTS = getrlimit.$(OBJEXT)
+getrlimit_LDADD = $(LDADD)
+getrlimit_DEPENDENCIES = libtests.a
+getrusage_SOURCES = getrusage.c
+getrusage_OBJECTS = getrusage.$(OBJEXT)
+getrusage_LDADD = $(LDADD)
+getrusage_DEPENDENCIES = libtests.a
+getsid_SOURCES = getsid.c
+getsid_OBJECTS = getsid.$(OBJEXT)
+getsid_LDADD = $(LDADD)
+getsid_DEPENDENCIES = libtests.a
+getsockname_SOURCES = getsockname.c
+getsockname_OBJECTS = getsockname.$(OBJEXT)
+getsockname_LDADD = $(LDADD)
+getsockname_DEPENDENCIES = libtests.a
+getuid_SOURCES = getuid.c
+getuid_OBJECTS = getuid.$(OBJEXT)
+getuid_LDADD = $(LDADD)
+getuid_DEPENDENCIES = libtests.a
+getuid32_SOURCES = getuid32.c
+getuid32_OBJECTS = getuid32.$(OBJEXT)
+getuid32_LDADD = $(LDADD)
+getuid32_DEPENDENCIES = libtests.a
+getxxid_SOURCES = getxxid.c
+getxxid_OBJECTS = getxxid.$(OBJEXT)
+getxxid_LDADD = $(LDADD)
+getxxid_DEPENDENCIES = libtests.a
+inet_cmsg_SOURCES = inet-cmsg.c
+inet_cmsg_OBJECTS = inet-cmsg.$(OBJEXT)
+inet_cmsg_LDADD = $(LDADD)
+inet_cmsg_DEPENDENCIES = libtests.a
+init_module_SOURCES = init_module.c
+init_module_OBJECTS = init_module.$(OBJEXT)
+init_module_LDADD = $(LDADD)
+init_module_DEPENDENCIES = libtests.a
+inotify_SOURCES = inotify.c
+inotify_OBJECTS = inotify.$(OBJEXT)
+inotify_LDADD = $(LDADD)
+inotify_DEPENDENCIES = libtests.a
+inotify_init1_SOURCES = inotify_init1.c
+inotify_init1_OBJECTS = inotify_init1.$(OBJEXT)
+inotify_init1_LDADD = $(LDADD)
+inotify_init1_DEPENDENCIES = libtests.a
+ioctl_SOURCES = ioctl.c
+ioctl_OBJECTS = ioctl.$(OBJEXT)
+ioctl_LDADD = $(LDADD)
+ioctl_DEPENDENCIES = libtests.a
+ioctl_block_SOURCES = ioctl_block.c
+ioctl_block_OBJECTS = ioctl_block.$(OBJEXT)
+ioctl_block_LDADD = $(LDADD)
+ioctl_block_DEPENDENCIES = libtests.a
+ioctl_dm_SOURCES = ioctl_dm.c
+ioctl_dm_OBJECTS = ioctl_dm.$(OBJEXT)
+ioctl_dm_LDADD = $(LDADD)
+ioctl_dm_DEPENDENCIES = libtests.a
+ioctl_dm_v_SOURCES = ioctl_dm-v.c
+ioctl_dm_v_OBJECTS = ioctl_dm-v.$(OBJEXT)
+ioctl_dm_v_LDADD = $(LDADD)
+ioctl_dm_v_DEPENDENCIES = libtests.a
+ioctl_evdev_SOURCES = ioctl_evdev.c
+ioctl_evdev_OBJECTS = ioctl_evdev.$(OBJEXT)
+ioctl_evdev_LDADD = $(LDADD)
+ioctl_evdev_DEPENDENCIES = libtests.a
+ioctl_evdev_v_SOURCES = ioctl_evdev-v.c
+ioctl_evdev_v_OBJECTS = ioctl_evdev-v.$(OBJEXT)
+ioctl_evdev_v_LDADD = $(LDADD)
+ioctl_evdev_v_DEPENDENCIES = libtests.a
+ioctl_loop_SOURCES = ioctl_loop.c
+ioctl_loop_OBJECTS = ioctl_loop.$(OBJEXT)
+ioctl_loop_LDADD = $(LDADD)
+ioctl_loop_DEPENDENCIES = libtests.a
+ioctl_loop_nv_SOURCES = ioctl_loop-nv.c
+ioctl_loop_nv_OBJECTS = ioctl_loop-nv.$(OBJEXT)
+ioctl_loop_nv_LDADD = $(LDADD)
+ioctl_loop_nv_DEPENDENCIES = libtests.a
+ioctl_loop_v_SOURCES = ioctl_loop-v.c
+ioctl_loop_v_OBJECTS = ioctl_loop-v.$(OBJEXT)
+ioctl_loop_v_LDADD = $(LDADD)
+ioctl_loop_v_DEPENDENCIES = libtests.a
+ioctl_mtd_SOURCES = ioctl_mtd.c
+ioctl_mtd_OBJECTS = ioctl_mtd.$(OBJEXT)
+ioctl_mtd_LDADD = $(LDADD)
+ioctl_mtd_DEPENDENCIES = libtests.a
+ioctl_rtc_SOURCES = ioctl_rtc.c
+ioctl_rtc_OBJECTS = ioctl_rtc.$(OBJEXT)
+ioctl_rtc_LDADD = $(LDADD)
+ioctl_rtc_DEPENDENCIES = libtests.a
+ioctl_rtc_v_SOURCES = ioctl_rtc-v.c
+ioctl_rtc_v_OBJECTS = ioctl_rtc-v.$(OBJEXT)
+ioctl_rtc_v_LDADD = $(LDADD)
+ioctl_rtc_v_DEPENDENCIES = libtests.a
+ioctl_scsi_SOURCES = ioctl_scsi.c
+ioctl_scsi_OBJECTS = ioctl_scsi.$(OBJEXT)
+ioctl_scsi_LDADD = $(LDADD)
+ioctl_scsi_DEPENDENCIES = libtests.a
+ioctl_sg_io_v3_SOURCES = ioctl_sg_io_v3.c
+ioctl_sg_io_v3_OBJECTS = ioctl_sg_io_v3.$(OBJEXT)
+ioctl_sg_io_v3_LDADD = $(LDADD)
+ioctl_sg_io_v3_DEPENDENCIES = libtests.a
+ioctl_sg_io_v4_SOURCES = ioctl_sg_io_v4.c
+ioctl_sg_io_v4_OBJECTS = ioctl_sg_io_v4.$(OBJEXT)
+ioctl_sg_io_v4_LDADD = $(LDADD)
+ioctl_sg_io_v4_DEPENDENCIES = libtests.a
+ioctl_sock_gifconf_SOURCES = ioctl_sock_gifconf.c
+ioctl_sock_gifconf_OBJECTS = ioctl_sock_gifconf.$(OBJEXT)
+ioctl_sock_gifconf_LDADD = $(LDADD)
+ioctl_sock_gifconf_DEPENDENCIES = libtests.a
+ioctl_uffdio_SOURCES = ioctl_uffdio.c
+ioctl_uffdio_OBJECTS = ioctl_uffdio.$(OBJEXT)
+ioctl_uffdio_LDADD = $(LDADD)
+ioctl_uffdio_DEPENDENCIES = libtests.a
+ioctl_v4l2_SOURCES = ioctl_v4l2.c
+ioctl_v4l2_OBJECTS = ioctl_v4l2.$(OBJEXT)
+ioctl_v4l2_LDADD = $(LDADD)
+ioctl_v4l2_DEPENDENCIES = libtests.a
+ioperm_SOURCES = ioperm.c
+ioperm_OBJECTS = ioperm.$(OBJEXT)
+ioperm_LDADD = $(LDADD)
+ioperm_DEPENDENCIES = libtests.a
+iopl_SOURCES = iopl.c
+iopl_OBJECTS = iopl.$(OBJEXT)
+iopl_LDADD = $(LDADD)
+iopl_DEPENDENCIES = libtests.a
+ioprio_SOURCES = ioprio.c
+ioprio_OBJECTS = ioprio.$(OBJEXT)
+ioprio_LDADD = $(LDADD)
+ioprio_DEPENDENCIES = libtests.a
+ip_mreq_SOURCES = ip_mreq.c
+ip_mreq_OBJECTS = ip_mreq.$(OBJEXT)
+ip_mreq_LDADD = $(LDADD)
+ip_mreq_DEPENDENCIES = libtests.a
+ipc_SOURCES = ipc.c
+ipc_OBJECTS = ipc.$(OBJEXT)
+ipc_LDADD = $(LDADD)
+ipc_DEPENDENCIES = libtests.a
+ipc_msg_SOURCES = ipc_msg.c
+ipc_msg_OBJECTS = ipc_msg.$(OBJEXT)
+ipc_msg_LDADD = $(LDADD)
+ipc_msg_DEPENDENCIES = libtests.a
+ipc_msgbuf_SOURCES = ipc_msgbuf.c
+ipc_msgbuf_OBJECTS = ipc_msgbuf.$(OBJEXT)
+ipc_msgbuf_LDADD = $(LDADD)
+ipc_msgbuf_DEPENDENCIES = libtests.a
+ipc_sem_SOURCES = ipc_sem.c
+ipc_sem_OBJECTS = ipc_sem.$(OBJEXT)
+ipc_sem_LDADD = $(LDADD)
+ipc_sem_DEPENDENCIES = libtests.a
+ipc_shm_SOURCES = ipc_shm.c
+ipc_shm_OBJECTS = ipc_shm.$(OBJEXT)
+ipc_shm_LDADD = $(LDADD)
+ipc_shm_DEPENDENCIES = libtests.a
+kcmp_SOURCES = kcmp.c
+kcmp_OBJECTS = kcmp.$(OBJEXT)
+kcmp_LDADD = $(LDADD)
+kcmp_DEPENDENCIES = libtests.a
+kexec_file_load_SOURCES = kexec_file_load.c
+kexec_file_load_OBJECTS = kexec_file_load.$(OBJEXT)
+kexec_file_load_LDADD = $(LDADD)
+kexec_file_load_DEPENDENCIES = libtests.a
+kexec_load_SOURCES = kexec_load.c
+kexec_load_OBJECTS = kexec_load.$(OBJEXT)
+kexec_load_LDADD = $(LDADD)
+kexec_load_DEPENDENCIES = libtests.a
+keyctl_SOURCES = keyctl.c
+keyctl_OBJECTS = keyctl.$(OBJEXT)
+keyctl_LDADD = $(LDADD)
+keyctl_DEPENDENCIES = libtests.a
+kill_SOURCES = kill.c
+kill_OBJECTS = kill.$(OBJEXT)
+kill_LDADD = $(LDADD)
+kill_DEPENDENCIES = libtests.a
+ksysent_SOURCES = ksysent.c
+ksysent_OBJECTS = ksysent.$(OBJEXT)
+ksysent_LDADD = $(LDADD)
+ksysent_DEPENDENCIES = libtests.a
+lchown_SOURCES = lchown.c
+lchown_OBJECTS = lchown.$(OBJEXT)
+lchown_LDADD = $(LDADD)
+lchown_DEPENDENCIES = libtests.a
+lchown32_SOURCES = lchown32.c
+lchown32_OBJECTS = lchown32.$(OBJEXT)
+lchown32_LDADD = $(LDADD)
+lchown32_DEPENDENCIES = libtests.a
+link_SOURCES = link.c
+link_OBJECTS = link.$(OBJEXT)
+link_LDADD = $(LDADD)
+link_DEPENDENCIES = libtests.a
+linkat_SOURCES = linkat.c
+linkat_OBJECTS = linkat.$(OBJEXT)
+linkat_LDADD = $(LDADD)
+linkat_DEPENDENCIES = libtests.a
+llseek_SOURCES = llseek.c
+llseek_OBJECTS = llseek.$(OBJEXT)
+llseek_LDADD = $(LDADD)
+llseek_DEPENDENCIES = libtests.a
+lookup_dcookie_SOURCES = lookup_dcookie.c
+lookup_dcookie_OBJECTS = lookup_dcookie.$(OBJEXT)
+lookup_dcookie_LDADD = $(LDADD)
+lookup_dcookie_DEPENDENCIES = libtests.a
+lseek_SOURCES = lseek.c
+lseek_OBJECTS = lseek.$(OBJEXT)
+lseek_LDADD = $(LDADD)
+lseek_DEPENDENCIES = libtests.a
+lstat_SOURCES = lstat.c
+lstat_OBJECTS = lstat.$(OBJEXT)
+lstat_LDADD = $(LDADD)
+lstat_DEPENDENCIES = libtests.a
+lstat64_SOURCES = lstat64.c
+lstat64_OBJECTS = lstat64-lstat64.$(OBJEXT)
+lstat64_LDADD = $(LDADD)
+lstat64_DEPENDENCIES = libtests.a
+mbind_SOURCES = mbind.c
+mbind_OBJECTS = mbind.$(OBJEXT)
+mbind_LDADD = $(LDADD)
+mbind_DEPENDENCIES = libtests.a
+membarrier_SOURCES = membarrier.c
+membarrier_OBJECTS = membarrier.$(OBJEXT)
+membarrier_LDADD = $(LDADD)
+membarrier_DEPENDENCIES = libtests.a
+memfd_create_SOURCES = memfd_create.c
+memfd_create_OBJECTS = memfd_create.$(OBJEXT)
+memfd_create_LDADD = $(LDADD)
+memfd_create_DEPENDENCIES = libtests.a
+migrate_pages_SOURCES = migrate_pages.c
+migrate_pages_OBJECTS = migrate_pages.$(OBJEXT)
+migrate_pages_LDADD = $(LDADD)
+migrate_pages_DEPENDENCIES = libtests.a
+mincore_SOURCES = mincore.c
+mincore_OBJECTS = mincore.$(OBJEXT)
+mincore_LDADD = $(LDADD)
+mincore_DEPENDENCIES = libtests.a
+mkdir_SOURCES = mkdir.c
+mkdir_OBJECTS = mkdir.$(OBJEXT)
+mkdir_LDADD = $(LDADD)
+mkdir_DEPENDENCIES = libtests.a
+mkdirat_SOURCES = mkdirat.c
+mkdirat_OBJECTS = mkdirat.$(OBJEXT)
+mkdirat_LDADD = $(LDADD)
+mkdirat_DEPENDENCIES = libtests.a
+mknod_SOURCES = mknod.c
+mknod_OBJECTS = mknod.$(OBJEXT)
+mknod_LDADD = $(LDADD)
+mknod_DEPENDENCIES = libtests.a
+mknodat_SOURCES = mknodat.c
+mknodat_OBJECTS = mknodat.$(OBJEXT)
+mknodat_LDADD = $(LDADD)
+mknodat_DEPENDENCIES = libtests.a
+mlock_SOURCES = mlock.c
+mlock_OBJECTS = mlock.$(OBJEXT)
+mlock_LDADD = $(LDADD)
+mlock_DEPENDENCIES = libtests.a
+mlock2_SOURCES = mlock2.c
+mlock2_OBJECTS = mlock2.$(OBJEXT)
+mlock2_LDADD = $(LDADD)
+mlock2_DEPENDENCIES = libtests.a
+mlockall_SOURCES = mlockall.c
+mlockall_OBJECTS = mlockall.$(OBJEXT)
+mlockall_LDADD = $(LDADD)
+mlockall_DEPENDENCIES = libtests.a
+mmap_SOURCES = mmap.c
+mmap_OBJECTS = mmap.$(OBJEXT)
+mmap_LDADD = $(LDADD)
+mmap_DEPENDENCIES = libtests.a
+mmap64_SOURCES = mmap64.c
+mmap64_OBJECTS = mmap64-mmap64.$(OBJEXT)
+mmap64_LDADD = $(LDADD)
+mmap64_DEPENDENCIES = libtests.a
+mmsg_SOURCES = mmsg.c
+mmsg_OBJECTS = mmsg.$(OBJEXT)
+mmsg_LDADD = $(LDADD)
+mmsg_DEPENDENCIES = libtests.a
+mmsg_silent_SOURCES = mmsg-silent.c
+mmsg_silent_OBJECTS = mmsg-silent.$(OBJEXT)
+mmsg_silent_LDADD = $(LDADD)
+mmsg_silent_DEPENDENCIES = libtests.a
+mmsg_name_SOURCES = mmsg_name.c
+mmsg_name_OBJECTS = mmsg_name.$(OBJEXT)
+mmsg_name_LDADD = $(LDADD)
+mmsg_name_DEPENDENCIES = libtests.a
+mmsg_name_v_SOURCES = mmsg_name-v.c
+mmsg_name_v_OBJECTS = mmsg_name-v.$(OBJEXT)
+mmsg_name_v_LDADD = $(LDADD)
+mmsg_name_v_DEPENDENCIES = libtests.a
+mount_SOURCES = mount.c
+mount_OBJECTS = mount.$(OBJEXT)
+mount_LDADD = $(LDADD)
+mount_DEPENDENCIES = libtests.a
+move_pages_SOURCES = move_pages.c
+move_pages_OBJECTS = move_pages.$(OBJEXT)
+move_pages_LDADD = $(LDADD)
+move_pages_DEPENDENCIES = libtests.a
+mq_SOURCES = mq.c
+mq_OBJECTS = mq.$(OBJEXT)
+mq_DEPENDENCIES = $(LDADD)
+mq_sendrecv_SOURCES = mq_sendrecv.c
+mq_sendrecv_OBJECTS = mq_sendrecv.$(OBJEXT)
+mq_sendrecv_DEPENDENCIES = $(LDADD)
+mq_sendrecv_read_SOURCES = mq_sendrecv-read.c
+mq_sendrecv_read_OBJECTS = mq_sendrecv-read.$(OBJEXT)
+mq_sendrecv_read_DEPENDENCIES = $(LDADD)
+mq_sendrecv_write_SOURCES = mq_sendrecv-write.c
+mq_sendrecv_write_OBJECTS = mq_sendrecv-write.$(OBJEXT)
+mq_sendrecv_write_DEPENDENCIES = $(LDADD)
+msg_control_SOURCES = msg_control.c
+msg_control_OBJECTS = msg_control.$(OBJEXT)
+msg_control_LDADD = $(LDADD)
+msg_control_DEPENDENCIES = libtests.a
+msg_control_v_SOURCES = msg_control-v.c
+msg_control_v_OBJECTS = msg_control-v.$(OBJEXT)
+msg_control_v_LDADD = $(LDADD)
+msg_control_v_DEPENDENCIES = libtests.a
+msg_name_SOURCES = msg_name.c
+msg_name_OBJECTS = msg_name.$(OBJEXT)
+msg_name_LDADD = $(LDADD)
+msg_name_DEPENDENCIES = libtests.a
+munlockall_SOURCES = munlockall.c
+munlockall_OBJECTS = munlockall.$(OBJEXT)
+munlockall_LDADD = $(LDADD)
+munlockall_DEPENDENCIES = libtests.a
+nanosleep_SOURCES = nanosleep.c
+nanosleep_OBJECTS = nanosleep.$(OBJEXT)
+nanosleep_LDADD = $(LDADD)
+nanosleep_DEPENDENCIES = libtests.a
+net_accept_connect_SOURCES = net-accept-connect.c
+net_accept_connect_OBJECTS = net-accept-connect.$(OBJEXT)
+net_accept_connect_LDADD = $(LDADD)
+net_accept_connect_DEPENDENCIES = libtests.a
+net_icmp_filter_SOURCES = net-icmp_filter.c
+net_icmp_filter_OBJECTS = net-icmp_filter.$(OBJEXT)
+net_icmp_filter_LDADD = $(LDADD)
+net_icmp_filter_DEPENDENCIES = libtests.a
+net_sockaddr_SOURCES = net-sockaddr.c
+net_sockaddr_OBJECTS = net-sockaddr.$(OBJEXT)
+net_sockaddr_LDADD = $(LDADD)
+net_sockaddr_DEPENDENCIES = libtests.a
+net_y_unix_SOURCES = net-y-unix.c
+net_y_unix_OBJECTS = net-y-unix.$(OBJEXT)
+net_y_unix_LDADD = $(LDADD)
+net_y_unix_DEPENDENCIES = libtests.a
+net_yy_inet_SOURCES = net-yy-inet.c
+net_yy_inet_OBJECTS = net-yy-inet.$(OBJEXT)
+net_yy_inet_LDADD = $(LDADD)
+net_yy_inet_DEPENDENCIES = libtests.a
+net_yy_netlink_SOURCES = net-yy-netlink.c
+net_yy_netlink_OBJECTS = net-yy-netlink.$(OBJEXT)
+net_yy_netlink_LDADD = $(LDADD)
+net_yy_netlink_DEPENDENCIES = libtests.a
+net_yy_unix_SOURCES = net-yy-unix.c
+net_yy_unix_OBJECTS = net-yy-unix.$(OBJEXT)
+net_yy_unix_LDADD = $(LDADD)
+net_yy_unix_DEPENDENCIES = libtests.a
+netlink_inet_diag_SOURCES = netlink_inet_diag.c
+netlink_inet_diag_OBJECTS = netlink_inet_diag.$(OBJEXT)
+netlink_inet_diag_LDADD = $(LDADD)
+netlink_inet_diag_DEPENDENCIES = libtests.a
+netlink_netlink_diag_SOURCES = netlink_netlink_diag.c
+netlink_netlink_diag_OBJECTS = netlink_netlink_diag.$(OBJEXT)
+netlink_netlink_diag_LDADD = $(LDADD)
+netlink_netlink_diag_DEPENDENCIES = libtests.a
+netlink_protocol_SOURCES = netlink_protocol.c
+netlink_protocol_OBJECTS = netlink_protocol.$(OBJEXT)
+netlink_protocol_LDADD = $(LDADD)
+netlink_protocol_DEPENDENCIES = libtests.a
+netlink_unix_diag_SOURCES = netlink_unix_diag.c
+netlink_unix_diag_OBJECTS = netlink_unix_diag.$(OBJEXT)
+netlink_unix_diag_LDADD = $(LDADD)
+netlink_unix_diag_DEPENDENCIES = libtests.a
+newfstatat_SOURCES = newfstatat.c
+newfstatat_OBJECTS = newfstatat-newfstatat.$(OBJEXT)
+newfstatat_LDADD = $(LDADD)
+newfstatat_DEPENDENCIES = libtests.a
+nsyscalls_SOURCES = nsyscalls.c
+nsyscalls_OBJECTS = nsyscalls.$(OBJEXT)
+nsyscalls_LDADD = $(LDADD)
+nsyscalls_DEPENDENCIES = libtests.a
+old_mmap_SOURCES = old_mmap.c
+old_mmap_OBJECTS = old_mmap.$(OBJEXT)
+old_mmap_LDADD = $(LDADD)
+old_mmap_DEPENDENCIES = libtests.a
+oldfstat_SOURCES = oldfstat.c
+oldfstat_OBJECTS = oldfstat.$(OBJEXT)
+oldfstat_LDADD = $(LDADD)
+oldfstat_DEPENDENCIES = libtests.a
+oldlstat_SOURCES = oldlstat.c
+oldlstat_OBJECTS = oldlstat.$(OBJEXT)
+oldlstat_LDADD = $(LDADD)
+oldlstat_DEPENDENCIES = libtests.a
+oldselect_SOURCES = oldselect.c
+oldselect_OBJECTS = oldselect.$(OBJEXT)
+oldselect_LDADD = $(LDADD)
+oldselect_DEPENDENCIES = libtests.a
+oldstat_SOURCES = oldstat.c
+oldstat_OBJECTS = oldstat.$(OBJEXT)
+oldstat_LDADD = $(LDADD)
+oldstat_DEPENDENCIES = libtests.a
+open_SOURCES = open.c
+open_OBJECTS = open.$(OBJEXT)
+open_LDADD = $(LDADD)
+open_DEPENDENCIES = libtests.a
+openat_SOURCES = openat.c
+openat_OBJECTS = openat.$(OBJEXT)
+openat_LDADD = $(LDADD)
+openat_DEPENDENCIES = libtests.a
+pause_SOURCES = pause.c
+pause_OBJECTS = pause.$(OBJEXT)
+pause_LDADD = $(LDADD)
+pause_DEPENDENCIES = libtests.a
+pc_SOURCES = pc.c
+pc_OBJECTS = pc.$(OBJEXT)
+am__DEPENDENCIES_1 =
+pc_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
+perf_event_open_SOURCES = perf_event_open.c
+perf_event_open_OBJECTS = perf_event_open.$(OBJEXT)
+perf_event_open_LDADD = $(LDADD)
+perf_event_open_DEPENDENCIES = libtests.a
+perf_event_open_nonverbose_SOURCES = perf_event_open_nonverbose.c
+perf_event_open_nonverbose_OBJECTS =  \
+	perf_event_open_nonverbose.$(OBJEXT)
+perf_event_open_nonverbose_LDADD = $(LDADD)
+perf_event_open_nonverbose_DEPENDENCIES = libtests.a
+perf_event_open_unabbrev_SOURCES = perf_event_open_unabbrev.c
+perf_event_open_unabbrev_OBJECTS = perf_event_open_unabbrev.$(OBJEXT)
+perf_event_open_unabbrev_LDADD = $(LDADD)
+perf_event_open_unabbrev_DEPENDENCIES = libtests.a
+personality_SOURCES = personality.c
+personality_OBJECTS = personality.$(OBJEXT)
+personality_LDADD = $(LDADD)
+personality_DEPENDENCIES = libtests.a
+pipe_SOURCES = pipe.c
+pipe_OBJECTS = pipe.$(OBJEXT)
+pipe_LDADD = $(LDADD)
+pipe_DEPENDENCIES = libtests.a
+pipe2_SOURCES = pipe2.c
+pipe2_OBJECTS = pipe2.$(OBJEXT)
+pipe2_LDADD = $(LDADD)
+pipe2_DEPENDENCIES = libtests.a
+pkey_alloc_SOURCES = pkey_alloc.c
+pkey_alloc_OBJECTS = pkey_alloc.$(OBJEXT)
+pkey_alloc_LDADD = $(LDADD)
+pkey_alloc_DEPENDENCIES = libtests.a
+pkey_free_SOURCES = pkey_free.c
+pkey_free_OBJECTS = pkey_free.$(OBJEXT)
+pkey_free_LDADD = $(LDADD)
+pkey_free_DEPENDENCIES = libtests.a
+pkey_mprotect_SOURCES = pkey_mprotect.c
+pkey_mprotect_OBJECTS = pkey_mprotect.$(OBJEXT)
+pkey_mprotect_LDADD = $(LDADD)
+pkey_mprotect_DEPENDENCIES = libtests.a
+poll_SOURCES = poll.c
+poll_OBJECTS = poll.$(OBJEXT)
+poll_LDADD = $(LDADD)
+poll_DEPENDENCIES = libtests.a
+ppoll_SOURCES = ppoll.c
+ppoll_OBJECTS = ppoll.$(OBJEXT)
+ppoll_LDADD = $(LDADD)
+ppoll_DEPENDENCIES = libtests.a
+prctl_arg2_intptr_SOURCES = prctl-arg2-intptr.c
+prctl_arg2_intptr_OBJECTS = prctl-arg2-intptr.$(OBJEXT)
+prctl_arg2_intptr_LDADD = $(LDADD)
+prctl_arg2_intptr_DEPENDENCIES = libtests.a
+prctl_dumpable_SOURCES = prctl-dumpable.c
+prctl_dumpable_OBJECTS = prctl-dumpable.$(OBJEXT)
+prctl_dumpable_LDADD = $(LDADD)
+prctl_dumpable_DEPENDENCIES = libtests.a
+prctl_name_SOURCES = prctl-name.c
+prctl_name_OBJECTS = prctl-name.$(OBJEXT)
+prctl_name_LDADD = $(LDADD)
+prctl_name_DEPENDENCIES = libtests.a
+prctl_no_args_SOURCES = prctl-no-args.c
+prctl_no_args_OBJECTS = prctl-no-args.$(OBJEXT)
+prctl_no_args_LDADD = $(LDADD)
+prctl_no_args_DEPENDENCIES = libtests.a
+prctl_pdeathsig_SOURCES = prctl-pdeathsig.c
+prctl_pdeathsig_OBJECTS = prctl-pdeathsig.$(OBJEXT)
+prctl_pdeathsig_LDADD = $(LDADD)
+prctl_pdeathsig_DEPENDENCIES = libtests.a
+prctl_seccomp_filter_v_SOURCES = prctl-seccomp-filter-v.c
+prctl_seccomp_filter_v_OBJECTS = prctl-seccomp-filter-v.$(OBJEXT)
+prctl_seccomp_filter_v_LDADD = $(LDADD)
+prctl_seccomp_filter_v_DEPENDENCIES = libtests.a
+prctl_seccomp_strict_SOURCES = prctl-seccomp-strict.c
+prctl_seccomp_strict_OBJECTS = prctl-seccomp-strict.$(OBJEXT)
+prctl_seccomp_strict_LDADD = $(LDADD)
+prctl_seccomp_strict_DEPENDENCIES = libtests.a
+prctl_securebits_SOURCES = prctl-securebits.c
+prctl_securebits_OBJECTS = prctl-securebits.$(OBJEXT)
+prctl_securebits_LDADD = $(LDADD)
+prctl_securebits_DEPENDENCIES = libtests.a
+prctl_tid_address_SOURCES = prctl-tid_address.c
+prctl_tid_address_OBJECTS = prctl-tid_address.$(OBJEXT)
+prctl_tid_address_LDADD = $(LDADD)
+prctl_tid_address_DEPENDENCIES = libtests.a
+prctl_tsc_SOURCES = prctl-tsc.c
+prctl_tsc_OBJECTS = prctl-tsc.$(OBJEXT)
+prctl_tsc_LDADD = $(LDADD)
+prctl_tsc_DEPENDENCIES = libtests.a
+pread64_pwrite64_SOURCES = pread64-pwrite64.c
+pread64_pwrite64_OBJECTS =  \
+	pread64_pwrite64-pread64-pwrite64.$(OBJEXT)
+pread64_pwrite64_LDADD = $(LDADD)
+pread64_pwrite64_DEPENDENCIES = libtests.a
+preadv_SOURCES = preadv.c
+preadv_OBJECTS = preadv-preadv.$(OBJEXT)
+preadv_LDADD = $(LDADD)
+preadv_DEPENDENCIES = libtests.a
+preadv_pwritev_SOURCES = preadv-pwritev.c
+preadv_pwritev_OBJECTS = preadv_pwritev-preadv-pwritev.$(OBJEXT)
+preadv_pwritev_LDADD = $(LDADD)
+preadv_pwritev_DEPENDENCIES = libtests.a
+preadv2_pwritev2_SOURCES = preadv2-pwritev2.c
+preadv2_pwritev2_OBJECTS = preadv2-pwritev2.$(OBJEXT)
+preadv2_pwritev2_LDADD = $(LDADD)
+preadv2_pwritev2_DEPENDENCIES = libtests.a
+print_maxfd_SOURCES = print_maxfd.c
+print_maxfd_OBJECTS = print_maxfd.$(OBJEXT)
+print_maxfd_LDADD = $(LDADD)
+print_maxfd_DEPENDENCIES = libtests.a
+printstr_SOURCES = printstr.c
+printstr_OBJECTS = printstr.$(OBJEXT)
+printstr_LDADD = $(LDADD)
+printstr_DEPENDENCIES = libtests.a
+prlimit64_SOURCES = prlimit64.c
+prlimit64_OBJECTS = prlimit64.$(OBJEXT)
+prlimit64_LDADD = $(LDADD)
+prlimit64_DEPENDENCIES = libtests.a
+process_vm_readv_SOURCES = process_vm_readv.c
+process_vm_readv_OBJECTS = process_vm_readv.$(OBJEXT)
+process_vm_readv_LDADD = $(LDADD)
+process_vm_readv_DEPENDENCIES = libtests.a
+process_vm_writev_SOURCES = process_vm_writev.c
+process_vm_writev_OBJECTS = process_vm_writev.$(OBJEXT)
+process_vm_writev_LDADD = $(LDADD)
+process_vm_writev_DEPENDENCIES = libtests.a
+pselect6_SOURCES = pselect6.c
+pselect6_OBJECTS = pselect6.$(OBJEXT)
+pselect6_LDADD = $(LDADD)
+pselect6_DEPENDENCIES = libtests.a
+ptrace_SOURCES = ptrace.c
+ptrace_OBJECTS = ptrace.$(OBJEXT)
+ptrace_LDADD = $(LDADD)
+ptrace_DEPENDENCIES = libtests.a
+pwritev_SOURCES = pwritev.c
+pwritev_OBJECTS = pwritev-pwritev.$(OBJEXT)
+pwritev_LDADD = $(LDADD)
+pwritev_DEPENDENCIES = libtests.a
+qual_fault_SOURCES = qual_fault.c
+qual_fault_OBJECTS = qual_fault.$(OBJEXT)
+qual_fault_LDADD = $(LDADD)
+qual_fault_DEPENDENCIES = libtests.a
+qual_inject_error_signal_SOURCES = qual_inject-error-signal.c
+qual_inject_error_signal_OBJECTS = qual_inject-error-signal.$(OBJEXT)
+qual_inject_error_signal_LDADD = $(LDADD)
+qual_inject_error_signal_DEPENDENCIES = libtests.a
+qual_inject_retval_SOURCES = qual_inject-retval.c
+qual_inject_retval_OBJECTS = qual_inject-retval.$(OBJEXT)
+qual_inject_retval_LDADD = $(LDADD)
+qual_inject_retval_DEPENDENCIES = libtests.a
+qual_inject_signal_SOURCES = qual_inject-signal.c
+qual_inject_signal_OBJECTS = qual_inject-signal.$(OBJEXT)
+qual_inject_signal_LDADD = $(LDADD)
+qual_inject_signal_DEPENDENCIES = libtests.a
+qual_signal_SOURCES = qual_signal.c
+qual_signal_OBJECTS = qual_signal.$(OBJEXT)
+qual_signal_LDADD = $(LDADD)
+qual_signal_DEPENDENCIES = libtests.a
+quotactl_SOURCES = quotactl.c
+quotactl_OBJECTS = quotactl.$(OBJEXT)
+quotactl_LDADD = $(LDADD)
+quotactl_DEPENDENCIES = libtests.a
+quotactl_v_SOURCES = quotactl-v.c
+quotactl_v_OBJECTS = quotactl-v.$(OBJEXT)
+quotactl_v_LDADD = $(LDADD)
+quotactl_v_DEPENDENCIES = libtests.a
+quotactl_xfs_SOURCES = quotactl-xfs.c
+quotactl_xfs_OBJECTS = quotactl-xfs.$(OBJEXT)
+quotactl_xfs_LDADD = $(LDADD)
+quotactl_xfs_DEPENDENCIES = libtests.a
+quotactl_xfs_v_SOURCES = quotactl-xfs-v.c
+quotactl_xfs_v_OBJECTS = quotactl-xfs-v.$(OBJEXT)
+quotactl_xfs_v_LDADD = $(LDADD)
+quotactl_xfs_v_DEPENDENCIES = libtests.a
+read_write_SOURCES = read-write.c
+read_write_OBJECTS = read-write.$(OBJEXT)
+read_write_LDADD = $(LDADD)
+read_write_DEPENDENCIES = libtests.a
+readahead_SOURCES = readahead.c
+readahead_OBJECTS = readahead.$(OBJEXT)
+readahead_LDADD = $(LDADD)
+readahead_DEPENDENCIES = libtests.a
+readdir_SOURCES = readdir.c
+readdir_OBJECTS = readdir.$(OBJEXT)
+readdir_LDADD = $(LDADD)
+readdir_DEPENDENCIES = libtests.a
+readlink_SOURCES = readlink.c
+readlink_OBJECTS = readlink.$(OBJEXT)
+readlink_LDADD = $(LDADD)
+readlink_DEPENDENCIES = libtests.a
+readlinkat_SOURCES = readlinkat.c
+readlinkat_OBJECTS = readlinkat.$(OBJEXT)
+readlinkat_LDADD = $(LDADD)
+readlinkat_DEPENDENCIES = libtests.a
+readv_SOURCES = readv.c
+readv_OBJECTS = readv.$(OBJEXT)
+readv_LDADD = $(LDADD)
+readv_DEPENDENCIES = libtests.a
+reboot_SOURCES = reboot.c
+reboot_OBJECTS = reboot.$(OBJEXT)
+reboot_LDADD = $(LDADD)
+reboot_DEPENDENCIES = libtests.a
+recvfrom_SOURCES = recvfrom.c
+recvfrom_OBJECTS = recvfrom.$(OBJEXT)
+recvfrom_LDADD = $(LDADD)
+recvfrom_DEPENDENCIES = libtests.a
+recvmmsg_timeout_SOURCES = recvmmsg-timeout.c
+recvmmsg_timeout_OBJECTS = recvmmsg-timeout.$(OBJEXT)
+recvmmsg_timeout_LDADD = $(LDADD)
+recvmmsg_timeout_DEPENDENCIES = libtests.a
+recvmsg_SOURCES = recvmsg.c
+recvmsg_OBJECTS = recvmsg.$(OBJEXT)
+recvmsg_LDADD = $(LDADD)
+recvmsg_DEPENDENCIES = libtests.a
+redirect_fds_SOURCES = redirect-fds.c
+redirect_fds_OBJECTS = redirect-fds.$(OBJEXT)
+redirect_fds_LDADD = $(LDADD)
+redirect_fds_DEPENDENCIES = libtests.a
+remap_file_pages_SOURCES = remap_file_pages.c
+remap_file_pages_OBJECTS = remap_file_pages.$(OBJEXT)
+remap_file_pages_LDADD = $(LDADD)
+remap_file_pages_DEPENDENCIES = libtests.a
+rename_SOURCES = rename.c
+rename_OBJECTS = rename.$(OBJEXT)
+rename_LDADD = $(LDADD)
+rename_DEPENDENCIES = libtests.a
+renameat_SOURCES = renameat.c
+renameat_OBJECTS = renameat.$(OBJEXT)
+renameat_LDADD = $(LDADD)
+renameat_DEPENDENCIES = libtests.a
+renameat2_SOURCES = renameat2.c
+renameat2_OBJECTS = renameat2.$(OBJEXT)
+renameat2_LDADD = $(LDADD)
+renameat2_DEPENDENCIES = libtests.a
+request_key_SOURCES = request_key.c
+request_key_OBJECTS = request_key.$(OBJEXT)
+request_key_LDADD = $(LDADD)
+request_key_DEPENDENCIES = libtests.a
+restart_syscall_SOURCES = restart_syscall.c
+restart_syscall_OBJECTS = restart_syscall.$(OBJEXT)
+restart_syscall_LDADD = $(LDADD)
+restart_syscall_DEPENDENCIES = libtests.a
+rmdir_SOURCES = rmdir.c
+rmdir_OBJECTS = rmdir.$(OBJEXT)
+rmdir_LDADD = $(LDADD)
+rmdir_DEPENDENCIES = libtests.a
+rt_sigpending_SOURCES = rt_sigpending.c
+rt_sigpending_OBJECTS = rt_sigpending.$(OBJEXT)
+rt_sigpending_LDADD = $(LDADD)
+rt_sigpending_DEPENDENCIES = libtests.a
+rt_sigprocmask_SOURCES = rt_sigprocmask.c
+rt_sigprocmask_OBJECTS = rt_sigprocmask.$(OBJEXT)
+rt_sigprocmask_LDADD = $(LDADD)
+rt_sigprocmask_DEPENDENCIES = libtests.a
+rt_sigqueueinfo_SOURCES = rt_sigqueueinfo.c
+rt_sigqueueinfo_OBJECTS = rt_sigqueueinfo.$(OBJEXT)
+rt_sigqueueinfo_LDADD = $(LDADD)
+rt_sigqueueinfo_DEPENDENCIES = libtests.a
+rt_sigsuspend_SOURCES = rt_sigsuspend.c
+rt_sigsuspend_OBJECTS = rt_sigsuspend.$(OBJEXT)
+rt_sigsuspend_LDADD = $(LDADD)
+rt_sigsuspend_DEPENDENCIES = libtests.a
+rt_sigtimedwait_SOURCES = rt_sigtimedwait.c
+rt_sigtimedwait_OBJECTS = rt_sigtimedwait.$(OBJEXT)
+rt_sigtimedwait_LDADD = $(LDADD)
+rt_sigtimedwait_DEPENDENCIES = libtests.a
+rt_tgsigqueueinfo_SOURCES = rt_tgsigqueueinfo.c
+rt_tgsigqueueinfo_OBJECTS = rt_tgsigqueueinfo.$(OBJEXT)
+rt_tgsigqueueinfo_LDADD = $(LDADD)
+rt_tgsigqueueinfo_DEPENDENCIES = libtests.a
+sched_get_priority_mxx_SOURCES = sched_get_priority_mxx.c
+sched_get_priority_mxx_OBJECTS = sched_get_priority_mxx.$(OBJEXT)
+sched_get_priority_mxx_LDADD = $(LDADD)
+sched_get_priority_mxx_DEPENDENCIES = libtests.a
+sched_rr_get_interval_SOURCES = sched_rr_get_interval.c
+sched_rr_get_interval_OBJECTS = sched_rr_get_interval.$(OBJEXT)
+sched_rr_get_interval_LDADD = $(LDADD)
+sched_rr_get_interval_DEPENDENCIES = libtests.a
+sched_xetaffinity_SOURCES = sched_xetaffinity.c
+sched_xetaffinity_OBJECTS = sched_xetaffinity.$(OBJEXT)
+sched_xetaffinity_LDADD = $(LDADD)
+sched_xetaffinity_DEPENDENCIES = libtests.a
+sched_xetattr_SOURCES = sched_xetattr.c
+sched_xetattr_OBJECTS = sched_xetattr.$(OBJEXT)
+sched_xetattr_LDADD = $(LDADD)
+sched_xetattr_DEPENDENCIES = libtests.a
+sched_xetparam_SOURCES = sched_xetparam.c
+sched_xetparam_OBJECTS = sched_xetparam.$(OBJEXT)
+sched_xetparam_LDADD = $(LDADD)
+sched_xetparam_DEPENDENCIES = libtests.a
+sched_xetscheduler_SOURCES = sched_xetscheduler.c
+sched_xetscheduler_OBJECTS = sched_xetscheduler.$(OBJEXT)
+sched_xetscheduler_LDADD = $(LDADD)
+sched_xetscheduler_DEPENDENCIES = libtests.a
+sched_yield_SOURCES = sched_yield.c
+sched_yield_OBJECTS = sched_yield.$(OBJEXT)
+sched_yield_LDADD = $(LDADD)
+sched_yield_DEPENDENCIES = libtests.a
+scm_rights_SOURCES = scm_rights.c
+scm_rights_OBJECTS = scm_rights.$(OBJEXT)
+scm_rights_LDADD = $(LDADD)
+scm_rights_DEPENDENCIES = libtests.a
+seccomp_filter_SOURCES = seccomp-filter.c
+seccomp_filter_OBJECTS = seccomp-filter.$(OBJEXT)
+seccomp_filter_LDADD = $(LDADD)
+seccomp_filter_DEPENDENCIES = libtests.a
+seccomp_filter_v_SOURCES = seccomp-filter-v.c
+seccomp_filter_v_OBJECTS = seccomp-filter-v.$(OBJEXT)
+seccomp_filter_v_LDADD = $(LDADD)
+seccomp_filter_v_DEPENDENCIES = libtests.a
+seccomp_strict_SOURCES = seccomp-strict.c
+seccomp_strict_OBJECTS = seccomp-strict.$(OBJEXT)
+seccomp_strict_LDADD = $(LDADD)
+seccomp_strict_DEPENDENCIES = libtests.a
+select_SOURCES = select.c
+select_OBJECTS = select.$(OBJEXT)
+select_LDADD = $(LDADD)
+select_DEPENDENCIES = libtests.a
+semop_SOURCES = semop.c
+semop_OBJECTS = semop.$(OBJEXT)
+semop_LDADD = $(LDADD)
+semop_DEPENDENCIES = libtests.a
+sendfile_SOURCES = sendfile.c
+sendfile_OBJECTS = sendfile.$(OBJEXT)
+sendfile_LDADD = $(LDADD)
+sendfile_DEPENDENCIES = libtests.a
+sendfile64_SOURCES = sendfile64.c
+sendfile64_OBJECTS = sendfile64.$(OBJEXT)
+sendfile64_LDADD = $(LDADD)
+sendfile64_DEPENDENCIES = libtests.a
+set_mempolicy_SOURCES = set_mempolicy.c
+set_mempolicy_OBJECTS = set_mempolicy.$(OBJEXT)
+set_mempolicy_LDADD = $(LDADD)
+set_mempolicy_DEPENDENCIES = libtests.a
+set_ptracer_any_SOURCES = set_ptracer_any.c
+set_ptracer_any_OBJECTS = set_ptracer_any.$(OBJEXT)
+set_ptracer_any_LDADD = $(LDADD)
+set_ptracer_any_DEPENDENCIES = libtests.a
+setdomainname_SOURCES = setdomainname.c
+setdomainname_OBJECTS = setdomainname.$(OBJEXT)
+setdomainname_LDADD = $(LDADD)
+setdomainname_DEPENDENCIES = libtests.a
+setfsgid_SOURCES = setfsgid.c
+setfsgid_OBJECTS = setfsgid.$(OBJEXT)
+setfsgid_LDADD = $(LDADD)
+setfsgid_DEPENDENCIES = libtests.a
+setfsgid32_SOURCES = setfsgid32.c
+setfsgid32_OBJECTS = setfsgid32.$(OBJEXT)
+setfsgid32_LDADD = $(LDADD)
+setfsgid32_DEPENDENCIES = libtests.a
+setfsuid_SOURCES = setfsuid.c
+setfsuid_OBJECTS = setfsuid.$(OBJEXT)
+setfsuid_LDADD = $(LDADD)
+setfsuid_DEPENDENCIES = libtests.a
+setfsuid32_SOURCES = setfsuid32.c
+setfsuid32_OBJECTS = setfsuid32.$(OBJEXT)
+setfsuid32_LDADD = $(LDADD)
+setfsuid32_DEPENDENCIES = libtests.a
+setgid_SOURCES = setgid.c
+setgid_OBJECTS = setgid.$(OBJEXT)
+setgid_LDADD = $(LDADD)
+setgid_DEPENDENCIES = libtests.a
+setgid32_SOURCES = setgid32.c
+setgid32_OBJECTS = setgid32.$(OBJEXT)
+setgid32_LDADD = $(LDADD)
+setgid32_DEPENDENCIES = libtests.a
+setgroups_SOURCES = setgroups.c
+setgroups_OBJECTS = setgroups.$(OBJEXT)
+setgroups_LDADD = $(LDADD)
+setgroups_DEPENDENCIES = libtests.a
+setgroups32_SOURCES = setgroups32.c
+setgroups32_OBJECTS = setgroups32.$(OBJEXT)
+setgroups32_LDADD = $(LDADD)
+setgroups32_DEPENDENCIES = libtests.a
+sethostname_SOURCES = sethostname.c
+sethostname_OBJECTS = sethostname.$(OBJEXT)
+sethostname_LDADD = $(LDADD)
+sethostname_DEPENDENCIES = libtests.a
+setns_SOURCES = setns.c
+setns_OBJECTS = setns.$(OBJEXT)
+setns_LDADD = $(LDADD)
+setns_DEPENDENCIES = libtests.a
+setregid_SOURCES = setregid.c
+setregid_OBJECTS = setregid.$(OBJEXT)
+setregid_LDADD = $(LDADD)
+setregid_DEPENDENCIES = libtests.a
+setregid32_SOURCES = setregid32.c
+setregid32_OBJECTS = setregid32.$(OBJEXT)
+setregid32_LDADD = $(LDADD)
+setregid32_DEPENDENCIES = libtests.a
+setresgid_SOURCES = setresgid.c
+setresgid_OBJECTS = setresgid.$(OBJEXT)
+setresgid_LDADD = $(LDADD)
+setresgid_DEPENDENCIES = libtests.a
+setresgid32_SOURCES = setresgid32.c
+setresgid32_OBJECTS = setresgid32.$(OBJEXT)
+setresgid32_LDADD = $(LDADD)
+setresgid32_DEPENDENCIES = libtests.a
+setresuid_SOURCES = setresuid.c
+setresuid_OBJECTS = setresuid.$(OBJEXT)
+setresuid_LDADD = $(LDADD)
+setresuid_DEPENDENCIES = libtests.a
+setresuid32_SOURCES = setresuid32.c
+setresuid32_OBJECTS = setresuid32.$(OBJEXT)
+setresuid32_LDADD = $(LDADD)
+setresuid32_DEPENDENCIES = libtests.a
+setreuid_SOURCES = setreuid.c
+setreuid_OBJECTS = setreuid.$(OBJEXT)
+setreuid_LDADD = $(LDADD)
+setreuid_DEPENDENCIES = libtests.a
+setreuid32_SOURCES = setreuid32.c
+setreuid32_OBJECTS = setreuid32.$(OBJEXT)
+setreuid32_LDADD = $(LDADD)
+setreuid32_DEPENDENCIES = libtests.a
+setrlimit_SOURCES = setrlimit.c
+setrlimit_OBJECTS = setrlimit.$(OBJEXT)
+setrlimit_LDADD = $(LDADD)
+setrlimit_DEPENDENCIES = libtests.a
+setuid_SOURCES = setuid.c
+setuid_OBJECTS = setuid.$(OBJEXT)
+setuid_LDADD = $(LDADD)
+setuid_DEPENDENCIES = libtests.a
+setuid32_SOURCES = setuid32.c
+setuid32_OBJECTS = setuid32.$(OBJEXT)
+setuid32_LDADD = $(LDADD)
+setuid32_DEPENDENCIES = libtests.a
+shmxt_SOURCES = shmxt.c
+shmxt_OBJECTS = shmxt.$(OBJEXT)
+shmxt_LDADD = $(LDADD)
+shmxt_DEPENDENCIES = libtests.a
+shutdown_SOURCES = shutdown.c
+shutdown_OBJECTS = shutdown.$(OBJEXT)
+shutdown_LDADD = $(LDADD)
+shutdown_DEPENDENCIES = libtests.a
+sigaction_SOURCES = sigaction.c
+sigaction_OBJECTS = sigaction.$(OBJEXT)
+sigaction_LDADD = $(LDADD)
+sigaction_DEPENDENCIES = libtests.a
+sigaltstack_SOURCES = sigaltstack.c
+sigaltstack_OBJECTS = sigaltstack.$(OBJEXT)
+sigaltstack_LDADD = $(LDADD)
+sigaltstack_DEPENDENCIES = libtests.a
+siginfo_SOURCES = siginfo.c
+siginfo_OBJECTS = siginfo.$(OBJEXT)
+siginfo_LDADD = $(LDADD)
+siginfo_DEPENDENCIES = libtests.a
+signal_receive_SOURCES = signal_receive.c
+signal_receive_OBJECTS = signal_receive.$(OBJEXT)
+signal_receive_LDADD = $(LDADD)
+signal_receive_DEPENDENCIES = libtests.a
+signalfd4_SOURCES = signalfd4.c
+signalfd4_OBJECTS = signalfd4.$(OBJEXT)
+signalfd4_LDADD = $(LDADD)
+signalfd4_DEPENDENCIES = libtests.a
+sigreturn_SOURCES = sigreturn.c
+sigreturn_OBJECTS = sigreturn.$(OBJEXT)
+sigreturn_LDADD = $(LDADD)
+sigreturn_DEPENDENCIES = libtests.a
+sleep_SOURCES = sleep.c
+sleep_OBJECTS = sleep.$(OBJEXT)
+sleep_LDADD = $(LDADD)
+sleep_DEPENDENCIES = libtests.a
+socketcall_SOURCES = socketcall.c
+socketcall_OBJECTS = socketcall.$(OBJEXT)
+socketcall_LDADD = $(LDADD)
+socketcall_DEPENDENCIES = libtests.a
+splice_SOURCES = splice.c
+splice_OBJECTS = splice.$(OBJEXT)
+splice_LDADD = $(LDADD)
+splice_DEPENDENCIES = libtests.a
+am_stack_fcall_OBJECTS = stack-fcall.$(OBJEXT) stack-fcall-0.$(OBJEXT) \
+	stack-fcall-1.$(OBJEXT) stack-fcall-2.$(OBJEXT) \
+	stack-fcall-3.$(OBJEXT)
+stack_fcall_OBJECTS = $(am_stack_fcall_OBJECTS)
+stack_fcall_LDADD = $(LDADD)
+stack_fcall_DEPENDENCIES = libtests.a
+stat_SOURCES = stat.c
+stat_OBJECTS = stat.$(OBJEXT)
+stat_LDADD = $(LDADD)
+stat_DEPENDENCIES = libtests.a
+stat64_SOURCES = stat64.c
+stat64_OBJECTS = stat64-stat64.$(OBJEXT)
+stat64_LDADD = $(LDADD)
+stat64_DEPENDENCIES = libtests.a
+statfs_SOURCES = statfs.c
+statfs_OBJECTS = statfs-statfs.$(OBJEXT)
+statfs_LDADD = $(LDADD)
+statfs_DEPENDENCIES = libtests.a
+statfs64_SOURCES = statfs64.c
+statfs64_OBJECTS = statfs64.$(OBJEXT)
+statfs64_LDADD = $(LDADD)
+statfs64_DEPENDENCIES = libtests.a
+swap_SOURCES = swap.c
+swap_OBJECTS = swap.$(OBJEXT)
+swap_LDADD = $(LDADD)
+swap_DEPENDENCIES = libtests.a
+symlink_SOURCES = symlink.c
+symlink_OBJECTS = symlink.$(OBJEXT)
+symlink_LDADD = $(LDADD)
+symlink_DEPENDENCIES = libtests.a
+symlinkat_SOURCES = symlinkat.c
+symlinkat_OBJECTS = symlinkat.$(OBJEXT)
+symlinkat_LDADD = $(LDADD)
+symlinkat_DEPENDENCIES = libtests.a
+sync_SOURCES = sync.c
+sync_OBJECTS = sync.$(OBJEXT)
+sync_LDADD = $(LDADD)
+sync_DEPENDENCIES = libtests.a
+sync_file_range_SOURCES = sync_file_range.c
+sync_file_range_OBJECTS = sync_file_range.$(OBJEXT)
+sync_file_range_LDADD = $(LDADD)
+sync_file_range_DEPENDENCIES = libtests.a
+sync_file_range2_SOURCES = sync_file_range2.c
+sync_file_range2_OBJECTS = sync_file_range2.$(OBJEXT)
+sync_file_range2_LDADD = $(LDADD)
+sync_file_range2_DEPENDENCIES = libtests.a
+sysinfo_SOURCES = sysinfo.c
+sysinfo_OBJECTS = sysinfo.$(OBJEXT)
+sysinfo_LDADD = $(LDADD)
+sysinfo_DEPENDENCIES = libtests.a
+syslog_SOURCES = syslog.c
+syslog_OBJECTS = syslog.$(OBJEXT)
+syslog_LDADD = $(LDADD)
+syslog_DEPENDENCIES = libtests.a
+tee_SOURCES = tee.c
+tee_OBJECTS = tee.$(OBJEXT)
+tee_LDADD = $(LDADD)
+tee_DEPENDENCIES = libtests.a
+threads_execve_SOURCES = threads-execve.c
+threads_execve_OBJECTS = threads-execve.$(OBJEXT)
+threads_execve_DEPENDENCIES = $(LDADD)
+time_SOURCES = time.c
+time_OBJECTS = time.$(OBJEXT)
+time_LDADD = $(LDADD)
+time_DEPENDENCIES = libtests.a
+timer_create_SOURCES = timer_create.c
+timer_create_OBJECTS = timer_create.$(OBJEXT)
+timer_create_LDADD = $(LDADD)
+timer_create_DEPENDENCIES = libtests.a
+timer_xettime_SOURCES = timer_xettime.c
+timer_xettime_OBJECTS = timer_xettime.$(OBJEXT)
+timer_xettime_LDADD = $(LDADD)
+timer_xettime_DEPENDENCIES = libtests.a
+timerfd_xettime_SOURCES = timerfd_xettime.c
+timerfd_xettime_OBJECTS = timerfd_xettime.$(OBJEXT)
+timerfd_xettime_LDADD = $(LDADD)
+timerfd_xettime_DEPENDENCIES = libtests.a
+times_SOURCES = times.c
+times_OBJECTS = times.$(OBJEXT)
+times_DEPENDENCIES = $(LDADD)
+times_fail_SOURCES = times-fail.c
+times_fail_OBJECTS = times-fail.$(OBJEXT)
+times_fail_LDADD = $(LDADD)
+times_fail_DEPENDENCIES = libtests.a
+truncate_SOURCES = truncate.c
+truncate_OBJECTS = truncate.$(OBJEXT)
+truncate_LDADD = $(LDADD)
+truncate_DEPENDENCIES = libtests.a
+truncate64_SOURCES = truncate64.c
+truncate64_OBJECTS = truncate64-truncate64.$(OBJEXT)
+truncate64_LDADD = $(LDADD)
+truncate64_DEPENDENCIES = libtests.a
+ugetrlimit_SOURCES = ugetrlimit.c
+ugetrlimit_OBJECTS = ugetrlimit.$(OBJEXT)
+ugetrlimit_LDADD = $(LDADD)
+ugetrlimit_DEPENDENCIES = libtests.a
+uio_SOURCES = uio.c
+uio_OBJECTS = uio-uio.$(OBJEXT)
+uio_LDADD = $(LDADD)
+uio_DEPENDENCIES = libtests.a
+umask_SOURCES = umask.c
+umask_OBJECTS = umask.$(OBJEXT)
+umask_LDADD = $(LDADD)
+umask_DEPENDENCIES = libtests.a
+umount_SOURCES = umount.c
+umount_OBJECTS = umount.$(OBJEXT)
+umount_LDADD = $(LDADD)
+umount_DEPENDENCIES = libtests.a
+umount2_SOURCES = umount2.c
+umount2_OBJECTS = umount2.$(OBJEXT)
+umount2_LDADD = $(LDADD)
+umount2_DEPENDENCIES = libtests.a
+umoven_illptr_SOURCES = umoven-illptr.c
+umoven_illptr_OBJECTS = umoven-illptr.$(OBJEXT)
+umoven_illptr_LDADD = $(LDADD)
+umoven_illptr_DEPENDENCIES = libtests.a
+umovestr_SOURCES = umovestr.c
+umovestr_OBJECTS = umovestr.$(OBJEXT)
+umovestr_LDADD = $(LDADD)
+umovestr_DEPENDENCIES = libtests.a
+umovestr_illptr_SOURCES = umovestr-illptr.c
+umovestr_illptr_OBJECTS = umovestr-illptr.$(OBJEXT)
+umovestr_illptr_LDADD = $(LDADD)
+umovestr_illptr_DEPENDENCIES = libtests.a
+umovestr2_SOURCES = umovestr2.c
+umovestr2_OBJECTS = umovestr2.$(OBJEXT)
+umovestr2_LDADD = $(LDADD)
+umovestr2_DEPENDENCIES = libtests.a
+umovestr3_SOURCES = umovestr3.c
+umovestr3_OBJECTS = umovestr3.$(OBJEXT)
+umovestr3_LDADD = $(LDADD)
+umovestr3_DEPENDENCIES = libtests.a
+uname_SOURCES = uname.c
+uname_OBJECTS = uname.$(OBJEXT)
+uname_LDADD = $(LDADD)
+uname_DEPENDENCIES = libtests.a
+unix_pair_send_recv_SOURCES = unix-pair-send-recv.c
+unix_pair_send_recv_OBJECTS = unix-pair-send-recv.$(OBJEXT)
+unix_pair_send_recv_LDADD = $(LDADD)
+unix_pair_send_recv_DEPENDENCIES = libtests.a
+unix_pair_sendto_recvfrom_SOURCES = unix-pair-sendto-recvfrom.c
+unix_pair_sendto_recvfrom_OBJECTS =  \
+	unix-pair-sendto-recvfrom.$(OBJEXT)
+unix_pair_sendto_recvfrom_LDADD = $(LDADD)
+unix_pair_sendto_recvfrom_DEPENDENCIES = libtests.a
+unlink_SOURCES = unlink.c
+unlink_OBJECTS = unlink.$(OBJEXT)
+unlink_LDADD = $(LDADD)
+unlink_DEPENDENCIES = libtests.a
+unlinkat_SOURCES = unlinkat.c
+unlinkat_OBJECTS = unlinkat.$(OBJEXT)
+unlinkat_LDADD = $(LDADD)
+unlinkat_DEPENDENCIES = libtests.a
+unshare_SOURCES = unshare.c
+unshare_OBJECTS = unshare.$(OBJEXT)
+unshare_LDADD = $(LDADD)
+unshare_DEPENDENCIES = libtests.a
+userfaultfd_SOURCES = userfaultfd.c
+userfaultfd_OBJECTS = userfaultfd.$(OBJEXT)
+userfaultfd_LDADD = $(LDADD)
+userfaultfd_DEPENDENCIES = libtests.a
+ustat_SOURCES = ustat.c
+ustat_OBJECTS = ustat.$(OBJEXT)
+ustat_LDADD = $(LDADD)
+ustat_DEPENDENCIES = libtests.a
+utime_SOURCES = utime.c
+utime_OBJECTS = utime.$(OBJEXT)
+utime_LDADD = $(LDADD)
+utime_DEPENDENCIES = libtests.a
+utimensat_SOURCES = utimensat.c
+utimensat_OBJECTS = utimensat.$(OBJEXT)
+utimensat_LDADD = $(LDADD)
+utimensat_DEPENDENCIES = libtests.a
+utimes_SOURCES = utimes.c
+utimes_OBJECTS = utimes.$(OBJEXT)
+utimes_LDADD = $(LDADD)
+utimes_DEPENDENCIES = libtests.a
+vfork_f_SOURCES = vfork-f.c
+vfork_f_OBJECTS = vfork-f.$(OBJEXT)
+vfork_f_LDADD = $(LDADD)
+vfork_f_DEPENDENCIES = libtests.a
+vhangup_SOURCES = vhangup.c
+vhangup_OBJECTS = vhangup.$(OBJEXT)
+vhangup_LDADD = $(LDADD)
+vhangup_DEPENDENCIES = libtests.a
+vmsplice_SOURCES = vmsplice.c
+vmsplice_OBJECTS = vmsplice.$(OBJEXT)
+vmsplice_LDADD = $(LDADD)
+vmsplice_DEPENDENCIES = libtests.a
+wait4_SOURCES = wait4.c
+wait4_OBJECTS = wait4.$(OBJEXT)
+wait4_LDADD = $(LDADD)
+wait4_DEPENDENCIES = libtests.a
+wait4_v_SOURCES = wait4-v.c
+wait4_v_OBJECTS = wait4-v.$(OBJEXT)
+wait4_v_LDADD = $(LDADD)
+wait4_v_DEPENDENCIES = libtests.a
+waitid_SOURCES = waitid.c
+waitid_OBJECTS = waitid.$(OBJEXT)
+waitid_LDADD = $(LDADD)
+waitid_DEPENDENCIES = libtests.a
+waitid_v_SOURCES = waitid-v.c
+waitid_v_OBJECTS = waitid-v.$(OBJEXT)
+waitid_v_LDADD = $(LDADD)
+waitid_v_DEPENDENCIES = libtests.a
+waitpid_SOURCES = waitpid.c
+waitpid_OBJECTS = waitpid.$(OBJEXT)
+waitpid_LDADD = $(LDADD)
+waitpid_DEPENDENCIES = libtests.a
+xattr_SOURCES = xattr.c
+xattr_OBJECTS = xattr.$(OBJEXT)
+xattr_LDADD = $(LDADD)
+xattr_DEPENDENCIES = libtests.a
+xattr_strings_SOURCES = xattr-strings.c
+xattr_strings_OBJECTS = xattr-strings.$(OBJEXT)
+xattr_strings_LDADD = $(LDADD)
+xattr_strings_DEPENDENCIES = libtests.a
+xet_robust_list_SOURCES = xet_robust_list.c
+xet_robust_list_OBJECTS = xet_robust_list.$(OBJEXT)
+xet_robust_list_LDADD = $(LDADD)
+xet_robust_list_DEPENDENCIES = libtests.a
+xetitimer_SOURCES = xetitimer.c
+xetitimer_OBJECTS = xetitimer.$(OBJEXT)
+xetitimer_LDADD = $(LDADD)
+xetitimer_DEPENDENCIES = libtests.a
+xetpgid_SOURCES = xetpgid.c
+xetpgid_OBJECTS = xetpgid.$(OBJEXT)
+xetpgid_LDADD = $(LDADD)
+xetpgid_DEPENDENCIES = libtests.a
+xetpriority_SOURCES = xetpriority.c
+xetpriority_OBJECTS = xetpriority.$(OBJEXT)
+xetpriority_LDADD = $(LDADD)
+xetpriority_DEPENDENCIES = libtests.a
+xettimeofday_SOURCES = xettimeofday.c
+xettimeofday_OBJECTS = xettimeofday.$(OBJEXT)
+xettimeofday_LDADD = $(LDADD)
+xettimeofday_DEPENDENCIES = libtests.a
+AM_V_P = $(am__v_P_$(V))
+am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+am__v_at_1 = 
+DEFAULT_INCLUDES = 
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+am__v_lt_1 = 
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
+SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
+	access.c acct.c add_key.c adjtimex.c aio.c alarm.c answer.c \
+	attach-f-p.c attach-f-p-cmd.c attach-p-cmd-cmd.c \
+	attach-p-cmd-p.c bpf.c brk.c btrfs.c caps.c caps-abbrev.c \
+	chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
+	clock_nanosleep.c clock_xettime.c copy_file_range.c count-f.c \
+	creat.c delete_module.c dup.c dup2.c dup3.c epoll_create.c \
+	epoll_create1.c epoll_ctl.c epoll_pwait.c epoll_wait.c \
+	erestartsys.c eventfd.c execve.c execve-v.c execveat.c \
+	execveat-v.c faccessat.c fadvise64.c fadvise64_64.c \
+	fallocate.c fanotify_init.c fanotify_mark.c fchdir.c fchmod.c \
+	fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c fcntl64.c \
+	fdatasync.c file_handle.c file_ioctl.c filter-unavailable.c \
+	finit_module.c flock.c fork-f.c fstat.c fstat64.c fstatat64.c \
+	fstatfs.c fstatfs64.c fsync.c ftruncate.c ftruncate64.c \
+	futex.c futimesat.c get_mempolicy.c getcpu.c getcwd.c \
+	getdents.c getdents64.c getegid.c getegid32.c geteuid.c \
+	geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
+	getpeername.c getpgrp.c getrandom.c getresgid.c getresgid32.c \
+	getresuid.c getresuid32.c getrlimit.c getrusage.c getsid.c \
+	getsockname.c getuid.c getuid32.c getxxid.c inet-cmsg.c \
+	init_module.c inotify.c inotify_init1.c ioctl.c ioctl_block.c \
+	ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-v.c \
+	ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c \
+	ioctl_rtc.c ioctl_rtc-v.c ioctl_scsi.c ioctl_sg_io_v3.c \
+	ioctl_sg_io_v4.c ioctl_sock_gifconf.c ioctl_uffdio.c \
+	ioctl_v4l2.c ioperm.c iopl.c ioprio.c ip_mreq.c ipc.c \
+	ipc_msg.c ipc_msgbuf.c ipc_sem.c ipc_shm.c kcmp.c \
+	kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
+	lchown.c lchown32.c link.c linkat.c llseek.c lookup_dcookie.c \
+	lseek.c lstat.c lstat64.c mbind.c membarrier.c memfd_create.c \
+	migrate_pages.c mincore.c mkdir.c mkdirat.c mknod.c mknodat.c \
+	mlock.c mlock2.c mlockall.c mmap.c mmap64.c mmsg.c \
+	mmsg-silent.c mmsg_name.c mmsg_name-v.c mount.c move_pages.c \
+	mq.c mq_sendrecv.c mq_sendrecv-read.c mq_sendrecv-write.c \
+	msg_control.c msg_control-v.c msg_name.c munlockall.c \
+	nanosleep.c net-accept-connect.c net-icmp_filter.c \
+	net-sockaddr.c net-y-unix.c net-yy-inet.c net-yy-netlink.c \
+	net-yy-unix.c netlink_inet_diag.c netlink_netlink_diag.c \
+	netlink_protocol.c netlink_unix_diag.c newfstatat.c \
+	nsyscalls.c old_mmap.c oldfstat.c oldlstat.c oldselect.c \
+	oldstat.c open.c openat.c pause.c pc.c perf_event_open.c \
+	perf_event_open_nonverbose.c perf_event_open_unabbrev.c \
+	personality.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
+	pkey_mprotect.c poll.c ppoll.c prctl-arg2-intptr.c \
+	prctl-dumpable.c prctl-name.c prctl-no-args.c \
+	prctl-pdeathsig.c prctl-seccomp-filter-v.c \
+	prctl-seccomp-strict.c prctl-securebits.c prctl-tid_address.c \
+	prctl-tsc.c pread64-pwrite64.c preadv.c preadv-pwritev.c \
+	preadv2-pwritev2.c print_maxfd.c printstr.c prlimit64.c \
+	process_vm_readv.c process_vm_writev.c pselect6.c ptrace.c \
+	pwritev.c qual_fault.c qual_inject-error-signal.c \
+	qual_inject-retval.c qual_inject-signal.c qual_signal.c \
+	quotactl.c quotactl-v.c quotactl-xfs.c quotactl-xfs-v.c \
+	read-write.c readahead.c readdir.c readlink.c readlinkat.c \
+	readv.c reboot.c recvfrom.c recvmmsg-timeout.c recvmsg.c \
+	redirect-fds.c remap_file_pages.c rename.c renameat.c \
+	renameat2.c request_key.c restart_syscall.c rmdir.c \
+	rt_sigpending.c rt_sigprocmask.c rt_sigqueueinfo.c \
+	rt_sigsuspend.c rt_sigtimedwait.c rt_tgsigqueueinfo.c \
+	sched_get_priority_mxx.c sched_rr_get_interval.c \
+	sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \
+	sched_xetscheduler.c sched_yield.c scm_rights.c \
+	seccomp-filter.c seccomp-filter-v.c seccomp-strict.c select.c \
+	semop.c sendfile.c sendfile64.c set_mempolicy.c \
+	set_ptracer_any.c setdomainname.c setfsgid.c setfsgid32.c \
+	setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \
+	setgroups32.c sethostname.c setns.c setregid.c setregid32.c \
+	setresgid.c setresgid32.c setresuid.c setresuid32.c setreuid.c \
+	setreuid32.c setrlimit.c setuid.c setuid32.c shmxt.c \
+	shutdown.c sigaction.c sigaltstack.c siginfo.c \
+	signal_receive.c signalfd4.c sigreturn.c sleep.c socketcall.c \
+	splice.c $(stack_fcall_SOURCES) stat.c stat64.c statfs.c \
+	statfs64.c swap.c symlink.c symlinkat.c sync.c \
+	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c tee.c \
+	threads-execve.c time.c timer_create.c timer_xettime.c \
+	timerfd_xettime.c times.c times-fail.c truncate.c truncate64.c \
+	ugetrlimit.c uio.c umask.c umount.c umount2.c umoven-illptr.c \
+	umovestr.c umovestr-illptr.c umovestr2.c umovestr3.c uname.c \
+	unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
+	unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
+	utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
+	waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
+	xet_robust_list.c xetitimer.c xetpgid.c xetpriority.c \
+	xettimeofday.c
+DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
+	access.c acct.c add_key.c adjtimex.c aio.c alarm.c answer.c \
+	attach-f-p.c attach-f-p-cmd.c attach-p-cmd-cmd.c \
+	attach-p-cmd-p.c bpf.c brk.c btrfs.c caps.c caps-abbrev.c \
+	chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
+	clock_nanosleep.c clock_xettime.c copy_file_range.c count-f.c \
+	creat.c delete_module.c dup.c dup2.c dup3.c epoll_create.c \
+	epoll_create1.c epoll_ctl.c epoll_pwait.c epoll_wait.c \
+	erestartsys.c eventfd.c execve.c execve-v.c execveat.c \
+	execveat-v.c faccessat.c fadvise64.c fadvise64_64.c \
+	fallocate.c fanotify_init.c fanotify_mark.c fchdir.c fchmod.c \
+	fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c fcntl64.c \
+	fdatasync.c file_handle.c file_ioctl.c filter-unavailable.c \
+	finit_module.c flock.c fork-f.c fstat.c fstat64.c fstatat64.c \
+	fstatfs.c fstatfs64.c fsync.c ftruncate.c ftruncate64.c \
+	futex.c futimesat.c get_mempolicy.c getcpu.c getcwd.c \
+	getdents.c getdents64.c getegid.c getegid32.c geteuid.c \
+	geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
+	getpeername.c getpgrp.c getrandom.c getresgid.c getresgid32.c \
+	getresuid.c getresuid32.c getrlimit.c getrusage.c getsid.c \
+	getsockname.c getuid.c getuid32.c getxxid.c inet-cmsg.c \
+	init_module.c inotify.c inotify_init1.c ioctl.c ioctl_block.c \
+	ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-v.c \
+	ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c \
+	ioctl_rtc.c ioctl_rtc-v.c ioctl_scsi.c ioctl_sg_io_v3.c \
+	ioctl_sg_io_v4.c ioctl_sock_gifconf.c ioctl_uffdio.c \
+	ioctl_v4l2.c ioperm.c iopl.c ioprio.c ip_mreq.c ipc.c \
+	ipc_msg.c ipc_msgbuf.c ipc_sem.c ipc_shm.c kcmp.c \
+	kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
+	lchown.c lchown32.c link.c linkat.c llseek.c lookup_dcookie.c \
+	lseek.c lstat.c lstat64.c mbind.c membarrier.c memfd_create.c \
+	migrate_pages.c mincore.c mkdir.c mkdirat.c mknod.c mknodat.c \
+	mlock.c mlock2.c mlockall.c mmap.c mmap64.c mmsg.c \
+	mmsg-silent.c mmsg_name.c mmsg_name-v.c mount.c move_pages.c \
+	mq.c mq_sendrecv.c mq_sendrecv-read.c mq_sendrecv-write.c \
+	msg_control.c msg_control-v.c msg_name.c munlockall.c \
+	nanosleep.c net-accept-connect.c net-icmp_filter.c \
+	net-sockaddr.c net-y-unix.c net-yy-inet.c net-yy-netlink.c \
+	net-yy-unix.c netlink_inet_diag.c netlink_netlink_diag.c \
+	netlink_protocol.c netlink_unix_diag.c newfstatat.c \
+	nsyscalls.c old_mmap.c oldfstat.c oldlstat.c oldselect.c \
+	oldstat.c open.c openat.c pause.c pc.c perf_event_open.c \
+	perf_event_open_nonverbose.c perf_event_open_unabbrev.c \
+	personality.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
+	pkey_mprotect.c poll.c ppoll.c prctl-arg2-intptr.c \
+	prctl-dumpable.c prctl-name.c prctl-no-args.c \
+	prctl-pdeathsig.c prctl-seccomp-filter-v.c \
+	prctl-seccomp-strict.c prctl-securebits.c prctl-tid_address.c \
+	prctl-tsc.c pread64-pwrite64.c preadv.c preadv-pwritev.c \
+	preadv2-pwritev2.c print_maxfd.c printstr.c prlimit64.c \
+	process_vm_readv.c process_vm_writev.c pselect6.c ptrace.c \
+	pwritev.c qual_fault.c qual_inject-error-signal.c \
+	qual_inject-retval.c qual_inject-signal.c qual_signal.c \
+	quotactl.c quotactl-v.c quotactl-xfs.c quotactl-xfs-v.c \
+	read-write.c readahead.c readdir.c readlink.c readlinkat.c \
+	readv.c reboot.c recvfrom.c recvmmsg-timeout.c recvmsg.c \
+	redirect-fds.c remap_file_pages.c rename.c renameat.c \
+	renameat2.c request_key.c restart_syscall.c rmdir.c \
+	rt_sigpending.c rt_sigprocmask.c rt_sigqueueinfo.c \
+	rt_sigsuspend.c rt_sigtimedwait.c rt_tgsigqueueinfo.c \
+	sched_get_priority_mxx.c sched_rr_get_interval.c \
+	sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \
+	sched_xetscheduler.c sched_yield.c scm_rights.c \
+	seccomp-filter.c seccomp-filter-v.c seccomp-strict.c select.c \
+	semop.c sendfile.c sendfile64.c set_mempolicy.c \
+	set_ptracer_any.c setdomainname.c setfsgid.c setfsgid32.c \
+	setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \
+	setgroups32.c sethostname.c setns.c setregid.c setregid32.c \
+	setresgid.c setresgid32.c setresuid.c setresuid32.c setreuid.c \
+	setreuid32.c setrlimit.c setuid.c setuid32.c shmxt.c \
+	shutdown.c sigaction.c sigaltstack.c siginfo.c \
+	signal_receive.c signalfd4.c sigreturn.c sleep.c socketcall.c \
+	splice.c $(stack_fcall_SOURCES) stat.c stat64.c statfs.c \
+	statfs64.c swap.c symlink.c symlinkat.c sync.c \
+	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c tee.c \
+	threads-execve.c time.c timer_create.c timer_xettime.c \
+	timerfd_xettime.c times.c times-fail.c truncate.c truncate64.c \
+	ugetrlimit.c uio.c umask.c umount.c umount2.c umoven-illptr.c \
+	umovestr.c umovestr-illptr.c umovestr2.c umovestr3.c uname.c \
+	unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
+	unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
+	utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
+	waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
+	xet_robust_list.c xetitimer.c xetpgid.c xetpriority.c \
+	xettimeofday.c
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__extra_recursive_targets = check-valgrind-recursive
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors_dummy = \
+  mgn= red= grn= lgn= blu= brg= std=; \
+  am__color_tests=no
+am__tty_colors = { \
+  $(am__tty_colors_dummy); \
+  if test "X$(AM_COLOR_TESTS)" = Xno; then \
+    am__color_tests=no; \
+  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+    am__color_tests=yes; \
+  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+    am__color_tests=yes; \
+  fi; \
+  if test $$am__color_tests = yes; then \
+    red=''; \
+    grn=''; \
+    lgn=''; \
+    blu=''; \
+    mgn=''; \
+    brg=''; \
+    std=''; \
+  fi; \
+}
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__recheck_rx = ^[ 	]*:recheck:[ 	]*
+am__global_test_result_rx = ^[ 	]*:global-test-result:[ 	]*
+am__copy_in_global_log_rx = ^[ 	]*:copy-in-global-log:[ 	]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+  recheck = 1; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+        { \
+          if ((getline line2 < ($$0 ".log")) < 0) \
+	    recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+        { \
+          recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+        { \
+          break; \
+        } \
+    }; \
+  if (recheck) \
+    print $$0; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+  print "fatal: making $@: " msg | "cat >&2"; \
+  exit 1; \
+} \
+function rst_section(header) \
+{ \
+  print header; \
+  len = length(header); \
+  for (i = 1; i <= len; i = i + 1) \
+    printf "="; \
+  printf "\n\n"; \
+} \
+{ \
+  copy_in_global_log = 1; \
+  global_test_result = "RUN"; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+         fatal("failed to read from " $$0 ".trs"); \
+      if (line ~ /$(am__global_test_result_rx)/) \
+        { \
+          sub("$(am__global_test_result_rx)", "", line); \
+          sub("[ 	]*$$", "", line); \
+          global_test_result = line; \
+        } \
+      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+        copy_in_global_log = 0; \
+    }; \
+  if (copy_in_global_log) \
+    { \
+      rst_section(global_test_result ": " $$0); \
+      while ((rc = (getline line < ($$0 ".log"))) != 0) \
+      { \
+        if (rc < 0) \
+          fatal("failed to read from " $$0 ".log"); \
+        print line; \
+      }; \
+      printf "\n"; \
+    }; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+  --color-tests "$$am__color_tests" \
+  --enable-hard-errors "$$am__enable_hard_errors" \
+  --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test.  Creates the
+# directory for the log if needed.  Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log.  Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup);					\
+$(am__vpath_adj_setup) $(am__vpath_adj)			\
+$(am__tty_colors);					\
+srcdir=$(srcdir); export srcdir;			\
+case "$@" in						\
+  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;	\
+    *) am__odir=.;; 					\
+esac;							\
+test "x$$am__odir" = x"." || test -d "$$am__odir" 	\
+  || $(MKDIR_P) "$$am__odir" || exit $$?;		\
+if test -f "./$$f"; then dir=./;			\
+elif test -f "$$f"; then dir=;				\
+else dir="$(srcdir)/"; fi;				\
+tst=$$dir$$f; log='$@'; 				\
+if test -n '$(DISABLE_HARD_ERRORS)'; then		\
+  am__enable_hard_errors=no; 				\
+else							\
+  am__enable_hard_errors=yes; 				\
+fi; 							\
+case " $(XFAIL_TESTS) " in				\
+  *[\ \	]$$f[\ \	]* | *[\ \	]$$dir$$f[\ \	]*) \
+    am__expect_failure=yes;;				\
+  *)							\
+    am__expect_failure=no;;				\
+esac; 							\
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed).  The result is saved in the shell variable
+# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+  bases='$(TEST_LOGS)'; \
+  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+  bases=`echo $$bases`
+RECHECK_LOGS = $(TEST_LOGS)
+AM_RECURSIVE_TARGETS = check recheck
+#am__EXEEXT_1 = strace-k.test
+TEST_SUITE_LOG = test-suite.log
+TEST_EXTENSIONS =  .test
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:.log=.log)
+TEST_LOGS = $(am__test_logs2:.test.log=.log)
+TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
+TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
+	$(TEST_LOG_FLAGS)
+am__set_b = \
+  case '$@' in \
+    */*) \
+      case '$*' in \
+        */*) b='$*';; \
+          *) b=`echo '$@' | sed 's/\.log$$//'`; \
+       esac;; \
+    *) \
+      b='$*';; \
+  esac
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /usr/local/google/home/enh/Downloads/strace-4.16/missing aclocal-1.14
+AMTAR = $${TAR-tar}
+AM_DEFAULT_VERBOSITY = 1
+AUTOCONF = ${SHELL} /usr/local/google/home/enh/Downloads/strace-4.16/missing autoconf
+AUTOHEADER = ${SHELL} /usr/local/google/home/enh/Downloads/strace-4.16/missing autoheader
+AUTOMAKE = ${SHELL} /usr/local/google/home/enh/Downloads/strace-4.16/missing automake-1.14
+AWK = gawk
+BUILD_EXEEXT = 
+BUILD_OBJEXT = 
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CC_FOR_BUILD = gcc
+CFLAGS = -g -O2
+CFLAGS_FOR_BUILD = -g -O2
+CODE_COVERAGE_CFLAGS = 
+CODE_COVERAGE_CPPFLAGS = 
+CODE_COVERAGE_CXXFLAGS = 
+CODE_COVERAGE_ENABLED = no
+CODE_COVERAGE_LDFLAGS = 
+CPP = gcc -E
+CPPFLAGS = 
+CPPFLAGS_FOR_BUILD = 
+CPP_FOR_BUILD = gcc -E
+CYGPATH_W = echo
+DEB_CHANGELOGTIME = Wed, 15 Feb 2017 11:38:25 -0800
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = /bin/grep -E
+ENABLE_VALGRIND_drd = no
+ENABLE_VALGRIND_helgrind = no
+ENABLE_VALGRIND_memcheck = yes
+ENABLE_VALGRIND_sgcheck = 
+EXEEXT = 
+GCOV = 
+GENHTML = 
+GREP = /bin/grep
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+LCOV = 
+LDFLAGS = 
+LDFLAGS_FOR_BUILD = 
+LIBOBJS = 
+LIBS = 
+LTLIBOBJS = 
+MAINT = #
+MAKEINFO = ${SHELL} /usr/local/google/home/enh/Downloads/strace-4.16/missing makeinfo
+MIPS_ABI = 
+MKDIR_P = /bin/mkdir -p
+OBJEXT = o
+PACKAGE = strace
+PACKAGE_BUGREPORT = [email protected]
+PACKAGE_NAME = strace
+PACKAGE_STRING = strace 4.16
+PACKAGE_TARNAME = strace
+PACKAGE_URL = https://strace.io
+PACKAGE_VERSION = 4.16
+PATH_SEPARATOR = :
+PERL = /usr/bin/perl
+RANLIB = ranlib
+RPM_CHANGELOGTIME = Wed Feb 15 2017
+SED = /bin/sed
+SET_MAKE = 
+SHELL = /bin/sh
+STRIP = 
+VALGRIND = valgrind
+VALGRIND_ENABLED = yes
+VERSION = 4.16
+WARN_CFLAGS =  -Wall -Wempty-body -Wformat-security -Wignored-qualifiers -Winit-self -Wlogical-op -Wmissing-parameter-type -Wnested-externs -Wold-style-declaration -Wold-style-definition -Wsign-compare -Wtype-limits -Wwrite-strings
+WARN_CFLAGS_FOR_BUILD =  -Wall -Wempty-body -Wformat-security -Wignored-qualifiers -Winit-self -Wlogical-op -Wmissing-parameter-type -Wnested-externs -Wold-style-declaration -Wold-style-definition -Wsign-compare -Wtype-limits -Wwrite-strings
+abs_builddir = /usr/local/google/home/enh/Downloads/strace-4.16/tests
+abs_srcdir = /usr/local/google/home/enh/Downloads/strace-4.16/tests
+abs_top_builddir = /usr/local/google/home/enh/Downloads/strace-4.16
+abs_top_srcdir = /usr/local/google/home/enh/Downloads/strace-4.16
+ac_ct_CC = gcc
+ac_ct_CC_FOR_BUILD = gcc
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = $${TAR-tar} chof - "$$tardir"
+am__untar = $${TAR-tar} xf -
+arch = x86_64
+arch_m32 = i386
+arch_mx32 = x32
+bindir = ${exec_prefix}/bin
+build = x86_64-pc-linux-gnu
+build_alias = 
+build_cpu = x86_64
+build_os = linux-gnu
+build_vendor = pc
+builddir = .
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+dl_LIBS = -ldl
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+exec_prefix = ${prefix}
+host = x86_64-pc-linux-gnu
+host_alias = 
+host_cpu = x86_64
+host_os = linux-gnu
+host_vendor = pc
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = ${SHELL} /usr/local/google/home/enh/Downloads/strace-4.16/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+libunwind_CPPFLAGS = 
+libunwind_LDFLAGS = 
+libunwind_LIBS = 
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = $(MKDIR_P)
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+prefix = /usr/local
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = ${prefix}/etc
+target_alias = 
+top_build_prefix = ../
+top_builddir = ..
+top_srcdir = ..
+valgrind_enabled_tools =  memcheck
+valgrind_tools = memcheck helgrind drd sgcheck
+OS = linux
+ARCH = x86_64
+MPERS_NAME = 
+ARCH_MFLAGS = 
+AM_CFLAGS = $(WARN_CFLAGS)
+AM_CPPFLAGS = $(ARCH_MFLAGS) \
+	      -I$(builddir) \
+	      -I$(top_builddir)/$(OS)/$(ARCH) \
+	      -I$(top_srcdir)/$(OS)/$(ARCH) \
+	      -I$(top_builddir)/$(OS) \
+	      -I$(top_srcdir)/$(OS) \
+	      -I$(top_builddir) \
+	      -I$(top_srcdir)
+
+AM_LDFLAGS = $(ARCH_MFLAGS)
+libtests_a_SOURCES = \
+	errno2name.c \
+	error_msg.c \
+	fill_memory.c \
+	get_page_size.c \
+	hexdump_strdup.c \
+	hexquote_strndup.c \
+	inode_of_sockfd.c \
+	libmmsg.c \
+	libsocketcall.c \
+	overflowuid.c \
+	pipe_maxfd.c \
+	print_quoted_string.c \
+	printflags.c \
+	printxval.c \
+	signal2name.c \
+	sprintrc.c \
+	tail_alloc.c \
+	tests.h \
+	tprintf.c \
+	# end of libtests_a_SOURCES
+
+libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+check_LIBRARIES = libtests.a
+LDADD = libtests.a
+attach_f_p_LDADD = -lrt -lpthread $(LDADD)
+clock_xettime_LDADD = -lrt $(LDADD)
+count_f_LDADD = -lpthread $(LDADD)
+filter_unavailable_LDADD = -lpthread $(LDADD)
+fstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+fstatat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+ftruncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+lstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+mmap64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+mq_LDADD = -lrt $(LDADD)
+mq_sendrecv_LDADD = -lrt $(LDADD)
+mq_sendrecv_read_LDADD = -lrt $(LDADD)
+mq_sendrecv_write_LDADD = -lrt $(LDADD)
+newfstatat_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+pc_LDADD = $(dl_LIBS) $(LDADD)
+pread64_pwrite64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+preadv_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+preadv_pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+stat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+statfs_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+threads_execve_LDADD = -lrt -lpthread $(LDADD)
+times_LDADD = -lrt $(LDADD)
+truncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+uio_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+stack_fcall_SOURCES = stack-fcall.c \
+	stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c
+
+LIBUNWIND_TESTS = 
+#LIBUNWIND_TESTS = strace-k.test
+DECODER_TESTS = \
+	_newselect.test \
+	accept.test \
+	accept4.test \
+	access.test \
+	acct.test \
+	add_key.test \
+	adjtimex.test \
+	aio.test \
+	alarm.test \
+	bpf.test \
+	brk.test \
+	btrfs-v.test \
+	btrfs-vw.test \
+	btrfs-w.test \
+	btrfs.test \
+	caps-abbrev.test \
+	caps.test \
+	chmod.test \
+	chown.test \
+	chown32.test \
+	chroot.test \
+	clock_adjtime.test \
+	clock_nanosleep.test \
+	clock_xettime.test \
+	copy_file_range.test \
+	creat.test \
+	delete_module.test \
+	dup.test \
+	dup2.test \
+	dup3.test \
+	epoll_create.test \
+	epoll_create1.test \
+	epoll_ctl.test \
+	epoll_pwait.test \
+	epoll_wait.test \
+	erestartsys.test \
+	eventfd.test \
+	execve-v.test \
+	execve.test \
+	execveat-v.test \
+	execveat.test \
+	faccessat.test \
+	fadvise64.test \
+	fadvise64_64.test \
+	fallocate.test \
+	fanotify_init.test \
+	fanotify_mark.test \
+	fchdir.test \
+	fchmod.test \
+	fchmodat.test \
+	fchown.test \
+	fchown32.test \
+	fchownat.test \
+	fcntl.test \
+	fcntl64.test \
+	fdatasync.test \
+	file_handle.test \
+	file_ioctl.test \
+	finit_module.test \
+	flock.test \
+	fstat.test \
+	fstat64.test \
+	fstatat64.test \
+	fstatfs.test \
+	fstatfs64.test \
+	fsync.test \
+	ftruncate.test \
+	ftruncate64.test \
+	futex.test \
+	futimesat.test \
+	get_mempolicy.test \
+	getcpu.test \
+	getcwd.test \
+	getdents.test \
+	getdents64.test \
+	getegid.test \
+	getegid32.test \
+	geteuid.test \
+	geteuid32.test \
+	getgid.test \
+	getgid32.test \
+	getgroups.test \
+	getgroups32.test \
+	getpeername.test \
+	getpgrp.test \
+	getrandom.test \
+	getresgid.test \
+	getresgid32.test \
+	getresuid.test \
+	getresuid32.test \
+	getrlimit.test \
+	getrusage.test \
+	getsid.test \
+	getsockname.test \
+	getuid.test \
+	getuid32.test \
+	getxxid.test \
+	inet-cmsg.test \
+	init_module.test \
+	inotify.test \
+	inotify_init1.test \
+	ioctl.test \
+	ioctl_block.test \
+	ioctl_dm-v.test \
+	ioctl_dm.test \
+	ioctl_evdev-v.test \
+	ioctl_evdev.test \
+	ioctl_loop-nv.test \
+	ioctl_loop-v.test \
+	ioctl_loop.test \
+	ioctl_mtd.test \
+	ioctl_rtc-v.test \
+	ioctl_rtc.test \
+	ioctl_scsi.test \
+	ioctl_sg_io_v3.test \
+	ioctl_sg_io_v4.test \
+	ioctl_sock_gifconf.test \
+	ioctl_uffdio.test \
+	ioctl_v4l2.test \
+	ioperm.test \
+	iopl.test \
+	ioprio.test \
+	ip_mreq.test \
+	ipc.test \
+	ipc_msg.test \
+	ipc_msgbuf.test \
+	ipc_sem.test \
+	ipc_shm.test \
+	kcmp.test \
+	kexec_file_load.test \
+	kexec_load.test \
+	keyctl.test \
+	kill.test \
+	lchown.test \
+	lchown32.test \
+	link.test \
+	linkat.test \
+	llseek.test \
+	lookup_dcookie.test \
+	lseek.test \
+	lstat.test \
+	lstat64.test \
+	mbind.test \
+	membarrier.test \
+	memfd_create.test \
+	migrate_pages.test \
+	mincore.test \
+	mkdir.test \
+	mkdirat.test \
+	mknod.test \
+	mknodat.test \
+	mlock.test \
+	mlock2.test \
+	mlockall.test \
+	mmap.test \
+	mmap64.test \
+	mmsg-silent.test \
+	mmsg.test \
+	mmsg_name-v.test \
+	mmsg_name.test \
+	mount.test \
+	move_pages.test \
+	mq.test \
+	mq_sendrecv-read.test \
+	mq_sendrecv-write.test \
+	mq_sendrecv.test \
+	msg_control-v.test \
+	msg_control.test \
+	msg_name.test \
+	munlockall.test \
+	nanosleep.test \
+	net-icmp_filter.test \
+	net-sockaddr.test \
+	net-y-unix.test \
+	net-yy-inet.test \
+	net-yy-netlink.test \
+	net-yy-unix.test \
+	net.test \
+	netlink_protocol.test \
+	newfstatat.test \
+	nsyscalls.test \
+	old_mmap.test \
+	oldfstat.test \
+	oldlstat.test \
+	oldselect.test \
+	oldstat.test \
+	open.test \
+	openat.test \
+	pause.test \
+	perf_event_open.test \
+	perf_event_open_nonverbose.test \
+	perf_event_open_unabbrev.test \
+	personality.test \
+	pipe.test \
+	pipe2.test \
+	pkey_alloc.test \
+	pkey_free.test \
+	pkey_mprotect.test \
+	poll.test \
+	ppoll.test \
+	prctl-arg2-intptr.test \
+	prctl-dumpable.test \
+	prctl-name.test \
+	prctl-no-args.test \
+	prctl-pdeathsig.test \
+	prctl-seccomp-filter-v.test \
+	prctl-seccomp-strict.test \
+	prctl-securebits.test \
+	prctl-tid_address.test \
+	prctl-tsc.test \
+	pread64-pwrite64.test \
+	preadv-pwritev.test \
+	preadv.test \
+	preadv2-pwritev2.test \
+	printstr.test \
+	prlimit64.test \
+	process_vm_readv.test \
+	process_vm_writev.test \
+	pselect6.test \
+	ptrace.test \
+	pwritev.test \
+	qual_fault-exit_group.test \
+	quotactl-v.test \
+	quotactl-xfs-v.test \
+	quotactl-xfs.test \
+	quotactl.test \
+	read-write.test \
+	readahead.test \
+	readdir.test \
+	readlink.test \
+	readlinkat.test \
+	readv.test \
+	reboot.test \
+	recvfrom.test \
+	recvmmsg-timeout.test \
+	recvmsg.test \
+	remap_file_pages.test \
+	rename.test \
+	renameat.test \
+	renameat2.test \
+	request_key.test \
+	rmdir.test \
+	rt_sigpending.test \
+	rt_sigprocmask.test \
+	rt_sigqueueinfo.test \
+	rt_sigsuspend.test \
+	rt_sigtimedwait.test \
+	rt_tgsigqueueinfo.test \
+	sched_get_priority_mxx.test \
+	sched_rr_get_interval.test \
+	sched_xetaffinity.test \
+	sched_xetattr.test \
+	sched_xetparam.test \
+	sched_xetscheduler.test \
+	sched_yield.test \
+	scm_rights-fd.test \
+	seccomp-filter-v.test \
+	seccomp-filter.test \
+	seccomp-strict.test \
+	select.test \
+	semop.test \
+	sendfile.test \
+	sendfile64.test \
+	set_mempolicy.test \
+	setdomainname.test \
+	setfsgid.test \
+	setfsgid32.test \
+	setfsuid.test \
+	setfsuid32.test \
+	setgid.test \
+	setgid32.test \
+	setgroups.test \
+	setgroups32.test \
+	sethostname.test \
+	setns.test \
+	setregid.test \
+	setregid32.test \
+	setresgid.test \
+	setresgid32.test \
+	setresuid.test \
+	setresuid32.test \
+	setreuid.test \
+	setreuid32.test \
+	setrlimit.test \
+	setuid.test \
+	setuid32.test \
+	shmxt.test \
+	shutdown.test \
+	sigaction.test \
+	sigaltstack.test \
+	siginfo.test \
+	signalfd4.test \
+	sigreturn.test \
+	socketcall.test \
+	splice.test \
+	stat.test \
+	stat64.test \
+	statfs.test \
+	statfs64.test \
+	sun_path.test \
+	swap.test \
+	symlink.test \
+	symlinkat.test \
+	sync.test \
+	sync_file_range.test \
+	sync_file_range2.test \
+	sysinfo.test \
+	syslog.test \
+	tee.test \
+	time.test \
+	timer_create.test \
+	timer_xettime.test \
+	timerfd_xettime.test \
+	times-fail.test \
+	times.test \
+	truncate.test \
+	truncate64.test \
+	ugetrlimit.test \
+	uio.test \
+	umask.test \
+	umount.test \
+	umount2.test \
+	umoven-illptr.test \
+	umovestr-illptr.test \
+	umovestr.test \
+	umovestr2.test \
+	umovestr3.test \
+	uname.test \
+	unix-pair-send-recv.test \
+	unix-pair-sendto-recvfrom.test \
+	unlink.test \
+	unlinkat.test \
+	unshare.test \
+	userfaultfd.test \
+	ustat.test \
+	utime.test \
+	utimensat.test \
+	utimes.test \
+	vhangup.test \
+	vmsplice.test \
+	wait4-v.test \
+	wait4.test \
+	waitid-v.test \
+	waitid.test \
+	waitpid.test \
+	xattr-strings.test \
+	xattr.test \
+	xet_robust_list.test \
+	xetitimer.test \
+	xetpgid.test \
+	xetpriority.test \
+	xettimeofday.test \
+	# end of DECODER_TESTS
+
+MISC_TESTS = \
+	attach-f-p.test \
+	attach-p-cmd.test \
+	bexecve.test \
+	count-f.test \
+	count.test \
+	detach-running.test \
+	detach-sleeping.test \
+	detach-stopped.test \
+	filter-unavailable.test \
+	fork-f.test \
+	ksysent.test \
+	opipe.test \
+	options-syntax.test \
+	pc.test \
+	qual_fault-syntax.test \
+	qual_fault.test \
+	qual_inject-error-signal.test \
+	qual_inject-retval.test \
+	qual_inject-signal.test \
+	qual_inject-syntax.test \
+	qual_signal.test \
+	qual_syscall.test \
+	redirect-fds.test \
+	redirect.test \
+	restart_syscall.test \
+	signal_receive.test \
+	strace-C.test \
+	strace-E.test \
+	strace-S.test \
+	strace-T.test \
+	strace-V.test \
+	strace-ff.test \
+	strace-r.test \
+	strace-t.test \
+	strace-tt.test \
+	strace-ttt.test \
+	threads-execve.test \
+	vfork-f.test \
+	# end of MISC_TESTS
+
+XFAIL_TESTS_ = 
+XFAIL_TESTS_m32 = $(LIBUNWIND_TESTS)
+XFAIL_TESTS_mx32 = $(LIBUNWIND_TESTS)
+XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME))
+TEST_LOG_COMPILER = env
+AM_TEST_LOG_FLAGS = STRACE_ARCH=$(ARCH) MIPS_ABI=$(MIPS_ABI) $(srcdir)/run.sh
+VALGRIND_FLAGS = --quiet
+VALGRIND_SUPPRESSIONS_FILES = $(srcdir)/strace.supp
+EXTRA_DIST = init.sh run.sh match.awk \
+	     caps-abbrev.awk \
+	     caps.awk \
+	     count-f.expected \
+	     eventfd.expected \
+	     fadvise.h \
+	     filter-unavailable.expected \
+	     fstatat.c \
+	     fstatx.c \
+	     getresugid.c \
+	     init_delete_module.h \
+	     ipc.sh \
+	     ipc_msgbuf.expected \
+	     ksysent.sed \
+	     lstatx.c \
+	     net.expected \
+	     oldselect.expected \
+	     pipe.expected \
+	     ppoll-v.expected \
+	     ppoll.expected \
+	     process_vm_readv_writev.c \
+	     qual_fault-exit_group.expected \
+	     qual_inject-error-signal.expected \
+	     qual_inject-signal.expected \
+	     quotactl.h \
+	     scno_tampering.sh \
+	     setfsugid.c \
+	     setresugid.c \
+	     setreugid.c \
+	     setugid.c \
+	     sigaction.awk \
+	     sigaltstack.expected \
+	     sockname.c \
+	     statfs.expected \
+	     statx.sh \
+	     strace-C.expected \
+	     strace-E.expected \
+	     strace-T.expected \
+	     strace-ff.expected \
+	     strace-k.test \
+	     strace-r.expected \
+	     strace.supp \
+	     struct_flock.c \
+	     sun_path.expected \
+	     uio.expected \
+	     umode_t.c \
+	     umovestr.expected \
+	     unix-pair-send-recv.expected \
+	     unix-pair-sendto-recvfrom.expected \
+	     xchownx.c \
+	     xgetrlimit.c \
+	     xselect.c \
+	     xstatfs.c \
+	     xstatfs64.c \
+	     xstatfsx.c \
+	     xstatx.c \
+	     $(TESTS)
+
+objects = $(filter %.$(OBJEXT),$(SOURCES:.c=.$(OBJEXT)))
+CLEANFILES = ksysent.h $(TESTS:=.tmp) syscallent.i scno.h
+SCNO_CPPFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+		$(ARCH_MFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS)
+
+digits = [[:digit:]][[:digit:]]*
+al_nums = [[:alnum:]_][[:alnum:]_]*
+SCNO_SED = /TRACE_INDIRECT_SUBCALL/d; s/^\[[[:space:]]*\($(digits)\)\][[:space:]]*=[[:space:]]*{[^,]*,[^,]*,[^,]*,[[:space:]]*"\($(al_nums)\)"[[:space:]]*},.*/\#ifndef __NR_\2\n\# define __NR_\2 (SYSCALL_BIT | \1)\n\#endif/p
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(srcdir)/../scno.am $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign tests/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+$(srcdir)/../scno.am:
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-checkLIBRARIES:
+	-test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+
+libtests.a: $(libtests_a_OBJECTS) $(libtests_a_DEPENDENCIES) $(EXTRA_libtests_a_DEPENDENCIES) 
+	$(AM_V_at)-rm -f libtests.a
+	$(AM_V_AR)$(libtests_a_AR) libtests.a $(libtests_a_OBJECTS) $(libtests_a_LIBADD)
+	$(AM_V_at)$(RANLIB) libtests.a
+
+clean-checkPROGRAMS:
+	-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
+
+_newselect$(EXEEXT): $(_newselect_OBJECTS) $(_newselect_DEPENDENCIES) $(EXTRA__newselect_DEPENDENCIES) 
+	@rm -f _newselect$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(_newselect_OBJECTS) $(_newselect_LDADD) $(LIBS)
+
+accept$(EXEEXT): $(accept_OBJECTS) $(accept_DEPENDENCIES) $(EXTRA_accept_DEPENDENCIES) 
+	@rm -f accept$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(accept_OBJECTS) $(accept_LDADD) $(LIBS)
+
+accept4$(EXEEXT): $(accept4_OBJECTS) $(accept4_DEPENDENCIES) $(EXTRA_accept4_DEPENDENCIES) 
+	@rm -f accept4$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(accept4_OBJECTS) $(accept4_LDADD) $(LIBS)
+
+access$(EXEEXT): $(access_OBJECTS) $(access_DEPENDENCIES) $(EXTRA_access_DEPENDENCIES) 
+	@rm -f access$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(access_OBJECTS) $(access_LDADD) $(LIBS)
+
+acct$(EXEEXT): $(acct_OBJECTS) $(acct_DEPENDENCIES) $(EXTRA_acct_DEPENDENCIES) 
+	@rm -f acct$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(acct_OBJECTS) $(acct_LDADD) $(LIBS)
+
+add_key$(EXEEXT): $(add_key_OBJECTS) $(add_key_DEPENDENCIES) $(EXTRA_add_key_DEPENDENCIES) 
+	@rm -f add_key$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(add_key_OBJECTS) $(add_key_LDADD) $(LIBS)
+
+adjtimex$(EXEEXT): $(adjtimex_OBJECTS) $(adjtimex_DEPENDENCIES) $(EXTRA_adjtimex_DEPENDENCIES) 
+	@rm -f adjtimex$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(adjtimex_OBJECTS) $(adjtimex_LDADD) $(LIBS)
+
+aio$(EXEEXT): $(aio_OBJECTS) $(aio_DEPENDENCIES) $(EXTRA_aio_DEPENDENCIES) 
+	@rm -f aio$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(aio_OBJECTS) $(aio_LDADD) $(LIBS)
+
+alarm$(EXEEXT): $(alarm_OBJECTS) $(alarm_DEPENDENCIES) $(EXTRA_alarm_DEPENDENCIES) 
+	@rm -f alarm$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(alarm_OBJECTS) $(alarm_LDADD) $(LIBS)
+
+answer$(EXEEXT): $(answer_OBJECTS) $(answer_DEPENDENCIES) $(EXTRA_answer_DEPENDENCIES) 
+	@rm -f answer$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(answer_OBJECTS) $(answer_LDADD) $(LIBS)
+
+attach-f-p$(EXEEXT): $(attach_f_p_OBJECTS) $(attach_f_p_DEPENDENCIES) $(EXTRA_attach_f_p_DEPENDENCIES) 
+	@rm -f attach-f-p$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(attach_f_p_OBJECTS) $(attach_f_p_LDADD) $(LIBS)
+
+attach-f-p-cmd$(EXEEXT): $(attach_f_p_cmd_OBJECTS) $(attach_f_p_cmd_DEPENDENCIES) $(EXTRA_attach_f_p_cmd_DEPENDENCIES) 
+	@rm -f attach-f-p-cmd$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(attach_f_p_cmd_OBJECTS) $(attach_f_p_cmd_LDADD) $(LIBS)
+
+attach-p-cmd-cmd$(EXEEXT): $(attach_p_cmd_cmd_OBJECTS) $(attach_p_cmd_cmd_DEPENDENCIES) $(EXTRA_attach_p_cmd_cmd_DEPENDENCIES) 
+	@rm -f attach-p-cmd-cmd$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(attach_p_cmd_cmd_OBJECTS) $(attach_p_cmd_cmd_LDADD) $(LIBS)
+
+attach-p-cmd-p$(EXEEXT): $(attach_p_cmd_p_OBJECTS) $(attach_p_cmd_p_DEPENDENCIES) $(EXTRA_attach_p_cmd_p_DEPENDENCIES) 
+	@rm -f attach-p-cmd-p$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(attach_p_cmd_p_OBJECTS) $(attach_p_cmd_p_LDADD) $(LIBS)
+
+bpf$(EXEEXT): $(bpf_OBJECTS) $(bpf_DEPENDENCIES) $(EXTRA_bpf_DEPENDENCIES) 
+	@rm -f bpf$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(bpf_OBJECTS) $(bpf_LDADD) $(LIBS)
+
+brk$(EXEEXT): $(brk_OBJECTS) $(brk_DEPENDENCIES) $(EXTRA_brk_DEPENDENCIES) 
+	@rm -f brk$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(brk_OBJECTS) $(brk_LDADD) $(LIBS)
+
+btrfs$(EXEEXT): $(btrfs_OBJECTS) $(btrfs_DEPENDENCIES) $(EXTRA_btrfs_DEPENDENCIES) 
+	@rm -f btrfs$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(btrfs_OBJECTS) $(btrfs_LDADD) $(LIBS)
+
+caps$(EXEEXT): $(caps_OBJECTS) $(caps_DEPENDENCIES) $(EXTRA_caps_DEPENDENCIES) 
+	@rm -f caps$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(caps_OBJECTS) $(caps_LDADD) $(LIBS)
+
+caps-abbrev$(EXEEXT): $(caps_abbrev_OBJECTS) $(caps_abbrev_DEPENDENCIES) $(EXTRA_caps_abbrev_DEPENDENCIES) 
+	@rm -f caps-abbrev$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(caps_abbrev_OBJECTS) $(caps_abbrev_LDADD) $(LIBS)
+
+chmod$(EXEEXT): $(chmod_OBJECTS) $(chmod_DEPENDENCIES) $(EXTRA_chmod_DEPENDENCIES) 
+	@rm -f chmod$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(chmod_OBJECTS) $(chmod_LDADD) $(LIBS)
+
+chown$(EXEEXT): $(chown_OBJECTS) $(chown_DEPENDENCIES) $(EXTRA_chown_DEPENDENCIES) 
+	@rm -f chown$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(chown_OBJECTS) $(chown_LDADD) $(LIBS)
+
+chown32$(EXEEXT): $(chown32_OBJECTS) $(chown32_DEPENDENCIES) $(EXTRA_chown32_DEPENDENCIES) 
+	@rm -f chown32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(chown32_OBJECTS) $(chown32_LDADD) $(LIBS)
+
+chroot$(EXEEXT): $(chroot_OBJECTS) $(chroot_DEPENDENCIES) $(EXTRA_chroot_DEPENDENCIES) 
+	@rm -f chroot$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(chroot_OBJECTS) $(chroot_LDADD) $(LIBS)
+
+clock_adjtime$(EXEEXT): $(clock_adjtime_OBJECTS) $(clock_adjtime_DEPENDENCIES) $(EXTRA_clock_adjtime_DEPENDENCIES) 
+	@rm -f clock_adjtime$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(clock_adjtime_OBJECTS) $(clock_adjtime_LDADD) $(LIBS)
+
+clock_nanosleep$(EXEEXT): $(clock_nanosleep_OBJECTS) $(clock_nanosleep_DEPENDENCIES) $(EXTRA_clock_nanosleep_DEPENDENCIES) 
+	@rm -f clock_nanosleep$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(clock_nanosleep_OBJECTS) $(clock_nanosleep_LDADD) $(LIBS)
+
+clock_xettime$(EXEEXT): $(clock_xettime_OBJECTS) $(clock_xettime_DEPENDENCIES) $(EXTRA_clock_xettime_DEPENDENCIES) 
+	@rm -f clock_xettime$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(clock_xettime_OBJECTS) $(clock_xettime_LDADD) $(LIBS)
+
+copy_file_range$(EXEEXT): $(copy_file_range_OBJECTS) $(copy_file_range_DEPENDENCIES) $(EXTRA_copy_file_range_DEPENDENCIES) 
+	@rm -f copy_file_range$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(copy_file_range_OBJECTS) $(copy_file_range_LDADD) $(LIBS)
+
+count-f$(EXEEXT): $(count_f_OBJECTS) $(count_f_DEPENDENCIES) $(EXTRA_count_f_DEPENDENCIES) 
+	@rm -f count-f$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(count_f_OBJECTS) $(count_f_LDADD) $(LIBS)
+
+creat$(EXEEXT): $(creat_OBJECTS) $(creat_DEPENDENCIES) $(EXTRA_creat_DEPENDENCIES) 
+	@rm -f creat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(creat_OBJECTS) $(creat_LDADD) $(LIBS)
+
+delete_module$(EXEEXT): $(delete_module_OBJECTS) $(delete_module_DEPENDENCIES) $(EXTRA_delete_module_DEPENDENCIES) 
+	@rm -f delete_module$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(delete_module_OBJECTS) $(delete_module_LDADD) $(LIBS)
+
+dup$(EXEEXT): $(dup_OBJECTS) $(dup_DEPENDENCIES) $(EXTRA_dup_DEPENDENCIES) 
+	@rm -f dup$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(dup_OBJECTS) $(dup_LDADD) $(LIBS)
+
+dup2$(EXEEXT): $(dup2_OBJECTS) $(dup2_DEPENDENCIES) $(EXTRA_dup2_DEPENDENCIES) 
+	@rm -f dup2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(dup2_OBJECTS) $(dup2_LDADD) $(LIBS)
+
+dup3$(EXEEXT): $(dup3_OBJECTS) $(dup3_DEPENDENCIES) $(EXTRA_dup3_DEPENDENCIES) 
+	@rm -f dup3$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(dup3_OBJECTS) $(dup3_LDADD) $(LIBS)
+
+epoll_create$(EXEEXT): $(epoll_create_OBJECTS) $(epoll_create_DEPENDENCIES) $(EXTRA_epoll_create_DEPENDENCIES) 
+	@rm -f epoll_create$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(epoll_create_OBJECTS) $(epoll_create_LDADD) $(LIBS)
+
+epoll_create1$(EXEEXT): $(epoll_create1_OBJECTS) $(epoll_create1_DEPENDENCIES) $(EXTRA_epoll_create1_DEPENDENCIES) 
+	@rm -f epoll_create1$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(epoll_create1_OBJECTS) $(epoll_create1_LDADD) $(LIBS)
+
+epoll_ctl$(EXEEXT): $(epoll_ctl_OBJECTS) $(epoll_ctl_DEPENDENCIES) $(EXTRA_epoll_ctl_DEPENDENCIES) 
+	@rm -f epoll_ctl$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(epoll_ctl_OBJECTS) $(epoll_ctl_LDADD) $(LIBS)
+
+epoll_pwait$(EXEEXT): $(epoll_pwait_OBJECTS) $(epoll_pwait_DEPENDENCIES) $(EXTRA_epoll_pwait_DEPENDENCIES) 
+	@rm -f epoll_pwait$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(epoll_pwait_OBJECTS) $(epoll_pwait_LDADD) $(LIBS)
+
+epoll_wait$(EXEEXT): $(epoll_wait_OBJECTS) $(epoll_wait_DEPENDENCIES) $(EXTRA_epoll_wait_DEPENDENCIES) 
+	@rm -f epoll_wait$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(epoll_wait_OBJECTS) $(epoll_wait_LDADD) $(LIBS)
+
+erestartsys$(EXEEXT): $(erestartsys_OBJECTS) $(erestartsys_DEPENDENCIES) $(EXTRA_erestartsys_DEPENDENCIES) 
+	@rm -f erestartsys$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(erestartsys_OBJECTS) $(erestartsys_LDADD) $(LIBS)
+
+eventfd$(EXEEXT): $(eventfd_OBJECTS) $(eventfd_DEPENDENCIES) $(EXTRA_eventfd_DEPENDENCIES) 
+	@rm -f eventfd$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(eventfd_OBJECTS) $(eventfd_LDADD) $(LIBS)
+
+execve$(EXEEXT): $(execve_OBJECTS) $(execve_DEPENDENCIES) $(EXTRA_execve_DEPENDENCIES) 
+	@rm -f execve$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(execve_OBJECTS) $(execve_LDADD) $(LIBS)
+
+execve-v$(EXEEXT): $(execve_v_OBJECTS) $(execve_v_DEPENDENCIES) $(EXTRA_execve_v_DEPENDENCIES) 
+	@rm -f execve-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(execve_v_OBJECTS) $(execve_v_LDADD) $(LIBS)
+
+execveat$(EXEEXT): $(execveat_OBJECTS) $(execveat_DEPENDENCIES) $(EXTRA_execveat_DEPENDENCIES) 
+	@rm -f execveat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(execveat_OBJECTS) $(execveat_LDADD) $(LIBS)
+
+execveat-v$(EXEEXT): $(execveat_v_OBJECTS) $(execveat_v_DEPENDENCIES) $(EXTRA_execveat_v_DEPENDENCIES) 
+	@rm -f execveat-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(execveat_v_OBJECTS) $(execveat_v_LDADD) $(LIBS)
+
+faccessat$(EXEEXT): $(faccessat_OBJECTS) $(faccessat_DEPENDENCIES) $(EXTRA_faccessat_DEPENDENCIES) 
+	@rm -f faccessat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(faccessat_OBJECTS) $(faccessat_LDADD) $(LIBS)
+
+fadvise64$(EXEEXT): $(fadvise64_OBJECTS) $(fadvise64_DEPENDENCIES) $(EXTRA_fadvise64_DEPENDENCIES) 
+	@rm -f fadvise64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fadvise64_OBJECTS) $(fadvise64_LDADD) $(LIBS)
+
+fadvise64_64$(EXEEXT): $(fadvise64_64_OBJECTS) $(fadvise64_64_DEPENDENCIES) $(EXTRA_fadvise64_64_DEPENDENCIES) 
+	@rm -f fadvise64_64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fadvise64_64_OBJECTS) $(fadvise64_64_LDADD) $(LIBS)
+
+fallocate$(EXEEXT): $(fallocate_OBJECTS) $(fallocate_DEPENDENCIES) $(EXTRA_fallocate_DEPENDENCIES) 
+	@rm -f fallocate$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fallocate_OBJECTS) $(fallocate_LDADD) $(LIBS)
+
+fanotify_init$(EXEEXT): $(fanotify_init_OBJECTS) $(fanotify_init_DEPENDENCIES) $(EXTRA_fanotify_init_DEPENDENCIES) 
+	@rm -f fanotify_init$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fanotify_init_OBJECTS) $(fanotify_init_LDADD) $(LIBS)
+
+fanotify_mark$(EXEEXT): $(fanotify_mark_OBJECTS) $(fanotify_mark_DEPENDENCIES) $(EXTRA_fanotify_mark_DEPENDENCIES) 
+	@rm -f fanotify_mark$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fanotify_mark_OBJECTS) $(fanotify_mark_LDADD) $(LIBS)
+
+fchdir$(EXEEXT): $(fchdir_OBJECTS) $(fchdir_DEPENDENCIES) $(EXTRA_fchdir_DEPENDENCIES) 
+	@rm -f fchdir$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fchdir_OBJECTS) $(fchdir_LDADD) $(LIBS)
+
+fchmod$(EXEEXT): $(fchmod_OBJECTS) $(fchmod_DEPENDENCIES) $(EXTRA_fchmod_DEPENDENCIES) 
+	@rm -f fchmod$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS)
+
+fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) 
+	@rm -f fchmodat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS)
+
+fchown$(EXEEXT): $(fchown_OBJECTS) $(fchown_DEPENDENCIES) $(EXTRA_fchown_DEPENDENCIES) 
+	@rm -f fchown$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fchown_OBJECTS) $(fchown_LDADD) $(LIBS)
+
+fchown32$(EXEEXT): $(fchown32_OBJECTS) $(fchown32_DEPENDENCIES) $(EXTRA_fchown32_DEPENDENCIES) 
+	@rm -f fchown32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fchown32_OBJECTS) $(fchown32_LDADD) $(LIBS)
+
+fchownat$(EXEEXT): $(fchownat_OBJECTS) $(fchownat_DEPENDENCIES) $(EXTRA_fchownat_DEPENDENCIES) 
+	@rm -f fchownat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fchownat_OBJECTS) $(fchownat_LDADD) $(LIBS)
+
+fcntl$(EXEEXT): $(fcntl_OBJECTS) $(fcntl_DEPENDENCIES) $(EXTRA_fcntl_DEPENDENCIES) 
+	@rm -f fcntl$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS)
+
+fcntl64$(EXEEXT): $(fcntl64_OBJECTS) $(fcntl64_DEPENDENCIES) $(EXTRA_fcntl64_DEPENDENCIES) 
+	@rm -f fcntl64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fcntl64_OBJECTS) $(fcntl64_LDADD) $(LIBS)
+
+fdatasync$(EXEEXT): $(fdatasync_OBJECTS) $(fdatasync_DEPENDENCIES) $(EXTRA_fdatasync_DEPENDENCIES) 
+	@rm -f fdatasync$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fdatasync_OBJECTS) $(fdatasync_LDADD) $(LIBS)
+
+file_handle$(EXEEXT): $(file_handle_OBJECTS) $(file_handle_DEPENDENCIES) $(EXTRA_file_handle_DEPENDENCIES) 
+	@rm -f file_handle$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(file_handle_OBJECTS) $(file_handle_LDADD) $(LIBS)
+
+file_ioctl$(EXEEXT): $(file_ioctl_OBJECTS) $(file_ioctl_DEPENDENCIES) $(EXTRA_file_ioctl_DEPENDENCIES) 
+	@rm -f file_ioctl$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(file_ioctl_OBJECTS) $(file_ioctl_LDADD) $(LIBS)
+
+filter-unavailable$(EXEEXT): $(filter_unavailable_OBJECTS) $(filter_unavailable_DEPENDENCIES) $(EXTRA_filter_unavailable_DEPENDENCIES) 
+	@rm -f filter-unavailable$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(filter_unavailable_OBJECTS) $(filter_unavailable_LDADD) $(LIBS)
+
+finit_module$(EXEEXT): $(finit_module_OBJECTS) $(finit_module_DEPENDENCIES) $(EXTRA_finit_module_DEPENDENCIES) 
+	@rm -f finit_module$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(finit_module_OBJECTS) $(finit_module_LDADD) $(LIBS)
+
+flock$(EXEEXT): $(flock_OBJECTS) $(flock_DEPENDENCIES) $(EXTRA_flock_DEPENDENCIES) 
+	@rm -f flock$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(flock_OBJECTS) $(flock_LDADD) $(LIBS)
+
+fork-f$(EXEEXT): $(fork_f_OBJECTS) $(fork_f_DEPENDENCIES) $(EXTRA_fork_f_DEPENDENCIES) 
+	@rm -f fork-f$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fork_f_OBJECTS) $(fork_f_LDADD) $(LIBS)
+
+fstat$(EXEEXT): $(fstat_OBJECTS) $(fstat_DEPENDENCIES) $(EXTRA_fstat_DEPENDENCIES) 
+	@rm -f fstat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fstat_OBJECTS) $(fstat_LDADD) $(LIBS)
+
+fstat64$(EXEEXT): $(fstat64_OBJECTS) $(fstat64_DEPENDENCIES) $(EXTRA_fstat64_DEPENDENCIES) 
+	@rm -f fstat64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fstat64_OBJECTS) $(fstat64_LDADD) $(LIBS)
+
+fstatat64$(EXEEXT): $(fstatat64_OBJECTS) $(fstatat64_DEPENDENCIES) $(EXTRA_fstatat64_DEPENDENCIES) 
+	@rm -f fstatat64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fstatat64_OBJECTS) $(fstatat64_LDADD) $(LIBS)
+
+fstatfs$(EXEEXT): $(fstatfs_OBJECTS) $(fstatfs_DEPENDENCIES) $(EXTRA_fstatfs_DEPENDENCIES) 
+	@rm -f fstatfs$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fstatfs_OBJECTS) $(fstatfs_LDADD) $(LIBS)
+
+fstatfs64$(EXEEXT): $(fstatfs64_OBJECTS) $(fstatfs64_DEPENDENCIES) $(EXTRA_fstatfs64_DEPENDENCIES) 
+	@rm -f fstatfs64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fstatfs64_OBJECTS) $(fstatfs64_LDADD) $(LIBS)
+
+fsync$(EXEEXT): $(fsync_OBJECTS) $(fsync_DEPENDENCIES) $(EXTRA_fsync_DEPENDENCIES) 
+	@rm -f fsync$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fsync_OBJECTS) $(fsync_LDADD) $(LIBS)
+
+ftruncate$(EXEEXT): $(ftruncate_OBJECTS) $(ftruncate_DEPENDENCIES) $(EXTRA_ftruncate_DEPENDENCIES) 
+	@rm -f ftruncate$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ftruncate_OBJECTS) $(ftruncate_LDADD) $(LIBS)
+
+ftruncate64$(EXEEXT): $(ftruncate64_OBJECTS) $(ftruncate64_DEPENDENCIES) $(EXTRA_ftruncate64_DEPENDENCIES) 
+	@rm -f ftruncate64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ftruncate64_OBJECTS) $(ftruncate64_LDADD) $(LIBS)
+
+futex$(EXEEXT): $(futex_OBJECTS) $(futex_DEPENDENCIES) $(EXTRA_futex_DEPENDENCIES) 
+	@rm -f futex$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(futex_OBJECTS) $(futex_LDADD) $(LIBS)
+
+futimesat$(EXEEXT): $(futimesat_OBJECTS) $(futimesat_DEPENDENCIES) $(EXTRA_futimesat_DEPENDENCIES) 
+	@rm -f futimesat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(futimesat_OBJECTS) $(futimesat_LDADD) $(LIBS)
+
+get_mempolicy$(EXEEXT): $(get_mempolicy_OBJECTS) $(get_mempolicy_DEPENDENCIES) $(EXTRA_get_mempolicy_DEPENDENCIES) 
+	@rm -f get_mempolicy$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(get_mempolicy_OBJECTS) $(get_mempolicy_LDADD) $(LIBS)
+
+getcpu$(EXEEXT): $(getcpu_OBJECTS) $(getcpu_DEPENDENCIES) $(EXTRA_getcpu_DEPENDENCIES) 
+	@rm -f getcpu$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getcpu_OBJECTS) $(getcpu_LDADD) $(LIBS)
+
+getcwd$(EXEEXT): $(getcwd_OBJECTS) $(getcwd_DEPENDENCIES) $(EXTRA_getcwd_DEPENDENCIES) 
+	@rm -f getcwd$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getcwd_OBJECTS) $(getcwd_LDADD) $(LIBS)
+
+getdents$(EXEEXT): $(getdents_OBJECTS) $(getdents_DEPENDENCIES) $(EXTRA_getdents_DEPENDENCIES) 
+	@rm -f getdents$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getdents_OBJECTS) $(getdents_LDADD) $(LIBS)
+
+getdents64$(EXEEXT): $(getdents64_OBJECTS) $(getdents64_DEPENDENCIES) $(EXTRA_getdents64_DEPENDENCIES) 
+	@rm -f getdents64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getdents64_OBJECTS) $(getdents64_LDADD) $(LIBS)
+
+getegid$(EXEEXT): $(getegid_OBJECTS) $(getegid_DEPENDENCIES) $(EXTRA_getegid_DEPENDENCIES) 
+	@rm -f getegid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getegid_OBJECTS) $(getegid_LDADD) $(LIBS)
+
+getegid32$(EXEEXT): $(getegid32_OBJECTS) $(getegid32_DEPENDENCIES) $(EXTRA_getegid32_DEPENDENCIES) 
+	@rm -f getegid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getegid32_OBJECTS) $(getegid32_LDADD) $(LIBS)
+
+geteuid$(EXEEXT): $(geteuid_OBJECTS) $(geteuid_DEPENDENCIES) $(EXTRA_geteuid_DEPENDENCIES) 
+	@rm -f geteuid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(geteuid_OBJECTS) $(geteuid_LDADD) $(LIBS)
+
+geteuid32$(EXEEXT): $(geteuid32_OBJECTS) $(geteuid32_DEPENDENCIES) $(EXTRA_geteuid32_DEPENDENCIES) 
+	@rm -f geteuid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(geteuid32_OBJECTS) $(geteuid32_LDADD) $(LIBS)
+
+getgid$(EXEEXT): $(getgid_OBJECTS) $(getgid_DEPENDENCIES) $(EXTRA_getgid_DEPENDENCIES) 
+	@rm -f getgid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getgid_OBJECTS) $(getgid_LDADD) $(LIBS)
+
+getgid32$(EXEEXT): $(getgid32_OBJECTS) $(getgid32_DEPENDENCIES) $(EXTRA_getgid32_DEPENDENCIES) 
+	@rm -f getgid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getgid32_OBJECTS) $(getgid32_LDADD) $(LIBS)
+
+getgroups$(EXEEXT): $(getgroups_OBJECTS) $(getgroups_DEPENDENCIES) $(EXTRA_getgroups_DEPENDENCIES) 
+	@rm -f getgroups$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getgroups_OBJECTS) $(getgroups_LDADD) $(LIBS)
+
+getgroups32$(EXEEXT): $(getgroups32_OBJECTS) $(getgroups32_DEPENDENCIES) $(EXTRA_getgroups32_DEPENDENCIES) 
+	@rm -f getgroups32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getgroups32_OBJECTS) $(getgroups32_LDADD) $(LIBS)
+
+getpeername$(EXEEXT): $(getpeername_OBJECTS) $(getpeername_DEPENDENCIES) $(EXTRA_getpeername_DEPENDENCIES) 
+	@rm -f getpeername$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getpeername_OBJECTS) $(getpeername_LDADD) $(LIBS)
+
+getpgrp$(EXEEXT): $(getpgrp_OBJECTS) $(getpgrp_DEPENDENCIES) $(EXTRA_getpgrp_DEPENDENCIES) 
+	@rm -f getpgrp$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getpgrp_OBJECTS) $(getpgrp_LDADD) $(LIBS)
+
+getrandom$(EXEEXT): $(getrandom_OBJECTS) $(getrandom_DEPENDENCIES) $(EXTRA_getrandom_DEPENDENCIES) 
+	@rm -f getrandom$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getrandom_OBJECTS) $(getrandom_LDADD) $(LIBS)
+
+getresgid$(EXEEXT): $(getresgid_OBJECTS) $(getresgid_DEPENDENCIES) $(EXTRA_getresgid_DEPENDENCIES) 
+	@rm -f getresgid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getresgid_OBJECTS) $(getresgid_LDADD) $(LIBS)
+
+getresgid32$(EXEEXT): $(getresgid32_OBJECTS) $(getresgid32_DEPENDENCIES) $(EXTRA_getresgid32_DEPENDENCIES) 
+	@rm -f getresgid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getresgid32_OBJECTS) $(getresgid32_LDADD) $(LIBS)
+
+getresuid$(EXEEXT): $(getresuid_OBJECTS) $(getresuid_DEPENDENCIES) $(EXTRA_getresuid_DEPENDENCIES) 
+	@rm -f getresuid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getresuid_OBJECTS) $(getresuid_LDADD) $(LIBS)
+
+getresuid32$(EXEEXT): $(getresuid32_OBJECTS) $(getresuid32_DEPENDENCIES) $(EXTRA_getresuid32_DEPENDENCIES) 
+	@rm -f getresuid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getresuid32_OBJECTS) $(getresuid32_LDADD) $(LIBS)
+
+getrlimit$(EXEEXT): $(getrlimit_OBJECTS) $(getrlimit_DEPENDENCIES) $(EXTRA_getrlimit_DEPENDENCIES) 
+	@rm -f getrlimit$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getrlimit_OBJECTS) $(getrlimit_LDADD) $(LIBS)
+
+getrusage$(EXEEXT): $(getrusage_OBJECTS) $(getrusage_DEPENDENCIES) $(EXTRA_getrusage_DEPENDENCIES) 
+	@rm -f getrusage$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getrusage_OBJECTS) $(getrusage_LDADD) $(LIBS)
+
+getsid$(EXEEXT): $(getsid_OBJECTS) $(getsid_DEPENDENCIES) $(EXTRA_getsid_DEPENDENCIES) 
+	@rm -f getsid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getsid_OBJECTS) $(getsid_LDADD) $(LIBS)
+
+getsockname$(EXEEXT): $(getsockname_OBJECTS) $(getsockname_DEPENDENCIES) $(EXTRA_getsockname_DEPENDENCIES) 
+	@rm -f getsockname$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getsockname_OBJECTS) $(getsockname_LDADD) $(LIBS)
+
+getuid$(EXEEXT): $(getuid_OBJECTS) $(getuid_DEPENDENCIES) $(EXTRA_getuid_DEPENDENCIES) 
+	@rm -f getuid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getuid_OBJECTS) $(getuid_LDADD) $(LIBS)
+
+getuid32$(EXEEXT): $(getuid32_OBJECTS) $(getuid32_DEPENDENCIES) $(EXTRA_getuid32_DEPENDENCIES) 
+	@rm -f getuid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getuid32_OBJECTS) $(getuid32_LDADD) $(LIBS)
+
+getxxid$(EXEEXT): $(getxxid_OBJECTS) $(getxxid_DEPENDENCIES) $(EXTRA_getxxid_DEPENDENCIES) 
+	@rm -f getxxid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getxxid_OBJECTS) $(getxxid_LDADD) $(LIBS)
+
+inet-cmsg$(EXEEXT): $(inet_cmsg_OBJECTS) $(inet_cmsg_DEPENDENCIES) $(EXTRA_inet_cmsg_DEPENDENCIES) 
+	@rm -f inet-cmsg$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(inet_cmsg_OBJECTS) $(inet_cmsg_LDADD) $(LIBS)
+
+init_module$(EXEEXT): $(init_module_OBJECTS) $(init_module_DEPENDENCIES) $(EXTRA_init_module_DEPENDENCIES) 
+	@rm -f init_module$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(init_module_OBJECTS) $(init_module_LDADD) $(LIBS)
+
+inotify$(EXEEXT): $(inotify_OBJECTS) $(inotify_DEPENDENCIES) $(EXTRA_inotify_DEPENDENCIES) 
+	@rm -f inotify$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(inotify_OBJECTS) $(inotify_LDADD) $(LIBS)
+
+inotify_init1$(EXEEXT): $(inotify_init1_OBJECTS) $(inotify_init1_DEPENDENCIES) $(EXTRA_inotify_init1_DEPENDENCIES) 
+	@rm -f inotify_init1$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(inotify_init1_OBJECTS) $(inotify_init1_LDADD) $(LIBS)
+
+ioctl$(EXEEXT): $(ioctl_OBJECTS) $(ioctl_DEPENDENCIES) $(EXTRA_ioctl_DEPENDENCIES) 
+	@rm -f ioctl$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_OBJECTS) $(ioctl_LDADD) $(LIBS)
+
+ioctl_block$(EXEEXT): $(ioctl_block_OBJECTS) $(ioctl_block_DEPENDENCIES) $(EXTRA_ioctl_block_DEPENDENCIES) 
+	@rm -f ioctl_block$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_block_OBJECTS) $(ioctl_block_LDADD) $(LIBS)
+
+ioctl_dm$(EXEEXT): $(ioctl_dm_OBJECTS) $(ioctl_dm_DEPENDENCIES) $(EXTRA_ioctl_dm_DEPENDENCIES) 
+	@rm -f ioctl_dm$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_dm_OBJECTS) $(ioctl_dm_LDADD) $(LIBS)
+
+ioctl_dm-v$(EXEEXT): $(ioctl_dm_v_OBJECTS) $(ioctl_dm_v_DEPENDENCIES) $(EXTRA_ioctl_dm_v_DEPENDENCIES) 
+	@rm -f ioctl_dm-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_dm_v_OBJECTS) $(ioctl_dm_v_LDADD) $(LIBS)
+
+ioctl_evdev$(EXEEXT): $(ioctl_evdev_OBJECTS) $(ioctl_evdev_DEPENDENCIES) $(EXTRA_ioctl_evdev_DEPENDENCIES) 
+	@rm -f ioctl_evdev$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_evdev_OBJECTS) $(ioctl_evdev_LDADD) $(LIBS)
+
+ioctl_evdev-v$(EXEEXT): $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_DEPENDENCIES) $(EXTRA_ioctl_evdev_v_DEPENDENCIES) 
+	@rm -f ioctl_evdev-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_LDADD) $(LIBS)
+
+ioctl_loop$(EXEEXT): $(ioctl_loop_OBJECTS) $(ioctl_loop_DEPENDENCIES) $(EXTRA_ioctl_loop_DEPENDENCIES) 
+	@rm -f ioctl_loop$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_loop_OBJECTS) $(ioctl_loop_LDADD) $(LIBS)
+
+ioctl_loop-nv$(EXEEXT): $(ioctl_loop_nv_OBJECTS) $(ioctl_loop_nv_DEPENDENCIES) $(EXTRA_ioctl_loop_nv_DEPENDENCIES) 
+	@rm -f ioctl_loop-nv$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_loop_nv_OBJECTS) $(ioctl_loop_nv_LDADD) $(LIBS)
+
+ioctl_loop-v$(EXEEXT): $(ioctl_loop_v_OBJECTS) $(ioctl_loop_v_DEPENDENCIES) $(EXTRA_ioctl_loop_v_DEPENDENCIES) 
+	@rm -f ioctl_loop-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_loop_v_OBJECTS) $(ioctl_loop_v_LDADD) $(LIBS)
+
+ioctl_mtd$(EXEEXT): $(ioctl_mtd_OBJECTS) $(ioctl_mtd_DEPENDENCIES) $(EXTRA_ioctl_mtd_DEPENDENCIES) 
+	@rm -f ioctl_mtd$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_mtd_OBJECTS) $(ioctl_mtd_LDADD) $(LIBS)
+
+ioctl_rtc$(EXEEXT): $(ioctl_rtc_OBJECTS) $(ioctl_rtc_DEPENDENCIES) $(EXTRA_ioctl_rtc_DEPENDENCIES) 
+	@rm -f ioctl_rtc$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_rtc_OBJECTS) $(ioctl_rtc_LDADD) $(LIBS)
+
+ioctl_rtc-v$(EXEEXT): $(ioctl_rtc_v_OBJECTS) $(ioctl_rtc_v_DEPENDENCIES) $(EXTRA_ioctl_rtc_v_DEPENDENCIES) 
+	@rm -f ioctl_rtc-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_rtc_v_OBJECTS) $(ioctl_rtc_v_LDADD) $(LIBS)
+
+ioctl_scsi$(EXEEXT): $(ioctl_scsi_OBJECTS) $(ioctl_scsi_DEPENDENCIES) $(EXTRA_ioctl_scsi_DEPENDENCIES) 
+	@rm -f ioctl_scsi$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_scsi_OBJECTS) $(ioctl_scsi_LDADD) $(LIBS)
+
+ioctl_sg_io_v3$(EXEEXT): $(ioctl_sg_io_v3_OBJECTS) $(ioctl_sg_io_v3_DEPENDENCIES) $(EXTRA_ioctl_sg_io_v3_DEPENDENCIES) 
+	@rm -f ioctl_sg_io_v3$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_sg_io_v3_OBJECTS) $(ioctl_sg_io_v3_LDADD) $(LIBS)
+
+ioctl_sg_io_v4$(EXEEXT): $(ioctl_sg_io_v4_OBJECTS) $(ioctl_sg_io_v4_DEPENDENCIES) $(EXTRA_ioctl_sg_io_v4_DEPENDENCIES) 
+	@rm -f ioctl_sg_io_v4$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_sg_io_v4_OBJECTS) $(ioctl_sg_io_v4_LDADD) $(LIBS)
+
+ioctl_sock_gifconf$(EXEEXT): $(ioctl_sock_gifconf_OBJECTS) $(ioctl_sock_gifconf_DEPENDENCIES) $(EXTRA_ioctl_sock_gifconf_DEPENDENCIES) 
+	@rm -f ioctl_sock_gifconf$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_sock_gifconf_OBJECTS) $(ioctl_sock_gifconf_LDADD) $(LIBS)
+
+ioctl_uffdio$(EXEEXT): $(ioctl_uffdio_OBJECTS) $(ioctl_uffdio_DEPENDENCIES) $(EXTRA_ioctl_uffdio_DEPENDENCIES) 
+	@rm -f ioctl_uffdio$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_uffdio_OBJECTS) $(ioctl_uffdio_LDADD) $(LIBS)
+
+ioctl_v4l2$(EXEEXT): $(ioctl_v4l2_OBJECTS) $(ioctl_v4l2_DEPENDENCIES) $(EXTRA_ioctl_v4l2_DEPENDENCIES) 
+	@rm -f ioctl_v4l2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_v4l2_OBJECTS) $(ioctl_v4l2_LDADD) $(LIBS)
+
+ioperm$(EXEEXT): $(ioperm_OBJECTS) $(ioperm_DEPENDENCIES) $(EXTRA_ioperm_DEPENDENCIES) 
+	@rm -f ioperm$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioperm_OBJECTS) $(ioperm_LDADD) $(LIBS)
+
+iopl$(EXEEXT): $(iopl_OBJECTS) $(iopl_DEPENDENCIES) $(EXTRA_iopl_DEPENDENCIES) 
+	@rm -f iopl$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(iopl_OBJECTS) $(iopl_LDADD) $(LIBS)
+
+ioprio$(EXEEXT): $(ioprio_OBJECTS) $(ioprio_DEPENDENCIES) $(EXTRA_ioprio_DEPENDENCIES) 
+	@rm -f ioprio$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioprio_OBJECTS) $(ioprio_LDADD) $(LIBS)
+
+ip_mreq$(EXEEXT): $(ip_mreq_OBJECTS) $(ip_mreq_DEPENDENCIES) $(EXTRA_ip_mreq_DEPENDENCIES) 
+	@rm -f ip_mreq$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ip_mreq_OBJECTS) $(ip_mreq_LDADD) $(LIBS)
+
+ipc$(EXEEXT): $(ipc_OBJECTS) $(ipc_DEPENDENCIES) $(EXTRA_ipc_DEPENDENCIES) 
+	@rm -f ipc$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ipc_OBJECTS) $(ipc_LDADD) $(LIBS)
+
+ipc_msg$(EXEEXT): $(ipc_msg_OBJECTS) $(ipc_msg_DEPENDENCIES) $(EXTRA_ipc_msg_DEPENDENCIES) 
+	@rm -f ipc_msg$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ipc_msg_OBJECTS) $(ipc_msg_LDADD) $(LIBS)
+
+ipc_msgbuf$(EXEEXT): $(ipc_msgbuf_OBJECTS) $(ipc_msgbuf_DEPENDENCIES) $(EXTRA_ipc_msgbuf_DEPENDENCIES) 
+	@rm -f ipc_msgbuf$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ipc_msgbuf_OBJECTS) $(ipc_msgbuf_LDADD) $(LIBS)
+
+ipc_sem$(EXEEXT): $(ipc_sem_OBJECTS) $(ipc_sem_DEPENDENCIES) $(EXTRA_ipc_sem_DEPENDENCIES) 
+	@rm -f ipc_sem$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ipc_sem_OBJECTS) $(ipc_sem_LDADD) $(LIBS)
+
+ipc_shm$(EXEEXT): $(ipc_shm_OBJECTS) $(ipc_shm_DEPENDENCIES) $(EXTRA_ipc_shm_DEPENDENCIES) 
+	@rm -f ipc_shm$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ipc_shm_OBJECTS) $(ipc_shm_LDADD) $(LIBS)
+
+kcmp$(EXEEXT): $(kcmp_OBJECTS) $(kcmp_DEPENDENCIES) $(EXTRA_kcmp_DEPENDENCIES) 
+	@rm -f kcmp$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(kcmp_OBJECTS) $(kcmp_LDADD) $(LIBS)
+
+kexec_file_load$(EXEEXT): $(kexec_file_load_OBJECTS) $(kexec_file_load_DEPENDENCIES) $(EXTRA_kexec_file_load_DEPENDENCIES) 
+	@rm -f kexec_file_load$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(kexec_file_load_OBJECTS) $(kexec_file_load_LDADD) $(LIBS)
+
+kexec_load$(EXEEXT): $(kexec_load_OBJECTS) $(kexec_load_DEPENDENCIES) $(EXTRA_kexec_load_DEPENDENCIES) 
+	@rm -f kexec_load$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(kexec_load_OBJECTS) $(kexec_load_LDADD) $(LIBS)
+
+keyctl$(EXEEXT): $(keyctl_OBJECTS) $(keyctl_DEPENDENCIES) $(EXTRA_keyctl_DEPENDENCIES) 
+	@rm -f keyctl$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(keyctl_OBJECTS) $(keyctl_LDADD) $(LIBS)
+
+kill$(EXEEXT): $(kill_OBJECTS) $(kill_DEPENDENCIES) $(EXTRA_kill_DEPENDENCIES) 
+	@rm -f kill$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS)
+
+ksysent$(EXEEXT): $(ksysent_OBJECTS) $(ksysent_DEPENDENCIES) $(EXTRA_ksysent_DEPENDENCIES) 
+	@rm -f ksysent$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ksysent_OBJECTS) $(ksysent_LDADD) $(LIBS)
+
+lchown$(EXEEXT): $(lchown_OBJECTS) $(lchown_DEPENDENCIES) $(EXTRA_lchown_DEPENDENCIES) 
+	@rm -f lchown$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(lchown_OBJECTS) $(lchown_LDADD) $(LIBS)
+
+lchown32$(EXEEXT): $(lchown32_OBJECTS) $(lchown32_DEPENDENCIES) $(EXTRA_lchown32_DEPENDENCIES) 
+	@rm -f lchown32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(lchown32_OBJECTS) $(lchown32_LDADD) $(LIBS)
+
+link$(EXEEXT): $(link_OBJECTS) $(link_DEPENDENCIES) $(EXTRA_link_DEPENDENCIES) 
+	@rm -f link$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(link_OBJECTS) $(link_LDADD) $(LIBS)
+
+linkat$(EXEEXT): $(linkat_OBJECTS) $(linkat_DEPENDENCIES) $(EXTRA_linkat_DEPENDENCIES) 
+	@rm -f linkat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(linkat_OBJECTS) $(linkat_LDADD) $(LIBS)
+
+llseek$(EXEEXT): $(llseek_OBJECTS) $(llseek_DEPENDENCIES) $(EXTRA_llseek_DEPENDENCIES) 
+	@rm -f llseek$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(llseek_OBJECTS) $(llseek_LDADD) $(LIBS)
+
+lookup_dcookie$(EXEEXT): $(lookup_dcookie_OBJECTS) $(lookup_dcookie_DEPENDENCIES) $(EXTRA_lookup_dcookie_DEPENDENCIES) 
+	@rm -f lookup_dcookie$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(lookup_dcookie_OBJECTS) $(lookup_dcookie_LDADD) $(LIBS)
+
+lseek$(EXEEXT): $(lseek_OBJECTS) $(lseek_DEPENDENCIES) $(EXTRA_lseek_DEPENDENCIES) 
+	@rm -f lseek$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(lseek_OBJECTS) $(lseek_LDADD) $(LIBS)
+
+lstat$(EXEEXT): $(lstat_OBJECTS) $(lstat_DEPENDENCIES) $(EXTRA_lstat_DEPENDENCIES) 
+	@rm -f lstat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(lstat_OBJECTS) $(lstat_LDADD) $(LIBS)
+
+lstat64$(EXEEXT): $(lstat64_OBJECTS) $(lstat64_DEPENDENCIES) $(EXTRA_lstat64_DEPENDENCIES) 
+	@rm -f lstat64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(lstat64_OBJECTS) $(lstat64_LDADD) $(LIBS)
+
+mbind$(EXEEXT): $(mbind_OBJECTS) $(mbind_DEPENDENCIES) $(EXTRA_mbind_DEPENDENCIES) 
+	@rm -f mbind$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mbind_OBJECTS) $(mbind_LDADD) $(LIBS)
+
+membarrier$(EXEEXT): $(membarrier_OBJECTS) $(membarrier_DEPENDENCIES) $(EXTRA_membarrier_DEPENDENCIES) 
+	@rm -f membarrier$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(membarrier_OBJECTS) $(membarrier_LDADD) $(LIBS)
+
+memfd_create$(EXEEXT): $(memfd_create_OBJECTS) $(memfd_create_DEPENDENCIES) $(EXTRA_memfd_create_DEPENDENCIES) 
+	@rm -f memfd_create$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(memfd_create_OBJECTS) $(memfd_create_LDADD) $(LIBS)
+
+migrate_pages$(EXEEXT): $(migrate_pages_OBJECTS) $(migrate_pages_DEPENDENCIES) $(EXTRA_migrate_pages_DEPENDENCIES) 
+	@rm -f migrate_pages$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(migrate_pages_OBJECTS) $(migrate_pages_LDADD) $(LIBS)
+
+mincore$(EXEEXT): $(mincore_OBJECTS) $(mincore_DEPENDENCIES) $(EXTRA_mincore_DEPENDENCIES) 
+	@rm -f mincore$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mincore_OBJECTS) $(mincore_LDADD) $(LIBS)
+
+mkdir$(EXEEXT): $(mkdir_OBJECTS) $(mkdir_DEPENDENCIES) $(EXTRA_mkdir_DEPENDENCIES) 
+	@rm -f mkdir$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mkdir_OBJECTS) $(mkdir_LDADD) $(LIBS)
+
+mkdirat$(EXEEXT): $(mkdirat_OBJECTS) $(mkdirat_DEPENDENCIES) $(EXTRA_mkdirat_DEPENDENCIES) 
+	@rm -f mkdirat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mkdirat_OBJECTS) $(mkdirat_LDADD) $(LIBS)
+
+mknod$(EXEEXT): $(mknod_OBJECTS) $(mknod_DEPENDENCIES) $(EXTRA_mknod_DEPENDENCIES) 
+	@rm -f mknod$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mknod_OBJECTS) $(mknod_LDADD) $(LIBS)
+
+mknodat$(EXEEXT): $(mknodat_OBJECTS) $(mknodat_DEPENDENCIES) $(EXTRA_mknodat_DEPENDENCIES) 
+	@rm -f mknodat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mknodat_OBJECTS) $(mknodat_LDADD) $(LIBS)
+
+mlock$(EXEEXT): $(mlock_OBJECTS) $(mlock_DEPENDENCIES) $(EXTRA_mlock_DEPENDENCIES) 
+	@rm -f mlock$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mlock_OBJECTS) $(mlock_LDADD) $(LIBS)
+
+mlock2$(EXEEXT): $(mlock2_OBJECTS) $(mlock2_DEPENDENCIES) $(EXTRA_mlock2_DEPENDENCIES) 
+	@rm -f mlock2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mlock2_OBJECTS) $(mlock2_LDADD) $(LIBS)
+
+mlockall$(EXEEXT): $(mlockall_OBJECTS) $(mlockall_DEPENDENCIES) $(EXTRA_mlockall_DEPENDENCIES) 
+	@rm -f mlockall$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mlockall_OBJECTS) $(mlockall_LDADD) $(LIBS)
+
+mmap$(EXEEXT): $(mmap_OBJECTS) $(mmap_DEPENDENCIES) $(EXTRA_mmap_DEPENDENCIES) 
+	@rm -f mmap$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mmap_OBJECTS) $(mmap_LDADD) $(LIBS)
+
+mmap64$(EXEEXT): $(mmap64_OBJECTS) $(mmap64_DEPENDENCIES) $(EXTRA_mmap64_DEPENDENCIES) 
+	@rm -f mmap64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mmap64_OBJECTS) $(mmap64_LDADD) $(LIBS)
+
+mmsg$(EXEEXT): $(mmsg_OBJECTS) $(mmsg_DEPENDENCIES) $(EXTRA_mmsg_DEPENDENCIES) 
+	@rm -f mmsg$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mmsg_OBJECTS) $(mmsg_LDADD) $(LIBS)
+
+mmsg-silent$(EXEEXT): $(mmsg_silent_OBJECTS) $(mmsg_silent_DEPENDENCIES) $(EXTRA_mmsg_silent_DEPENDENCIES) 
+	@rm -f mmsg-silent$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mmsg_silent_OBJECTS) $(mmsg_silent_LDADD) $(LIBS)
+
+mmsg_name$(EXEEXT): $(mmsg_name_OBJECTS) $(mmsg_name_DEPENDENCIES) $(EXTRA_mmsg_name_DEPENDENCIES) 
+	@rm -f mmsg_name$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mmsg_name_OBJECTS) $(mmsg_name_LDADD) $(LIBS)
+
+mmsg_name-v$(EXEEXT): $(mmsg_name_v_OBJECTS) $(mmsg_name_v_DEPENDENCIES) $(EXTRA_mmsg_name_v_DEPENDENCIES) 
+	@rm -f mmsg_name-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mmsg_name_v_OBJECTS) $(mmsg_name_v_LDADD) $(LIBS)
+
+mount$(EXEEXT): $(mount_OBJECTS) $(mount_DEPENDENCIES) $(EXTRA_mount_DEPENDENCIES) 
+	@rm -f mount$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mount_OBJECTS) $(mount_LDADD) $(LIBS)
+
+move_pages$(EXEEXT): $(move_pages_OBJECTS) $(move_pages_DEPENDENCIES) $(EXTRA_move_pages_DEPENDENCIES) 
+	@rm -f move_pages$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(move_pages_OBJECTS) $(move_pages_LDADD) $(LIBS)
+
+mq$(EXEEXT): $(mq_OBJECTS) $(mq_DEPENDENCIES) $(EXTRA_mq_DEPENDENCIES) 
+	@rm -f mq$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mq_OBJECTS) $(mq_LDADD) $(LIBS)
+
+mq_sendrecv$(EXEEXT): $(mq_sendrecv_OBJECTS) $(mq_sendrecv_DEPENDENCIES) $(EXTRA_mq_sendrecv_DEPENDENCIES) 
+	@rm -f mq_sendrecv$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mq_sendrecv_OBJECTS) $(mq_sendrecv_LDADD) $(LIBS)
+
+mq_sendrecv-read$(EXEEXT): $(mq_sendrecv_read_OBJECTS) $(mq_sendrecv_read_DEPENDENCIES) $(EXTRA_mq_sendrecv_read_DEPENDENCIES) 
+	@rm -f mq_sendrecv-read$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mq_sendrecv_read_OBJECTS) $(mq_sendrecv_read_LDADD) $(LIBS)
+
+mq_sendrecv-write$(EXEEXT): $(mq_sendrecv_write_OBJECTS) $(mq_sendrecv_write_DEPENDENCIES) $(EXTRA_mq_sendrecv_write_DEPENDENCIES) 
+	@rm -f mq_sendrecv-write$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mq_sendrecv_write_OBJECTS) $(mq_sendrecv_write_LDADD) $(LIBS)
+
+msg_control$(EXEEXT): $(msg_control_OBJECTS) $(msg_control_DEPENDENCIES) $(EXTRA_msg_control_DEPENDENCIES) 
+	@rm -f msg_control$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(msg_control_OBJECTS) $(msg_control_LDADD) $(LIBS)
+
+msg_control-v$(EXEEXT): $(msg_control_v_OBJECTS) $(msg_control_v_DEPENDENCIES) $(EXTRA_msg_control_v_DEPENDENCIES) 
+	@rm -f msg_control-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(msg_control_v_OBJECTS) $(msg_control_v_LDADD) $(LIBS)
+
+msg_name$(EXEEXT): $(msg_name_OBJECTS) $(msg_name_DEPENDENCIES) $(EXTRA_msg_name_DEPENDENCIES) 
+	@rm -f msg_name$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(msg_name_OBJECTS) $(msg_name_LDADD) $(LIBS)
+
+munlockall$(EXEEXT): $(munlockall_OBJECTS) $(munlockall_DEPENDENCIES) $(EXTRA_munlockall_DEPENDENCIES) 
+	@rm -f munlockall$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(munlockall_OBJECTS) $(munlockall_LDADD) $(LIBS)
+
+nanosleep$(EXEEXT): $(nanosleep_OBJECTS) $(nanosleep_DEPENDENCIES) $(EXTRA_nanosleep_DEPENDENCIES) 
+	@rm -f nanosleep$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(nanosleep_OBJECTS) $(nanosleep_LDADD) $(LIBS)
+
+net-accept-connect$(EXEEXT): $(net_accept_connect_OBJECTS) $(net_accept_connect_DEPENDENCIES) $(EXTRA_net_accept_connect_DEPENDENCIES) 
+	@rm -f net-accept-connect$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(net_accept_connect_OBJECTS) $(net_accept_connect_LDADD) $(LIBS)
+
+net-icmp_filter$(EXEEXT): $(net_icmp_filter_OBJECTS) $(net_icmp_filter_DEPENDENCIES) $(EXTRA_net_icmp_filter_DEPENDENCIES) 
+	@rm -f net-icmp_filter$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(net_icmp_filter_OBJECTS) $(net_icmp_filter_LDADD) $(LIBS)
+
+net-sockaddr$(EXEEXT): $(net_sockaddr_OBJECTS) $(net_sockaddr_DEPENDENCIES) $(EXTRA_net_sockaddr_DEPENDENCIES) 
+	@rm -f net-sockaddr$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(net_sockaddr_OBJECTS) $(net_sockaddr_LDADD) $(LIBS)
+
+net-y-unix$(EXEEXT): $(net_y_unix_OBJECTS) $(net_y_unix_DEPENDENCIES) $(EXTRA_net_y_unix_DEPENDENCIES) 
+	@rm -f net-y-unix$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(net_y_unix_OBJECTS) $(net_y_unix_LDADD) $(LIBS)
+
+net-yy-inet$(EXEEXT): $(net_yy_inet_OBJECTS) $(net_yy_inet_DEPENDENCIES) $(EXTRA_net_yy_inet_DEPENDENCIES) 
+	@rm -f net-yy-inet$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(net_yy_inet_OBJECTS) $(net_yy_inet_LDADD) $(LIBS)
+
+net-yy-netlink$(EXEEXT): $(net_yy_netlink_OBJECTS) $(net_yy_netlink_DEPENDENCIES) $(EXTRA_net_yy_netlink_DEPENDENCIES) 
+	@rm -f net-yy-netlink$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(net_yy_netlink_OBJECTS) $(net_yy_netlink_LDADD) $(LIBS)
+
+net-yy-unix$(EXEEXT): $(net_yy_unix_OBJECTS) $(net_yy_unix_DEPENDENCIES) $(EXTRA_net_yy_unix_DEPENDENCIES) 
+	@rm -f net-yy-unix$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(net_yy_unix_OBJECTS) $(net_yy_unix_LDADD) $(LIBS)
+
+netlink_inet_diag$(EXEEXT): $(netlink_inet_diag_OBJECTS) $(netlink_inet_diag_DEPENDENCIES) $(EXTRA_netlink_inet_diag_DEPENDENCIES) 
+	@rm -f netlink_inet_diag$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(netlink_inet_diag_OBJECTS) $(netlink_inet_diag_LDADD) $(LIBS)
+
+netlink_netlink_diag$(EXEEXT): $(netlink_netlink_diag_OBJECTS) $(netlink_netlink_diag_DEPENDENCIES) $(EXTRA_netlink_netlink_diag_DEPENDENCIES) 
+	@rm -f netlink_netlink_diag$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(netlink_netlink_diag_OBJECTS) $(netlink_netlink_diag_LDADD) $(LIBS)
+
+netlink_protocol$(EXEEXT): $(netlink_protocol_OBJECTS) $(netlink_protocol_DEPENDENCIES) $(EXTRA_netlink_protocol_DEPENDENCIES) 
+	@rm -f netlink_protocol$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(netlink_protocol_OBJECTS) $(netlink_protocol_LDADD) $(LIBS)
+
+netlink_unix_diag$(EXEEXT): $(netlink_unix_diag_OBJECTS) $(netlink_unix_diag_DEPENDENCIES) $(EXTRA_netlink_unix_diag_DEPENDENCIES) 
+	@rm -f netlink_unix_diag$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(netlink_unix_diag_OBJECTS) $(netlink_unix_diag_LDADD) $(LIBS)
+
+newfstatat$(EXEEXT): $(newfstatat_OBJECTS) $(newfstatat_DEPENDENCIES) $(EXTRA_newfstatat_DEPENDENCIES) 
+	@rm -f newfstatat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(newfstatat_OBJECTS) $(newfstatat_LDADD) $(LIBS)
+
+nsyscalls$(EXEEXT): $(nsyscalls_OBJECTS) $(nsyscalls_DEPENDENCIES) $(EXTRA_nsyscalls_DEPENDENCIES) 
+	@rm -f nsyscalls$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(nsyscalls_OBJECTS) $(nsyscalls_LDADD) $(LIBS)
+
+old_mmap$(EXEEXT): $(old_mmap_OBJECTS) $(old_mmap_DEPENDENCIES) $(EXTRA_old_mmap_DEPENDENCIES) 
+	@rm -f old_mmap$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(old_mmap_OBJECTS) $(old_mmap_LDADD) $(LIBS)
+
+oldfstat$(EXEEXT): $(oldfstat_OBJECTS) $(oldfstat_DEPENDENCIES) $(EXTRA_oldfstat_DEPENDENCIES) 
+	@rm -f oldfstat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(oldfstat_OBJECTS) $(oldfstat_LDADD) $(LIBS)
+
+oldlstat$(EXEEXT): $(oldlstat_OBJECTS) $(oldlstat_DEPENDENCIES) $(EXTRA_oldlstat_DEPENDENCIES) 
+	@rm -f oldlstat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(oldlstat_OBJECTS) $(oldlstat_LDADD) $(LIBS)
+
+oldselect$(EXEEXT): $(oldselect_OBJECTS) $(oldselect_DEPENDENCIES) $(EXTRA_oldselect_DEPENDENCIES) 
+	@rm -f oldselect$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(oldselect_OBJECTS) $(oldselect_LDADD) $(LIBS)
+
+oldstat$(EXEEXT): $(oldstat_OBJECTS) $(oldstat_DEPENDENCIES) $(EXTRA_oldstat_DEPENDENCIES) 
+	@rm -f oldstat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(oldstat_OBJECTS) $(oldstat_LDADD) $(LIBS)
+
+open$(EXEEXT): $(open_OBJECTS) $(open_DEPENDENCIES) $(EXTRA_open_DEPENDENCIES) 
+	@rm -f open$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(open_OBJECTS) $(open_LDADD) $(LIBS)
+
+openat$(EXEEXT): $(openat_OBJECTS) $(openat_DEPENDENCIES) $(EXTRA_openat_DEPENDENCIES) 
+	@rm -f openat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS)
+
+pause$(EXEEXT): $(pause_OBJECTS) $(pause_DEPENDENCIES) $(EXTRA_pause_DEPENDENCIES) 
+	@rm -f pause$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(pause_OBJECTS) $(pause_LDADD) $(LIBS)
+
+pc$(EXEEXT): $(pc_OBJECTS) $(pc_DEPENDENCIES) $(EXTRA_pc_DEPENDENCIES) 
+	@rm -f pc$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(pc_OBJECTS) $(pc_LDADD) $(LIBS)
+
+perf_event_open$(EXEEXT): $(perf_event_open_OBJECTS) $(perf_event_open_DEPENDENCIES) $(EXTRA_perf_event_open_DEPENDENCIES) 
+	@rm -f perf_event_open$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(perf_event_open_OBJECTS) $(perf_event_open_LDADD) $(LIBS)
+
+perf_event_open_nonverbose$(EXEEXT): $(perf_event_open_nonverbose_OBJECTS) $(perf_event_open_nonverbose_DEPENDENCIES) $(EXTRA_perf_event_open_nonverbose_DEPENDENCIES) 
+	@rm -f perf_event_open_nonverbose$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(perf_event_open_nonverbose_OBJECTS) $(perf_event_open_nonverbose_LDADD) $(LIBS)
+
+perf_event_open_unabbrev$(EXEEXT): $(perf_event_open_unabbrev_OBJECTS) $(perf_event_open_unabbrev_DEPENDENCIES) $(EXTRA_perf_event_open_unabbrev_DEPENDENCIES) 
+	@rm -f perf_event_open_unabbrev$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(perf_event_open_unabbrev_OBJECTS) $(perf_event_open_unabbrev_LDADD) $(LIBS)
+
+personality$(EXEEXT): $(personality_OBJECTS) $(personality_DEPENDENCIES) $(EXTRA_personality_DEPENDENCIES) 
+	@rm -f personality$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(personality_OBJECTS) $(personality_LDADD) $(LIBS)
+
+pipe$(EXEEXT): $(pipe_OBJECTS) $(pipe_DEPENDENCIES) $(EXTRA_pipe_DEPENDENCIES) 
+	@rm -f pipe$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(pipe_OBJECTS) $(pipe_LDADD) $(LIBS)
+
+pipe2$(EXEEXT): $(pipe2_OBJECTS) $(pipe2_DEPENDENCIES) $(EXTRA_pipe2_DEPENDENCIES) 
+	@rm -f pipe2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(pipe2_OBJECTS) $(pipe2_LDADD) $(LIBS)
+
+pkey_alloc$(EXEEXT): $(pkey_alloc_OBJECTS) $(pkey_alloc_DEPENDENCIES) $(EXTRA_pkey_alloc_DEPENDENCIES) 
+	@rm -f pkey_alloc$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(pkey_alloc_OBJECTS) $(pkey_alloc_LDADD) $(LIBS)
+
+pkey_free$(EXEEXT): $(pkey_free_OBJECTS) $(pkey_free_DEPENDENCIES) $(EXTRA_pkey_free_DEPENDENCIES) 
+	@rm -f pkey_free$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(pkey_free_OBJECTS) $(pkey_free_LDADD) $(LIBS)
+
+pkey_mprotect$(EXEEXT): $(pkey_mprotect_OBJECTS) $(pkey_mprotect_DEPENDENCIES) $(EXTRA_pkey_mprotect_DEPENDENCIES) 
+	@rm -f pkey_mprotect$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(pkey_mprotect_OBJECTS) $(pkey_mprotect_LDADD) $(LIBS)
+
+poll$(EXEEXT): $(poll_OBJECTS) $(poll_DEPENDENCIES) $(EXTRA_poll_DEPENDENCIES) 
+	@rm -f poll$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(poll_OBJECTS) $(poll_LDADD) $(LIBS)
+
+ppoll$(EXEEXT): $(ppoll_OBJECTS) $(ppoll_DEPENDENCIES) $(EXTRA_ppoll_DEPENDENCIES) 
+	@rm -f ppoll$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ppoll_OBJECTS) $(ppoll_LDADD) $(LIBS)
+
+prctl-arg2-intptr$(EXEEXT): $(prctl_arg2_intptr_OBJECTS) $(prctl_arg2_intptr_DEPENDENCIES) $(EXTRA_prctl_arg2_intptr_DEPENDENCIES) 
+	@rm -f prctl-arg2-intptr$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prctl_arg2_intptr_OBJECTS) $(prctl_arg2_intptr_LDADD) $(LIBS)
+
+prctl-dumpable$(EXEEXT): $(prctl_dumpable_OBJECTS) $(prctl_dumpable_DEPENDENCIES) $(EXTRA_prctl_dumpable_DEPENDENCIES) 
+	@rm -f prctl-dumpable$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prctl_dumpable_OBJECTS) $(prctl_dumpable_LDADD) $(LIBS)
+
+prctl-name$(EXEEXT): $(prctl_name_OBJECTS) $(prctl_name_DEPENDENCIES) $(EXTRA_prctl_name_DEPENDENCIES) 
+	@rm -f prctl-name$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prctl_name_OBJECTS) $(prctl_name_LDADD) $(LIBS)
+
+prctl-no-args$(EXEEXT): $(prctl_no_args_OBJECTS) $(prctl_no_args_DEPENDENCIES) $(EXTRA_prctl_no_args_DEPENDENCIES) 
+	@rm -f prctl-no-args$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prctl_no_args_OBJECTS) $(prctl_no_args_LDADD) $(LIBS)
+
+prctl-pdeathsig$(EXEEXT): $(prctl_pdeathsig_OBJECTS) $(prctl_pdeathsig_DEPENDENCIES) $(EXTRA_prctl_pdeathsig_DEPENDENCIES) 
+	@rm -f prctl-pdeathsig$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prctl_pdeathsig_OBJECTS) $(prctl_pdeathsig_LDADD) $(LIBS)
+
+prctl-seccomp-filter-v$(EXEEXT): $(prctl_seccomp_filter_v_OBJECTS) $(prctl_seccomp_filter_v_DEPENDENCIES) $(EXTRA_prctl_seccomp_filter_v_DEPENDENCIES) 
+	@rm -f prctl-seccomp-filter-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prctl_seccomp_filter_v_OBJECTS) $(prctl_seccomp_filter_v_LDADD) $(LIBS)
+
+prctl-seccomp-strict$(EXEEXT): $(prctl_seccomp_strict_OBJECTS) $(prctl_seccomp_strict_DEPENDENCIES) $(EXTRA_prctl_seccomp_strict_DEPENDENCIES) 
+	@rm -f prctl-seccomp-strict$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prctl_seccomp_strict_OBJECTS) $(prctl_seccomp_strict_LDADD) $(LIBS)
+
+prctl-securebits$(EXEEXT): $(prctl_securebits_OBJECTS) $(prctl_securebits_DEPENDENCIES) $(EXTRA_prctl_securebits_DEPENDENCIES) 
+	@rm -f prctl-securebits$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prctl_securebits_OBJECTS) $(prctl_securebits_LDADD) $(LIBS)
+
+prctl-tid_address$(EXEEXT): $(prctl_tid_address_OBJECTS) $(prctl_tid_address_DEPENDENCIES) $(EXTRA_prctl_tid_address_DEPENDENCIES) 
+	@rm -f prctl-tid_address$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prctl_tid_address_OBJECTS) $(prctl_tid_address_LDADD) $(LIBS)
+
+prctl-tsc$(EXEEXT): $(prctl_tsc_OBJECTS) $(prctl_tsc_DEPENDENCIES) $(EXTRA_prctl_tsc_DEPENDENCIES) 
+	@rm -f prctl-tsc$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prctl_tsc_OBJECTS) $(prctl_tsc_LDADD) $(LIBS)
+
+pread64-pwrite64$(EXEEXT): $(pread64_pwrite64_OBJECTS) $(pread64_pwrite64_DEPENDENCIES) $(EXTRA_pread64_pwrite64_DEPENDENCIES) 
+	@rm -f pread64-pwrite64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(pread64_pwrite64_OBJECTS) $(pread64_pwrite64_LDADD) $(LIBS)
+
+preadv$(EXEEXT): $(preadv_OBJECTS) $(preadv_DEPENDENCIES) $(EXTRA_preadv_DEPENDENCIES) 
+	@rm -f preadv$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(preadv_OBJECTS) $(preadv_LDADD) $(LIBS)
+
+preadv-pwritev$(EXEEXT): $(preadv_pwritev_OBJECTS) $(preadv_pwritev_DEPENDENCIES) $(EXTRA_preadv_pwritev_DEPENDENCIES) 
+	@rm -f preadv-pwritev$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(preadv_pwritev_OBJECTS) $(preadv_pwritev_LDADD) $(LIBS)
+
+preadv2-pwritev2$(EXEEXT): $(preadv2_pwritev2_OBJECTS) $(preadv2_pwritev2_DEPENDENCIES) $(EXTRA_preadv2_pwritev2_DEPENDENCIES) 
+	@rm -f preadv2-pwritev2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(preadv2_pwritev2_OBJECTS) $(preadv2_pwritev2_LDADD) $(LIBS)
+
+print_maxfd$(EXEEXT): $(print_maxfd_OBJECTS) $(print_maxfd_DEPENDENCIES) $(EXTRA_print_maxfd_DEPENDENCIES) 
+	@rm -f print_maxfd$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(print_maxfd_OBJECTS) $(print_maxfd_LDADD) $(LIBS)
+
+printstr$(EXEEXT): $(printstr_OBJECTS) $(printstr_DEPENDENCIES) $(EXTRA_printstr_DEPENDENCIES) 
+	@rm -f printstr$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(printstr_OBJECTS) $(printstr_LDADD) $(LIBS)
+
+prlimit64$(EXEEXT): $(prlimit64_OBJECTS) $(prlimit64_DEPENDENCIES) $(EXTRA_prlimit64_DEPENDENCIES) 
+	@rm -f prlimit64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prlimit64_OBJECTS) $(prlimit64_LDADD) $(LIBS)
+
+process_vm_readv$(EXEEXT): $(process_vm_readv_OBJECTS) $(process_vm_readv_DEPENDENCIES) $(EXTRA_process_vm_readv_DEPENDENCIES) 
+	@rm -f process_vm_readv$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(process_vm_readv_OBJECTS) $(process_vm_readv_LDADD) $(LIBS)
+
+process_vm_writev$(EXEEXT): $(process_vm_writev_OBJECTS) $(process_vm_writev_DEPENDENCIES) $(EXTRA_process_vm_writev_DEPENDENCIES) 
+	@rm -f process_vm_writev$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(process_vm_writev_OBJECTS) $(process_vm_writev_LDADD) $(LIBS)
+
+pselect6$(EXEEXT): $(pselect6_OBJECTS) $(pselect6_DEPENDENCIES) $(EXTRA_pselect6_DEPENDENCIES) 
+	@rm -f pselect6$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(pselect6_OBJECTS) $(pselect6_LDADD) $(LIBS)
+
+ptrace$(EXEEXT): $(ptrace_OBJECTS) $(ptrace_DEPENDENCIES) $(EXTRA_ptrace_DEPENDENCIES) 
+	@rm -f ptrace$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ptrace_OBJECTS) $(ptrace_LDADD) $(LIBS)
+
+pwritev$(EXEEXT): $(pwritev_OBJECTS) $(pwritev_DEPENDENCIES) $(EXTRA_pwritev_DEPENDENCIES) 
+	@rm -f pwritev$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(pwritev_OBJECTS) $(pwritev_LDADD) $(LIBS)
+
+qual_fault$(EXEEXT): $(qual_fault_OBJECTS) $(qual_fault_DEPENDENCIES) $(EXTRA_qual_fault_DEPENDENCIES) 
+	@rm -f qual_fault$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(qual_fault_OBJECTS) $(qual_fault_LDADD) $(LIBS)
+
+qual_inject-error-signal$(EXEEXT): $(qual_inject_error_signal_OBJECTS) $(qual_inject_error_signal_DEPENDENCIES) $(EXTRA_qual_inject_error_signal_DEPENDENCIES) 
+	@rm -f qual_inject-error-signal$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(qual_inject_error_signal_OBJECTS) $(qual_inject_error_signal_LDADD) $(LIBS)
+
+qual_inject-retval$(EXEEXT): $(qual_inject_retval_OBJECTS) $(qual_inject_retval_DEPENDENCIES) $(EXTRA_qual_inject_retval_DEPENDENCIES) 
+	@rm -f qual_inject-retval$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(qual_inject_retval_OBJECTS) $(qual_inject_retval_LDADD) $(LIBS)
+
+qual_inject-signal$(EXEEXT): $(qual_inject_signal_OBJECTS) $(qual_inject_signal_DEPENDENCIES) $(EXTRA_qual_inject_signal_DEPENDENCIES) 
+	@rm -f qual_inject-signal$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(qual_inject_signal_OBJECTS) $(qual_inject_signal_LDADD) $(LIBS)
+
+qual_signal$(EXEEXT): $(qual_signal_OBJECTS) $(qual_signal_DEPENDENCIES) $(EXTRA_qual_signal_DEPENDENCIES) 
+	@rm -f qual_signal$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(qual_signal_OBJECTS) $(qual_signal_LDADD) $(LIBS)
+
+quotactl$(EXEEXT): $(quotactl_OBJECTS) $(quotactl_DEPENDENCIES) $(EXTRA_quotactl_DEPENDENCIES) 
+	@rm -f quotactl$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(quotactl_OBJECTS) $(quotactl_LDADD) $(LIBS)
+
+quotactl-v$(EXEEXT): $(quotactl_v_OBJECTS) $(quotactl_v_DEPENDENCIES) $(EXTRA_quotactl_v_DEPENDENCIES) 
+	@rm -f quotactl-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(quotactl_v_OBJECTS) $(quotactl_v_LDADD) $(LIBS)
+
+quotactl-xfs$(EXEEXT): $(quotactl_xfs_OBJECTS) $(quotactl_xfs_DEPENDENCIES) $(EXTRA_quotactl_xfs_DEPENDENCIES) 
+	@rm -f quotactl-xfs$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(quotactl_xfs_OBJECTS) $(quotactl_xfs_LDADD) $(LIBS)
+
+quotactl-xfs-v$(EXEEXT): $(quotactl_xfs_v_OBJECTS) $(quotactl_xfs_v_DEPENDENCIES) $(EXTRA_quotactl_xfs_v_DEPENDENCIES) 
+	@rm -f quotactl-xfs-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(quotactl_xfs_v_OBJECTS) $(quotactl_xfs_v_LDADD) $(LIBS)
+
+read-write$(EXEEXT): $(read_write_OBJECTS) $(read_write_DEPENDENCIES) $(EXTRA_read_write_DEPENDENCIES) 
+	@rm -f read-write$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(read_write_OBJECTS) $(read_write_LDADD) $(LIBS)
+
+readahead$(EXEEXT): $(readahead_OBJECTS) $(readahead_DEPENDENCIES) $(EXTRA_readahead_DEPENDENCIES) 
+	@rm -f readahead$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(readahead_OBJECTS) $(readahead_LDADD) $(LIBS)
+
+readdir$(EXEEXT): $(readdir_OBJECTS) $(readdir_DEPENDENCIES) $(EXTRA_readdir_DEPENDENCIES) 
+	@rm -f readdir$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(readdir_OBJECTS) $(readdir_LDADD) $(LIBS)
+
+readlink$(EXEEXT): $(readlink_OBJECTS) $(readlink_DEPENDENCIES) $(EXTRA_readlink_DEPENDENCIES) 
+	@rm -f readlink$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(readlink_OBJECTS) $(readlink_LDADD) $(LIBS)
+
+readlinkat$(EXEEXT): $(readlinkat_OBJECTS) $(readlinkat_DEPENDENCIES) $(EXTRA_readlinkat_DEPENDENCIES) 
+	@rm -f readlinkat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(readlinkat_OBJECTS) $(readlinkat_LDADD) $(LIBS)
+
+readv$(EXEEXT): $(readv_OBJECTS) $(readv_DEPENDENCIES) $(EXTRA_readv_DEPENDENCIES) 
+	@rm -f readv$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(readv_OBJECTS) $(readv_LDADD) $(LIBS)
+
+reboot$(EXEEXT): $(reboot_OBJECTS) $(reboot_DEPENDENCIES) $(EXTRA_reboot_DEPENDENCIES) 
+	@rm -f reboot$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(reboot_OBJECTS) $(reboot_LDADD) $(LIBS)
+
+recvfrom$(EXEEXT): $(recvfrom_OBJECTS) $(recvfrom_DEPENDENCIES) $(EXTRA_recvfrom_DEPENDENCIES) 
+	@rm -f recvfrom$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(recvfrom_OBJECTS) $(recvfrom_LDADD) $(LIBS)
+
+recvmmsg-timeout$(EXEEXT): $(recvmmsg_timeout_OBJECTS) $(recvmmsg_timeout_DEPENDENCIES) $(EXTRA_recvmmsg_timeout_DEPENDENCIES) 
+	@rm -f recvmmsg-timeout$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(recvmmsg_timeout_OBJECTS) $(recvmmsg_timeout_LDADD) $(LIBS)
+
+recvmsg$(EXEEXT): $(recvmsg_OBJECTS) $(recvmsg_DEPENDENCIES) $(EXTRA_recvmsg_DEPENDENCIES) 
+	@rm -f recvmsg$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(recvmsg_OBJECTS) $(recvmsg_LDADD) $(LIBS)
+
+redirect-fds$(EXEEXT): $(redirect_fds_OBJECTS) $(redirect_fds_DEPENDENCIES) $(EXTRA_redirect_fds_DEPENDENCIES) 
+	@rm -f redirect-fds$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(redirect_fds_OBJECTS) $(redirect_fds_LDADD) $(LIBS)
+
+remap_file_pages$(EXEEXT): $(remap_file_pages_OBJECTS) $(remap_file_pages_DEPENDENCIES) $(EXTRA_remap_file_pages_DEPENDENCIES) 
+	@rm -f remap_file_pages$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(remap_file_pages_OBJECTS) $(remap_file_pages_LDADD) $(LIBS)
+
+rename$(EXEEXT): $(rename_OBJECTS) $(rename_DEPENDENCIES) $(EXTRA_rename_DEPENDENCIES) 
+	@rm -f rename$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rename_OBJECTS) $(rename_LDADD) $(LIBS)
+
+renameat$(EXEEXT): $(renameat_OBJECTS) $(renameat_DEPENDENCIES) $(EXTRA_renameat_DEPENDENCIES) 
+	@rm -f renameat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(renameat_OBJECTS) $(renameat_LDADD) $(LIBS)
+
+renameat2$(EXEEXT): $(renameat2_OBJECTS) $(renameat2_DEPENDENCIES) $(EXTRA_renameat2_DEPENDENCIES) 
+	@rm -f renameat2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(renameat2_OBJECTS) $(renameat2_LDADD) $(LIBS)
+
+request_key$(EXEEXT): $(request_key_OBJECTS) $(request_key_DEPENDENCIES) $(EXTRA_request_key_DEPENDENCIES) 
+	@rm -f request_key$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(request_key_OBJECTS) $(request_key_LDADD) $(LIBS)
+
+restart_syscall$(EXEEXT): $(restart_syscall_OBJECTS) $(restart_syscall_DEPENDENCIES) $(EXTRA_restart_syscall_DEPENDENCIES) 
+	@rm -f restart_syscall$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(restart_syscall_OBJECTS) $(restart_syscall_LDADD) $(LIBS)
+
+rmdir$(EXEEXT): $(rmdir_OBJECTS) $(rmdir_DEPENDENCIES) $(EXTRA_rmdir_DEPENDENCIES) 
+	@rm -f rmdir$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rmdir_OBJECTS) $(rmdir_LDADD) $(LIBS)
+
+rt_sigpending$(EXEEXT): $(rt_sigpending_OBJECTS) $(rt_sigpending_DEPENDENCIES) $(EXTRA_rt_sigpending_DEPENDENCIES) 
+	@rm -f rt_sigpending$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rt_sigpending_OBJECTS) $(rt_sigpending_LDADD) $(LIBS)
+
+rt_sigprocmask$(EXEEXT): $(rt_sigprocmask_OBJECTS) $(rt_sigprocmask_DEPENDENCIES) $(EXTRA_rt_sigprocmask_DEPENDENCIES) 
+	@rm -f rt_sigprocmask$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rt_sigprocmask_OBJECTS) $(rt_sigprocmask_LDADD) $(LIBS)
+
+rt_sigqueueinfo$(EXEEXT): $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_DEPENDENCIES) $(EXTRA_rt_sigqueueinfo_DEPENDENCIES) 
+	@rm -f rt_sigqueueinfo$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_LDADD) $(LIBS)
+
+rt_sigsuspend$(EXEEXT): $(rt_sigsuspend_OBJECTS) $(rt_sigsuspend_DEPENDENCIES) $(EXTRA_rt_sigsuspend_DEPENDENCIES) 
+	@rm -f rt_sigsuspend$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rt_sigsuspend_OBJECTS) $(rt_sigsuspend_LDADD) $(LIBS)
+
+rt_sigtimedwait$(EXEEXT): $(rt_sigtimedwait_OBJECTS) $(rt_sigtimedwait_DEPENDENCIES) $(EXTRA_rt_sigtimedwait_DEPENDENCIES) 
+	@rm -f rt_sigtimedwait$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rt_sigtimedwait_OBJECTS) $(rt_sigtimedwait_LDADD) $(LIBS)
+
+rt_tgsigqueueinfo$(EXEEXT): $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_DEPENDENCIES) $(EXTRA_rt_tgsigqueueinfo_DEPENDENCIES) 
+	@rm -f rt_tgsigqueueinfo$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_LDADD) $(LIBS)
+
+sched_get_priority_mxx$(EXEEXT): $(sched_get_priority_mxx_OBJECTS) $(sched_get_priority_mxx_DEPENDENCIES) $(EXTRA_sched_get_priority_mxx_DEPENDENCIES) 
+	@rm -f sched_get_priority_mxx$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sched_get_priority_mxx_OBJECTS) $(sched_get_priority_mxx_LDADD) $(LIBS)
+
+sched_rr_get_interval$(EXEEXT): $(sched_rr_get_interval_OBJECTS) $(sched_rr_get_interval_DEPENDENCIES) $(EXTRA_sched_rr_get_interval_DEPENDENCIES) 
+	@rm -f sched_rr_get_interval$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sched_rr_get_interval_OBJECTS) $(sched_rr_get_interval_LDADD) $(LIBS)
+
+sched_xetaffinity$(EXEEXT): $(sched_xetaffinity_OBJECTS) $(sched_xetaffinity_DEPENDENCIES) $(EXTRA_sched_xetaffinity_DEPENDENCIES) 
+	@rm -f sched_xetaffinity$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sched_xetaffinity_OBJECTS) $(sched_xetaffinity_LDADD) $(LIBS)
+
+sched_xetattr$(EXEEXT): $(sched_xetattr_OBJECTS) $(sched_xetattr_DEPENDENCIES) $(EXTRA_sched_xetattr_DEPENDENCIES) 
+	@rm -f sched_xetattr$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sched_xetattr_OBJECTS) $(sched_xetattr_LDADD) $(LIBS)
+
+sched_xetparam$(EXEEXT): $(sched_xetparam_OBJECTS) $(sched_xetparam_DEPENDENCIES) $(EXTRA_sched_xetparam_DEPENDENCIES) 
+	@rm -f sched_xetparam$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sched_xetparam_OBJECTS) $(sched_xetparam_LDADD) $(LIBS)
+
+sched_xetscheduler$(EXEEXT): $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_DEPENDENCIES) $(EXTRA_sched_xetscheduler_DEPENDENCIES) 
+	@rm -f sched_xetscheduler$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_LDADD) $(LIBS)
+
+sched_yield$(EXEEXT): $(sched_yield_OBJECTS) $(sched_yield_DEPENDENCIES) $(EXTRA_sched_yield_DEPENDENCIES) 
+	@rm -f sched_yield$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sched_yield_OBJECTS) $(sched_yield_LDADD) $(LIBS)
+
+scm_rights$(EXEEXT): $(scm_rights_OBJECTS) $(scm_rights_DEPENDENCIES) $(EXTRA_scm_rights_DEPENDENCIES) 
+	@rm -f scm_rights$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(scm_rights_OBJECTS) $(scm_rights_LDADD) $(LIBS)
+
+seccomp-filter$(EXEEXT): $(seccomp_filter_OBJECTS) $(seccomp_filter_DEPENDENCIES) $(EXTRA_seccomp_filter_DEPENDENCIES) 
+	@rm -f seccomp-filter$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(seccomp_filter_OBJECTS) $(seccomp_filter_LDADD) $(LIBS)
+
+seccomp-filter-v$(EXEEXT): $(seccomp_filter_v_OBJECTS) $(seccomp_filter_v_DEPENDENCIES) $(EXTRA_seccomp_filter_v_DEPENDENCIES) 
+	@rm -f seccomp-filter-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(seccomp_filter_v_OBJECTS) $(seccomp_filter_v_LDADD) $(LIBS)
+
+seccomp-strict$(EXEEXT): $(seccomp_strict_OBJECTS) $(seccomp_strict_DEPENDENCIES) $(EXTRA_seccomp_strict_DEPENDENCIES) 
+	@rm -f seccomp-strict$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(seccomp_strict_OBJECTS) $(seccomp_strict_LDADD) $(LIBS)
+
+select$(EXEEXT): $(select_OBJECTS) $(select_DEPENDENCIES) $(EXTRA_select_DEPENDENCIES) 
+	@rm -f select$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(select_OBJECTS) $(select_LDADD) $(LIBS)
+
+semop$(EXEEXT): $(semop_OBJECTS) $(semop_DEPENDENCIES) $(EXTRA_semop_DEPENDENCIES) 
+	@rm -f semop$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(semop_OBJECTS) $(semop_LDADD) $(LIBS)
+
+sendfile$(EXEEXT): $(sendfile_OBJECTS) $(sendfile_DEPENDENCIES) $(EXTRA_sendfile_DEPENDENCIES) 
+	@rm -f sendfile$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sendfile_OBJECTS) $(sendfile_LDADD) $(LIBS)
+
+sendfile64$(EXEEXT): $(sendfile64_OBJECTS) $(sendfile64_DEPENDENCIES) $(EXTRA_sendfile64_DEPENDENCIES) 
+	@rm -f sendfile64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sendfile64_OBJECTS) $(sendfile64_LDADD) $(LIBS)
+
+set_mempolicy$(EXEEXT): $(set_mempolicy_OBJECTS) $(set_mempolicy_DEPENDENCIES) $(EXTRA_set_mempolicy_DEPENDENCIES) 
+	@rm -f set_mempolicy$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(set_mempolicy_OBJECTS) $(set_mempolicy_LDADD) $(LIBS)
+
+set_ptracer_any$(EXEEXT): $(set_ptracer_any_OBJECTS) $(set_ptracer_any_DEPENDENCIES) $(EXTRA_set_ptracer_any_DEPENDENCIES) 
+	@rm -f set_ptracer_any$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(set_ptracer_any_OBJECTS) $(set_ptracer_any_LDADD) $(LIBS)
+
+setdomainname$(EXEEXT): $(setdomainname_OBJECTS) $(setdomainname_DEPENDENCIES) $(EXTRA_setdomainname_DEPENDENCIES) 
+	@rm -f setdomainname$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setdomainname_OBJECTS) $(setdomainname_LDADD) $(LIBS)
+
+setfsgid$(EXEEXT): $(setfsgid_OBJECTS) $(setfsgid_DEPENDENCIES) $(EXTRA_setfsgid_DEPENDENCIES) 
+	@rm -f setfsgid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setfsgid_OBJECTS) $(setfsgid_LDADD) $(LIBS)
+
+setfsgid32$(EXEEXT): $(setfsgid32_OBJECTS) $(setfsgid32_DEPENDENCIES) $(EXTRA_setfsgid32_DEPENDENCIES) 
+	@rm -f setfsgid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setfsgid32_OBJECTS) $(setfsgid32_LDADD) $(LIBS)
+
+setfsuid$(EXEEXT): $(setfsuid_OBJECTS) $(setfsuid_DEPENDENCIES) $(EXTRA_setfsuid_DEPENDENCIES) 
+	@rm -f setfsuid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setfsuid_OBJECTS) $(setfsuid_LDADD) $(LIBS)
+
+setfsuid32$(EXEEXT): $(setfsuid32_OBJECTS) $(setfsuid32_DEPENDENCIES) $(EXTRA_setfsuid32_DEPENDENCIES) 
+	@rm -f setfsuid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setfsuid32_OBJECTS) $(setfsuid32_LDADD) $(LIBS)
+
+setgid$(EXEEXT): $(setgid_OBJECTS) $(setgid_DEPENDENCIES) $(EXTRA_setgid_DEPENDENCIES) 
+	@rm -f setgid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setgid_OBJECTS) $(setgid_LDADD) $(LIBS)
+
+setgid32$(EXEEXT): $(setgid32_OBJECTS) $(setgid32_DEPENDENCIES) $(EXTRA_setgid32_DEPENDENCIES) 
+	@rm -f setgid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setgid32_OBJECTS) $(setgid32_LDADD) $(LIBS)
+
+setgroups$(EXEEXT): $(setgroups_OBJECTS) $(setgroups_DEPENDENCIES) $(EXTRA_setgroups_DEPENDENCIES) 
+	@rm -f setgroups$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setgroups_OBJECTS) $(setgroups_LDADD) $(LIBS)
+
+setgroups32$(EXEEXT): $(setgroups32_OBJECTS) $(setgroups32_DEPENDENCIES) $(EXTRA_setgroups32_DEPENDENCIES) 
+	@rm -f setgroups32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setgroups32_OBJECTS) $(setgroups32_LDADD) $(LIBS)
+
+sethostname$(EXEEXT): $(sethostname_OBJECTS) $(sethostname_DEPENDENCIES) $(EXTRA_sethostname_DEPENDENCIES) 
+	@rm -f sethostname$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sethostname_OBJECTS) $(sethostname_LDADD) $(LIBS)
+
+setns$(EXEEXT): $(setns_OBJECTS) $(setns_DEPENDENCIES) $(EXTRA_setns_DEPENDENCIES) 
+	@rm -f setns$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setns_OBJECTS) $(setns_LDADD) $(LIBS)
+
+setregid$(EXEEXT): $(setregid_OBJECTS) $(setregid_DEPENDENCIES) $(EXTRA_setregid_DEPENDENCIES) 
+	@rm -f setregid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setregid_OBJECTS) $(setregid_LDADD) $(LIBS)
+
+setregid32$(EXEEXT): $(setregid32_OBJECTS) $(setregid32_DEPENDENCIES) $(EXTRA_setregid32_DEPENDENCIES) 
+	@rm -f setregid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setregid32_OBJECTS) $(setregid32_LDADD) $(LIBS)
+
+setresgid$(EXEEXT): $(setresgid_OBJECTS) $(setresgid_DEPENDENCIES) $(EXTRA_setresgid_DEPENDENCIES) 
+	@rm -f setresgid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setresgid_OBJECTS) $(setresgid_LDADD) $(LIBS)
+
+setresgid32$(EXEEXT): $(setresgid32_OBJECTS) $(setresgid32_DEPENDENCIES) $(EXTRA_setresgid32_DEPENDENCIES) 
+	@rm -f setresgid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setresgid32_OBJECTS) $(setresgid32_LDADD) $(LIBS)
+
+setresuid$(EXEEXT): $(setresuid_OBJECTS) $(setresuid_DEPENDENCIES) $(EXTRA_setresuid_DEPENDENCIES) 
+	@rm -f setresuid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setresuid_OBJECTS) $(setresuid_LDADD) $(LIBS)
+
+setresuid32$(EXEEXT): $(setresuid32_OBJECTS) $(setresuid32_DEPENDENCIES) $(EXTRA_setresuid32_DEPENDENCIES) 
+	@rm -f setresuid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setresuid32_OBJECTS) $(setresuid32_LDADD) $(LIBS)
+
+setreuid$(EXEEXT): $(setreuid_OBJECTS) $(setreuid_DEPENDENCIES) $(EXTRA_setreuid_DEPENDENCIES) 
+	@rm -f setreuid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setreuid_OBJECTS) $(setreuid_LDADD) $(LIBS)
+
+setreuid32$(EXEEXT): $(setreuid32_OBJECTS) $(setreuid32_DEPENDENCIES) $(EXTRA_setreuid32_DEPENDENCIES) 
+	@rm -f setreuid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setreuid32_OBJECTS) $(setreuid32_LDADD) $(LIBS)
+
+setrlimit$(EXEEXT): $(setrlimit_OBJECTS) $(setrlimit_DEPENDENCIES) $(EXTRA_setrlimit_DEPENDENCIES) 
+	@rm -f setrlimit$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setrlimit_OBJECTS) $(setrlimit_LDADD) $(LIBS)
+
+setuid$(EXEEXT): $(setuid_OBJECTS) $(setuid_DEPENDENCIES) $(EXTRA_setuid_DEPENDENCIES) 
+	@rm -f setuid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setuid_OBJECTS) $(setuid_LDADD) $(LIBS)
+
+setuid32$(EXEEXT): $(setuid32_OBJECTS) $(setuid32_DEPENDENCIES) $(EXTRA_setuid32_DEPENDENCIES) 
+	@rm -f setuid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setuid32_OBJECTS) $(setuid32_LDADD) $(LIBS)
+
+shmxt$(EXEEXT): $(shmxt_OBJECTS) $(shmxt_DEPENDENCIES) $(EXTRA_shmxt_DEPENDENCIES) 
+	@rm -f shmxt$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(shmxt_OBJECTS) $(shmxt_LDADD) $(LIBS)
+
+shutdown$(EXEEXT): $(shutdown_OBJECTS) $(shutdown_DEPENDENCIES) $(EXTRA_shutdown_DEPENDENCIES) 
+	@rm -f shutdown$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(shutdown_OBJECTS) $(shutdown_LDADD) $(LIBS)
+
+sigaction$(EXEEXT): $(sigaction_OBJECTS) $(sigaction_DEPENDENCIES) $(EXTRA_sigaction_DEPENDENCIES) 
+	@rm -f sigaction$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sigaction_OBJECTS) $(sigaction_LDADD) $(LIBS)
+
+sigaltstack$(EXEEXT): $(sigaltstack_OBJECTS) $(sigaltstack_DEPENDENCIES) $(EXTRA_sigaltstack_DEPENDENCIES) 
+	@rm -f sigaltstack$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sigaltstack_OBJECTS) $(sigaltstack_LDADD) $(LIBS)
+
+siginfo$(EXEEXT): $(siginfo_OBJECTS) $(siginfo_DEPENDENCIES) $(EXTRA_siginfo_DEPENDENCIES) 
+	@rm -f siginfo$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(siginfo_OBJECTS) $(siginfo_LDADD) $(LIBS)
+
+signal_receive$(EXEEXT): $(signal_receive_OBJECTS) $(signal_receive_DEPENDENCIES) $(EXTRA_signal_receive_DEPENDENCIES) 
+	@rm -f signal_receive$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(signal_receive_OBJECTS) $(signal_receive_LDADD) $(LIBS)
+
+signalfd4$(EXEEXT): $(signalfd4_OBJECTS) $(signalfd4_DEPENDENCIES) $(EXTRA_signalfd4_DEPENDENCIES) 
+	@rm -f signalfd4$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(signalfd4_OBJECTS) $(signalfd4_LDADD) $(LIBS)
+
+sigreturn$(EXEEXT): $(sigreturn_OBJECTS) $(sigreturn_DEPENDENCIES) $(EXTRA_sigreturn_DEPENDENCIES) 
+	@rm -f sigreturn$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sigreturn_OBJECTS) $(sigreturn_LDADD) $(LIBS)
+
+sleep$(EXEEXT): $(sleep_OBJECTS) $(sleep_DEPENDENCIES) $(EXTRA_sleep_DEPENDENCIES) 
+	@rm -f sleep$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sleep_OBJECTS) $(sleep_LDADD) $(LIBS)
+
+socketcall$(EXEEXT): $(socketcall_OBJECTS) $(socketcall_DEPENDENCIES) $(EXTRA_socketcall_DEPENDENCIES) 
+	@rm -f socketcall$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(socketcall_OBJECTS) $(socketcall_LDADD) $(LIBS)
+
+splice$(EXEEXT): $(splice_OBJECTS) $(splice_DEPENDENCIES) $(EXTRA_splice_DEPENDENCIES) 
+	@rm -f splice$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(splice_OBJECTS) $(splice_LDADD) $(LIBS)
+
+stack-fcall$(EXEEXT): $(stack_fcall_OBJECTS) $(stack_fcall_DEPENDENCIES) $(EXTRA_stack_fcall_DEPENDENCIES) 
+	@rm -f stack-fcall$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(stack_fcall_OBJECTS) $(stack_fcall_LDADD) $(LIBS)
+
+stat$(EXEEXT): $(stat_OBJECTS) $(stat_DEPENDENCIES) $(EXTRA_stat_DEPENDENCIES) 
+	@rm -f stat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(stat_OBJECTS) $(stat_LDADD) $(LIBS)
+
+stat64$(EXEEXT): $(stat64_OBJECTS) $(stat64_DEPENDENCIES) $(EXTRA_stat64_DEPENDENCIES) 
+	@rm -f stat64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(stat64_OBJECTS) $(stat64_LDADD) $(LIBS)
+
+statfs$(EXEEXT): $(statfs_OBJECTS) $(statfs_DEPENDENCIES) $(EXTRA_statfs_DEPENDENCIES) 
+	@rm -f statfs$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(statfs_OBJECTS) $(statfs_LDADD) $(LIBS)
+
+statfs64$(EXEEXT): $(statfs64_OBJECTS) $(statfs64_DEPENDENCIES) $(EXTRA_statfs64_DEPENDENCIES) 
+	@rm -f statfs64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(statfs64_OBJECTS) $(statfs64_LDADD) $(LIBS)
+
+swap$(EXEEXT): $(swap_OBJECTS) $(swap_DEPENDENCIES) $(EXTRA_swap_DEPENDENCIES) 
+	@rm -f swap$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(swap_OBJECTS) $(swap_LDADD) $(LIBS)
+
+symlink$(EXEEXT): $(symlink_OBJECTS) $(symlink_DEPENDENCIES) $(EXTRA_symlink_DEPENDENCIES) 
+	@rm -f symlink$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(symlink_OBJECTS) $(symlink_LDADD) $(LIBS)
+
+symlinkat$(EXEEXT): $(symlinkat_OBJECTS) $(symlinkat_DEPENDENCIES) $(EXTRA_symlinkat_DEPENDENCIES) 
+	@rm -f symlinkat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(symlinkat_OBJECTS) $(symlinkat_LDADD) $(LIBS)
+
+sync$(EXEEXT): $(sync_OBJECTS) $(sync_DEPENDENCIES) $(EXTRA_sync_DEPENDENCIES) 
+	@rm -f sync$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sync_OBJECTS) $(sync_LDADD) $(LIBS)
+
+sync_file_range$(EXEEXT): $(sync_file_range_OBJECTS) $(sync_file_range_DEPENDENCIES) $(EXTRA_sync_file_range_DEPENDENCIES) 
+	@rm -f sync_file_range$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sync_file_range_OBJECTS) $(sync_file_range_LDADD) $(LIBS)
+
+sync_file_range2$(EXEEXT): $(sync_file_range2_OBJECTS) $(sync_file_range2_DEPENDENCIES) $(EXTRA_sync_file_range2_DEPENDENCIES) 
+	@rm -f sync_file_range2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sync_file_range2_OBJECTS) $(sync_file_range2_LDADD) $(LIBS)
+
+sysinfo$(EXEEXT): $(sysinfo_OBJECTS) $(sysinfo_DEPENDENCIES) $(EXTRA_sysinfo_DEPENDENCIES) 
+	@rm -f sysinfo$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sysinfo_OBJECTS) $(sysinfo_LDADD) $(LIBS)
+
+syslog$(EXEEXT): $(syslog_OBJECTS) $(syslog_DEPENDENCIES) $(EXTRA_syslog_DEPENDENCIES) 
+	@rm -f syslog$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(syslog_OBJECTS) $(syslog_LDADD) $(LIBS)
+
+tee$(EXEEXT): $(tee_OBJECTS) $(tee_DEPENDENCIES) $(EXTRA_tee_DEPENDENCIES) 
+	@rm -f tee$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(tee_OBJECTS) $(tee_LDADD) $(LIBS)
+
+threads-execve$(EXEEXT): $(threads_execve_OBJECTS) $(threads_execve_DEPENDENCIES) $(EXTRA_threads_execve_DEPENDENCIES) 
+	@rm -f threads-execve$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(threads_execve_OBJECTS) $(threads_execve_LDADD) $(LIBS)
+
+time$(EXEEXT): $(time_OBJECTS) $(time_DEPENDENCIES) $(EXTRA_time_DEPENDENCIES) 
+	@rm -f time$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(time_OBJECTS) $(time_LDADD) $(LIBS)
+
+timer_create$(EXEEXT): $(timer_create_OBJECTS) $(timer_create_DEPENDENCIES) $(EXTRA_timer_create_DEPENDENCIES) 
+	@rm -f timer_create$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(timer_create_OBJECTS) $(timer_create_LDADD) $(LIBS)
+
+timer_xettime$(EXEEXT): $(timer_xettime_OBJECTS) $(timer_xettime_DEPENDENCIES) $(EXTRA_timer_xettime_DEPENDENCIES) 
+	@rm -f timer_xettime$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(timer_xettime_OBJECTS) $(timer_xettime_LDADD) $(LIBS)
+
+timerfd_xettime$(EXEEXT): $(timerfd_xettime_OBJECTS) $(timerfd_xettime_DEPENDENCIES) $(EXTRA_timerfd_xettime_DEPENDENCIES) 
+	@rm -f timerfd_xettime$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(timerfd_xettime_OBJECTS) $(timerfd_xettime_LDADD) $(LIBS)
+
+times$(EXEEXT): $(times_OBJECTS) $(times_DEPENDENCIES) $(EXTRA_times_DEPENDENCIES) 
+	@rm -f times$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(times_OBJECTS) $(times_LDADD) $(LIBS)
+
+times-fail$(EXEEXT): $(times_fail_OBJECTS) $(times_fail_DEPENDENCIES) $(EXTRA_times_fail_DEPENDENCIES) 
+	@rm -f times-fail$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(times_fail_OBJECTS) $(times_fail_LDADD) $(LIBS)
+
+truncate$(EXEEXT): $(truncate_OBJECTS) $(truncate_DEPENDENCIES) $(EXTRA_truncate_DEPENDENCIES) 
+	@rm -f truncate$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(truncate_OBJECTS) $(truncate_LDADD) $(LIBS)
+
+truncate64$(EXEEXT): $(truncate64_OBJECTS) $(truncate64_DEPENDENCIES) $(EXTRA_truncate64_DEPENDENCIES) 
+	@rm -f truncate64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(truncate64_OBJECTS) $(truncate64_LDADD) $(LIBS)
+
+ugetrlimit$(EXEEXT): $(ugetrlimit_OBJECTS) $(ugetrlimit_DEPENDENCIES) $(EXTRA_ugetrlimit_DEPENDENCIES) 
+	@rm -f ugetrlimit$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ugetrlimit_OBJECTS) $(ugetrlimit_LDADD) $(LIBS)
+
+uio$(EXEEXT): $(uio_OBJECTS) $(uio_DEPENDENCIES) $(EXTRA_uio_DEPENDENCIES) 
+	@rm -f uio$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(uio_OBJECTS) $(uio_LDADD) $(LIBS)
+
+umask$(EXEEXT): $(umask_OBJECTS) $(umask_DEPENDENCIES) $(EXTRA_umask_DEPENDENCIES) 
+	@rm -f umask$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(umask_OBJECTS) $(umask_LDADD) $(LIBS)
+
+umount$(EXEEXT): $(umount_OBJECTS) $(umount_DEPENDENCIES) $(EXTRA_umount_DEPENDENCIES) 
+	@rm -f umount$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(umount_OBJECTS) $(umount_LDADD) $(LIBS)
+
+umount2$(EXEEXT): $(umount2_OBJECTS) $(umount2_DEPENDENCIES) $(EXTRA_umount2_DEPENDENCIES) 
+	@rm -f umount2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(umount2_OBJECTS) $(umount2_LDADD) $(LIBS)
+
+umoven-illptr$(EXEEXT): $(umoven_illptr_OBJECTS) $(umoven_illptr_DEPENDENCIES) $(EXTRA_umoven_illptr_DEPENDENCIES) 
+	@rm -f umoven-illptr$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(umoven_illptr_OBJECTS) $(umoven_illptr_LDADD) $(LIBS)
+
+umovestr$(EXEEXT): $(umovestr_OBJECTS) $(umovestr_DEPENDENCIES) $(EXTRA_umovestr_DEPENDENCIES) 
+	@rm -f umovestr$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(umovestr_OBJECTS) $(umovestr_LDADD) $(LIBS)
+
+umovestr-illptr$(EXEEXT): $(umovestr_illptr_OBJECTS) $(umovestr_illptr_DEPENDENCIES) $(EXTRA_umovestr_illptr_DEPENDENCIES) 
+	@rm -f umovestr-illptr$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(umovestr_illptr_OBJECTS) $(umovestr_illptr_LDADD) $(LIBS)
+
+umovestr2$(EXEEXT): $(umovestr2_OBJECTS) $(umovestr2_DEPENDENCIES) $(EXTRA_umovestr2_DEPENDENCIES) 
+	@rm -f umovestr2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(umovestr2_OBJECTS) $(umovestr2_LDADD) $(LIBS)
+
+umovestr3$(EXEEXT): $(umovestr3_OBJECTS) $(umovestr3_DEPENDENCIES) $(EXTRA_umovestr3_DEPENDENCIES) 
+	@rm -f umovestr3$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(umovestr3_OBJECTS) $(umovestr3_LDADD) $(LIBS)
+
+uname$(EXEEXT): $(uname_OBJECTS) $(uname_DEPENDENCIES) $(EXTRA_uname_DEPENDENCIES) 
+	@rm -f uname$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(uname_OBJECTS) $(uname_LDADD) $(LIBS)
+
+unix-pair-send-recv$(EXEEXT): $(unix_pair_send_recv_OBJECTS) $(unix_pair_send_recv_DEPENDENCIES) $(EXTRA_unix_pair_send_recv_DEPENDENCIES) 
+	@rm -f unix-pair-send-recv$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(unix_pair_send_recv_OBJECTS) $(unix_pair_send_recv_LDADD) $(LIBS)
+
+unix-pair-sendto-recvfrom$(EXEEXT): $(unix_pair_sendto_recvfrom_OBJECTS) $(unix_pair_sendto_recvfrom_DEPENDENCIES) $(EXTRA_unix_pair_sendto_recvfrom_DEPENDENCIES) 
+	@rm -f unix-pair-sendto-recvfrom$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(unix_pair_sendto_recvfrom_OBJECTS) $(unix_pair_sendto_recvfrom_LDADD) $(LIBS)
+
+unlink$(EXEEXT): $(unlink_OBJECTS) $(unlink_DEPENDENCIES) $(EXTRA_unlink_DEPENDENCIES) 
+	@rm -f unlink$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(unlink_OBJECTS) $(unlink_LDADD) $(LIBS)
+
+unlinkat$(EXEEXT): $(unlinkat_OBJECTS) $(unlinkat_DEPENDENCIES) $(EXTRA_unlinkat_DEPENDENCIES) 
+	@rm -f unlinkat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(unlinkat_OBJECTS) $(unlinkat_LDADD) $(LIBS)
+
+unshare$(EXEEXT): $(unshare_OBJECTS) $(unshare_DEPENDENCIES) $(EXTRA_unshare_DEPENDENCIES) 
+	@rm -f unshare$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(unshare_OBJECTS) $(unshare_LDADD) $(LIBS)
+
+userfaultfd$(EXEEXT): $(userfaultfd_OBJECTS) $(userfaultfd_DEPENDENCIES) $(EXTRA_userfaultfd_DEPENDENCIES) 
+	@rm -f userfaultfd$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(userfaultfd_OBJECTS) $(userfaultfd_LDADD) $(LIBS)
+
+ustat$(EXEEXT): $(ustat_OBJECTS) $(ustat_DEPENDENCIES) $(EXTRA_ustat_DEPENDENCIES) 
+	@rm -f ustat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ustat_OBJECTS) $(ustat_LDADD) $(LIBS)
+
+utime$(EXEEXT): $(utime_OBJECTS) $(utime_DEPENDENCIES) $(EXTRA_utime_DEPENDENCIES) 
+	@rm -f utime$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(utime_OBJECTS) $(utime_LDADD) $(LIBS)
+
+utimensat$(EXEEXT): $(utimensat_OBJECTS) $(utimensat_DEPENDENCIES) $(EXTRA_utimensat_DEPENDENCIES) 
+	@rm -f utimensat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(utimensat_OBJECTS) $(utimensat_LDADD) $(LIBS)
+
+utimes$(EXEEXT): $(utimes_OBJECTS) $(utimes_DEPENDENCIES) $(EXTRA_utimes_DEPENDENCIES) 
+	@rm -f utimes$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(utimes_OBJECTS) $(utimes_LDADD) $(LIBS)
+
+vfork-f$(EXEEXT): $(vfork_f_OBJECTS) $(vfork_f_DEPENDENCIES) $(EXTRA_vfork_f_DEPENDENCIES) 
+	@rm -f vfork-f$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(vfork_f_OBJECTS) $(vfork_f_LDADD) $(LIBS)
+
+vhangup$(EXEEXT): $(vhangup_OBJECTS) $(vhangup_DEPENDENCIES) $(EXTRA_vhangup_DEPENDENCIES) 
+	@rm -f vhangup$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(vhangup_OBJECTS) $(vhangup_LDADD) $(LIBS)
+
+vmsplice$(EXEEXT): $(vmsplice_OBJECTS) $(vmsplice_DEPENDENCIES) $(EXTRA_vmsplice_DEPENDENCIES) 
+	@rm -f vmsplice$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(vmsplice_OBJECTS) $(vmsplice_LDADD) $(LIBS)
+
+wait4$(EXEEXT): $(wait4_OBJECTS) $(wait4_DEPENDENCIES) $(EXTRA_wait4_DEPENDENCIES) 
+	@rm -f wait4$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(wait4_OBJECTS) $(wait4_LDADD) $(LIBS)
+
+wait4-v$(EXEEXT): $(wait4_v_OBJECTS) $(wait4_v_DEPENDENCIES) $(EXTRA_wait4_v_DEPENDENCIES) 
+	@rm -f wait4-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(wait4_v_OBJECTS) $(wait4_v_LDADD) $(LIBS)
+
+waitid$(EXEEXT): $(waitid_OBJECTS) $(waitid_DEPENDENCIES) $(EXTRA_waitid_DEPENDENCIES) 
+	@rm -f waitid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(waitid_OBJECTS) $(waitid_LDADD) $(LIBS)
+
+waitid-v$(EXEEXT): $(waitid_v_OBJECTS) $(waitid_v_DEPENDENCIES) $(EXTRA_waitid_v_DEPENDENCIES) 
+	@rm -f waitid-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(waitid_v_OBJECTS) $(waitid_v_LDADD) $(LIBS)
+
+waitpid$(EXEEXT): $(waitpid_OBJECTS) $(waitpid_DEPENDENCIES) $(EXTRA_waitpid_DEPENDENCIES) 
+	@rm -f waitpid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(waitpid_OBJECTS) $(waitpid_LDADD) $(LIBS)
+
+xattr$(EXEEXT): $(xattr_OBJECTS) $(xattr_DEPENDENCIES) $(EXTRA_xattr_DEPENDENCIES) 
+	@rm -f xattr$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(xattr_OBJECTS) $(xattr_LDADD) $(LIBS)
+
+xattr-strings$(EXEEXT): $(xattr_strings_OBJECTS) $(xattr_strings_DEPENDENCIES) $(EXTRA_xattr_strings_DEPENDENCIES) 
+	@rm -f xattr-strings$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(xattr_strings_OBJECTS) $(xattr_strings_LDADD) $(LIBS)
+
+xet_robust_list$(EXEEXT): $(xet_robust_list_OBJECTS) $(xet_robust_list_DEPENDENCIES) $(EXTRA_xet_robust_list_DEPENDENCIES) 
+	@rm -f xet_robust_list$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(xet_robust_list_OBJECTS) $(xet_robust_list_LDADD) $(LIBS)
+
+xetitimer$(EXEEXT): $(xetitimer_OBJECTS) $(xetitimer_DEPENDENCIES) $(EXTRA_xetitimer_DEPENDENCIES) 
+	@rm -f xetitimer$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(xetitimer_OBJECTS) $(xetitimer_LDADD) $(LIBS)
+
+xetpgid$(EXEEXT): $(xetpgid_OBJECTS) $(xetpgid_DEPENDENCIES) $(EXTRA_xetpgid_DEPENDENCIES) 
+	@rm -f xetpgid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(xetpgid_OBJECTS) $(xetpgid_LDADD) $(LIBS)
+
+xetpriority$(EXEEXT): $(xetpriority_OBJECTS) $(xetpriority_DEPENDENCIES) $(EXTRA_xetpriority_DEPENDENCIES) 
+	@rm -f xetpriority$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(xetpriority_OBJECTS) $(xetpriority_LDADD) $(LIBS)
+
+xettimeofday$(EXEEXT): $(xettimeofday_OBJECTS) $(xettimeofday_DEPENDENCIES) $(EXTRA_xettimeofday_DEPENDENCIES) 
+	@rm -f xettimeofday$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(xettimeofday_OBJECTS) $(xettimeofday_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+include ./$(DEPDIR)/_newselect.Po
+include ./$(DEPDIR)/accept.Po
+include ./$(DEPDIR)/accept4.Po
+include ./$(DEPDIR)/access.Po
+include ./$(DEPDIR)/acct.Po
+include ./$(DEPDIR)/add_key.Po
+include ./$(DEPDIR)/adjtimex.Po
+include ./$(DEPDIR)/aio.Po
+include ./$(DEPDIR)/alarm.Po
+include ./$(DEPDIR)/answer.Po
+include ./$(DEPDIR)/attach-f-p-cmd.Po
+include ./$(DEPDIR)/attach-f-p.Po
+include ./$(DEPDIR)/attach-p-cmd-cmd.Po
+include ./$(DEPDIR)/attach-p-cmd-p.Po
+include ./$(DEPDIR)/bpf.Po
+include ./$(DEPDIR)/brk.Po
+include ./$(DEPDIR)/btrfs.Po
+include ./$(DEPDIR)/caps-abbrev.Po
+include ./$(DEPDIR)/caps.Po
+include ./$(DEPDIR)/chmod.Po
+include ./$(DEPDIR)/chown.Po
+include ./$(DEPDIR)/chown32.Po
+include ./$(DEPDIR)/chroot.Po
+include ./$(DEPDIR)/clock_adjtime.Po
+include ./$(DEPDIR)/clock_nanosleep.Po
+include ./$(DEPDIR)/clock_xettime.Po
+include ./$(DEPDIR)/copy_file_range.Po
+include ./$(DEPDIR)/count-f.Po
+include ./$(DEPDIR)/creat.Po
+include ./$(DEPDIR)/delete_module.Po
+include ./$(DEPDIR)/dup.Po
+include ./$(DEPDIR)/dup2.Po
+include ./$(DEPDIR)/dup3.Po
+include ./$(DEPDIR)/epoll_create.Po
+include ./$(DEPDIR)/epoll_create1.Po
+include ./$(DEPDIR)/epoll_ctl.Po
+include ./$(DEPDIR)/epoll_pwait.Po
+include ./$(DEPDIR)/epoll_wait.Po
+include ./$(DEPDIR)/erestartsys.Po
+include ./$(DEPDIR)/eventfd.Po
+include ./$(DEPDIR)/execve-v.Po
+include ./$(DEPDIR)/execve.Po
+include ./$(DEPDIR)/execveat-v.Po
+include ./$(DEPDIR)/execveat.Po
+include ./$(DEPDIR)/faccessat.Po
+include ./$(DEPDIR)/fadvise64.Po
+include ./$(DEPDIR)/fadvise64_64.Po
+include ./$(DEPDIR)/fallocate.Po
+include ./$(DEPDIR)/fanotify_init.Po
+include ./$(DEPDIR)/fanotify_mark.Po
+include ./$(DEPDIR)/fchdir.Po
+include ./$(DEPDIR)/fchmod.Po
+include ./$(DEPDIR)/fchmodat.Po
+include ./$(DEPDIR)/fchown.Po
+include ./$(DEPDIR)/fchown32.Po
+include ./$(DEPDIR)/fchownat.Po
+include ./$(DEPDIR)/fcntl.Po
+include ./$(DEPDIR)/fcntl64.Po
+include ./$(DEPDIR)/fdatasync.Po
+include ./$(DEPDIR)/file_handle.Po
+include ./$(DEPDIR)/file_ioctl.Po
+include ./$(DEPDIR)/filter-unavailable.Po
+include ./$(DEPDIR)/finit_module.Po
+include ./$(DEPDIR)/flock.Po
+include ./$(DEPDIR)/fork-f.Po
+include ./$(DEPDIR)/fstat.Po
+include ./$(DEPDIR)/fstat64-fstat64.Po
+include ./$(DEPDIR)/fstatat64-fstatat64.Po
+include ./$(DEPDIR)/fstatfs.Po
+include ./$(DEPDIR)/fstatfs64.Po
+include ./$(DEPDIR)/fsync.Po
+include ./$(DEPDIR)/ftruncate.Po
+include ./$(DEPDIR)/ftruncate64-ftruncate64.Po
+include ./$(DEPDIR)/futex.Po
+include ./$(DEPDIR)/futimesat.Po
+include ./$(DEPDIR)/get_mempolicy.Po
+include ./$(DEPDIR)/getcpu.Po
+include ./$(DEPDIR)/getcwd.Po
+include ./$(DEPDIR)/getdents.Po
+include ./$(DEPDIR)/getdents64.Po
+include ./$(DEPDIR)/getegid.Po
+include ./$(DEPDIR)/getegid32.Po
+include ./$(DEPDIR)/geteuid.Po
+include ./$(DEPDIR)/geteuid32.Po
+include ./$(DEPDIR)/getgid.Po
+include ./$(DEPDIR)/getgid32.Po
+include ./$(DEPDIR)/getgroups.Po
+include ./$(DEPDIR)/getgroups32.Po
+include ./$(DEPDIR)/getpeername.Po
+include ./$(DEPDIR)/getpgrp.Po
+include ./$(DEPDIR)/getrandom.Po
+include ./$(DEPDIR)/getresgid.Po
+include ./$(DEPDIR)/getresgid32.Po
+include ./$(DEPDIR)/getresuid.Po
+include ./$(DEPDIR)/getresuid32.Po
+include ./$(DEPDIR)/getrlimit.Po
+include ./$(DEPDIR)/getrusage.Po
+include ./$(DEPDIR)/getsid.Po
+include ./$(DEPDIR)/getsockname.Po
+include ./$(DEPDIR)/getuid.Po
+include ./$(DEPDIR)/getuid32.Po
+include ./$(DEPDIR)/getxxid.Po
+include ./$(DEPDIR)/inet-cmsg.Po
+include ./$(DEPDIR)/init_module.Po
+include ./$(DEPDIR)/inotify.Po
+include ./$(DEPDIR)/inotify_init1.Po
+include ./$(DEPDIR)/ioctl.Po
+include ./$(DEPDIR)/ioctl_block.Po
+include ./$(DEPDIR)/ioctl_dm-v.Po
+include ./$(DEPDIR)/ioctl_dm.Po
+include ./$(DEPDIR)/ioctl_evdev-v.Po
+include ./$(DEPDIR)/ioctl_evdev.Po
+include ./$(DEPDIR)/ioctl_loop-nv.Po
+include ./$(DEPDIR)/ioctl_loop-v.Po
+include ./$(DEPDIR)/ioctl_loop.Po
+include ./$(DEPDIR)/ioctl_mtd.Po
+include ./$(DEPDIR)/ioctl_rtc-v.Po
+include ./$(DEPDIR)/ioctl_rtc.Po
+include ./$(DEPDIR)/ioctl_scsi.Po
+include ./$(DEPDIR)/ioctl_sg_io_v3.Po
+include ./$(DEPDIR)/ioctl_sg_io_v4.Po
+include ./$(DEPDIR)/ioctl_sock_gifconf.Po
+include ./$(DEPDIR)/ioctl_uffdio.Po
+include ./$(DEPDIR)/ioctl_v4l2.Po
+include ./$(DEPDIR)/ioperm.Po
+include ./$(DEPDIR)/iopl.Po
+include ./$(DEPDIR)/ioprio.Po
+include ./$(DEPDIR)/ip_mreq.Po
+include ./$(DEPDIR)/ipc.Po
+include ./$(DEPDIR)/ipc_msg.Po
+include ./$(DEPDIR)/ipc_msgbuf.Po
+include ./$(DEPDIR)/ipc_sem.Po
+include ./$(DEPDIR)/ipc_shm.Po
+include ./$(DEPDIR)/kcmp.Po
+include ./$(DEPDIR)/kexec_file_load.Po
+include ./$(DEPDIR)/kexec_load.Po
+include ./$(DEPDIR)/keyctl.Po
+include ./$(DEPDIR)/kill.Po
+include ./$(DEPDIR)/ksysent.Po
+include ./$(DEPDIR)/lchown.Po
+include ./$(DEPDIR)/lchown32.Po
+include ./$(DEPDIR)/libtests_a-errno2name.Po
+include ./$(DEPDIR)/libtests_a-error_msg.Po
+include ./$(DEPDIR)/libtests_a-fill_memory.Po
+include ./$(DEPDIR)/libtests_a-get_page_size.Po
+include ./$(DEPDIR)/libtests_a-hexdump_strdup.Po
+include ./$(DEPDIR)/libtests_a-hexquote_strndup.Po
+include ./$(DEPDIR)/libtests_a-inode_of_sockfd.Po
+include ./$(DEPDIR)/libtests_a-libmmsg.Po
+include ./$(DEPDIR)/libtests_a-libsocketcall.Po
+include ./$(DEPDIR)/libtests_a-overflowuid.Po
+include ./$(DEPDIR)/libtests_a-pipe_maxfd.Po
+include ./$(DEPDIR)/libtests_a-print_quoted_string.Po
+include ./$(DEPDIR)/libtests_a-printflags.Po
+include ./$(DEPDIR)/libtests_a-printxval.Po
+include ./$(DEPDIR)/libtests_a-signal2name.Po
+include ./$(DEPDIR)/libtests_a-sprintrc.Po
+include ./$(DEPDIR)/libtests_a-tail_alloc.Po
+include ./$(DEPDIR)/libtests_a-tprintf.Po
+include ./$(DEPDIR)/link.Po
+include ./$(DEPDIR)/linkat.Po
+include ./$(DEPDIR)/llseek.Po
+include ./$(DEPDIR)/lookup_dcookie.Po
+include ./$(DEPDIR)/lseek.Po
+include ./$(DEPDIR)/lstat.Po
+include ./$(DEPDIR)/lstat64-lstat64.Po
+include ./$(DEPDIR)/mbind.Po
+include ./$(DEPDIR)/membarrier.Po
+include ./$(DEPDIR)/memfd_create.Po
+include ./$(DEPDIR)/migrate_pages.Po
+include ./$(DEPDIR)/mincore.Po
+include ./$(DEPDIR)/mkdir.Po
+include ./$(DEPDIR)/mkdirat.Po
+include ./$(DEPDIR)/mknod.Po
+include ./$(DEPDIR)/mknodat.Po
+include ./$(DEPDIR)/mlock.Po
+include ./$(DEPDIR)/mlock2.Po
+include ./$(DEPDIR)/mlockall.Po
+include ./$(DEPDIR)/mmap.Po
+include ./$(DEPDIR)/mmap64-mmap64.Po
+include ./$(DEPDIR)/mmsg-silent.Po
+include ./$(DEPDIR)/mmsg.Po
+include ./$(DEPDIR)/mmsg_name-v.Po
+include ./$(DEPDIR)/mmsg_name.Po
+include ./$(DEPDIR)/mount.Po
+include ./$(DEPDIR)/move_pages.Po
+include ./$(DEPDIR)/mq.Po
+include ./$(DEPDIR)/mq_sendrecv-read.Po
+include ./$(DEPDIR)/mq_sendrecv-write.Po
+include ./$(DEPDIR)/mq_sendrecv.Po
+include ./$(DEPDIR)/msg_control-v.Po
+include ./$(DEPDIR)/msg_control.Po
+include ./$(DEPDIR)/msg_name.Po
+include ./$(DEPDIR)/munlockall.Po
+include ./$(DEPDIR)/nanosleep.Po
+include ./$(DEPDIR)/net-accept-connect.Po
+include ./$(DEPDIR)/net-icmp_filter.Po
+include ./$(DEPDIR)/net-sockaddr.Po
+include ./$(DEPDIR)/net-y-unix.Po
+include ./$(DEPDIR)/net-yy-inet.Po
+include ./$(DEPDIR)/net-yy-netlink.Po
+include ./$(DEPDIR)/net-yy-unix.Po
+include ./$(DEPDIR)/netlink_inet_diag.Po
+include ./$(DEPDIR)/netlink_netlink_diag.Po
+include ./$(DEPDIR)/netlink_protocol.Po
+include ./$(DEPDIR)/netlink_unix_diag.Po
+include ./$(DEPDIR)/newfstatat-newfstatat.Po
+include ./$(DEPDIR)/nsyscalls.Po
+include ./$(DEPDIR)/old_mmap.Po
+include ./$(DEPDIR)/oldfstat.Po
+include ./$(DEPDIR)/oldlstat.Po
+include ./$(DEPDIR)/oldselect.Po
+include ./$(DEPDIR)/oldstat.Po
+include ./$(DEPDIR)/open.Po
+include ./$(DEPDIR)/openat.Po
+include ./$(DEPDIR)/pause.Po
+include ./$(DEPDIR)/pc.Po
+include ./$(DEPDIR)/perf_event_open.Po
+include ./$(DEPDIR)/perf_event_open_nonverbose.Po
+include ./$(DEPDIR)/perf_event_open_unabbrev.Po
+include ./$(DEPDIR)/personality.Po
+include ./$(DEPDIR)/pipe.Po
+include ./$(DEPDIR)/pipe2.Po
+include ./$(DEPDIR)/pkey_alloc.Po
+include ./$(DEPDIR)/pkey_free.Po
+include ./$(DEPDIR)/pkey_mprotect.Po
+include ./$(DEPDIR)/poll.Po
+include ./$(DEPDIR)/ppoll.Po
+include ./$(DEPDIR)/prctl-arg2-intptr.Po
+include ./$(DEPDIR)/prctl-dumpable.Po
+include ./$(DEPDIR)/prctl-name.Po
+include ./$(DEPDIR)/prctl-no-args.Po
+include ./$(DEPDIR)/prctl-pdeathsig.Po
+include ./$(DEPDIR)/prctl-seccomp-filter-v.Po
+include ./$(DEPDIR)/prctl-seccomp-strict.Po
+include ./$(DEPDIR)/prctl-securebits.Po
+include ./$(DEPDIR)/prctl-tid_address.Po
+include ./$(DEPDIR)/prctl-tsc.Po
+include ./$(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Po
+include ./$(DEPDIR)/preadv-preadv.Po
+include ./$(DEPDIR)/preadv2-pwritev2.Po
+include ./$(DEPDIR)/preadv_pwritev-preadv-pwritev.Po
+include ./$(DEPDIR)/print_maxfd.Po
+include ./$(DEPDIR)/printstr.Po
+include ./$(DEPDIR)/prlimit64.Po
+include ./$(DEPDIR)/process_vm_readv.Po
+include ./$(DEPDIR)/process_vm_writev.Po
+include ./$(DEPDIR)/pselect6.Po
+include ./$(DEPDIR)/ptrace.Po
+include ./$(DEPDIR)/pwritev-pwritev.Po
+include ./$(DEPDIR)/qual_fault.Po
+include ./$(DEPDIR)/qual_inject-error-signal.Po
+include ./$(DEPDIR)/qual_inject-retval.Po
+include ./$(DEPDIR)/qual_inject-signal.Po
+include ./$(DEPDIR)/qual_signal.Po
+include ./$(DEPDIR)/quotactl-v.Po
+include ./$(DEPDIR)/quotactl-xfs-v.Po
+include ./$(DEPDIR)/quotactl-xfs.Po
+include ./$(DEPDIR)/quotactl.Po
+include ./$(DEPDIR)/read-write.Po
+include ./$(DEPDIR)/readahead.Po
+include ./$(DEPDIR)/readdir.Po
+include ./$(DEPDIR)/readlink.Po
+include ./$(DEPDIR)/readlinkat.Po
+include ./$(DEPDIR)/readv.Po
+include ./$(DEPDIR)/reboot.Po
+include ./$(DEPDIR)/recvfrom.Po
+include ./$(DEPDIR)/recvmmsg-timeout.Po
+include ./$(DEPDIR)/recvmsg.Po
+include ./$(DEPDIR)/redirect-fds.Po
+include ./$(DEPDIR)/remap_file_pages.Po
+include ./$(DEPDIR)/rename.Po
+include ./$(DEPDIR)/renameat.Po
+include ./$(DEPDIR)/renameat2.Po
+include ./$(DEPDIR)/request_key.Po
+include ./$(DEPDIR)/restart_syscall.Po
+include ./$(DEPDIR)/rmdir.Po
+include ./$(DEPDIR)/rt_sigpending.Po
+include ./$(DEPDIR)/rt_sigprocmask.Po
+include ./$(DEPDIR)/rt_sigqueueinfo.Po
+include ./$(DEPDIR)/rt_sigsuspend.Po
+include ./$(DEPDIR)/rt_sigtimedwait.Po
+include ./$(DEPDIR)/rt_tgsigqueueinfo.Po
+include ./$(DEPDIR)/sched_get_priority_mxx.Po
+include ./$(DEPDIR)/sched_rr_get_interval.Po
+include ./$(DEPDIR)/sched_xetaffinity.Po
+include ./$(DEPDIR)/sched_xetattr.Po
+include ./$(DEPDIR)/sched_xetparam.Po
+include ./$(DEPDIR)/sched_xetscheduler.Po
+include ./$(DEPDIR)/sched_yield.Po
+include ./$(DEPDIR)/scm_rights.Po
+include ./$(DEPDIR)/seccomp-filter-v.Po
+include ./$(DEPDIR)/seccomp-filter.Po
+include ./$(DEPDIR)/seccomp-strict.Po
+include ./$(DEPDIR)/select.Po
+include ./$(DEPDIR)/semop.Po
+include ./$(DEPDIR)/sendfile.Po
+include ./$(DEPDIR)/sendfile64.Po
+include ./$(DEPDIR)/set_mempolicy.Po
+include ./$(DEPDIR)/set_ptracer_any.Po
+include ./$(DEPDIR)/setdomainname.Po
+include ./$(DEPDIR)/setfsgid.Po
+include ./$(DEPDIR)/setfsgid32.Po
+include ./$(DEPDIR)/setfsuid.Po
+include ./$(DEPDIR)/setfsuid32.Po
+include ./$(DEPDIR)/setgid.Po
+include ./$(DEPDIR)/setgid32.Po
+include ./$(DEPDIR)/setgroups.Po
+include ./$(DEPDIR)/setgroups32.Po
+include ./$(DEPDIR)/sethostname.Po
+include ./$(DEPDIR)/setns.Po
+include ./$(DEPDIR)/setregid.Po
+include ./$(DEPDIR)/setregid32.Po
+include ./$(DEPDIR)/setresgid.Po
+include ./$(DEPDIR)/setresgid32.Po
+include ./$(DEPDIR)/setresuid.Po
+include ./$(DEPDIR)/setresuid32.Po
+include ./$(DEPDIR)/setreuid.Po
+include ./$(DEPDIR)/setreuid32.Po
+include ./$(DEPDIR)/setrlimit.Po
+include ./$(DEPDIR)/setuid.Po
+include ./$(DEPDIR)/setuid32.Po
+include ./$(DEPDIR)/shmxt.Po
+include ./$(DEPDIR)/shutdown.Po
+include ./$(DEPDIR)/sigaction.Po
+include ./$(DEPDIR)/sigaltstack.Po
+include ./$(DEPDIR)/siginfo.Po
+include ./$(DEPDIR)/signal_receive.Po
+include ./$(DEPDIR)/signalfd4.Po
+include ./$(DEPDIR)/sigreturn.Po
+include ./$(DEPDIR)/sleep.Po
+include ./$(DEPDIR)/socketcall.Po
+include ./$(DEPDIR)/splice.Po
+include ./$(DEPDIR)/stack-fcall-0.Po
+include ./$(DEPDIR)/stack-fcall-1.Po
+include ./$(DEPDIR)/stack-fcall-2.Po
+include ./$(DEPDIR)/stack-fcall-3.Po
+include ./$(DEPDIR)/stack-fcall.Po
+include ./$(DEPDIR)/stat.Po
+include ./$(DEPDIR)/stat64-stat64.Po
+include ./$(DEPDIR)/statfs-statfs.Po
+include ./$(DEPDIR)/statfs64.Po
+include ./$(DEPDIR)/swap.Po
+include ./$(DEPDIR)/symlink.Po
+include ./$(DEPDIR)/symlinkat.Po
+include ./$(DEPDIR)/sync.Po
+include ./$(DEPDIR)/sync_file_range.Po
+include ./$(DEPDIR)/sync_file_range2.Po
+include ./$(DEPDIR)/sysinfo.Po
+include ./$(DEPDIR)/syslog.Po
+include ./$(DEPDIR)/tee.Po
+include ./$(DEPDIR)/threads-execve.Po
+include ./$(DEPDIR)/time.Po
+include ./$(DEPDIR)/timer_create.Po
+include ./$(DEPDIR)/timer_xettime.Po
+include ./$(DEPDIR)/timerfd_xettime.Po
+include ./$(DEPDIR)/times-fail.Po
+include ./$(DEPDIR)/times.Po
+include ./$(DEPDIR)/truncate.Po
+include ./$(DEPDIR)/truncate64-truncate64.Po
+include ./$(DEPDIR)/ugetrlimit.Po
+include ./$(DEPDIR)/uio-uio.Po
+include ./$(DEPDIR)/umask.Po
+include ./$(DEPDIR)/umount.Po
+include ./$(DEPDIR)/umount2.Po
+include ./$(DEPDIR)/umoven-illptr.Po
+include ./$(DEPDIR)/umovestr-illptr.Po
+include ./$(DEPDIR)/umovestr.Po
+include ./$(DEPDIR)/umovestr2.Po
+include ./$(DEPDIR)/umovestr3.Po
+include ./$(DEPDIR)/uname.Po
+include ./$(DEPDIR)/unix-pair-send-recv.Po
+include ./$(DEPDIR)/unix-pair-sendto-recvfrom.Po
+include ./$(DEPDIR)/unlink.Po
+include ./$(DEPDIR)/unlinkat.Po
+include ./$(DEPDIR)/unshare.Po
+include ./$(DEPDIR)/userfaultfd.Po
+include ./$(DEPDIR)/ustat.Po
+include ./$(DEPDIR)/utime.Po
+include ./$(DEPDIR)/utimensat.Po
+include ./$(DEPDIR)/utimes.Po
+include ./$(DEPDIR)/vfork-f.Po
+include ./$(DEPDIR)/vhangup.Po
+include ./$(DEPDIR)/vmsplice.Po
+include ./$(DEPDIR)/wait4-v.Po
+include ./$(DEPDIR)/wait4.Po
+include ./$(DEPDIR)/waitid-v.Po
+include ./$(DEPDIR)/waitid.Po
+include ./$(DEPDIR)/waitpid.Po
+include ./$(DEPDIR)/xattr-strings.Po
+include ./$(DEPDIR)/xattr.Po
+include ./$(DEPDIR)/xet_robust_list.Po
+include ./$(DEPDIR)/xetitimer.Po
+include ./$(DEPDIR)/xetpgid.Po
+include ./$(DEPDIR)/xetpriority.Po
+include ./$(DEPDIR)/xettimeofday.Po
+
+.c.o:
+	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+#	$(AM_V_CC)source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+#	$(AM_V_CC)source='$<' object='$@' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+libtests_a-errno2name.o: errno2name.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.o -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po
+#	$(AM_V_CC)source='errno2name.c' object='libtests_a-errno2name.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c
+
+libtests_a-errno2name.obj: errno2name.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.obj -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.obj `if test -f 'errno2name.c'; then $(CYGPATH_W) 'errno2name.c'; else $(CYGPATH_W) '$(srcdir)/errno2name.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po
+#	$(AM_V_CC)source='errno2name.c' object='libtests_a-errno2name.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-errno2name.obj `if test -f 'errno2name.c'; then $(CYGPATH_W) 'errno2name.c'; else $(CYGPATH_W) '$(srcdir)/errno2name.c'; fi`
+
+libtests_a-error_msg.o: error_msg.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-error_msg.o -MD -MP -MF $(DEPDIR)/libtests_a-error_msg.Tpo -c -o libtests_a-error_msg.o `test -f 'error_msg.c' || echo '$(srcdir)/'`error_msg.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-error_msg.Tpo $(DEPDIR)/libtests_a-error_msg.Po
+#	$(AM_V_CC)source='error_msg.c' object='libtests_a-error_msg.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-error_msg.o `test -f 'error_msg.c' || echo '$(srcdir)/'`error_msg.c
+
+libtests_a-error_msg.obj: error_msg.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-error_msg.obj -MD -MP -MF $(DEPDIR)/libtests_a-error_msg.Tpo -c -o libtests_a-error_msg.obj `if test -f 'error_msg.c'; then $(CYGPATH_W) 'error_msg.c'; else $(CYGPATH_W) '$(srcdir)/error_msg.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-error_msg.Tpo $(DEPDIR)/libtests_a-error_msg.Po
+#	$(AM_V_CC)source='error_msg.c' object='libtests_a-error_msg.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-error_msg.obj `if test -f 'error_msg.c'; then $(CYGPATH_W) 'error_msg.c'; else $(CYGPATH_W) '$(srcdir)/error_msg.c'; fi`
+
+libtests_a-fill_memory.o: fill_memory.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-fill_memory.o -MD -MP -MF $(DEPDIR)/libtests_a-fill_memory.Tpo -c -o libtests_a-fill_memory.o `test -f 'fill_memory.c' || echo '$(srcdir)/'`fill_memory.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-fill_memory.Tpo $(DEPDIR)/libtests_a-fill_memory.Po
+#	$(AM_V_CC)source='fill_memory.c' object='libtests_a-fill_memory.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-fill_memory.o `test -f 'fill_memory.c' || echo '$(srcdir)/'`fill_memory.c
+
+libtests_a-fill_memory.obj: fill_memory.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-fill_memory.obj -MD -MP -MF $(DEPDIR)/libtests_a-fill_memory.Tpo -c -o libtests_a-fill_memory.obj `if test -f 'fill_memory.c'; then $(CYGPATH_W) 'fill_memory.c'; else $(CYGPATH_W) '$(srcdir)/fill_memory.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-fill_memory.Tpo $(DEPDIR)/libtests_a-fill_memory.Po
+#	$(AM_V_CC)source='fill_memory.c' object='libtests_a-fill_memory.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-fill_memory.obj `if test -f 'fill_memory.c'; then $(CYGPATH_W) 'fill_memory.c'; else $(CYGPATH_W) '$(srcdir)/fill_memory.c'; fi`
+
+libtests_a-get_page_size.o: get_page_size.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_page_size.o -MD -MP -MF $(DEPDIR)/libtests_a-get_page_size.Tpo -c -o libtests_a-get_page_size.o `test -f 'get_page_size.c' || echo '$(srcdir)/'`get_page_size.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_page_size.Tpo $(DEPDIR)/libtests_a-get_page_size.Po
+#	$(AM_V_CC)source='get_page_size.c' object='libtests_a-get_page_size.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-get_page_size.o `test -f 'get_page_size.c' || echo '$(srcdir)/'`get_page_size.c
+
+libtests_a-get_page_size.obj: get_page_size.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_page_size.obj -MD -MP -MF $(DEPDIR)/libtests_a-get_page_size.Tpo -c -o libtests_a-get_page_size.obj `if test -f 'get_page_size.c'; then $(CYGPATH_W) 'get_page_size.c'; else $(CYGPATH_W) '$(srcdir)/get_page_size.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_page_size.Tpo $(DEPDIR)/libtests_a-get_page_size.Po
+#	$(AM_V_CC)source='get_page_size.c' object='libtests_a-get_page_size.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-get_page_size.obj `if test -f 'get_page_size.c'; then $(CYGPATH_W) 'get_page_size.c'; else $(CYGPATH_W) '$(srcdir)/get_page_size.c'; fi`
+
+libtests_a-hexdump_strdup.o: hexdump_strdup.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-hexdump_strdup.o -MD -MP -MF $(DEPDIR)/libtests_a-hexdump_strdup.Tpo -c -o libtests_a-hexdump_strdup.o `test -f 'hexdump_strdup.c' || echo '$(srcdir)/'`hexdump_strdup.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-hexdump_strdup.Tpo $(DEPDIR)/libtests_a-hexdump_strdup.Po
+#	$(AM_V_CC)source='hexdump_strdup.c' object='libtests_a-hexdump_strdup.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-hexdump_strdup.o `test -f 'hexdump_strdup.c' || echo '$(srcdir)/'`hexdump_strdup.c
+
+libtests_a-hexdump_strdup.obj: hexdump_strdup.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-hexdump_strdup.obj -MD -MP -MF $(DEPDIR)/libtests_a-hexdump_strdup.Tpo -c -o libtests_a-hexdump_strdup.obj `if test -f 'hexdump_strdup.c'; then $(CYGPATH_W) 'hexdump_strdup.c'; else $(CYGPATH_W) '$(srcdir)/hexdump_strdup.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-hexdump_strdup.Tpo $(DEPDIR)/libtests_a-hexdump_strdup.Po
+#	$(AM_V_CC)source='hexdump_strdup.c' object='libtests_a-hexdump_strdup.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-hexdump_strdup.obj `if test -f 'hexdump_strdup.c'; then $(CYGPATH_W) 'hexdump_strdup.c'; else $(CYGPATH_W) '$(srcdir)/hexdump_strdup.c'; fi`
+
+libtests_a-hexquote_strndup.o: hexquote_strndup.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-hexquote_strndup.o -MD -MP -MF $(DEPDIR)/libtests_a-hexquote_strndup.Tpo -c -o libtests_a-hexquote_strndup.o `test -f 'hexquote_strndup.c' || echo '$(srcdir)/'`hexquote_strndup.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-hexquote_strndup.Tpo $(DEPDIR)/libtests_a-hexquote_strndup.Po
+#	$(AM_V_CC)source='hexquote_strndup.c' object='libtests_a-hexquote_strndup.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-hexquote_strndup.o `test -f 'hexquote_strndup.c' || echo '$(srcdir)/'`hexquote_strndup.c
+
+libtests_a-hexquote_strndup.obj: hexquote_strndup.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-hexquote_strndup.obj -MD -MP -MF $(DEPDIR)/libtests_a-hexquote_strndup.Tpo -c -o libtests_a-hexquote_strndup.obj `if test -f 'hexquote_strndup.c'; then $(CYGPATH_W) 'hexquote_strndup.c'; else $(CYGPATH_W) '$(srcdir)/hexquote_strndup.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-hexquote_strndup.Tpo $(DEPDIR)/libtests_a-hexquote_strndup.Po
+#	$(AM_V_CC)source='hexquote_strndup.c' object='libtests_a-hexquote_strndup.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-hexquote_strndup.obj `if test -f 'hexquote_strndup.c'; then $(CYGPATH_W) 'hexquote_strndup.c'; else $(CYGPATH_W) '$(srcdir)/hexquote_strndup.c'; fi`
+
+libtests_a-inode_of_sockfd.o: inode_of_sockfd.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-inode_of_sockfd.o -MD -MP -MF $(DEPDIR)/libtests_a-inode_of_sockfd.Tpo -c -o libtests_a-inode_of_sockfd.o `test -f 'inode_of_sockfd.c' || echo '$(srcdir)/'`inode_of_sockfd.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-inode_of_sockfd.Tpo $(DEPDIR)/libtests_a-inode_of_sockfd.Po
+#	$(AM_V_CC)source='inode_of_sockfd.c' object='libtests_a-inode_of_sockfd.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-inode_of_sockfd.o `test -f 'inode_of_sockfd.c' || echo '$(srcdir)/'`inode_of_sockfd.c
+
+libtests_a-inode_of_sockfd.obj: inode_of_sockfd.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-inode_of_sockfd.obj -MD -MP -MF $(DEPDIR)/libtests_a-inode_of_sockfd.Tpo -c -o libtests_a-inode_of_sockfd.obj `if test -f 'inode_of_sockfd.c'; then $(CYGPATH_W) 'inode_of_sockfd.c'; else $(CYGPATH_W) '$(srcdir)/inode_of_sockfd.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-inode_of_sockfd.Tpo $(DEPDIR)/libtests_a-inode_of_sockfd.Po
+#	$(AM_V_CC)source='inode_of_sockfd.c' object='libtests_a-inode_of_sockfd.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-inode_of_sockfd.obj `if test -f 'inode_of_sockfd.c'; then $(CYGPATH_W) 'inode_of_sockfd.c'; else $(CYGPATH_W) '$(srcdir)/inode_of_sockfd.c'; fi`
+
+libtests_a-libmmsg.o: libmmsg.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-libmmsg.o -MD -MP -MF $(DEPDIR)/libtests_a-libmmsg.Tpo -c -o libtests_a-libmmsg.o `test -f 'libmmsg.c' || echo '$(srcdir)/'`libmmsg.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-libmmsg.Tpo $(DEPDIR)/libtests_a-libmmsg.Po
+#	$(AM_V_CC)source='libmmsg.c' object='libtests_a-libmmsg.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-libmmsg.o `test -f 'libmmsg.c' || echo '$(srcdir)/'`libmmsg.c
+
+libtests_a-libmmsg.obj: libmmsg.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-libmmsg.obj -MD -MP -MF $(DEPDIR)/libtests_a-libmmsg.Tpo -c -o libtests_a-libmmsg.obj `if test -f 'libmmsg.c'; then $(CYGPATH_W) 'libmmsg.c'; else $(CYGPATH_W) '$(srcdir)/libmmsg.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-libmmsg.Tpo $(DEPDIR)/libtests_a-libmmsg.Po
+#	$(AM_V_CC)source='libmmsg.c' object='libtests_a-libmmsg.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-libmmsg.obj `if test -f 'libmmsg.c'; then $(CYGPATH_W) 'libmmsg.c'; else $(CYGPATH_W) '$(srcdir)/libmmsg.c'; fi`
+
+libtests_a-libsocketcall.o: libsocketcall.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-libsocketcall.o -MD -MP -MF $(DEPDIR)/libtests_a-libsocketcall.Tpo -c -o libtests_a-libsocketcall.o `test -f 'libsocketcall.c' || echo '$(srcdir)/'`libsocketcall.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-libsocketcall.Tpo $(DEPDIR)/libtests_a-libsocketcall.Po
+#	$(AM_V_CC)source='libsocketcall.c' object='libtests_a-libsocketcall.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-libsocketcall.o `test -f 'libsocketcall.c' || echo '$(srcdir)/'`libsocketcall.c
+
+libtests_a-libsocketcall.obj: libsocketcall.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-libsocketcall.obj -MD -MP -MF $(DEPDIR)/libtests_a-libsocketcall.Tpo -c -o libtests_a-libsocketcall.obj `if test -f 'libsocketcall.c'; then $(CYGPATH_W) 'libsocketcall.c'; else $(CYGPATH_W) '$(srcdir)/libsocketcall.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-libsocketcall.Tpo $(DEPDIR)/libtests_a-libsocketcall.Po
+#	$(AM_V_CC)source='libsocketcall.c' object='libtests_a-libsocketcall.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-libsocketcall.obj `if test -f 'libsocketcall.c'; then $(CYGPATH_W) 'libsocketcall.c'; else $(CYGPATH_W) '$(srcdir)/libsocketcall.c'; fi`
+
+libtests_a-overflowuid.o: overflowuid.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-overflowuid.o -MD -MP -MF $(DEPDIR)/libtests_a-overflowuid.Tpo -c -o libtests_a-overflowuid.o `test -f 'overflowuid.c' || echo '$(srcdir)/'`overflowuid.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-overflowuid.Tpo $(DEPDIR)/libtests_a-overflowuid.Po
+#	$(AM_V_CC)source='overflowuid.c' object='libtests_a-overflowuid.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-overflowuid.o `test -f 'overflowuid.c' || echo '$(srcdir)/'`overflowuid.c
+
+libtests_a-overflowuid.obj: overflowuid.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-overflowuid.obj -MD -MP -MF $(DEPDIR)/libtests_a-overflowuid.Tpo -c -o libtests_a-overflowuid.obj `if test -f 'overflowuid.c'; then $(CYGPATH_W) 'overflowuid.c'; else $(CYGPATH_W) '$(srcdir)/overflowuid.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-overflowuid.Tpo $(DEPDIR)/libtests_a-overflowuid.Po
+#	$(AM_V_CC)source='overflowuid.c' object='libtests_a-overflowuid.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-overflowuid.obj `if test -f 'overflowuid.c'; then $(CYGPATH_W) 'overflowuid.c'; else $(CYGPATH_W) '$(srcdir)/overflowuid.c'; fi`
+
+libtests_a-pipe_maxfd.o: pipe_maxfd.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pipe_maxfd.o -MD -MP -MF $(DEPDIR)/libtests_a-pipe_maxfd.Tpo -c -o libtests_a-pipe_maxfd.o `test -f 'pipe_maxfd.c' || echo '$(srcdir)/'`pipe_maxfd.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pipe_maxfd.Tpo $(DEPDIR)/libtests_a-pipe_maxfd.Po
+#	$(AM_V_CC)source='pipe_maxfd.c' object='libtests_a-pipe_maxfd.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pipe_maxfd.o `test -f 'pipe_maxfd.c' || echo '$(srcdir)/'`pipe_maxfd.c
+
+libtests_a-pipe_maxfd.obj: pipe_maxfd.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pipe_maxfd.obj -MD -MP -MF $(DEPDIR)/libtests_a-pipe_maxfd.Tpo -c -o libtests_a-pipe_maxfd.obj `if test -f 'pipe_maxfd.c'; then $(CYGPATH_W) 'pipe_maxfd.c'; else $(CYGPATH_W) '$(srcdir)/pipe_maxfd.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pipe_maxfd.Tpo $(DEPDIR)/libtests_a-pipe_maxfd.Po
+#	$(AM_V_CC)source='pipe_maxfd.c' object='libtests_a-pipe_maxfd.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pipe_maxfd.obj `if test -f 'pipe_maxfd.c'; then $(CYGPATH_W) 'pipe_maxfd.c'; else $(CYGPATH_W) '$(srcdir)/pipe_maxfd.c'; fi`
+
+libtests_a-print_quoted_string.o: print_quoted_string.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_quoted_string.o -MD -MP -MF $(DEPDIR)/libtests_a-print_quoted_string.Tpo -c -o libtests_a-print_quoted_string.o `test -f 'print_quoted_string.c' || echo '$(srcdir)/'`print_quoted_string.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_quoted_string.Tpo $(DEPDIR)/libtests_a-print_quoted_string.Po
+#	$(AM_V_CC)source='print_quoted_string.c' object='libtests_a-print_quoted_string.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-print_quoted_string.o `test -f 'print_quoted_string.c' || echo '$(srcdir)/'`print_quoted_string.c
+
+libtests_a-print_quoted_string.obj: print_quoted_string.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_quoted_string.obj -MD -MP -MF $(DEPDIR)/libtests_a-print_quoted_string.Tpo -c -o libtests_a-print_quoted_string.obj `if test -f 'print_quoted_string.c'; then $(CYGPATH_W) 'print_quoted_string.c'; else $(CYGPATH_W) '$(srcdir)/print_quoted_string.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_quoted_string.Tpo $(DEPDIR)/libtests_a-print_quoted_string.Po
+#	$(AM_V_CC)source='print_quoted_string.c' object='libtests_a-print_quoted_string.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-print_quoted_string.obj `if test -f 'print_quoted_string.c'; then $(CYGPATH_W) 'print_quoted_string.c'; else $(CYGPATH_W) '$(srcdir)/print_quoted_string.c'; fi`
+
+libtests_a-printflags.o: printflags.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-printflags.o -MD -MP -MF $(DEPDIR)/libtests_a-printflags.Tpo -c -o libtests_a-printflags.o `test -f 'printflags.c' || echo '$(srcdir)/'`printflags.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-printflags.Tpo $(DEPDIR)/libtests_a-printflags.Po
+#	$(AM_V_CC)source='printflags.c' object='libtests_a-printflags.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printflags.o `test -f 'printflags.c' || echo '$(srcdir)/'`printflags.c
+
+libtests_a-printflags.obj: printflags.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-printflags.obj -MD -MP -MF $(DEPDIR)/libtests_a-printflags.Tpo -c -o libtests_a-printflags.obj `if test -f 'printflags.c'; then $(CYGPATH_W) 'printflags.c'; else $(CYGPATH_W) '$(srcdir)/printflags.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-printflags.Tpo $(DEPDIR)/libtests_a-printflags.Po
+#	$(AM_V_CC)source='printflags.c' object='libtests_a-printflags.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printflags.obj `if test -f 'printflags.c'; then $(CYGPATH_W) 'printflags.c'; else $(CYGPATH_W) '$(srcdir)/printflags.c'; fi`
+
+libtests_a-printxval.o: printxval.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-printxval.o -MD -MP -MF $(DEPDIR)/libtests_a-printxval.Tpo -c -o libtests_a-printxval.o `test -f 'printxval.c' || echo '$(srcdir)/'`printxval.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-printxval.Tpo $(DEPDIR)/libtests_a-printxval.Po
+#	$(AM_V_CC)source='printxval.c' object='libtests_a-printxval.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printxval.o `test -f 'printxval.c' || echo '$(srcdir)/'`printxval.c
+
+libtests_a-printxval.obj: printxval.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-printxval.obj -MD -MP -MF $(DEPDIR)/libtests_a-printxval.Tpo -c -o libtests_a-printxval.obj `if test -f 'printxval.c'; then $(CYGPATH_W) 'printxval.c'; else $(CYGPATH_W) '$(srcdir)/printxval.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-printxval.Tpo $(DEPDIR)/libtests_a-printxval.Po
+#	$(AM_V_CC)source='printxval.c' object='libtests_a-printxval.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printxval.obj `if test -f 'printxval.c'; then $(CYGPATH_W) 'printxval.c'; else $(CYGPATH_W) '$(srcdir)/printxval.c'; fi`
+
+libtests_a-signal2name.o: signal2name.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-signal2name.o -MD -MP -MF $(DEPDIR)/libtests_a-signal2name.Tpo -c -o libtests_a-signal2name.o `test -f 'signal2name.c' || echo '$(srcdir)/'`signal2name.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-signal2name.Tpo $(DEPDIR)/libtests_a-signal2name.Po
+#	$(AM_V_CC)source='signal2name.c' object='libtests_a-signal2name.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-signal2name.o `test -f 'signal2name.c' || echo '$(srcdir)/'`signal2name.c
+
+libtests_a-signal2name.obj: signal2name.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-signal2name.obj -MD -MP -MF $(DEPDIR)/libtests_a-signal2name.Tpo -c -o libtests_a-signal2name.obj `if test -f 'signal2name.c'; then $(CYGPATH_W) 'signal2name.c'; else $(CYGPATH_W) '$(srcdir)/signal2name.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-signal2name.Tpo $(DEPDIR)/libtests_a-signal2name.Po
+#	$(AM_V_CC)source='signal2name.c' object='libtests_a-signal2name.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-signal2name.obj `if test -f 'signal2name.c'; then $(CYGPATH_W) 'signal2name.c'; else $(CYGPATH_W) '$(srcdir)/signal2name.c'; fi`
+
+libtests_a-sprintrc.o: sprintrc.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-sprintrc.o -MD -MP -MF $(DEPDIR)/libtests_a-sprintrc.Tpo -c -o libtests_a-sprintrc.o `test -f 'sprintrc.c' || echo '$(srcdir)/'`sprintrc.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-sprintrc.Tpo $(DEPDIR)/libtests_a-sprintrc.Po
+#	$(AM_V_CC)source='sprintrc.c' object='libtests_a-sprintrc.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-sprintrc.o `test -f 'sprintrc.c' || echo '$(srcdir)/'`sprintrc.c
+
+libtests_a-sprintrc.obj: sprintrc.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-sprintrc.obj -MD -MP -MF $(DEPDIR)/libtests_a-sprintrc.Tpo -c -o libtests_a-sprintrc.obj `if test -f 'sprintrc.c'; then $(CYGPATH_W) 'sprintrc.c'; else $(CYGPATH_W) '$(srcdir)/sprintrc.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-sprintrc.Tpo $(DEPDIR)/libtests_a-sprintrc.Po
+#	$(AM_V_CC)source='sprintrc.c' object='libtests_a-sprintrc.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-sprintrc.obj `if test -f 'sprintrc.c'; then $(CYGPATH_W) 'sprintrc.c'; else $(CYGPATH_W) '$(srcdir)/sprintrc.c'; fi`
+
+libtests_a-tail_alloc.o: tail_alloc.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tail_alloc.o -MD -MP -MF $(DEPDIR)/libtests_a-tail_alloc.Tpo -c -o libtests_a-tail_alloc.o `test -f 'tail_alloc.c' || echo '$(srcdir)/'`tail_alloc.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tail_alloc.Tpo $(DEPDIR)/libtests_a-tail_alloc.Po
+#	$(AM_V_CC)source='tail_alloc.c' object='libtests_a-tail_alloc.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tail_alloc.o `test -f 'tail_alloc.c' || echo '$(srcdir)/'`tail_alloc.c
+
+libtests_a-tail_alloc.obj: tail_alloc.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tail_alloc.obj -MD -MP -MF $(DEPDIR)/libtests_a-tail_alloc.Tpo -c -o libtests_a-tail_alloc.obj `if test -f 'tail_alloc.c'; then $(CYGPATH_W) 'tail_alloc.c'; else $(CYGPATH_W) '$(srcdir)/tail_alloc.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tail_alloc.Tpo $(DEPDIR)/libtests_a-tail_alloc.Po
+#	$(AM_V_CC)source='tail_alloc.c' object='libtests_a-tail_alloc.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tail_alloc.obj `if test -f 'tail_alloc.c'; then $(CYGPATH_W) 'tail_alloc.c'; else $(CYGPATH_W) '$(srcdir)/tail_alloc.c'; fi`
+
+libtests_a-tprintf.o: tprintf.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tprintf.o -MD -MP -MF $(DEPDIR)/libtests_a-tprintf.Tpo -c -o libtests_a-tprintf.o `test -f 'tprintf.c' || echo '$(srcdir)/'`tprintf.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tprintf.Tpo $(DEPDIR)/libtests_a-tprintf.Po
+#	$(AM_V_CC)source='tprintf.c' object='libtests_a-tprintf.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tprintf.o `test -f 'tprintf.c' || echo '$(srcdir)/'`tprintf.c
+
+libtests_a-tprintf.obj: tprintf.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tprintf.obj -MD -MP -MF $(DEPDIR)/libtests_a-tprintf.Tpo -c -o libtests_a-tprintf.obj `if test -f 'tprintf.c'; then $(CYGPATH_W) 'tprintf.c'; else $(CYGPATH_W) '$(srcdir)/tprintf.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tprintf.Tpo $(DEPDIR)/libtests_a-tprintf.Po
+#	$(AM_V_CC)source='tprintf.c' object='libtests_a-tprintf.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tprintf.obj `if test -f 'tprintf.c'; then $(CYGPATH_W) 'tprintf.c'; else $(CYGPATH_W) '$(srcdir)/tprintf.c'; fi`
+
+fstat64-fstat64.o: fstat64.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstat64-fstat64.o -MD -MP -MF $(DEPDIR)/fstat64-fstat64.Tpo -c -o fstat64-fstat64.o `test -f 'fstat64.c' || echo '$(srcdir)/'`fstat64.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/fstat64-fstat64.Tpo $(DEPDIR)/fstat64-fstat64.Po
+#	$(AM_V_CC)source='fstat64.c' object='fstat64-fstat64.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstat64-fstat64.o `test -f 'fstat64.c' || echo '$(srcdir)/'`fstat64.c
+
+fstat64-fstat64.obj: fstat64.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstat64-fstat64.obj -MD -MP -MF $(DEPDIR)/fstat64-fstat64.Tpo -c -o fstat64-fstat64.obj `if test -f 'fstat64.c'; then $(CYGPATH_W) 'fstat64.c'; else $(CYGPATH_W) '$(srcdir)/fstat64.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/fstat64-fstat64.Tpo $(DEPDIR)/fstat64-fstat64.Po
+#	$(AM_V_CC)source='fstat64.c' object='fstat64-fstat64.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstat64-fstat64.obj `if test -f 'fstat64.c'; then $(CYGPATH_W) 'fstat64.c'; else $(CYGPATH_W) '$(srcdir)/fstat64.c'; fi`
+
+fstatat64-fstatat64.o: fstatat64.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstatat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstatat64-fstatat64.o -MD -MP -MF $(DEPDIR)/fstatat64-fstatat64.Tpo -c -o fstatat64-fstatat64.o `test -f 'fstatat64.c' || echo '$(srcdir)/'`fstatat64.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/fstatat64-fstatat64.Tpo $(DEPDIR)/fstatat64-fstatat64.Po
+#	$(AM_V_CC)source='fstatat64.c' object='fstatat64-fstatat64.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstatat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstatat64-fstatat64.o `test -f 'fstatat64.c' || echo '$(srcdir)/'`fstatat64.c
+
+fstatat64-fstatat64.obj: fstatat64.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstatat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstatat64-fstatat64.obj -MD -MP -MF $(DEPDIR)/fstatat64-fstatat64.Tpo -c -o fstatat64-fstatat64.obj `if test -f 'fstatat64.c'; then $(CYGPATH_W) 'fstatat64.c'; else $(CYGPATH_W) '$(srcdir)/fstatat64.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/fstatat64-fstatat64.Tpo $(DEPDIR)/fstatat64-fstatat64.Po
+#	$(AM_V_CC)source='fstatat64.c' object='fstatat64-fstatat64.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstatat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstatat64-fstatat64.obj `if test -f 'fstatat64.c'; then $(CYGPATH_W) 'fstatat64.c'; else $(CYGPATH_W) '$(srcdir)/fstatat64.c'; fi`
+
+ftruncate64-ftruncate64.o: ftruncate64.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ftruncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ftruncate64-ftruncate64.o -MD -MP -MF $(DEPDIR)/ftruncate64-ftruncate64.Tpo -c -o ftruncate64-ftruncate64.o `test -f 'ftruncate64.c' || echo '$(srcdir)/'`ftruncate64.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/ftruncate64-ftruncate64.Tpo $(DEPDIR)/ftruncate64-ftruncate64.Po
+#	$(AM_V_CC)source='ftruncate64.c' object='ftruncate64-ftruncate64.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ftruncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ftruncate64-ftruncate64.o `test -f 'ftruncate64.c' || echo '$(srcdir)/'`ftruncate64.c
+
+ftruncate64-ftruncate64.obj: ftruncate64.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ftruncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ftruncate64-ftruncate64.obj -MD -MP -MF $(DEPDIR)/ftruncate64-ftruncate64.Tpo -c -o ftruncate64-ftruncate64.obj `if test -f 'ftruncate64.c'; then $(CYGPATH_W) 'ftruncate64.c'; else $(CYGPATH_W) '$(srcdir)/ftruncate64.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/ftruncate64-ftruncate64.Tpo $(DEPDIR)/ftruncate64-ftruncate64.Po
+#	$(AM_V_CC)source='ftruncate64.c' object='ftruncate64-ftruncate64.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ftruncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ftruncate64-ftruncate64.obj `if test -f 'ftruncate64.c'; then $(CYGPATH_W) 'ftruncate64.c'; else $(CYGPATH_W) '$(srcdir)/ftruncate64.c'; fi`
+
+lstat64-lstat64.o: lstat64.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lstat64-lstat64.o -MD -MP -MF $(DEPDIR)/lstat64-lstat64.Tpo -c -o lstat64-lstat64.o `test -f 'lstat64.c' || echo '$(srcdir)/'`lstat64.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/lstat64-lstat64.Tpo $(DEPDIR)/lstat64-lstat64.Po
+#	$(AM_V_CC)source='lstat64.c' object='lstat64-lstat64.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lstat64-lstat64.o `test -f 'lstat64.c' || echo '$(srcdir)/'`lstat64.c
+
+lstat64-lstat64.obj: lstat64.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lstat64-lstat64.obj -MD -MP -MF $(DEPDIR)/lstat64-lstat64.Tpo -c -o lstat64-lstat64.obj `if test -f 'lstat64.c'; then $(CYGPATH_W) 'lstat64.c'; else $(CYGPATH_W) '$(srcdir)/lstat64.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/lstat64-lstat64.Tpo $(DEPDIR)/lstat64-lstat64.Po
+#	$(AM_V_CC)source='lstat64.c' object='lstat64-lstat64.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lstat64-lstat64.obj `if test -f 'lstat64.c'; then $(CYGPATH_W) 'lstat64.c'; else $(CYGPATH_W) '$(srcdir)/lstat64.c'; fi`
+
+mmap64-mmap64.o: mmap64.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64-mmap64.o -MD -MP -MF $(DEPDIR)/mmap64-mmap64.Tpo -c -o mmap64-mmap64.o `test -f 'mmap64.c' || echo '$(srcdir)/'`mmap64.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/mmap64-mmap64.Tpo $(DEPDIR)/mmap64-mmap64.Po
+#	$(AM_V_CC)source='mmap64.c' object='mmap64-mmap64.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64-mmap64.o `test -f 'mmap64.c' || echo '$(srcdir)/'`mmap64.c
+
+mmap64-mmap64.obj: mmap64.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64-mmap64.obj -MD -MP -MF $(DEPDIR)/mmap64-mmap64.Tpo -c -o mmap64-mmap64.obj `if test -f 'mmap64.c'; then $(CYGPATH_W) 'mmap64.c'; else $(CYGPATH_W) '$(srcdir)/mmap64.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/mmap64-mmap64.Tpo $(DEPDIR)/mmap64-mmap64.Po
+#	$(AM_V_CC)source='mmap64.c' object='mmap64-mmap64.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64-mmap64.obj `if test -f 'mmap64.c'; then $(CYGPATH_W) 'mmap64.c'; else $(CYGPATH_W) '$(srcdir)/mmap64.c'; fi`
+
+newfstatat-newfstatat.o: newfstatat.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(newfstatat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT newfstatat-newfstatat.o -MD -MP -MF $(DEPDIR)/newfstatat-newfstatat.Tpo -c -o newfstatat-newfstatat.o `test -f 'newfstatat.c' || echo '$(srcdir)/'`newfstatat.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/newfstatat-newfstatat.Tpo $(DEPDIR)/newfstatat-newfstatat.Po
+#	$(AM_V_CC)source='newfstatat.c' object='newfstatat-newfstatat.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(newfstatat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o newfstatat-newfstatat.o `test -f 'newfstatat.c' || echo '$(srcdir)/'`newfstatat.c
+
+newfstatat-newfstatat.obj: newfstatat.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(newfstatat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT newfstatat-newfstatat.obj -MD -MP -MF $(DEPDIR)/newfstatat-newfstatat.Tpo -c -o newfstatat-newfstatat.obj `if test -f 'newfstatat.c'; then $(CYGPATH_W) 'newfstatat.c'; else $(CYGPATH_W) '$(srcdir)/newfstatat.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/newfstatat-newfstatat.Tpo $(DEPDIR)/newfstatat-newfstatat.Po
+#	$(AM_V_CC)source='newfstatat.c' object='newfstatat-newfstatat.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(newfstatat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o newfstatat-newfstatat.obj `if test -f 'newfstatat.c'; then $(CYGPATH_W) 'newfstatat.c'; else $(CYGPATH_W) '$(srcdir)/newfstatat.c'; fi`
+
+pread64_pwrite64-pread64-pwrite64.o: pread64-pwrite64.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pread64_pwrite64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pread64_pwrite64-pread64-pwrite64.o -MD -MP -MF $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Tpo -c -o pread64_pwrite64-pread64-pwrite64.o `test -f 'pread64-pwrite64.c' || echo '$(srcdir)/'`pread64-pwrite64.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Tpo $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Po
+#	$(AM_V_CC)source='pread64-pwrite64.c' object='pread64_pwrite64-pread64-pwrite64.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pread64_pwrite64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pread64_pwrite64-pread64-pwrite64.o `test -f 'pread64-pwrite64.c' || echo '$(srcdir)/'`pread64-pwrite64.c
+
+pread64_pwrite64-pread64-pwrite64.obj: pread64-pwrite64.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pread64_pwrite64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pread64_pwrite64-pread64-pwrite64.obj -MD -MP -MF $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Tpo -c -o pread64_pwrite64-pread64-pwrite64.obj `if test -f 'pread64-pwrite64.c'; then $(CYGPATH_W) 'pread64-pwrite64.c'; else $(CYGPATH_W) '$(srcdir)/pread64-pwrite64.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Tpo $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Po
+#	$(AM_V_CC)source='pread64-pwrite64.c' object='pread64_pwrite64-pread64-pwrite64.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pread64_pwrite64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pread64_pwrite64-pread64-pwrite64.obj `if test -f 'pread64-pwrite64.c'; then $(CYGPATH_W) 'pread64-pwrite64.c'; else $(CYGPATH_W) '$(srcdir)/pread64-pwrite64.c'; fi`
+
+preadv-preadv.o: preadv.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT preadv-preadv.o -MD -MP -MF $(DEPDIR)/preadv-preadv.Tpo -c -o preadv-preadv.o `test -f 'preadv.c' || echo '$(srcdir)/'`preadv.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/preadv-preadv.Tpo $(DEPDIR)/preadv-preadv.Po
+#	$(AM_V_CC)source='preadv.c' object='preadv-preadv.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o preadv-preadv.o `test -f 'preadv.c' || echo '$(srcdir)/'`preadv.c
+
+preadv-preadv.obj: preadv.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT preadv-preadv.obj -MD -MP -MF $(DEPDIR)/preadv-preadv.Tpo -c -o preadv-preadv.obj `if test -f 'preadv.c'; then $(CYGPATH_W) 'preadv.c'; else $(CYGPATH_W) '$(srcdir)/preadv.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/preadv-preadv.Tpo $(DEPDIR)/preadv-preadv.Po
+#	$(AM_V_CC)source='preadv.c' object='preadv-preadv.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o preadv-preadv.obj `if test -f 'preadv.c'; then $(CYGPATH_W) 'preadv.c'; else $(CYGPATH_W) '$(srcdir)/preadv.c'; fi`
+
+preadv_pwritev-preadv-pwritev.o: preadv-pwritev.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT preadv_pwritev-preadv-pwritev.o -MD -MP -MF $(DEPDIR)/preadv_pwritev-preadv-pwritev.Tpo -c -o preadv_pwritev-preadv-pwritev.o `test -f 'preadv-pwritev.c' || echo '$(srcdir)/'`preadv-pwritev.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/preadv_pwritev-preadv-pwritev.Tpo $(DEPDIR)/preadv_pwritev-preadv-pwritev.Po
+#	$(AM_V_CC)source='preadv-pwritev.c' object='preadv_pwritev-preadv-pwritev.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o preadv_pwritev-preadv-pwritev.o `test -f 'preadv-pwritev.c' || echo '$(srcdir)/'`preadv-pwritev.c
+
+preadv_pwritev-preadv-pwritev.obj: preadv-pwritev.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT preadv_pwritev-preadv-pwritev.obj -MD -MP -MF $(DEPDIR)/preadv_pwritev-preadv-pwritev.Tpo -c -o preadv_pwritev-preadv-pwritev.obj `if test -f 'preadv-pwritev.c'; then $(CYGPATH_W) 'preadv-pwritev.c'; else $(CYGPATH_W) '$(srcdir)/preadv-pwritev.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/preadv_pwritev-preadv-pwritev.Tpo $(DEPDIR)/preadv_pwritev-preadv-pwritev.Po
+#	$(AM_V_CC)source='preadv-pwritev.c' object='preadv_pwritev-preadv-pwritev.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o preadv_pwritev-preadv-pwritev.obj `if test -f 'preadv-pwritev.c'; then $(CYGPATH_W) 'preadv-pwritev.c'; else $(CYGPATH_W) '$(srcdir)/preadv-pwritev.c'; fi`
+
+pwritev-pwritev.o: pwritev.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pwritev-pwritev.o -MD -MP -MF $(DEPDIR)/pwritev-pwritev.Tpo -c -o pwritev-pwritev.o `test -f 'pwritev.c' || echo '$(srcdir)/'`pwritev.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/pwritev-pwritev.Tpo $(DEPDIR)/pwritev-pwritev.Po
+#	$(AM_V_CC)source='pwritev.c' object='pwritev-pwritev.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pwritev-pwritev.o `test -f 'pwritev.c' || echo '$(srcdir)/'`pwritev.c
+
+pwritev-pwritev.obj: pwritev.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pwritev-pwritev.obj -MD -MP -MF $(DEPDIR)/pwritev-pwritev.Tpo -c -o pwritev-pwritev.obj `if test -f 'pwritev.c'; then $(CYGPATH_W) 'pwritev.c'; else $(CYGPATH_W) '$(srcdir)/pwritev.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/pwritev-pwritev.Tpo $(DEPDIR)/pwritev-pwritev.Po
+#	$(AM_V_CC)source='pwritev.c' object='pwritev-pwritev.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pwritev-pwritev.obj `if test -f 'pwritev.c'; then $(CYGPATH_W) 'pwritev.c'; else $(CYGPATH_W) '$(srcdir)/pwritev.c'; fi`
+
+stat64-stat64.o: stat64.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stat64-stat64.o -MD -MP -MF $(DEPDIR)/stat64-stat64.Tpo -c -o stat64-stat64.o `test -f 'stat64.c' || echo '$(srcdir)/'`stat64.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/stat64-stat64.Tpo $(DEPDIR)/stat64-stat64.Po
+#	$(AM_V_CC)source='stat64.c' object='stat64-stat64.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stat64-stat64.o `test -f 'stat64.c' || echo '$(srcdir)/'`stat64.c
+
+stat64-stat64.obj: stat64.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stat64-stat64.obj -MD -MP -MF $(DEPDIR)/stat64-stat64.Tpo -c -o stat64-stat64.obj `if test -f 'stat64.c'; then $(CYGPATH_W) 'stat64.c'; else $(CYGPATH_W) '$(srcdir)/stat64.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/stat64-stat64.Tpo $(DEPDIR)/stat64-stat64.Po
+#	$(AM_V_CC)source='stat64.c' object='stat64-stat64.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stat64-stat64.obj `if test -f 'stat64.c'; then $(CYGPATH_W) 'stat64.c'; else $(CYGPATH_W) '$(srcdir)/stat64.c'; fi`
+
+statfs-statfs.o: statfs.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT statfs-statfs.o -MD -MP -MF $(DEPDIR)/statfs-statfs.Tpo -c -o statfs-statfs.o `test -f 'statfs.c' || echo '$(srcdir)/'`statfs.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/statfs-statfs.Tpo $(DEPDIR)/statfs-statfs.Po
+#	$(AM_V_CC)source='statfs.c' object='statfs-statfs.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o statfs-statfs.o `test -f 'statfs.c' || echo '$(srcdir)/'`statfs.c
+
+statfs-statfs.obj: statfs.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT statfs-statfs.obj -MD -MP -MF $(DEPDIR)/statfs-statfs.Tpo -c -o statfs-statfs.obj `if test -f 'statfs.c'; then $(CYGPATH_W) 'statfs.c'; else $(CYGPATH_W) '$(srcdir)/statfs.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/statfs-statfs.Tpo $(DEPDIR)/statfs-statfs.Po
+#	$(AM_V_CC)source='statfs.c' object='statfs-statfs.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o statfs-statfs.obj `if test -f 'statfs.c'; then $(CYGPATH_W) 'statfs.c'; else $(CYGPATH_W) '$(srcdir)/statfs.c'; fi`
+
+truncate64-truncate64.o: truncate64.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT truncate64-truncate64.o -MD -MP -MF $(DEPDIR)/truncate64-truncate64.Tpo -c -o truncate64-truncate64.o `test -f 'truncate64.c' || echo '$(srcdir)/'`truncate64.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/truncate64-truncate64.Tpo $(DEPDIR)/truncate64-truncate64.Po
+#	$(AM_V_CC)source='truncate64.c' object='truncate64-truncate64.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o truncate64-truncate64.o `test -f 'truncate64.c' || echo '$(srcdir)/'`truncate64.c
+
+truncate64-truncate64.obj: truncate64.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT truncate64-truncate64.obj -MD -MP -MF $(DEPDIR)/truncate64-truncate64.Tpo -c -o truncate64-truncate64.obj `if test -f 'truncate64.c'; then $(CYGPATH_W) 'truncate64.c'; else $(CYGPATH_W) '$(srcdir)/truncate64.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/truncate64-truncate64.Tpo $(DEPDIR)/truncate64-truncate64.Po
+#	$(AM_V_CC)source='truncate64.c' object='truncate64-truncate64.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o truncate64-truncate64.obj `if test -f 'truncate64.c'; then $(CYGPATH_W) 'truncate64.c'; else $(CYGPATH_W) '$(srcdir)/truncate64.c'; fi`
+
+uio-uio.o: uio.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT uio-uio.o -MD -MP -MF $(DEPDIR)/uio-uio.Tpo -c -o uio-uio.o `test -f 'uio.c' || echo '$(srcdir)/'`uio.c
+	$(AM_V_at)$(am__mv) $(DEPDIR)/uio-uio.Tpo $(DEPDIR)/uio-uio.Po
+#	$(AM_V_CC)source='uio.c' object='uio-uio.o' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o uio-uio.o `test -f 'uio.c' || echo '$(srcdir)/'`uio.c
+
+uio-uio.obj: uio.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT uio-uio.obj -MD -MP -MF $(DEPDIR)/uio-uio.Tpo -c -o uio-uio.obj `if test -f 'uio.c'; then $(CYGPATH_W) 'uio.c'; else $(CYGPATH_W) '$(srcdir)/uio.c'; fi`
+	$(AM_V_at)$(am__mv) $(DEPDIR)/uio-uio.Tpo $(DEPDIR)/uio-uio.Po
+#	$(AM_V_CC)source='uio.c' object='uio-uio.obj' libtool=no \
+#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+#	$(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o uio-uio.obj `if test -f 'uio.c'; then $(CYGPATH_W) 'uio.c'; else $(CYGPATH_W) '$(srcdir)/uio.c'; fi`
+check-valgrind-local: 
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+	rm -f $< $@
+	$(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+	@:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+	@$(am__set_TESTS_bases); \
+	am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+	redo_bases=`for i in $$bases; do \
+	              am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+	            done`; \
+	if test -n "$$redo_bases"; then \
+	  redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+	  redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+	  if $(am__make_dryrun); then :; else \
+	    rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
+	  fi; \
+	fi; \
+	if test -n "$$am__remaking_logs"; then \
+	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+	       "recursion detected" >&2; \
+	else \
+	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+	fi; \
+	if $(am__make_dryrun); then :; else \
+	  st=0;  \
+	  errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+	  for i in $$redo_bases; do \
+	    test -f $$i.trs && test -r $$i.trs \
+	      || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+	    test -f $$i.log && test -r $$i.log \
+	      || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+	  done; \
+	  test $$st -eq 0 || exit 1; \
+	fi
+	@$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+	ws='[ 	]'; \
+	results=`for b in $$bases; do echo $$b.trs; done`; \
+	test -n "$$results" || results=/dev/null; \
+	all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
+	pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
+	fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
+	skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
+	xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+	xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+	error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+	if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+	  success=true; \
+	else \
+	  success=false; \
+	fi; \
+	br='==================='; br=$$br$$br$$br$$br; \
+	result_count () \
+	{ \
+	    if test x"$$1" = x"--maybe-color"; then \
+	      maybe_colorize=yes; \
+	    elif test x"$$1" = x"--no-color"; then \
+	      maybe_colorize=no; \
+	    else \
+	      echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+	    fi; \
+	    shift; \
+	    desc=$$1 count=$$2; \
+	    if test $$maybe_colorize = yes && test $$count -gt 0; then \
+	      color_start=$$3 color_end=$$std; \
+	    else \
+	      color_start= color_end=; \
+	    fi; \
+	    echo "$${color_start}# $$desc $$count$${color_end}"; \
+	}; \
+	create_testsuite_report () \
+	{ \
+	  result_count $$1 "TOTAL:" $$all   "$$brg"; \
+	  result_count $$1 "PASS: " $$pass  "$$grn"; \
+	  result_count $$1 "SKIP: " $$skip  "$$blu"; \
+	  result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+	  result_count $$1 "FAIL: " $$fail  "$$red"; \
+	  result_count $$1 "XPASS:" $$xpass "$$red"; \
+	  result_count $$1 "ERROR:" $$error "$$mgn"; \
+	}; \
+	{								\
+	  echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |	\
+	    $(am__rst_title);						\
+	  create_testsuite_report --no-color;				\
+	  echo;								\
+	  echo ".. contents:: :depth: 2";				\
+	  echo;								\
+	  for b in $$bases; do echo $$b; done				\
+	    | $(am__create_global_log);					\
+	} >$(TEST_SUITE_LOG).tmp || exit 1;				\
+	mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);			\
+	if $$success; then						\
+	  col="$$grn";							\
+	 else								\
+	  col="$$red";							\
+	  test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);		\
+	fi;								\
+	echo "$${col}$$br$${std}"; 					\
+	echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";	\
+	echo "$${col}$$br$${std}"; 					\
+	create_testsuite_report --maybe-color;				\
+	echo "$$col$$br$$std";						\
+	if $$success; then :; else					\
+	  echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";		\
+	  if test -n "$(PACKAGE_BUGREPORT)"; then			\
+	    echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}";	\
+	  fi;								\
+	  echo "$$col$$br$$std";					\
+	fi;								\
+	$$success || exit 1
+
+check-TESTS:
+	@list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
+	@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+	@set +e; $(am__set_TESTS_bases); \
+	log_list=`for i in $$bases; do echo $$i.log; done`; \
+	trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+	log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+	exit $$?;
+recheck: all $(check_LIBRARIES) $(check_PROGRAMS)
+	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+	@set +e; $(am__set_TESTS_bases); \
+	bases=`for i in $$bases; do echo $$i; done \
+	         | $(am__list_recheck_tests)` || exit 1; \
+	log_list=`for i in $$bases; do echo $$i.log; done`; \
+	log_list=`echo $$log_list`; \
+	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+	        am__force_recheck=am--force-recheck \
+	        TEST_LOGS="$$log_list"; \
+	exit $$?
+.test.log:
+	@p='$<'; \
+	$(am__set_b); \
+	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+#.test$(EXEEXT).log:
+#	@p='$<'; \
+#	$(am__set_b); \
+#	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+#	--log-file $$b.log --trs-file $$b.trs \
+#	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+#	"$$tst" $(AM_TESTS_FD_REDIRECT)
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+	$(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
+	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+	-test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+	-test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+	-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+
+clean-generic:
+	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+check-valgrind: check-valgrind-am
+
+check-valgrind-am: check-valgrind-local
+
+clean: clean-am
+
+clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am \
+	check-valgrind-am check-valgrind-local clean \
+	clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+	cscopelist-am ctags ctags-am distclean distclean-compile \
+	distclean-generic distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic pdf pdf-am ps ps-am recheck tags tags-am \
+	uninstall uninstall-am
+
+
+
+# Valgrind check
+#
+# Optional:
+#  - VALGRIND_SUPPRESSIONS_FILES: Space-separated list of Valgrind suppressions
+#    files to load. (Default: empty)
+#  - VALGRIND_FLAGS: General flags to pass to all Valgrind tools.
+#    (Default: --num-callers=30)
+#  - VALGRIND_$toolname_FLAGS: Flags to pass to Valgrind $toolname (one of:
+#    memcheck, helgrind, drd, sgcheck). (Default: various)
+
+# Optional variables
+VALGRIND_SUPPRESSIONS ?= $(addprefix --suppressions=,$(VALGRIND_SUPPRESSIONS_FILES))
+VALGRIND_FLAGS ?= --num-callers=30
+VALGRIND_memcheck_FLAGS ?= --leak-check=full --show-reachable=no
+VALGRIND_helgrind_FLAGS ?= --history-level=approx
+VALGRIND_drd_FLAGS ?=
+VALGRIND_sgcheck_FLAGS ?=
+
+# Internal use
+valgrind_log_files = $(addprefix test-suite-,$(addsuffix .log,$(valgrind_tools)))
+
+valgrind_memcheck_flags = --tool=memcheck $(VALGRIND_memcheck_FLAGS)
+valgrind_helgrind_flags = --tool=helgrind $(VALGRIND_helgrind_FLAGS)
+valgrind_drd_flags = --tool=drd $(VALGRIND_drd_FLAGS)
+valgrind_sgcheck_flags = --tool=exp-sgcheck $(VALGRIND_sgcheck_FLAGS)
+
+valgrind_quiet = $(valgrind_quiet_$(V))
+valgrind_quiet_ = $(valgrind_quiet_$(AM_DEFAULT_VERBOSITY))
+valgrind_quiet_0 = --quiet
+valgrind_v_use   = $(valgrind_v_use_$(V))
+valgrind_v_use_  = $(valgrind_v_use_$(AM_DEFAULT_VERBOSITY))
+valgrind_v_use_0 = @echo "  USE   " $(patsubst check-valgrind-%,%,$@):;
+
+# Support running with and without libtool.
+ifneq ($(LIBTOOL),)
+valgrind_lt = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=execute
+else
+valgrind_lt =
+endif
+
+# Use recursive makes in order to ignore errors during check
+check-valgrind:
+ifeq ($(VALGRIND_ENABLED),yes)
+	-$(AM_V_at)$(foreach tool,$(valgrind_enabled_tools), \
+		$(MAKE) $(AM_MAKEFLAGS) -k check-valgrind-$(tool); \
+	)
+else
+	@echo "Need to reconfigure with --enable-valgrind"
+endif
+
+# Valgrind running
+VALGRIND_TESTS_ENVIRONMENT = \
+	$(TESTS_ENVIRONMENT) \
+	env VALGRIND=$(VALGRIND) \
+	G_SLICE=always-malloc,debug-blocks \
+	G_DEBUG=fatal-warnings,fatal-criticals,gc-friendly
+
+VALGRIND_LOG_COMPILER = \
+	$(valgrind_lt) \
+	$(VALGRIND) $(VALGRIND_SUPPRESSIONS) --error-exitcode=1 $(VALGRIND_FLAGS)
+
+define valgrind_tool_rule =
+check-valgrind-$(1): $$(BUILT_SOURCES)
+ifeq ($$(VALGRIND_ENABLED)-$$(ENABLE_VALGRIND_$(1)),yes-yes)
+	$$(valgrind_v_use)$$(MAKE) $$(AM_MAKEFLAGS) check-am \
+		TESTS_ENVIRONMENT="$$(VALGRIND_TESTS_ENVIRONMENT)" \
+		LOG_COMPILER="$$(VALGRIND_LOG_COMPILER)" \
+		LOG_FLAGS="$$(valgrind_$(1)_flags)" \
+		TEST_SUITE_LOG=test-suite-$(1).log
+else ifeq ($$(VALGRIND_ENABLED),yes)
+	@echo "Need to reconfigure with --enable-valgrind-$(1)"
+else
+	@echo "Need to reconfigure with --enable-valgrind"
+endif
+endef
+
+$(foreach tool,$(valgrind_tools),$(eval $(call valgrind_tool_rule,$(tool))))
+
+AM_DISTCHECK_CONFIGURE_FLAGS ?=
+AM_DISTCHECK_CONFIGURE_FLAGS += --disable-valgrind
+
+MOSTLYCLEANFILES ?=
+MOSTLYCLEANFILES += $(valgrind_log_files)
+
+.PHONY: check-valgrind $(add-prefix check-valgrind-,$(valgrind_tools))
+
+
+ksysent.h: $(srcdir)/ksysent.sed
+	echo '#include <asm/unistd.h>' | \
+		$(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) -dM - > [email protected]
+	LC_COLLATE=C sed -r -n -f $(srcdir)/ksysent.sed < [email protected] > [email protected]
+	mv -f [email protected] $@
+	rm -f [email protected]
+
+ksysent.$(OBJEXT): ksysent.h
+$(objects): scno.h
+
+syscallent.i: $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h
+	$(CPP) -P $(SCNO_CPPFLAGS) $^ -o $@
+
+scno.h: $(top_srcdir)/scno.head syscallent.i
+	echo '/* Generated by Makefile from $^; do not edit. */' > $@-t
+	cat $< >> $@-t
+	LC_ALL=C sed -n '$(SCNO_SED)' $(filter-out $<,$^) >> $@-t
+	mv $@-t $@
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 0c24969..311d3bb 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -43,6 +43,7 @@
 libtests_a_SOURCES = \
 	errno2name.c \
 	error_msg.c \
+	fill_memory.c \
 	get_page_size.c \
 	hexdump_strdup.c \
 	hexquote_strndup.c \
@@ -50,6 +51,7 @@
 	libmmsg.c \
 	libsocketcall.c \
 	overflowuid.c \
+	pipe_maxfd.c \
 	print_quoted_string.c \
 	printflags.c \
 	printxval.c \
@@ -73,13 +75,16 @@
 	adjtimex \
 	aio \
 	alarm \
+	answer \
 	attach-f-p \
+	attach-f-p-cmd \
 	attach-p-cmd-cmd \
 	attach-p-cmd-p \
 	bpf \
 	brk \
 	btrfs \
 	caps \
+	caps-abbrev \
 	chmod \
 	chown \
 	chown32 \
@@ -90,6 +95,7 @@
 	copy_file_range \
 	count-f \
 	creat \
+	delete_module \
 	dup \
 	dup2 \
 	dup3 \
@@ -98,6 +104,7 @@
 	epoll_ctl \
 	epoll_pwait \
 	epoll_wait \
+	erestartsys \
 	eventfd \
 	execve \
 	execve-v \
@@ -107,6 +114,7 @@
 	fadvise64 \
 	fadvise64_64 \
 	fallocate \
+	fanotify_init \
 	fanotify_mark \
 	fchdir \
 	fchmod \
@@ -120,6 +128,7 @@
 	file_handle \
 	file_ioctl \
 	filter-unavailable \
+	finit_module \
 	flock \
 	fork-f \
 	fstat \
@@ -160,23 +169,39 @@
 	getuid32 \
 	getxxid \
 	inet-cmsg \
+	init_module \
+	inotify \
+	inotify_init1 \
 	ioctl \
 	ioctl_block \
+	ioctl_dm \
+	ioctl_dm-v \
 	ioctl_evdev \
 	ioctl_evdev-v \
+	ioctl_loop \
+	ioctl_loop-nv \
+	ioctl_loop-v \
 	ioctl_mtd \
 	ioctl_rtc \
 	ioctl_rtc-v \
+	ioctl_scsi \
+	ioctl_sg_io_v3 \
+	ioctl_sg_io_v4 \
+	ioctl_sock_gifconf \
 	ioctl_uffdio \
 	ioctl_v4l2 \
 	ioperm \
 	iopl \
+	ioprio \
 	ip_mreq \
 	ipc \
 	ipc_msg \
 	ipc_msgbuf \
 	ipc_sem \
 	ipc_shm \
+	kcmp \
+	kexec_file_load \
+	kexec_load \
 	keyctl \
 	kill \
 	ksysent \
@@ -185,6 +210,7 @@
 	link \
 	linkat \
 	llseek \
+	lookup_dcookie \
 	lseek \
 	lstat \
 	lstat64 \
@@ -209,6 +235,9 @@
 	mount \
 	move_pages \
 	mq \
+	mq_sendrecv \
+	mq_sendrecv-read \
+	mq_sendrecv-write \
 	msg_control \
 	msg_control-v \
 	msg_name \
@@ -228,26 +257,52 @@
 	newfstatat \
 	nsyscalls \
 	old_mmap \
+	oldfstat \
+	oldlstat \
 	oldselect \
+	oldstat \
 	open \
 	openat \
 	pause \
 	pc \
 	perf_event_open \
+	perf_event_open_nonverbose \
+	perf_event_open_unabbrev \
 	personality \
 	pipe \
+	pipe2 \
+	pkey_alloc \
+	pkey_free \
+	pkey_mprotect \
 	poll \
 	ppoll \
+	prctl-arg2-intptr \
+	prctl-dumpable \
+	prctl-name \
+	prctl-no-args \
+	prctl-pdeathsig \
 	prctl-seccomp-filter-v \
 	prctl-seccomp-strict \
+	prctl-securebits \
+	prctl-tid_address \
+	prctl-tsc \
 	pread64-pwrite64 \
 	preadv \
 	preadv-pwritev \
 	preadv2-pwritev2 \
+	print_maxfd \
+	printstr \
 	prlimit64 \
+	process_vm_readv \
+	process_vm_writev \
 	pselect6 \
 	ptrace \
 	pwritev \
+	qual_fault \
+	qual_inject-error-signal \
+	qual_inject-retval \
+	qual_inject-signal \
+	qual_signal \
 	quotactl \
 	quotactl-v \
 	quotactl-xfs \
@@ -303,6 +358,7 @@
 	setgroups \
 	setgroups32 \
 	sethostname \
+	setns \
 	setregid \
 	setregid32 \
 	setresgid \
@@ -339,6 +395,7 @@
 	sysinfo \
 	syslog \
 	tee \
+	threads-execve \
 	time \
 	timer_create \
 	timer_xettime \
@@ -352,7 +409,9 @@
 	umask \
 	umount \
 	umount2 \
+	umoven-illptr \
 	umovestr \
+	umovestr-illptr \
 	umovestr2 \
 	umovestr3 \
 	uname \
@@ -360,7 +419,9 @@
 	unix-pair-sendto-recvfrom \
 	unlink \
 	unlinkat \
+	unshare \
 	userfaultfd \
+	ustat \
 	utime \
 	utimensat \
 	utimes \
@@ -373,6 +434,7 @@
 	waitid-v \
 	waitpid \
 	xattr \
+	xattr-strings \
 	xet_robust_list \
 	xetitimer \
 	xetpgid \
@@ -390,6 +452,9 @@
 lstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
 mmap64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
 mq_LDADD = -lrt $(LDADD)
+mq_sendrecv_LDADD = -lrt $(LDADD)
+mq_sendrecv_read_LDADD = -lrt $(LDADD)
+mq_sendrecv_write_LDADD = -lrt $(LDADD)
 newfstatat_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
 pc_LDADD = $(dl_LIBS) $(LDADD)
 pread64_pwrite64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
@@ -398,6 +463,7 @@
 pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
 stat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
 statfs_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+threads_execve_LDADD = -lrt -lpthread $(LDADD)
 times_LDADD = -lrt $(LDADD)
 truncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
 uio_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
@@ -423,10 +489,11 @@
 	alarm.test \
 	bpf.test \
 	brk.test \
-	btrfs.test \
 	btrfs-v.test \
-	btrfs-w.test \
 	btrfs-vw.test \
+	btrfs-w.test \
+	btrfs.test \
+	caps-abbrev.test \
 	caps.test \
 	chmod.test \
 	chown.test \
@@ -437,6 +504,7 @@
 	clock_xettime.test \
 	copy_file_range.test \
 	creat.test \
+	delete_module.test \
 	dup.test \
 	dup2.test \
 	dup3.test \
@@ -445,6 +513,7 @@
 	epoll_ctl.test \
 	epoll_pwait.test \
 	epoll_wait.test \
+	erestartsys.test \
 	eventfd.test \
 	execve-v.test \
 	execve.test \
@@ -454,6 +523,7 @@
 	fadvise64.test \
 	fadvise64_64.test \
 	fallocate.test \
+	fanotify_init.test \
 	fanotify_mark.test \
 	fchdir.test \
 	fchmod.test \
@@ -466,6 +536,7 @@
 	fdatasync.test \
 	file_handle.test \
 	file_ioctl.test \
+	finit_module.test \
 	flock.test \
 	fstat.test \
 	fstat64.test \
@@ -505,23 +576,39 @@
 	getuid32.test \
 	getxxid.test \
 	inet-cmsg.test \
+	init_module.test \
+	inotify.test \
+	inotify_init1.test \
 	ioctl.test \
 	ioctl_block.test \
-	ioctl_evdev.test \
+	ioctl_dm-v.test \
+	ioctl_dm.test \
 	ioctl_evdev-v.test \
+	ioctl_evdev.test \
+	ioctl_loop-nv.test \
+	ioctl_loop-v.test \
+	ioctl_loop.test \
 	ioctl_mtd.test \
-	ioctl_rtc.test \
 	ioctl_rtc-v.test \
+	ioctl_rtc.test \
+	ioctl_scsi.test \
+	ioctl_sg_io_v3.test \
+	ioctl_sg_io_v4.test \
+	ioctl_sock_gifconf.test \
 	ioctl_uffdio.test \
 	ioctl_v4l2.test \
 	ioperm.test \
 	iopl.test \
+	ioprio.test \
 	ip_mreq.test \
 	ipc.test \
 	ipc_msg.test \
 	ipc_msgbuf.test \
 	ipc_sem.test \
 	ipc_shm.test \
+	kcmp.test \
+	kexec_file_load.test \
+	kexec_load.test \
 	keyctl.test \
 	kill.test \
 	lchown.test \
@@ -529,6 +616,7 @@
 	link.test \
 	linkat.test \
 	llseek.test \
+	lookup_dcookie.test \
 	lseek.test \
 	lstat.test \
 	lstat64.test \
@@ -546,15 +634,18 @@
 	mlockall.test \
 	mmap.test \
 	mmap64.test \
-	mmsg.test \
 	mmsg-silent.test \
-	mmsg_name.test \
+	mmsg.test \
 	mmsg_name-v.test \
+	mmsg_name.test \
 	mount.test \
 	move_pages.test \
 	mq.test \
-	msg_control.test \
+	mq_sendrecv-read.test \
+	mq_sendrecv-write.test \
+	mq_sendrecv.test \
 	msg_control-v.test \
+	msg_control.test \
 	msg_name.test \
 	munlockall.test \
 	nanosleep.test \
@@ -569,29 +660,50 @@
 	newfstatat.test \
 	nsyscalls.test \
 	old_mmap.test \
+	oldfstat.test \
+	oldlstat.test \
 	oldselect.test \
+	oldstat.test \
 	open.test \
 	openat.test \
 	pause.test \
 	perf_event_open.test \
+	perf_event_open_nonverbose.test \
+	perf_event_open_unabbrev.test \
 	personality.test \
 	pipe.test \
+	pipe2.test \
+	pkey_alloc.test \
+	pkey_free.test \
+	pkey_mprotect.test \
 	poll.test \
 	ppoll.test \
+	prctl-arg2-intptr.test \
+	prctl-dumpable.test \
+	prctl-name.test \
+	prctl-no-args.test \
+	prctl-pdeathsig.test \
 	prctl-seccomp-filter-v.test \
 	prctl-seccomp-strict.test \
+	prctl-securebits.test \
+	prctl-tid_address.test \
+	prctl-tsc.test \
 	pread64-pwrite64.test \
 	preadv-pwritev.test \
-	preadv2-pwritev2.test \
 	preadv.test \
+	preadv2-pwritev2.test \
+	printstr.test \
 	prlimit64.test \
+	process_vm_readv.test \
+	process_vm_writev.test \
 	pselect6.test \
 	ptrace.test \
 	pwritev.test \
-	quotactl.test \
+	qual_fault-exit_group.test \
 	quotactl-v.test \
-	quotactl-xfs.test \
 	quotactl-xfs-v.test \
+	quotactl-xfs.test \
+	quotactl.test \
 	read-write.test \
 	readahead.test \
 	readdir.test \
@@ -640,6 +752,7 @@
 	setgroups.test \
 	setgroups32.test \
 	sethostname.test \
+	setns.test \
 	setregid.test \
 	setregid32.test \
 	setresgid.test \
@@ -687,6 +800,8 @@
 	umask.test \
 	umount.test \
 	umount2.test \
+	umoven-illptr.test \
+	umovestr-illptr.test \
 	umovestr.test \
 	umovestr2.test \
 	umovestr3.test \
@@ -695,17 +810,20 @@
 	unix-pair-sendto-recvfrom.test \
 	unlink.test \
 	unlinkat.test \
+	unshare.test \
 	userfaultfd.test \
+	ustat.test \
 	utime.test \
 	utimensat.test \
 	utimes.test \
 	vhangup.test \
 	vmsplice.test \
-	wait4.test \
 	wait4-v.test \
-	waitid.test \
+	wait4.test \
 	waitid-v.test \
+	waitid.test \
 	waitpid.test \
+	xattr-strings.test \
 	xattr.test \
 	xet_robust_list.test \
 	xetitimer.test \
@@ -727,12 +845,21 @@
 	fork-f.test \
 	ksysent.test \
 	opipe.test \
+	options-syntax.test \
 	pc.test \
+	qual_fault-syntax.test \
+	qual_fault.test \
+	qual_inject-error-signal.test \
+	qual_inject-retval.test \
+	qual_inject-signal.test \
+	qual_inject-syntax.test \
+	qual_signal.test \
 	qual_syscall.test \
-	redirect.test \
 	redirect-fds.test \
+	redirect.test \
 	restart_syscall.test \
 	signal_receive.test \
+	strace-C.test \
 	strace-E.test \
 	strace-S.test \
 	strace-T.test \
@@ -742,6 +869,7 @@
 	strace-t.test \
 	strace-tt.test \
 	strace-ttt.test \
+	threads-execve.test \
 	vfork-f.test \
 	# end of MISC_TESTS
 
@@ -755,7 +883,12 @@
 TEST_LOG_COMPILER = env
 AM_TEST_LOG_FLAGS = STRACE_ARCH=$(ARCH) MIPS_ABI=$(MIPS_ABI) $(srcdir)/run.sh
 
+@VALGRIND_CHECK_RULES@
+VALGRIND_FLAGS = --quiet
+VALGRIND_SUPPRESSIONS_FILES = $(srcdir)/strace.supp
+
 EXTRA_DIST = init.sh run.sh match.awk \
+	     caps-abbrev.awk \
 	     caps.awk \
 	     count-f.expected \
 	     eventfd.expected \
@@ -764,31 +897,38 @@
 	     fstatat.c \
 	     fstatx.c \
 	     getresugid.c \
+	     init_delete_module.h \
 	     ipc.sh \
 	     ipc_msgbuf.expected \
 	     ksysent.sed \
 	     lstatx.c \
-	     mq.expected \
 	     net.expected \
 	     oldselect.expected \
 	     pipe.expected \
-	     ppoll.expected \
 	     ppoll-v.expected \
+	     ppoll.expected \
+	     process_vm_readv_writev.c \
+	     qual_fault-exit_group.expected \
+	     qual_inject-error-signal.expected \
+	     qual_inject-signal.expected \
 	     quotactl.h \
+	     scno_tampering.sh \
 	     setfsugid.c \
-	     setreugid.c \
 	     setresugid.c \
+	     setreugid.c \
 	     setugid.c \
 	     sigaction.awk \
 	     sigaltstack.expected \
 	     sockname.c \
 	     statfs.expected \
 	     statx.sh \
+	     strace-C.expected \
 	     strace-E.expected \
 	     strace-T.expected \
 	     strace-ff.expected \
 	     strace-k.test \
 	     strace-r.expected \
+	     strace.supp \
 	     struct_flock.c \
 	     sun_path.expected \
 	     uio.expected \
@@ -812,5 +952,11 @@
 	mv -f [email protected] $@
 	rm -f [email protected]
 
-BUILT_SOURCES = ksysent.h
+ksysent.$(OBJEXT): ksysent.h
+
+objects = $(filter %.$(OBJEXT),$(SOURCES:.c=.$(OBJEXT)))
+$(objects): scno.h
+
 CLEANFILES = ksysent.h $(TESTS:=.tmp)
+
+include ../scno.am
diff --git a/tests/Makefile.in b/tests/Makefile.in
new file mode 100644
index 0000000..3a4d792
--- /dev/null
+++ b/tests/Makefile.in
@@ -0,0 +1,5714 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Automake input for strace tests.
+#
+# Copyright (c) 2011-2016 Dmitry V. Levin <[email protected]>
+# 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.
+
+# scno.h make rules for strace.
+#
+# Copyright (c) 2017 Dmitry V. Levin <[email protected]>
+# 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.
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+check_PROGRAMS = _newselect$(EXEEXT) accept$(EXEEXT) accept4$(EXEEXT) \
+	access$(EXEEXT) acct$(EXEEXT) add_key$(EXEEXT) \
+	adjtimex$(EXEEXT) aio$(EXEEXT) alarm$(EXEEXT) answer$(EXEEXT) \
+	attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \
+	attach-p-cmd-cmd$(EXEEXT) attach-p-cmd-p$(EXEEXT) bpf$(EXEEXT) \
+	brk$(EXEEXT) btrfs$(EXEEXT) caps$(EXEEXT) caps-abbrev$(EXEEXT) \
+	chmod$(EXEEXT) chown$(EXEEXT) chown32$(EXEEXT) chroot$(EXEEXT) \
+	clock_adjtime$(EXEEXT) clock_nanosleep$(EXEEXT) \
+	clock_xettime$(EXEEXT) copy_file_range$(EXEEXT) \
+	count-f$(EXEEXT) creat$(EXEEXT) delete_module$(EXEEXT) \
+	dup$(EXEEXT) dup2$(EXEEXT) dup3$(EXEEXT) epoll_create$(EXEEXT) \
+	epoll_create1$(EXEEXT) epoll_ctl$(EXEEXT) epoll_pwait$(EXEEXT) \
+	epoll_wait$(EXEEXT) erestartsys$(EXEEXT) eventfd$(EXEEXT) \
+	execve$(EXEEXT) execve-v$(EXEEXT) execveat$(EXEEXT) \
+	execveat-v$(EXEEXT) faccessat$(EXEEXT) fadvise64$(EXEEXT) \
+	fadvise64_64$(EXEEXT) fallocate$(EXEEXT) \
+	fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) fchdir$(EXEEXT) \
+	fchmod$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \
+	fchown32$(EXEEXT) fchownat$(EXEEXT) fcntl$(EXEEXT) \
+	fcntl64$(EXEEXT) fdatasync$(EXEEXT) file_handle$(EXEEXT) \
+	file_ioctl$(EXEEXT) filter-unavailable$(EXEEXT) \
+	finit_module$(EXEEXT) flock$(EXEEXT) fork-f$(EXEEXT) \
+	fstat$(EXEEXT) fstat64$(EXEEXT) fstatat64$(EXEEXT) \
+	fstatfs$(EXEEXT) fstatfs64$(EXEEXT) fsync$(EXEEXT) \
+	ftruncate$(EXEEXT) ftruncate64$(EXEEXT) futex$(EXEEXT) \
+	futimesat$(EXEEXT) get_mempolicy$(EXEEXT) getcpu$(EXEEXT) \
+	getcwd$(EXEEXT) getdents$(EXEEXT) getdents64$(EXEEXT) \
+	getegid$(EXEEXT) getegid32$(EXEEXT) geteuid$(EXEEXT) \
+	geteuid32$(EXEEXT) getgid$(EXEEXT) getgid32$(EXEEXT) \
+	getgroups$(EXEEXT) getgroups32$(EXEEXT) getpeername$(EXEEXT) \
+	getpgrp$(EXEEXT) getrandom$(EXEEXT) getresgid$(EXEEXT) \
+	getresgid32$(EXEEXT) getresuid$(EXEEXT) getresuid32$(EXEEXT) \
+	getrlimit$(EXEEXT) getrusage$(EXEEXT) getsid$(EXEEXT) \
+	getsockname$(EXEEXT) getuid$(EXEEXT) getuid32$(EXEEXT) \
+	getxxid$(EXEEXT) inet-cmsg$(EXEEXT) init_module$(EXEEXT) \
+	inotify$(EXEEXT) inotify_init1$(EXEEXT) ioctl$(EXEEXT) \
+	ioctl_block$(EXEEXT) ioctl_dm$(EXEEXT) ioctl_dm-v$(EXEEXT) \
+	ioctl_evdev$(EXEEXT) ioctl_evdev-v$(EXEEXT) \
+	ioctl_loop$(EXEEXT) ioctl_loop-nv$(EXEEXT) \
+	ioctl_loop-v$(EXEEXT) ioctl_mtd$(EXEEXT) ioctl_rtc$(EXEEXT) \
+	ioctl_rtc-v$(EXEEXT) ioctl_scsi$(EXEEXT) \
+	ioctl_sg_io_v3$(EXEEXT) ioctl_sg_io_v4$(EXEEXT) \
+	ioctl_sock_gifconf$(EXEEXT) ioctl_uffdio$(EXEEXT) \
+	ioctl_v4l2$(EXEEXT) ioperm$(EXEEXT) iopl$(EXEEXT) \
+	ioprio$(EXEEXT) ip_mreq$(EXEEXT) ipc$(EXEEXT) ipc_msg$(EXEEXT) \
+	ipc_msgbuf$(EXEEXT) ipc_sem$(EXEEXT) ipc_shm$(EXEEXT) \
+	kcmp$(EXEEXT) kexec_file_load$(EXEEXT) kexec_load$(EXEEXT) \
+	keyctl$(EXEEXT) kill$(EXEEXT) ksysent$(EXEEXT) lchown$(EXEEXT) \
+	lchown32$(EXEEXT) link$(EXEEXT) linkat$(EXEEXT) \
+	llseek$(EXEEXT) lookup_dcookie$(EXEEXT) lseek$(EXEEXT) \
+	lstat$(EXEEXT) lstat64$(EXEEXT) mbind$(EXEEXT) \
+	membarrier$(EXEEXT) memfd_create$(EXEEXT) \
+	migrate_pages$(EXEEXT) mincore$(EXEEXT) mkdir$(EXEEXT) \
+	mkdirat$(EXEEXT) mknod$(EXEEXT) mknodat$(EXEEXT) \
+	mlock$(EXEEXT) mlock2$(EXEEXT) mlockall$(EXEEXT) mmap$(EXEEXT) \
+	mmap64$(EXEEXT) mmsg$(EXEEXT) mmsg-silent$(EXEEXT) \
+	mmsg_name$(EXEEXT) mmsg_name-v$(EXEEXT) mount$(EXEEXT) \
+	move_pages$(EXEEXT) mq$(EXEEXT) mq_sendrecv$(EXEEXT) \
+	mq_sendrecv-read$(EXEEXT) mq_sendrecv-write$(EXEEXT) \
+	msg_control$(EXEEXT) msg_control-v$(EXEEXT) msg_name$(EXEEXT) \
+	munlockall$(EXEEXT) nanosleep$(EXEEXT) \
+	net-accept-connect$(EXEEXT) net-icmp_filter$(EXEEXT) \
+	net-sockaddr$(EXEEXT) net-y-unix$(EXEEXT) net-yy-inet$(EXEEXT) \
+	net-yy-netlink$(EXEEXT) net-yy-unix$(EXEEXT) \
+	netlink_inet_diag$(EXEEXT) netlink_netlink_diag$(EXEEXT) \
+	netlink_protocol$(EXEEXT) netlink_unix_diag$(EXEEXT) \
+	newfstatat$(EXEEXT) nsyscalls$(EXEEXT) old_mmap$(EXEEXT) \
+	oldfstat$(EXEEXT) oldlstat$(EXEEXT) oldselect$(EXEEXT) \
+	oldstat$(EXEEXT) open$(EXEEXT) openat$(EXEEXT) pause$(EXEEXT) \
+	pc$(EXEEXT) perf_event_open$(EXEEXT) \
+	perf_event_open_nonverbose$(EXEEXT) \
+	perf_event_open_unabbrev$(EXEEXT) personality$(EXEEXT) \
+	pipe$(EXEEXT) pipe2$(EXEEXT) pkey_alloc$(EXEEXT) \
+	pkey_free$(EXEEXT) pkey_mprotect$(EXEEXT) poll$(EXEEXT) \
+	ppoll$(EXEEXT) prctl-arg2-intptr$(EXEEXT) \
+	prctl-dumpable$(EXEEXT) prctl-name$(EXEEXT) \
+	prctl-no-args$(EXEEXT) prctl-pdeathsig$(EXEEXT) \
+	prctl-seccomp-filter-v$(EXEEXT) prctl-seccomp-strict$(EXEEXT) \
+	prctl-securebits$(EXEEXT) prctl-tid_address$(EXEEXT) \
+	prctl-tsc$(EXEEXT) pread64-pwrite64$(EXEEXT) preadv$(EXEEXT) \
+	preadv-pwritev$(EXEEXT) preadv2-pwritev2$(EXEEXT) \
+	print_maxfd$(EXEEXT) printstr$(EXEEXT) prlimit64$(EXEEXT) \
+	process_vm_readv$(EXEEXT) process_vm_writev$(EXEEXT) \
+	pselect6$(EXEEXT) ptrace$(EXEEXT) pwritev$(EXEEXT) \
+	qual_fault$(EXEEXT) qual_inject-error-signal$(EXEEXT) \
+	qual_inject-retval$(EXEEXT) qual_inject-signal$(EXEEXT) \
+	qual_signal$(EXEEXT) quotactl$(EXEEXT) quotactl-v$(EXEEXT) \
+	quotactl-xfs$(EXEEXT) quotactl-xfs-v$(EXEEXT) \
+	read-write$(EXEEXT) readahead$(EXEEXT) readdir$(EXEEXT) \
+	readlink$(EXEEXT) readlinkat$(EXEEXT) readv$(EXEEXT) \
+	reboot$(EXEEXT) recvfrom$(EXEEXT) recvmmsg-timeout$(EXEEXT) \
+	recvmsg$(EXEEXT) redirect-fds$(EXEEXT) \
+	remap_file_pages$(EXEEXT) rename$(EXEEXT) renameat$(EXEEXT) \
+	renameat2$(EXEEXT) request_key$(EXEEXT) \
+	restart_syscall$(EXEEXT) rmdir$(EXEEXT) rt_sigpending$(EXEEXT) \
+	rt_sigprocmask$(EXEEXT) rt_sigqueueinfo$(EXEEXT) \
+	rt_sigsuspend$(EXEEXT) rt_sigtimedwait$(EXEEXT) \
+	rt_tgsigqueueinfo$(EXEEXT) sched_get_priority_mxx$(EXEEXT) \
+	sched_rr_get_interval$(EXEEXT) sched_xetaffinity$(EXEEXT) \
+	sched_xetattr$(EXEEXT) sched_xetparam$(EXEEXT) \
+	sched_xetscheduler$(EXEEXT) sched_yield$(EXEEXT) \
+	scm_rights$(EXEEXT) seccomp-filter$(EXEEXT) \
+	seccomp-filter-v$(EXEEXT) seccomp-strict$(EXEEXT) \
+	select$(EXEEXT) semop$(EXEEXT) sendfile$(EXEEXT) \
+	sendfile64$(EXEEXT) set_mempolicy$(EXEEXT) \
+	set_ptracer_any$(EXEEXT) setdomainname$(EXEEXT) \
+	setfsgid$(EXEEXT) setfsgid32$(EXEEXT) setfsuid$(EXEEXT) \
+	setfsuid32$(EXEEXT) setgid$(EXEEXT) setgid32$(EXEEXT) \
+	setgroups$(EXEEXT) setgroups32$(EXEEXT) sethostname$(EXEEXT) \
+	setns$(EXEEXT) setregid$(EXEEXT) setregid32$(EXEEXT) \
+	setresgid$(EXEEXT) setresgid32$(EXEEXT) setresuid$(EXEEXT) \
+	setresuid32$(EXEEXT) setreuid$(EXEEXT) setreuid32$(EXEEXT) \
+	setrlimit$(EXEEXT) setuid$(EXEEXT) setuid32$(EXEEXT) \
+	shmxt$(EXEEXT) shutdown$(EXEEXT) sigaction$(EXEEXT) \
+	sigaltstack$(EXEEXT) siginfo$(EXEEXT) signal_receive$(EXEEXT) \
+	signalfd4$(EXEEXT) sigreturn$(EXEEXT) sleep$(EXEEXT) \
+	socketcall$(EXEEXT) splice$(EXEEXT) stack-fcall$(EXEEXT) \
+	stat$(EXEEXT) stat64$(EXEEXT) statfs$(EXEEXT) \
+	statfs64$(EXEEXT) swap$(EXEEXT) symlink$(EXEEXT) \
+	symlinkat$(EXEEXT) sync$(EXEEXT) sync_file_range$(EXEEXT) \
+	sync_file_range2$(EXEEXT) sysinfo$(EXEEXT) syslog$(EXEEXT) \
+	tee$(EXEEXT) threads-execve$(EXEEXT) time$(EXEEXT) \
+	timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
+	timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \
+	truncate$(EXEEXT) truncate64$(EXEEXT) ugetrlimit$(EXEEXT) \
+	uio$(EXEEXT) umask$(EXEEXT) umount$(EXEEXT) umount2$(EXEEXT) \
+	umoven-illptr$(EXEEXT) umovestr$(EXEEXT) \
+	umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) umovestr3$(EXEEXT) \
+	uname$(EXEEXT) unix-pair-send-recv$(EXEEXT) \
+	unix-pair-sendto-recvfrom$(EXEEXT) unlink$(EXEEXT) \
+	unlinkat$(EXEEXT) unshare$(EXEEXT) userfaultfd$(EXEEXT) \
+	ustat$(EXEEXT) utime$(EXEEXT) utimensat$(EXEEXT) \
+	utimes$(EXEEXT) vfork-f$(EXEEXT) vhangup$(EXEEXT) \
+	vmsplice$(EXEEXT) wait4$(EXEEXT) wait4-v$(EXEEXT) \
+	waitid$(EXEEXT) waitid-v$(EXEEXT) waitpid$(EXEEXT) \
+	xattr$(EXEEXT) xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \
+	xetitimer$(EXEEXT) xetpgid$(EXEEXT) xetpriority$(EXEEXT) \
+	xettimeofday$(EXEEXT)
+TESTS = $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_1)
+DIST_COMMON = $(srcdir)/../scno.am $(srcdir)/Makefile.in \
+	$(srcdir)/Makefile.am $(top_srcdir)/depcomp \
+	$(top_srcdir)/test-driver
+subdir = tests
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+	$(top_srcdir)/m4/ax_prog_cc_for_build.m4 \
+	$(top_srcdir)/m4/ax_valgrind_check.m4 \
+	$(top_srcdir)/m4/mpers.m4 \
+	$(top_srcdir)/m4/st_save_restore_var.m4 \
+	$(top_srcdir)/m4/st_warn_cflags.m4 \
+	$(top_srcdir)/m4/warnings.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AR = ar
+ARFLAGS = cru
+AM_V_AR = $(am__v_AR_@AM_V@)
+am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
+am__v_AR_0 = @echo "  AR      " $@;
+am__v_AR_1 = 
+libtests_a_AR = $(AR) $(ARFLAGS)
+libtests_a_LIBADD =
+am_libtests_a_OBJECTS = libtests_a-errno2name.$(OBJEXT) \
+	libtests_a-error_msg.$(OBJEXT) \
+	libtests_a-fill_memory.$(OBJEXT) \
+	libtests_a-get_page_size.$(OBJEXT) \
+	libtests_a-hexdump_strdup.$(OBJEXT) \
+	libtests_a-hexquote_strndup.$(OBJEXT) \
+	libtests_a-inode_of_sockfd.$(OBJEXT) \
+	libtests_a-libmmsg.$(OBJEXT) \
+	libtests_a-libsocketcall.$(OBJEXT) \
+	libtests_a-overflowuid.$(OBJEXT) \
+	libtests_a-pipe_maxfd.$(OBJEXT) \
+	libtests_a-print_quoted_string.$(OBJEXT) \
+	libtests_a-printflags.$(OBJEXT) libtests_a-printxval.$(OBJEXT) \
+	libtests_a-signal2name.$(OBJEXT) libtests_a-sprintrc.$(OBJEXT) \
+	libtests_a-tail_alloc.$(OBJEXT) libtests_a-tprintf.$(OBJEXT)
+libtests_a_OBJECTS = $(am_libtests_a_OBJECTS)
+_newselect_SOURCES = _newselect.c
+_newselect_OBJECTS = _newselect.$(OBJEXT)
+_newselect_LDADD = $(LDADD)
+_newselect_DEPENDENCIES = libtests.a
+accept_SOURCES = accept.c
+accept_OBJECTS = accept.$(OBJEXT)
+accept_LDADD = $(LDADD)
+accept_DEPENDENCIES = libtests.a
+accept4_SOURCES = accept4.c
+accept4_OBJECTS = accept4.$(OBJEXT)
+accept4_LDADD = $(LDADD)
+accept4_DEPENDENCIES = libtests.a
+access_SOURCES = access.c
+access_OBJECTS = access.$(OBJEXT)
+access_LDADD = $(LDADD)
+access_DEPENDENCIES = libtests.a
+acct_SOURCES = acct.c
+acct_OBJECTS = acct.$(OBJEXT)
+acct_LDADD = $(LDADD)
+acct_DEPENDENCIES = libtests.a
+add_key_SOURCES = add_key.c
+add_key_OBJECTS = add_key.$(OBJEXT)
+add_key_LDADD = $(LDADD)
+add_key_DEPENDENCIES = libtests.a
+adjtimex_SOURCES = adjtimex.c
+adjtimex_OBJECTS = adjtimex.$(OBJEXT)
+adjtimex_LDADD = $(LDADD)
+adjtimex_DEPENDENCIES = libtests.a
+aio_SOURCES = aio.c
+aio_OBJECTS = aio.$(OBJEXT)
+aio_LDADD = $(LDADD)
+aio_DEPENDENCIES = libtests.a
+alarm_SOURCES = alarm.c
+alarm_OBJECTS = alarm.$(OBJEXT)
+alarm_LDADD = $(LDADD)
+alarm_DEPENDENCIES = libtests.a
+answer_SOURCES = answer.c
+answer_OBJECTS = answer.$(OBJEXT)
+answer_LDADD = $(LDADD)
+answer_DEPENDENCIES = libtests.a
+attach_f_p_SOURCES = attach-f-p.c
+attach_f_p_OBJECTS = attach-f-p.$(OBJEXT)
+attach_f_p_DEPENDENCIES = $(LDADD)
+attach_f_p_cmd_SOURCES = attach-f-p-cmd.c
+attach_f_p_cmd_OBJECTS = attach-f-p-cmd.$(OBJEXT)
+attach_f_p_cmd_LDADD = $(LDADD)
+attach_f_p_cmd_DEPENDENCIES = libtests.a
+attach_p_cmd_cmd_SOURCES = attach-p-cmd-cmd.c
+attach_p_cmd_cmd_OBJECTS = attach-p-cmd-cmd.$(OBJEXT)
+attach_p_cmd_cmd_LDADD = $(LDADD)
+attach_p_cmd_cmd_DEPENDENCIES = libtests.a
+attach_p_cmd_p_SOURCES = attach-p-cmd-p.c
+attach_p_cmd_p_OBJECTS = attach-p-cmd-p.$(OBJEXT)
+attach_p_cmd_p_LDADD = $(LDADD)
+attach_p_cmd_p_DEPENDENCIES = libtests.a
+bpf_SOURCES = bpf.c
+bpf_OBJECTS = bpf.$(OBJEXT)
+bpf_LDADD = $(LDADD)
+bpf_DEPENDENCIES = libtests.a
+brk_SOURCES = brk.c
+brk_OBJECTS = brk.$(OBJEXT)
+brk_LDADD = $(LDADD)
+brk_DEPENDENCIES = libtests.a
+btrfs_SOURCES = btrfs.c
+btrfs_OBJECTS = btrfs.$(OBJEXT)
+btrfs_LDADD = $(LDADD)
+btrfs_DEPENDENCIES = libtests.a
+caps_SOURCES = caps.c
+caps_OBJECTS = caps.$(OBJEXT)
+caps_LDADD = $(LDADD)
+caps_DEPENDENCIES = libtests.a
+caps_abbrev_SOURCES = caps-abbrev.c
+caps_abbrev_OBJECTS = caps-abbrev.$(OBJEXT)
+caps_abbrev_LDADD = $(LDADD)
+caps_abbrev_DEPENDENCIES = libtests.a
+chmod_SOURCES = chmod.c
+chmod_OBJECTS = chmod.$(OBJEXT)
+chmod_LDADD = $(LDADD)
+chmod_DEPENDENCIES = libtests.a
+chown_SOURCES = chown.c
+chown_OBJECTS = chown.$(OBJEXT)
+chown_LDADD = $(LDADD)
+chown_DEPENDENCIES = libtests.a
+chown32_SOURCES = chown32.c
+chown32_OBJECTS = chown32.$(OBJEXT)
+chown32_LDADD = $(LDADD)
+chown32_DEPENDENCIES = libtests.a
+chroot_SOURCES = chroot.c
+chroot_OBJECTS = chroot.$(OBJEXT)
+chroot_LDADD = $(LDADD)
+chroot_DEPENDENCIES = libtests.a
+clock_adjtime_SOURCES = clock_adjtime.c
+clock_adjtime_OBJECTS = clock_adjtime.$(OBJEXT)
+clock_adjtime_LDADD = $(LDADD)
+clock_adjtime_DEPENDENCIES = libtests.a
+clock_nanosleep_SOURCES = clock_nanosleep.c
+clock_nanosleep_OBJECTS = clock_nanosleep.$(OBJEXT)
+clock_nanosleep_LDADD = $(LDADD)
+clock_nanosleep_DEPENDENCIES = libtests.a
+clock_xettime_SOURCES = clock_xettime.c
+clock_xettime_OBJECTS = clock_xettime.$(OBJEXT)
+clock_xettime_DEPENDENCIES = $(LDADD)
+copy_file_range_SOURCES = copy_file_range.c
+copy_file_range_OBJECTS = copy_file_range.$(OBJEXT)
+copy_file_range_LDADD = $(LDADD)
+copy_file_range_DEPENDENCIES = libtests.a
+count_f_SOURCES = count-f.c
+count_f_OBJECTS = count-f.$(OBJEXT)
+count_f_DEPENDENCIES = $(LDADD)
+creat_SOURCES = creat.c
+creat_OBJECTS = creat.$(OBJEXT)
+creat_LDADD = $(LDADD)
+creat_DEPENDENCIES = libtests.a
+delete_module_SOURCES = delete_module.c
+delete_module_OBJECTS = delete_module.$(OBJEXT)
+delete_module_LDADD = $(LDADD)
+delete_module_DEPENDENCIES = libtests.a
+dup_SOURCES = dup.c
+dup_OBJECTS = dup.$(OBJEXT)
+dup_LDADD = $(LDADD)
+dup_DEPENDENCIES = libtests.a
+dup2_SOURCES = dup2.c
+dup2_OBJECTS = dup2.$(OBJEXT)
+dup2_LDADD = $(LDADD)
+dup2_DEPENDENCIES = libtests.a
+dup3_SOURCES = dup3.c
+dup3_OBJECTS = dup3.$(OBJEXT)
+dup3_LDADD = $(LDADD)
+dup3_DEPENDENCIES = libtests.a
+epoll_create_SOURCES = epoll_create.c
+epoll_create_OBJECTS = epoll_create.$(OBJEXT)
+epoll_create_LDADD = $(LDADD)
+epoll_create_DEPENDENCIES = libtests.a
+epoll_create1_SOURCES = epoll_create1.c
+epoll_create1_OBJECTS = epoll_create1.$(OBJEXT)
+epoll_create1_LDADD = $(LDADD)
+epoll_create1_DEPENDENCIES = libtests.a
+epoll_ctl_SOURCES = epoll_ctl.c
+epoll_ctl_OBJECTS = epoll_ctl.$(OBJEXT)
+epoll_ctl_LDADD = $(LDADD)
+epoll_ctl_DEPENDENCIES = libtests.a
+epoll_pwait_SOURCES = epoll_pwait.c
+epoll_pwait_OBJECTS = epoll_pwait.$(OBJEXT)
+epoll_pwait_LDADD = $(LDADD)
+epoll_pwait_DEPENDENCIES = libtests.a
+epoll_wait_SOURCES = epoll_wait.c
+epoll_wait_OBJECTS = epoll_wait.$(OBJEXT)
+epoll_wait_LDADD = $(LDADD)
+epoll_wait_DEPENDENCIES = libtests.a
+erestartsys_SOURCES = erestartsys.c
+erestartsys_OBJECTS = erestartsys.$(OBJEXT)
+erestartsys_LDADD = $(LDADD)
+erestartsys_DEPENDENCIES = libtests.a
+eventfd_SOURCES = eventfd.c
+eventfd_OBJECTS = eventfd.$(OBJEXT)
+eventfd_LDADD = $(LDADD)
+eventfd_DEPENDENCIES = libtests.a
+execve_SOURCES = execve.c
+execve_OBJECTS = execve.$(OBJEXT)
+execve_LDADD = $(LDADD)
+execve_DEPENDENCIES = libtests.a
+execve_v_SOURCES = execve-v.c
+execve_v_OBJECTS = execve-v.$(OBJEXT)
+execve_v_LDADD = $(LDADD)
+execve_v_DEPENDENCIES = libtests.a
+execveat_SOURCES = execveat.c
+execveat_OBJECTS = execveat.$(OBJEXT)
+execveat_LDADD = $(LDADD)
+execveat_DEPENDENCIES = libtests.a
+execveat_v_SOURCES = execveat-v.c
+execveat_v_OBJECTS = execveat-v.$(OBJEXT)
+execveat_v_LDADD = $(LDADD)
+execveat_v_DEPENDENCIES = libtests.a
+faccessat_SOURCES = faccessat.c
+faccessat_OBJECTS = faccessat.$(OBJEXT)
+faccessat_LDADD = $(LDADD)
+faccessat_DEPENDENCIES = libtests.a
+fadvise64_SOURCES = fadvise64.c
+fadvise64_OBJECTS = fadvise64.$(OBJEXT)
+fadvise64_LDADD = $(LDADD)
+fadvise64_DEPENDENCIES = libtests.a
+fadvise64_64_SOURCES = fadvise64_64.c
+fadvise64_64_OBJECTS = fadvise64_64.$(OBJEXT)
+fadvise64_64_LDADD = $(LDADD)
+fadvise64_64_DEPENDENCIES = libtests.a
+fallocate_SOURCES = fallocate.c
+fallocate_OBJECTS = fallocate.$(OBJEXT)
+fallocate_LDADD = $(LDADD)
+fallocate_DEPENDENCIES = libtests.a
+fanotify_init_SOURCES = fanotify_init.c
+fanotify_init_OBJECTS = fanotify_init.$(OBJEXT)
+fanotify_init_LDADD = $(LDADD)
+fanotify_init_DEPENDENCIES = libtests.a
+fanotify_mark_SOURCES = fanotify_mark.c
+fanotify_mark_OBJECTS = fanotify_mark.$(OBJEXT)
+fanotify_mark_LDADD = $(LDADD)
+fanotify_mark_DEPENDENCIES = libtests.a
+fchdir_SOURCES = fchdir.c
+fchdir_OBJECTS = fchdir.$(OBJEXT)
+fchdir_LDADD = $(LDADD)
+fchdir_DEPENDENCIES = libtests.a
+fchmod_SOURCES = fchmod.c
+fchmod_OBJECTS = fchmod.$(OBJEXT)
+fchmod_LDADD = $(LDADD)
+fchmod_DEPENDENCIES = libtests.a
+fchmodat_SOURCES = fchmodat.c
+fchmodat_OBJECTS = fchmodat.$(OBJEXT)
+fchmodat_LDADD = $(LDADD)
+fchmodat_DEPENDENCIES = libtests.a
+fchown_SOURCES = fchown.c
+fchown_OBJECTS = fchown.$(OBJEXT)
+fchown_LDADD = $(LDADD)
+fchown_DEPENDENCIES = libtests.a
+fchown32_SOURCES = fchown32.c
+fchown32_OBJECTS = fchown32.$(OBJEXT)
+fchown32_LDADD = $(LDADD)
+fchown32_DEPENDENCIES = libtests.a
+fchownat_SOURCES = fchownat.c
+fchownat_OBJECTS = fchownat.$(OBJEXT)
+fchownat_LDADD = $(LDADD)
+fchownat_DEPENDENCIES = libtests.a
+fcntl_SOURCES = fcntl.c
+fcntl_OBJECTS = fcntl.$(OBJEXT)
+fcntl_LDADD = $(LDADD)
+fcntl_DEPENDENCIES = libtests.a
+fcntl64_SOURCES = fcntl64.c
+fcntl64_OBJECTS = fcntl64.$(OBJEXT)
+fcntl64_LDADD = $(LDADD)
+fcntl64_DEPENDENCIES = libtests.a
+fdatasync_SOURCES = fdatasync.c
+fdatasync_OBJECTS = fdatasync.$(OBJEXT)
+fdatasync_LDADD = $(LDADD)
+fdatasync_DEPENDENCIES = libtests.a
+file_handle_SOURCES = file_handle.c
+file_handle_OBJECTS = file_handle.$(OBJEXT)
+file_handle_LDADD = $(LDADD)
+file_handle_DEPENDENCIES = libtests.a
+file_ioctl_SOURCES = file_ioctl.c
+file_ioctl_OBJECTS = file_ioctl.$(OBJEXT)
+file_ioctl_LDADD = $(LDADD)
+file_ioctl_DEPENDENCIES = libtests.a
+filter_unavailable_SOURCES = filter-unavailable.c
+filter_unavailable_OBJECTS = filter-unavailable.$(OBJEXT)
+filter_unavailable_DEPENDENCIES = $(LDADD)
+finit_module_SOURCES = finit_module.c
+finit_module_OBJECTS = finit_module.$(OBJEXT)
+finit_module_LDADD = $(LDADD)
+finit_module_DEPENDENCIES = libtests.a
+flock_SOURCES = flock.c
+flock_OBJECTS = flock.$(OBJEXT)
+flock_LDADD = $(LDADD)
+flock_DEPENDENCIES = libtests.a
+fork_f_SOURCES = fork-f.c
+fork_f_OBJECTS = fork-f.$(OBJEXT)
+fork_f_LDADD = $(LDADD)
+fork_f_DEPENDENCIES = libtests.a
+fstat_SOURCES = fstat.c
+fstat_OBJECTS = fstat.$(OBJEXT)
+fstat_LDADD = $(LDADD)
+fstat_DEPENDENCIES = libtests.a
+fstat64_SOURCES = fstat64.c
+fstat64_OBJECTS = fstat64-fstat64.$(OBJEXT)
+fstat64_LDADD = $(LDADD)
+fstat64_DEPENDENCIES = libtests.a
+fstatat64_SOURCES = fstatat64.c
+fstatat64_OBJECTS = fstatat64-fstatat64.$(OBJEXT)
+fstatat64_LDADD = $(LDADD)
+fstatat64_DEPENDENCIES = libtests.a
+fstatfs_SOURCES = fstatfs.c
+fstatfs_OBJECTS = fstatfs.$(OBJEXT)
+fstatfs_LDADD = $(LDADD)
+fstatfs_DEPENDENCIES = libtests.a
+fstatfs64_SOURCES = fstatfs64.c
+fstatfs64_OBJECTS = fstatfs64.$(OBJEXT)
+fstatfs64_LDADD = $(LDADD)
+fstatfs64_DEPENDENCIES = libtests.a
+fsync_SOURCES = fsync.c
+fsync_OBJECTS = fsync.$(OBJEXT)
+fsync_LDADD = $(LDADD)
+fsync_DEPENDENCIES = libtests.a
+ftruncate_SOURCES = ftruncate.c
+ftruncate_OBJECTS = ftruncate.$(OBJEXT)
+ftruncate_LDADD = $(LDADD)
+ftruncate_DEPENDENCIES = libtests.a
+ftruncate64_SOURCES = ftruncate64.c
+ftruncate64_OBJECTS = ftruncate64-ftruncate64.$(OBJEXT)
+ftruncate64_LDADD = $(LDADD)
+ftruncate64_DEPENDENCIES = libtests.a
+futex_SOURCES = futex.c
+futex_OBJECTS = futex.$(OBJEXT)
+futex_LDADD = $(LDADD)
+futex_DEPENDENCIES = libtests.a
+futimesat_SOURCES = futimesat.c
+futimesat_OBJECTS = futimesat.$(OBJEXT)
+futimesat_LDADD = $(LDADD)
+futimesat_DEPENDENCIES = libtests.a
+get_mempolicy_SOURCES = get_mempolicy.c
+get_mempolicy_OBJECTS = get_mempolicy.$(OBJEXT)
+get_mempolicy_LDADD = $(LDADD)
+get_mempolicy_DEPENDENCIES = libtests.a
+getcpu_SOURCES = getcpu.c
+getcpu_OBJECTS = getcpu.$(OBJEXT)
+getcpu_LDADD = $(LDADD)
+getcpu_DEPENDENCIES = libtests.a
+getcwd_SOURCES = getcwd.c
+getcwd_OBJECTS = getcwd.$(OBJEXT)
+getcwd_LDADD = $(LDADD)
+getcwd_DEPENDENCIES = libtests.a
+getdents_SOURCES = getdents.c
+getdents_OBJECTS = getdents.$(OBJEXT)
+getdents_LDADD = $(LDADD)
+getdents_DEPENDENCIES = libtests.a
+getdents64_SOURCES = getdents64.c
+getdents64_OBJECTS = getdents64.$(OBJEXT)
+getdents64_LDADD = $(LDADD)
+getdents64_DEPENDENCIES = libtests.a
+getegid_SOURCES = getegid.c
+getegid_OBJECTS = getegid.$(OBJEXT)
+getegid_LDADD = $(LDADD)
+getegid_DEPENDENCIES = libtests.a
+getegid32_SOURCES = getegid32.c
+getegid32_OBJECTS = getegid32.$(OBJEXT)
+getegid32_LDADD = $(LDADD)
+getegid32_DEPENDENCIES = libtests.a
+geteuid_SOURCES = geteuid.c
+geteuid_OBJECTS = geteuid.$(OBJEXT)
+geteuid_LDADD = $(LDADD)
+geteuid_DEPENDENCIES = libtests.a
+geteuid32_SOURCES = geteuid32.c
+geteuid32_OBJECTS = geteuid32.$(OBJEXT)
+geteuid32_LDADD = $(LDADD)
+geteuid32_DEPENDENCIES = libtests.a
+getgid_SOURCES = getgid.c
+getgid_OBJECTS = getgid.$(OBJEXT)
+getgid_LDADD = $(LDADD)
+getgid_DEPENDENCIES = libtests.a
+getgid32_SOURCES = getgid32.c
+getgid32_OBJECTS = getgid32.$(OBJEXT)
+getgid32_LDADD = $(LDADD)
+getgid32_DEPENDENCIES = libtests.a
+getgroups_SOURCES = getgroups.c
+getgroups_OBJECTS = getgroups.$(OBJEXT)
+getgroups_LDADD = $(LDADD)
+getgroups_DEPENDENCIES = libtests.a
+getgroups32_SOURCES = getgroups32.c
+getgroups32_OBJECTS = getgroups32.$(OBJEXT)
+getgroups32_LDADD = $(LDADD)
+getgroups32_DEPENDENCIES = libtests.a
+getpeername_SOURCES = getpeername.c
+getpeername_OBJECTS = getpeername.$(OBJEXT)
+getpeername_LDADD = $(LDADD)
+getpeername_DEPENDENCIES = libtests.a
+getpgrp_SOURCES = getpgrp.c
+getpgrp_OBJECTS = getpgrp.$(OBJEXT)
+getpgrp_LDADD = $(LDADD)
+getpgrp_DEPENDENCIES = libtests.a
+getrandom_SOURCES = getrandom.c
+getrandom_OBJECTS = getrandom.$(OBJEXT)
+getrandom_LDADD = $(LDADD)
+getrandom_DEPENDENCIES = libtests.a
+getresgid_SOURCES = getresgid.c
+getresgid_OBJECTS = getresgid.$(OBJEXT)
+getresgid_LDADD = $(LDADD)
+getresgid_DEPENDENCIES = libtests.a
+getresgid32_SOURCES = getresgid32.c
+getresgid32_OBJECTS = getresgid32.$(OBJEXT)
+getresgid32_LDADD = $(LDADD)
+getresgid32_DEPENDENCIES = libtests.a
+getresuid_SOURCES = getresuid.c
+getresuid_OBJECTS = getresuid.$(OBJEXT)
+getresuid_LDADD = $(LDADD)
+getresuid_DEPENDENCIES = libtests.a
+getresuid32_SOURCES = getresuid32.c
+getresuid32_OBJECTS = getresuid32.$(OBJEXT)
+getresuid32_LDADD = $(LDADD)
+getresuid32_DEPENDENCIES = libtests.a
+getrlimit_SOURCES = getrlimit.c
+getrlimit_OBJECTS = getrlimit.$(OBJEXT)
+getrlimit_LDADD = $(LDADD)
+getrlimit_DEPENDENCIES = libtests.a
+getrusage_SOURCES = getrusage.c
+getrusage_OBJECTS = getrusage.$(OBJEXT)
+getrusage_LDADD = $(LDADD)
+getrusage_DEPENDENCIES = libtests.a
+getsid_SOURCES = getsid.c
+getsid_OBJECTS = getsid.$(OBJEXT)
+getsid_LDADD = $(LDADD)
+getsid_DEPENDENCIES = libtests.a
+getsockname_SOURCES = getsockname.c
+getsockname_OBJECTS = getsockname.$(OBJEXT)
+getsockname_LDADD = $(LDADD)
+getsockname_DEPENDENCIES = libtests.a
+getuid_SOURCES = getuid.c
+getuid_OBJECTS = getuid.$(OBJEXT)
+getuid_LDADD = $(LDADD)
+getuid_DEPENDENCIES = libtests.a
+getuid32_SOURCES = getuid32.c
+getuid32_OBJECTS = getuid32.$(OBJEXT)
+getuid32_LDADD = $(LDADD)
+getuid32_DEPENDENCIES = libtests.a
+getxxid_SOURCES = getxxid.c
+getxxid_OBJECTS = getxxid.$(OBJEXT)
+getxxid_LDADD = $(LDADD)
+getxxid_DEPENDENCIES = libtests.a
+inet_cmsg_SOURCES = inet-cmsg.c
+inet_cmsg_OBJECTS = inet-cmsg.$(OBJEXT)
+inet_cmsg_LDADD = $(LDADD)
+inet_cmsg_DEPENDENCIES = libtests.a
+init_module_SOURCES = init_module.c
+init_module_OBJECTS = init_module.$(OBJEXT)
+init_module_LDADD = $(LDADD)
+init_module_DEPENDENCIES = libtests.a
+inotify_SOURCES = inotify.c
+inotify_OBJECTS = inotify.$(OBJEXT)
+inotify_LDADD = $(LDADD)
+inotify_DEPENDENCIES = libtests.a
+inotify_init1_SOURCES = inotify_init1.c
+inotify_init1_OBJECTS = inotify_init1.$(OBJEXT)
+inotify_init1_LDADD = $(LDADD)
+inotify_init1_DEPENDENCIES = libtests.a
+ioctl_SOURCES = ioctl.c
+ioctl_OBJECTS = ioctl.$(OBJEXT)
+ioctl_LDADD = $(LDADD)
+ioctl_DEPENDENCIES = libtests.a
+ioctl_block_SOURCES = ioctl_block.c
+ioctl_block_OBJECTS = ioctl_block.$(OBJEXT)
+ioctl_block_LDADD = $(LDADD)
+ioctl_block_DEPENDENCIES = libtests.a
+ioctl_dm_SOURCES = ioctl_dm.c
+ioctl_dm_OBJECTS = ioctl_dm.$(OBJEXT)
+ioctl_dm_LDADD = $(LDADD)
+ioctl_dm_DEPENDENCIES = libtests.a
+ioctl_dm_v_SOURCES = ioctl_dm-v.c
+ioctl_dm_v_OBJECTS = ioctl_dm-v.$(OBJEXT)
+ioctl_dm_v_LDADD = $(LDADD)
+ioctl_dm_v_DEPENDENCIES = libtests.a
+ioctl_evdev_SOURCES = ioctl_evdev.c
+ioctl_evdev_OBJECTS = ioctl_evdev.$(OBJEXT)
+ioctl_evdev_LDADD = $(LDADD)
+ioctl_evdev_DEPENDENCIES = libtests.a
+ioctl_evdev_v_SOURCES = ioctl_evdev-v.c
+ioctl_evdev_v_OBJECTS = ioctl_evdev-v.$(OBJEXT)
+ioctl_evdev_v_LDADD = $(LDADD)
+ioctl_evdev_v_DEPENDENCIES = libtests.a
+ioctl_loop_SOURCES = ioctl_loop.c
+ioctl_loop_OBJECTS = ioctl_loop.$(OBJEXT)
+ioctl_loop_LDADD = $(LDADD)
+ioctl_loop_DEPENDENCIES = libtests.a
+ioctl_loop_nv_SOURCES = ioctl_loop-nv.c
+ioctl_loop_nv_OBJECTS = ioctl_loop-nv.$(OBJEXT)
+ioctl_loop_nv_LDADD = $(LDADD)
+ioctl_loop_nv_DEPENDENCIES = libtests.a
+ioctl_loop_v_SOURCES = ioctl_loop-v.c
+ioctl_loop_v_OBJECTS = ioctl_loop-v.$(OBJEXT)
+ioctl_loop_v_LDADD = $(LDADD)
+ioctl_loop_v_DEPENDENCIES = libtests.a
+ioctl_mtd_SOURCES = ioctl_mtd.c
+ioctl_mtd_OBJECTS = ioctl_mtd.$(OBJEXT)
+ioctl_mtd_LDADD = $(LDADD)
+ioctl_mtd_DEPENDENCIES = libtests.a
+ioctl_rtc_SOURCES = ioctl_rtc.c
+ioctl_rtc_OBJECTS = ioctl_rtc.$(OBJEXT)
+ioctl_rtc_LDADD = $(LDADD)
+ioctl_rtc_DEPENDENCIES = libtests.a
+ioctl_rtc_v_SOURCES = ioctl_rtc-v.c
+ioctl_rtc_v_OBJECTS = ioctl_rtc-v.$(OBJEXT)
+ioctl_rtc_v_LDADD = $(LDADD)
+ioctl_rtc_v_DEPENDENCIES = libtests.a
+ioctl_scsi_SOURCES = ioctl_scsi.c
+ioctl_scsi_OBJECTS = ioctl_scsi.$(OBJEXT)
+ioctl_scsi_LDADD = $(LDADD)
+ioctl_scsi_DEPENDENCIES = libtests.a
+ioctl_sg_io_v3_SOURCES = ioctl_sg_io_v3.c
+ioctl_sg_io_v3_OBJECTS = ioctl_sg_io_v3.$(OBJEXT)
+ioctl_sg_io_v3_LDADD = $(LDADD)
+ioctl_sg_io_v3_DEPENDENCIES = libtests.a
+ioctl_sg_io_v4_SOURCES = ioctl_sg_io_v4.c
+ioctl_sg_io_v4_OBJECTS = ioctl_sg_io_v4.$(OBJEXT)
+ioctl_sg_io_v4_LDADD = $(LDADD)
+ioctl_sg_io_v4_DEPENDENCIES = libtests.a
+ioctl_sock_gifconf_SOURCES = ioctl_sock_gifconf.c
+ioctl_sock_gifconf_OBJECTS = ioctl_sock_gifconf.$(OBJEXT)
+ioctl_sock_gifconf_LDADD = $(LDADD)
+ioctl_sock_gifconf_DEPENDENCIES = libtests.a
+ioctl_uffdio_SOURCES = ioctl_uffdio.c
+ioctl_uffdio_OBJECTS = ioctl_uffdio.$(OBJEXT)
+ioctl_uffdio_LDADD = $(LDADD)
+ioctl_uffdio_DEPENDENCIES = libtests.a
+ioctl_v4l2_SOURCES = ioctl_v4l2.c
+ioctl_v4l2_OBJECTS = ioctl_v4l2.$(OBJEXT)
+ioctl_v4l2_LDADD = $(LDADD)
+ioctl_v4l2_DEPENDENCIES = libtests.a
+ioperm_SOURCES = ioperm.c
+ioperm_OBJECTS = ioperm.$(OBJEXT)
+ioperm_LDADD = $(LDADD)
+ioperm_DEPENDENCIES = libtests.a
+iopl_SOURCES = iopl.c
+iopl_OBJECTS = iopl.$(OBJEXT)
+iopl_LDADD = $(LDADD)
+iopl_DEPENDENCIES = libtests.a
+ioprio_SOURCES = ioprio.c
+ioprio_OBJECTS = ioprio.$(OBJEXT)
+ioprio_LDADD = $(LDADD)
+ioprio_DEPENDENCIES = libtests.a
+ip_mreq_SOURCES = ip_mreq.c
+ip_mreq_OBJECTS = ip_mreq.$(OBJEXT)
+ip_mreq_LDADD = $(LDADD)
+ip_mreq_DEPENDENCIES = libtests.a
+ipc_SOURCES = ipc.c
+ipc_OBJECTS = ipc.$(OBJEXT)
+ipc_LDADD = $(LDADD)
+ipc_DEPENDENCIES = libtests.a
+ipc_msg_SOURCES = ipc_msg.c
+ipc_msg_OBJECTS = ipc_msg.$(OBJEXT)
+ipc_msg_LDADD = $(LDADD)
+ipc_msg_DEPENDENCIES = libtests.a
+ipc_msgbuf_SOURCES = ipc_msgbuf.c
+ipc_msgbuf_OBJECTS = ipc_msgbuf.$(OBJEXT)
+ipc_msgbuf_LDADD = $(LDADD)
+ipc_msgbuf_DEPENDENCIES = libtests.a
+ipc_sem_SOURCES = ipc_sem.c
+ipc_sem_OBJECTS = ipc_sem.$(OBJEXT)
+ipc_sem_LDADD = $(LDADD)
+ipc_sem_DEPENDENCIES = libtests.a
+ipc_shm_SOURCES = ipc_shm.c
+ipc_shm_OBJECTS = ipc_shm.$(OBJEXT)
+ipc_shm_LDADD = $(LDADD)
+ipc_shm_DEPENDENCIES = libtests.a
+kcmp_SOURCES = kcmp.c
+kcmp_OBJECTS = kcmp.$(OBJEXT)
+kcmp_LDADD = $(LDADD)
+kcmp_DEPENDENCIES = libtests.a
+kexec_file_load_SOURCES = kexec_file_load.c
+kexec_file_load_OBJECTS = kexec_file_load.$(OBJEXT)
+kexec_file_load_LDADD = $(LDADD)
+kexec_file_load_DEPENDENCIES = libtests.a
+kexec_load_SOURCES = kexec_load.c
+kexec_load_OBJECTS = kexec_load.$(OBJEXT)
+kexec_load_LDADD = $(LDADD)
+kexec_load_DEPENDENCIES = libtests.a
+keyctl_SOURCES = keyctl.c
+keyctl_OBJECTS = keyctl.$(OBJEXT)
+keyctl_LDADD = $(LDADD)
+keyctl_DEPENDENCIES = libtests.a
+kill_SOURCES = kill.c
+kill_OBJECTS = kill.$(OBJEXT)
+kill_LDADD = $(LDADD)
+kill_DEPENDENCIES = libtests.a
+ksysent_SOURCES = ksysent.c
+ksysent_OBJECTS = ksysent.$(OBJEXT)
+ksysent_LDADD = $(LDADD)
+ksysent_DEPENDENCIES = libtests.a
+lchown_SOURCES = lchown.c
+lchown_OBJECTS = lchown.$(OBJEXT)
+lchown_LDADD = $(LDADD)
+lchown_DEPENDENCIES = libtests.a
+lchown32_SOURCES = lchown32.c
+lchown32_OBJECTS = lchown32.$(OBJEXT)
+lchown32_LDADD = $(LDADD)
+lchown32_DEPENDENCIES = libtests.a
+link_SOURCES = link.c
+link_OBJECTS = link.$(OBJEXT)
+link_LDADD = $(LDADD)
+link_DEPENDENCIES = libtests.a
+linkat_SOURCES = linkat.c
+linkat_OBJECTS = linkat.$(OBJEXT)
+linkat_LDADD = $(LDADD)
+linkat_DEPENDENCIES = libtests.a
+llseek_SOURCES = llseek.c
+llseek_OBJECTS = llseek.$(OBJEXT)
+llseek_LDADD = $(LDADD)
+llseek_DEPENDENCIES = libtests.a
+lookup_dcookie_SOURCES = lookup_dcookie.c
+lookup_dcookie_OBJECTS = lookup_dcookie.$(OBJEXT)
+lookup_dcookie_LDADD = $(LDADD)
+lookup_dcookie_DEPENDENCIES = libtests.a
+lseek_SOURCES = lseek.c
+lseek_OBJECTS = lseek.$(OBJEXT)
+lseek_LDADD = $(LDADD)
+lseek_DEPENDENCIES = libtests.a
+lstat_SOURCES = lstat.c
+lstat_OBJECTS = lstat.$(OBJEXT)
+lstat_LDADD = $(LDADD)
+lstat_DEPENDENCIES = libtests.a
+lstat64_SOURCES = lstat64.c
+lstat64_OBJECTS = lstat64-lstat64.$(OBJEXT)
+lstat64_LDADD = $(LDADD)
+lstat64_DEPENDENCIES = libtests.a
+mbind_SOURCES = mbind.c
+mbind_OBJECTS = mbind.$(OBJEXT)
+mbind_LDADD = $(LDADD)
+mbind_DEPENDENCIES = libtests.a
+membarrier_SOURCES = membarrier.c
+membarrier_OBJECTS = membarrier.$(OBJEXT)
+membarrier_LDADD = $(LDADD)
+membarrier_DEPENDENCIES = libtests.a
+memfd_create_SOURCES = memfd_create.c
+memfd_create_OBJECTS = memfd_create.$(OBJEXT)
+memfd_create_LDADD = $(LDADD)
+memfd_create_DEPENDENCIES = libtests.a
+migrate_pages_SOURCES = migrate_pages.c
+migrate_pages_OBJECTS = migrate_pages.$(OBJEXT)
+migrate_pages_LDADD = $(LDADD)
+migrate_pages_DEPENDENCIES = libtests.a
+mincore_SOURCES = mincore.c
+mincore_OBJECTS = mincore.$(OBJEXT)
+mincore_LDADD = $(LDADD)
+mincore_DEPENDENCIES = libtests.a
+mkdir_SOURCES = mkdir.c
+mkdir_OBJECTS = mkdir.$(OBJEXT)
+mkdir_LDADD = $(LDADD)
+mkdir_DEPENDENCIES = libtests.a
+mkdirat_SOURCES = mkdirat.c
+mkdirat_OBJECTS = mkdirat.$(OBJEXT)
+mkdirat_LDADD = $(LDADD)
+mkdirat_DEPENDENCIES = libtests.a
+mknod_SOURCES = mknod.c
+mknod_OBJECTS = mknod.$(OBJEXT)
+mknod_LDADD = $(LDADD)
+mknod_DEPENDENCIES = libtests.a
+mknodat_SOURCES = mknodat.c
+mknodat_OBJECTS = mknodat.$(OBJEXT)
+mknodat_LDADD = $(LDADD)
+mknodat_DEPENDENCIES = libtests.a
+mlock_SOURCES = mlock.c
+mlock_OBJECTS = mlock.$(OBJEXT)
+mlock_LDADD = $(LDADD)
+mlock_DEPENDENCIES = libtests.a
+mlock2_SOURCES = mlock2.c
+mlock2_OBJECTS = mlock2.$(OBJEXT)
+mlock2_LDADD = $(LDADD)
+mlock2_DEPENDENCIES = libtests.a
+mlockall_SOURCES = mlockall.c
+mlockall_OBJECTS = mlockall.$(OBJEXT)
+mlockall_LDADD = $(LDADD)
+mlockall_DEPENDENCIES = libtests.a
+mmap_SOURCES = mmap.c
+mmap_OBJECTS = mmap.$(OBJEXT)
+mmap_LDADD = $(LDADD)
+mmap_DEPENDENCIES = libtests.a
+mmap64_SOURCES = mmap64.c
+mmap64_OBJECTS = mmap64-mmap64.$(OBJEXT)
+mmap64_LDADD = $(LDADD)
+mmap64_DEPENDENCIES = libtests.a
+mmsg_SOURCES = mmsg.c
+mmsg_OBJECTS = mmsg.$(OBJEXT)
+mmsg_LDADD = $(LDADD)
+mmsg_DEPENDENCIES = libtests.a
+mmsg_silent_SOURCES = mmsg-silent.c
+mmsg_silent_OBJECTS = mmsg-silent.$(OBJEXT)
+mmsg_silent_LDADD = $(LDADD)
+mmsg_silent_DEPENDENCIES = libtests.a
+mmsg_name_SOURCES = mmsg_name.c
+mmsg_name_OBJECTS = mmsg_name.$(OBJEXT)
+mmsg_name_LDADD = $(LDADD)
+mmsg_name_DEPENDENCIES = libtests.a
+mmsg_name_v_SOURCES = mmsg_name-v.c
+mmsg_name_v_OBJECTS = mmsg_name-v.$(OBJEXT)
+mmsg_name_v_LDADD = $(LDADD)
+mmsg_name_v_DEPENDENCIES = libtests.a
+mount_SOURCES = mount.c
+mount_OBJECTS = mount.$(OBJEXT)
+mount_LDADD = $(LDADD)
+mount_DEPENDENCIES = libtests.a
+move_pages_SOURCES = move_pages.c
+move_pages_OBJECTS = move_pages.$(OBJEXT)
+move_pages_LDADD = $(LDADD)
+move_pages_DEPENDENCIES = libtests.a
+mq_SOURCES = mq.c
+mq_OBJECTS = mq.$(OBJEXT)
+mq_DEPENDENCIES = $(LDADD)
+mq_sendrecv_SOURCES = mq_sendrecv.c
+mq_sendrecv_OBJECTS = mq_sendrecv.$(OBJEXT)
+mq_sendrecv_DEPENDENCIES = $(LDADD)
+mq_sendrecv_read_SOURCES = mq_sendrecv-read.c
+mq_sendrecv_read_OBJECTS = mq_sendrecv-read.$(OBJEXT)
+mq_sendrecv_read_DEPENDENCIES = $(LDADD)
+mq_sendrecv_write_SOURCES = mq_sendrecv-write.c
+mq_sendrecv_write_OBJECTS = mq_sendrecv-write.$(OBJEXT)
+mq_sendrecv_write_DEPENDENCIES = $(LDADD)
+msg_control_SOURCES = msg_control.c
+msg_control_OBJECTS = msg_control.$(OBJEXT)
+msg_control_LDADD = $(LDADD)
+msg_control_DEPENDENCIES = libtests.a
+msg_control_v_SOURCES = msg_control-v.c
+msg_control_v_OBJECTS = msg_control-v.$(OBJEXT)
+msg_control_v_LDADD = $(LDADD)
+msg_control_v_DEPENDENCIES = libtests.a
+msg_name_SOURCES = msg_name.c
+msg_name_OBJECTS = msg_name.$(OBJEXT)
+msg_name_LDADD = $(LDADD)
+msg_name_DEPENDENCIES = libtests.a
+munlockall_SOURCES = munlockall.c
+munlockall_OBJECTS = munlockall.$(OBJEXT)
+munlockall_LDADD = $(LDADD)
+munlockall_DEPENDENCIES = libtests.a
+nanosleep_SOURCES = nanosleep.c
+nanosleep_OBJECTS = nanosleep.$(OBJEXT)
+nanosleep_LDADD = $(LDADD)
+nanosleep_DEPENDENCIES = libtests.a
+net_accept_connect_SOURCES = net-accept-connect.c
+net_accept_connect_OBJECTS = net-accept-connect.$(OBJEXT)
+net_accept_connect_LDADD = $(LDADD)
+net_accept_connect_DEPENDENCIES = libtests.a
+net_icmp_filter_SOURCES = net-icmp_filter.c
+net_icmp_filter_OBJECTS = net-icmp_filter.$(OBJEXT)
+net_icmp_filter_LDADD = $(LDADD)
+net_icmp_filter_DEPENDENCIES = libtests.a
+net_sockaddr_SOURCES = net-sockaddr.c
+net_sockaddr_OBJECTS = net-sockaddr.$(OBJEXT)
+net_sockaddr_LDADD = $(LDADD)
+net_sockaddr_DEPENDENCIES = libtests.a
+net_y_unix_SOURCES = net-y-unix.c
+net_y_unix_OBJECTS = net-y-unix.$(OBJEXT)
+net_y_unix_LDADD = $(LDADD)
+net_y_unix_DEPENDENCIES = libtests.a
+net_yy_inet_SOURCES = net-yy-inet.c
+net_yy_inet_OBJECTS = net-yy-inet.$(OBJEXT)
+net_yy_inet_LDADD = $(LDADD)
+net_yy_inet_DEPENDENCIES = libtests.a
+net_yy_netlink_SOURCES = net-yy-netlink.c
+net_yy_netlink_OBJECTS = net-yy-netlink.$(OBJEXT)
+net_yy_netlink_LDADD = $(LDADD)
+net_yy_netlink_DEPENDENCIES = libtests.a
+net_yy_unix_SOURCES = net-yy-unix.c
+net_yy_unix_OBJECTS = net-yy-unix.$(OBJEXT)
+net_yy_unix_LDADD = $(LDADD)
+net_yy_unix_DEPENDENCIES = libtests.a
+netlink_inet_diag_SOURCES = netlink_inet_diag.c
+netlink_inet_diag_OBJECTS = netlink_inet_diag.$(OBJEXT)
+netlink_inet_diag_LDADD = $(LDADD)
+netlink_inet_diag_DEPENDENCIES = libtests.a
+netlink_netlink_diag_SOURCES = netlink_netlink_diag.c
+netlink_netlink_diag_OBJECTS = netlink_netlink_diag.$(OBJEXT)
+netlink_netlink_diag_LDADD = $(LDADD)
+netlink_netlink_diag_DEPENDENCIES = libtests.a
+netlink_protocol_SOURCES = netlink_protocol.c
+netlink_protocol_OBJECTS = netlink_protocol.$(OBJEXT)
+netlink_protocol_LDADD = $(LDADD)
+netlink_protocol_DEPENDENCIES = libtests.a
+netlink_unix_diag_SOURCES = netlink_unix_diag.c
+netlink_unix_diag_OBJECTS = netlink_unix_diag.$(OBJEXT)
+netlink_unix_diag_LDADD = $(LDADD)
+netlink_unix_diag_DEPENDENCIES = libtests.a
+newfstatat_SOURCES = newfstatat.c
+newfstatat_OBJECTS = newfstatat-newfstatat.$(OBJEXT)
+newfstatat_LDADD = $(LDADD)
+newfstatat_DEPENDENCIES = libtests.a
+nsyscalls_SOURCES = nsyscalls.c
+nsyscalls_OBJECTS = nsyscalls.$(OBJEXT)
+nsyscalls_LDADD = $(LDADD)
+nsyscalls_DEPENDENCIES = libtests.a
+old_mmap_SOURCES = old_mmap.c
+old_mmap_OBJECTS = old_mmap.$(OBJEXT)
+old_mmap_LDADD = $(LDADD)
+old_mmap_DEPENDENCIES = libtests.a
+oldfstat_SOURCES = oldfstat.c
+oldfstat_OBJECTS = oldfstat.$(OBJEXT)
+oldfstat_LDADD = $(LDADD)
+oldfstat_DEPENDENCIES = libtests.a
+oldlstat_SOURCES = oldlstat.c
+oldlstat_OBJECTS = oldlstat.$(OBJEXT)
+oldlstat_LDADD = $(LDADD)
+oldlstat_DEPENDENCIES = libtests.a
+oldselect_SOURCES = oldselect.c
+oldselect_OBJECTS = oldselect.$(OBJEXT)
+oldselect_LDADD = $(LDADD)
+oldselect_DEPENDENCIES = libtests.a
+oldstat_SOURCES = oldstat.c
+oldstat_OBJECTS = oldstat.$(OBJEXT)
+oldstat_LDADD = $(LDADD)
+oldstat_DEPENDENCIES = libtests.a
+open_SOURCES = open.c
+open_OBJECTS = open.$(OBJEXT)
+open_LDADD = $(LDADD)
+open_DEPENDENCIES = libtests.a
+openat_SOURCES = openat.c
+openat_OBJECTS = openat.$(OBJEXT)
+openat_LDADD = $(LDADD)
+openat_DEPENDENCIES = libtests.a
+pause_SOURCES = pause.c
+pause_OBJECTS = pause.$(OBJEXT)
+pause_LDADD = $(LDADD)
+pause_DEPENDENCIES = libtests.a
+pc_SOURCES = pc.c
+pc_OBJECTS = pc.$(OBJEXT)
+am__DEPENDENCIES_1 =
+pc_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
+perf_event_open_SOURCES = perf_event_open.c
+perf_event_open_OBJECTS = perf_event_open.$(OBJEXT)
+perf_event_open_LDADD = $(LDADD)
+perf_event_open_DEPENDENCIES = libtests.a
+perf_event_open_nonverbose_SOURCES = perf_event_open_nonverbose.c
+perf_event_open_nonverbose_OBJECTS =  \
+	perf_event_open_nonverbose.$(OBJEXT)
+perf_event_open_nonverbose_LDADD = $(LDADD)
+perf_event_open_nonverbose_DEPENDENCIES = libtests.a
+perf_event_open_unabbrev_SOURCES = perf_event_open_unabbrev.c
+perf_event_open_unabbrev_OBJECTS = perf_event_open_unabbrev.$(OBJEXT)
+perf_event_open_unabbrev_LDADD = $(LDADD)
+perf_event_open_unabbrev_DEPENDENCIES = libtests.a
+personality_SOURCES = personality.c
+personality_OBJECTS = personality.$(OBJEXT)
+personality_LDADD = $(LDADD)
+personality_DEPENDENCIES = libtests.a
+pipe_SOURCES = pipe.c
+pipe_OBJECTS = pipe.$(OBJEXT)
+pipe_LDADD = $(LDADD)
+pipe_DEPENDENCIES = libtests.a
+pipe2_SOURCES = pipe2.c
+pipe2_OBJECTS = pipe2.$(OBJEXT)
+pipe2_LDADD = $(LDADD)
+pipe2_DEPENDENCIES = libtests.a
+pkey_alloc_SOURCES = pkey_alloc.c
+pkey_alloc_OBJECTS = pkey_alloc.$(OBJEXT)
+pkey_alloc_LDADD = $(LDADD)
+pkey_alloc_DEPENDENCIES = libtests.a
+pkey_free_SOURCES = pkey_free.c
+pkey_free_OBJECTS = pkey_free.$(OBJEXT)
+pkey_free_LDADD = $(LDADD)
+pkey_free_DEPENDENCIES = libtests.a
+pkey_mprotect_SOURCES = pkey_mprotect.c
+pkey_mprotect_OBJECTS = pkey_mprotect.$(OBJEXT)
+pkey_mprotect_LDADD = $(LDADD)
+pkey_mprotect_DEPENDENCIES = libtests.a
+poll_SOURCES = poll.c
+poll_OBJECTS = poll.$(OBJEXT)
+poll_LDADD = $(LDADD)
+poll_DEPENDENCIES = libtests.a
+ppoll_SOURCES = ppoll.c
+ppoll_OBJECTS = ppoll.$(OBJEXT)
+ppoll_LDADD = $(LDADD)
+ppoll_DEPENDENCIES = libtests.a
+prctl_arg2_intptr_SOURCES = prctl-arg2-intptr.c
+prctl_arg2_intptr_OBJECTS = prctl-arg2-intptr.$(OBJEXT)
+prctl_arg2_intptr_LDADD = $(LDADD)
+prctl_arg2_intptr_DEPENDENCIES = libtests.a
+prctl_dumpable_SOURCES = prctl-dumpable.c
+prctl_dumpable_OBJECTS = prctl-dumpable.$(OBJEXT)
+prctl_dumpable_LDADD = $(LDADD)
+prctl_dumpable_DEPENDENCIES = libtests.a
+prctl_name_SOURCES = prctl-name.c
+prctl_name_OBJECTS = prctl-name.$(OBJEXT)
+prctl_name_LDADD = $(LDADD)
+prctl_name_DEPENDENCIES = libtests.a
+prctl_no_args_SOURCES = prctl-no-args.c
+prctl_no_args_OBJECTS = prctl-no-args.$(OBJEXT)
+prctl_no_args_LDADD = $(LDADD)
+prctl_no_args_DEPENDENCIES = libtests.a
+prctl_pdeathsig_SOURCES = prctl-pdeathsig.c
+prctl_pdeathsig_OBJECTS = prctl-pdeathsig.$(OBJEXT)
+prctl_pdeathsig_LDADD = $(LDADD)
+prctl_pdeathsig_DEPENDENCIES = libtests.a
+prctl_seccomp_filter_v_SOURCES = prctl-seccomp-filter-v.c
+prctl_seccomp_filter_v_OBJECTS = prctl-seccomp-filter-v.$(OBJEXT)
+prctl_seccomp_filter_v_LDADD = $(LDADD)
+prctl_seccomp_filter_v_DEPENDENCIES = libtests.a
+prctl_seccomp_strict_SOURCES = prctl-seccomp-strict.c
+prctl_seccomp_strict_OBJECTS = prctl-seccomp-strict.$(OBJEXT)
+prctl_seccomp_strict_LDADD = $(LDADD)
+prctl_seccomp_strict_DEPENDENCIES = libtests.a
+prctl_securebits_SOURCES = prctl-securebits.c
+prctl_securebits_OBJECTS = prctl-securebits.$(OBJEXT)
+prctl_securebits_LDADD = $(LDADD)
+prctl_securebits_DEPENDENCIES = libtests.a
+prctl_tid_address_SOURCES = prctl-tid_address.c
+prctl_tid_address_OBJECTS = prctl-tid_address.$(OBJEXT)
+prctl_tid_address_LDADD = $(LDADD)
+prctl_tid_address_DEPENDENCIES = libtests.a
+prctl_tsc_SOURCES = prctl-tsc.c
+prctl_tsc_OBJECTS = prctl-tsc.$(OBJEXT)
+prctl_tsc_LDADD = $(LDADD)
+prctl_tsc_DEPENDENCIES = libtests.a
+pread64_pwrite64_SOURCES = pread64-pwrite64.c
+pread64_pwrite64_OBJECTS =  \
+	pread64_pwrite64-pread64-pwrite64.$(OBJEXT)
+pread64_pwrite64_LDADD = $(LDADD)
+pread64_pwrite64_DEPENDENCIES = libtests.a
+preadv_SOURCES = preadv.c
+preadv_OBJECTS = preadv-preadv.$(OBJEXT)
+preadv_LDADD = $(LDADD)
+preadv_DEPENDENCIES = libtests.a
+preadv_pwritev_SOURCES = preadv-pwritev.c
+preadv_pwritev_OBJECTS = preadv_pwritev-preadv-pwritev.$(OBJEXT)
+preadv_pwritev_LDADD = $(LDADD)
+preadv_pwritev_DEPENDENCIES = libtests.a
+preadv2_pwritev2_SOURCES = preadv2-pwritev2.c
+preadv2_pwritev2_OBJECTS = preadv2-pwritev2.$(OBJEXT)
+preadv2_pwritev2_LDADD = $(LDADD)
+preadv2_pwritev2_DEPENDENCIES = libtests.a
+print_maxfd_SOURCES = print_maxfd.c
+print_maxfd_OBJECTS = print_maxfd.$(OBJEXT)
+print_maxfd_LDADD = $(LDADD)
+print_maxfd_DEPENDENCIES = libtests.a
+printstr_SOURCES = printstr.c
+printstr_OBJECTS = printstr.$(OBJEXT)
+printstr_LDADD = $(LDADD)
+printstr_DEPENDENCIES = libtests.a
+prlimit64_SOURCES = prlimit64.c
+prlimit64_OBJECTS = prlimit64.$(OBJEXT)
+prlimit64_LDADD = $(LDADD)
+prlimit64_DEPENDENCIES = libtests.a
+process_vm_readv_SOURCES = process_vm_readv.c
+process_vm_readv_OBJECTS = process_vm_readv.$(OBJEXT)
+process_vm_readv_LDADD = $(LDADD)
+process_vm_readv_DEPENDENCIES = libtests.a
+process_vm_writev_SOURCES = process_vm_writev.c
+process_vm_writev_OBJECTS = process_vm_writev.$(OBJEXT)
+process_vm_writev_LDADD = $(LDADD)
+process_vm_writev_DEPENDENCIES = libtests.a
+pselect6_SOURCES = pselect6.c
+pselect6_OBJECTS = pselect6.$(OBJEXT)
+pselect6_LDADD = $(LDADD)
+pselect6_DEPENDENCIES = libtests.a
+ptrace_SOURCES = ptrace.c
+ptrace_OBJECTS = ptrace.$(OBJEXT)
+ptrace_LDADD = $(LDADD)
+ptrace_DEPENDENCIES = libtests.a
+pwritev_SOURCES = pwritev.c
+pwritev_OBJECTS = pwritev-pwritev.$(OBJEXT)
+pwritev_LDADD = $(LDADD)
+pwritev_DEPENDENCIES = libtests.a
+qual_fault_SOURCES = qual_fault.c
+qual_fault_OBJECTS = qual_fault.$(OBJEXT)
+qual_fault_LDADD = $(LDADD)
+qual_fault_DEPENDENCIES = libtests.a
+qual_inject_error_signal_SOURCES = qual_inject-error-signal.c
+qual_inject_error_signal_OBJECTS = qual_inject-error-signal.$(OBJEXT)
+qual_inject_error_signal_LDADD = $(LDADD)
+qual_inject_error_signal_DEPENDENCIES = libtests.a
+qual_inject_retval_SOURCES = qual_inject-retval.c
+qual_inject_retval_OBJECTS = qual_inject-retval.$(OBJEXT)
+qual_inject_retval_LDADD = $(LDADD)
+qual_inject_retval_DEPENDENCIES = libtests.a
+qual_inject_signal_SOURCES = qual_inject-signal.c
+qual_inject_signal_OBJECTS = qual_inject-signal.$(OBJEXT)
+qual_inject_signal_LDADD = $(LDADD)
+qual_inject_signal_DEPENDENCIES = libtests.a
+qual_signal_SOURCES = qual_signal.c
+qual_signal_OBJECTS = qual_signal.$(OBJEXT)
+qual_signal_LDADD = $(LDADD)
+qual_signal_DEPENDENCIES = libtests.a
+quotactl_SOURCES = quotactl.c
+quotactl_OBJECTS = quotactl.$(OBJEXT)
+quotactl_LDADD = $(LDADD)
+quotactl_DEPENDENCIES = libtests.a
+quotactl_v_SOURCES = quotactl-v.c
+quotactl_v_OBJECTS = quotactl-v.$(OBJEXT)
+quotactl_v_LDADD = $(LDADD)
+quotactl_v_DEPENDENCIES = libtests.a
+quotactl_xfs_SOURCES = quotactl-xfs.c
+quotactl_xfs_OBJECTS = quotactl-xfs.$(OBJEXT)
+quotactl_xfs_LDADD = $(LDADD)
+quotactl_xfs_DEPENDENCIES = libtests.a
+quotactl_xfs_v_SOURCES = quotactl-xfs-v.c
+quotactl_xfs_v_OBJECTS = quotactl-xfs-v.$(OBJEXT)
+quotactl_xfs_v_LDADD = $(LDADD)
+quotactl_xfs_v_DEPENDENCIES = libtests.a
+read_write_SOURCES = read-write.c
+read_write_OBJECTS = read-write.$(OBJEXT)
+read_write_LDADD = $(LDADD)
+read_write_DEPENDENCIES = libtests.a
+readahead_SOURCES = readahead.c
+readahead_OBJECTS = readahead.$(OBJEXT)
+readahead_LDADD = $(LDADD)
+readahead_DEPENDENCIES = libtests.a
+readdir_SOURCES = readdir.c
+readdir_OBJECTS = readdir.$(OBJEXT)
+readdir_LDADD = $(LDADD)
+readdir_DEPENDENCIES = libtests.a
+readlink_SOURCES = readlink.c
+readlink_OBJECTS = readlink.$(OBJEXT)
+readlink_LDADD = $(LDADD)
+readlink_DEPENDENCIES = libtests.a
+readlinkat_SOURCES = readlinkat.c
+readlinkat_OBJECTS = readlinkat.$(OBJEXT)
+readlinkat_LDADD = $(LDADD)
+readlinkat_DEPENDENCIES = libtests.a
+readv_SOURCES = readv.c
+readv_OBJECTS = readv.$(OBJEXT)
+readv_LDADD = $(LDADD)
+readv_DEPENDENCIES = libtests.a
+reboot_SOURCES = reboot.c
+reboot_OBJECTS = reboot.$(OBJEXT)
+reboot_LDADD = $(LDADD)
+reboot_DEPENDENCIES = libtests.a
+recvfrom_SOURCES = recvfrom.c
+recvfrom_OBJECTS = recvfrom.$(OBJEXT)
+recvfrom_LDADD = $(LDADD)
+recvfrom_DEPENDENCIES = libtests.a
+recvmmsg_timeout_SOURCES = recvmmsg-timeout.c
+recvmmsg_timeout_OBJECTS = recvmmsg-timeout.$(OBJEXT)
+recvmmsg_timeout_LDADD = $(LDADD)
+recvmmsg_timeout_DEPENDENCIES = libtests.a
+recvmsg_SOURCES = recvmsg.c
+recvmsg_OBJECTS = recvmsg.$(OBJEXT)
+recvmsg_LDADD = $(LDADD)
+recvmsg_DEPENDENCIES = libtests.a
+redirect_fds_SOURCES = redirect-fds.c
+redirect_fds_OBJECTS = redirect-fds.$(OBJEXT)
+redirect_fds_LDADD = $(LDADD)
+redirect_fds_DEPENDENCIES = libtests.a
+remap_file_pages_SOURCES = remap_file_pages.c
+remap_file_pages_OBJECTS = remap_file_pages.$(OBJEXT)
+remap_file_pages_LDADD = $(LDADD)
+remap_file_pages_DEPENDENCIES = libtests.a
+rename_SOURCES = rename.c
+rename_OBJECTS = rename.$(OBJEXT)
+rename_LDADD = $(LDADD)
+rename_DEPENDENCIES = libtests.a
+renameat_SOURCES = renameat.c
+renameat_OBJECTS = renameat.$(OBJEXT)
+renameat_LDADD = $(LDADD)
+renameat_DEPENDENCIES = libtests.a
+renameat2_SOURCES = renameat2.c
+renameat2_OBJECTS = renameat2.$(OBJEXT)
+renameat2_LDADD = $(LDADD)
+renameat2_DEPENDENCIES = libtests.a
+request_key_SOURCES = request_key.c
+request_key_OBJECTS = request_key.$(OBJEXT)
+request_key_LDADD = $(LDADD)
+request_key_DEPENDENCIES = libtests.a
+restart_syscall_SOURCES = restart_syscall.c
+restart_syscall_OBJECTS = restart_syscall.$(OBJEXT)
+restart_syscall_LDADD = $(LDADD)
+restart_syscall_DEPENDENCIES = libtests.a
+rmdir_SOURCES = rmdir.c
+rmdir_OBJECTS = rmdir.$(OBJEXT)
+rmdir_LDADD = $(LDADD)
+rmdir_DEPENDENCIES = libtests.a
+rt_sigpending_SOURCES = rt_sigpending.c
+rt_sigpending_OBJECTS = rt_sigpending.$(OBJEXT)
+rt_sigpending_LDADD = $(LDADD)
+rt_sigpending_DEPENDENCIES = libtests.a
+rt_sigprocmask_SOURCES = rt_sigprocmask.c
+rt_sigprocmask_OBJECTS = rt_sigprocmask.$(OBJEXT)
+rt_sigprocmask_LDADD = $(LDADD)
+rt_sigprocmask_DEPENDENCIES = libtests.a
+rt_sigqueueinfo_SOURCES = rt_sigqueueinfo.c
+rt_sigqueueinfo_OBJECTS = rt_sigqueueinfo.$(OBJEXT)
+rt_sigqueueinfo_LDADD = $(LDADD)
+rt_sigqueueinfo_DEPENDENCIES = libtests.a
+rt_sigsuspend_SOURCES = rt_sigsuspend.c
+rt_sigsuspend_OBJECTS = rt_sigsuspend.$(OBJEXT)
+rt_sigsuspend_LDADD = $(LDADD)
+rt_sigsuspend_DEPENDENCIES = libtests.a
+rt_sigtimedwait_SOURCES = rt_sigtimedwait.c
+rt_sigtimedwait_OBJECTS = rt_sigtimedwait.$(OBJEXT)
+rt_sigtimedwait_LDADD = $(LDADD)
+rt_sigtimedwait_DEPENDENCIES = libtests.a
+rt_tgsigqueueinfo_SOURCES = rt_tgsigqueueinfo.c
+rt_tgsigqueueinfo_OBJECTS = rt_tgsigqueueinfo.$(OBJEXT)
+rt_tgsigqueueinfo_LDADD = $(LDADD)
+rt_tgsigqueueinfo_DEPENDENCIES = libtests.a
+sched_get_priority_mxx_SOURCES = sched_get_priority_mxx.c
+sched_get_priority_mxx_OBJECTS = sched_get_priority_mxx.$(OBJEXT)
+sched_get_priority_mxx_LDADD = $(LDADD)
+sched_get_priority_mxx_DEPENDENCIES = libtests.a
+sched_rr_get_interval_SOURCES = sched_rr_get_interval.c
+sched_rr_get_interval_OBJECTS = sched_rr_get_interval.$(OBJEXT)
+sched_rr_get_interval_LDADD = $(LDADD)
+sched_rr_get_interval_DEPENDENCIES = libtests.a
+sched_xetaffinity_SOURCES = sched_xetaffinity.c
+sched_xetaffinity_OBJECTS = sched_xetaffinity.$(OBJEXT)
+sched_xetaffinity_LDADD = $(LDADD)
+sched_xetaffinity_DEPENDENCIES = libtests.a
+sched_xetattr_SOURCES = sched_xetattr.c
+sched_xetattr_OBJECTS = sched_xetattr.$(OBJEXT)
+sched_xetattr_LDADD = $(LDADD)
+sched_xetattr_DEPENDENCIES = libtests.a
+sched_xetparam_SOURCES = sched_xetparam.c
+sched_xetparam_OBJECTS = sched_xetparam.$(OBJEXT)
+sched_xetparam_LDADD = $(LDADD)
+sched_xetparam_DEPENDENCIES = libtests.a
+sched_xetscheduler_SOURCES = sched_xetscheduler.c
+sched_xetscheduler_OBJECTS = sched_xetscheduler.$(OBJEXT)
+sched_xetscheduler_LDADD = $(LDADD)
+sched_xetscheduler_DEPENDENCIES = libtests.a
+sched_yield_SOURCES = sched_yield.c
+sched_yield_OBJECTS = sched_yield.$(OBJEXT)
+sched_yield_LDADD = $(LDADD)
+sched_yield_DEPENDENCIES = libtests.a
+scm_rights_SOURCES = scm_rights.c
+scm_rights_OBJECTS = scm_rights.$(OBJEXT)
+scm_rights_LDADD = $(LDADD)
+scm_rights_DEPENDENCIES = libtests.a
+seccomp_filter_SOURCES = seccomp-filter.c
+seccomp_filter_OBJECTS = seccomp-filter.$(OBJEXT)
+seccomp_filter_LDADD = $(LDADD)
+seccomp_filter_DEPENDENCIES = libtests.a
+seccomp_filter_v_SOURCES = seccomp-filter-v.c
+seccomp_filter_v_OBJECTS = seccomp-filter-v.$(OBJEXT)
+seccomp_filter_v_LDADD = $(LDADD)
+seccomp_filter_v_DEPENDENCIES = libtests.a
+seccomp_strict_SOURCES = seccomp-strict.c
+seccomp_strict_OBJECTS = seccomp-strict.$(OBJEXT)
+seccomp_strict_LDADD = $(LDADD)
+seccomp_strict_DEPENDENCIES = libtests.a
+select_SOURCES = select.c
+select_OBJECTS = select.$(OBJEXT)
+select_LDADD = $(LDADD)
+select_DEPENDENCIES = libtests.a
+semop_SOURCES = semop.c
+semop_OBJECTS = semop.$(OBJEXT)
+semop_LDADD = $(LDADD)
+semop_DEPENDENCIES = libtests.a
+sendfile_SOURCES = sendfile.c
+sendfile_OBJECTS = sendfile.$(OBJEXT)
+sendfile_LDADD = $(LDADD)
+sendfile_DEPENDENCIES = libtests.a
+sendfile64_SOURCES = sendfile64.c
+sendfile64_OBJECTS = sendfile64.$(OBJEXT)
+sendfile64_LDADD = $(LDADD)
+sendfile64_DEPENDENCIES = libtests.a
+set_mempolicy_SOURCES = set_mempolicy.c
+set_mempolicy_OBJECTS = set_mempolicy.$(OBJEXT)
+set_mempolicy_LDADD = $(LDADD)
+set_mempolicy_DEPENDENCIES = libtests.a
+set_ptracer_any_SOURCES = set_ptracer_any.c
+set_ptracer_any_OBJECTS = set_ptracer_any.$(OBJEXT)
+set_ptracer_any_LDADD = $(LDADD)
+set_ptracer_any_DEPENDENCIES = libtests.a
+setdomainname_SOURCES = setdomainname.c
+setdomainname_OBJECTS = setdomainname.$(OBJEXT)
+setdomainname_LDADD = $(LDADD)
+setdomainname_DEPENDENCIES = libtests.a
+setfsgid_SOURCES = setfsgid.c
+setfsgid_OBJECTS = setfsgid.$(OBJEXT)
+setfsgid_LDADD = $(LDADD)
+setfsgid_DEPENDENCIES = libtests.a
+setfsgid32_SOURCES = setfsgid32.c
+setfsgid32_OBJECTS = setfsgid32.$(OBJEXT)
+setfsgid32_LDADD = $(LDADD)
+setfsgid32_DEPENDENCIES = libtests.a
+setfsuid_SOURCES = setfsuid.c
+setfsuid_OBJECTS = setfsuid.$(OBJEXT)
+setfsuid_LDADD = $(LDADD)
+setfsuid_DEPENDENCIES = libtests.a
+setfsuid32_SOURCES = setfsuid32.c
+setfsuid32_OBJECTS = setfsuid32.$(OBJEXT)
+setfsuid32_LDADD = $(LDADD)
+setfsuid32_DEPENDENCIES = libtests.a
+setgid_SOURCES = setgid.c
+setgid_OBJECTS = setgid.$(OBJEXT)
+setgid_LDADD = $(LDADD)
+setgid_DEPENDENCIES = libtests.a
+setgid32_SOURCES = setgid32.c
+setgid32_OBJECTS = setgid32.$(OBJEXT)
+setgid32_LDADD = $(LDADD)
+setgid32_DEPENDENCIES = libtests.a
+setgroups_SOURCES = setgroups.c
+setgroups_OBJECTS = setgroups.$(OBJEXT)
+setgroups_LDADD = $(LDADD)
+setgroups_DEPENDENCIES = libtests.a
+setgroups32_SOURCES = setgroups32.c
+setgroups32_OBJECTS = setgroups32.$(OBJEXT)
+setgroups32_LDADD = $(LDADD)
+setgroups32_DEPENDENCIES = libtests.a
+sethostname_SOURCES = sethostname.c
+sethostname_OBJECTS = sethostname.$(OBJEXT)
+sethostname_LDADD = $(LDADD)
+sethostname_DEPENDENCIES = libtests.a
+setns_SOURCES = setns.c
+setns_OBJECTS = setns.$(OBJEXT)
+setns_LDADD = $(LDADD)
+setns_DEPENDENCIES = libtests.a
+setregid_SOURCES = setregid.c
+setregid_OBJECTS = setregid.$(OBJEXT)
+setregid_LDADD = $(LDADD)
+setregid_DEPENDENCIES = libtests.a
+setregid32_SOURCES = setregid32.c
+setregid32_OBJECTS = setregid32.$(OBJEXT)
+setregid32_LDADD = $(LDADD)
+setregid32_DEPENDENCIES = libtests.a
+setresgid_SOURCES = setresgid.c
+setresgid_OBJECTS = setresgid.$(OBJEXT)
+setresgid_LDADD = $(LDADD)
+setresgid_DEPENDENCIES = libtests.a
+setresgid32_SOURCES = setresgid32.c
+setresgid32_OBJECTS = setresgid32.$(OBJEXT)
+setresgid32_LDADD = $(LDADD)
+setresgid32_DEPENDENCIES = libtests.a
+setresuid_SOURCES = setresuid.c
+setresuid_OBJECTS = setresuid.$(OBJEXT)
+setresuid_LDADD = $(LDADD)
+setresuid_DEPENDENCIES = libtests.a
+setresuid32_SOURCES = setresuid32.c
+setresuid32_OBJECTS = setresuid32.$(OBJEXT)
+setresuid32_LDADD = $(LDADD)
+setresuid32_DEPENDENCIES = libtests.a
+setreuid_SOURCES = setreuid.c
+setreuid_OBJECTS = setreuid.$(OBJEXT)
+setreuid_LDADD = $(LDADD)
+setreuid_DEPENDENCIES = libtests.a
+setreuid32_SOURCES = setreuid32.c
+setreuid32_OBJECTS = setreuid32.$(OBJEXT)
+setreuid32_LDADD = $(LDADD)
+setreuid32_DEPENDENCIES = libtests.a
+setrlimit_SOURCES = setrlimit.c
+setrlimit_OBJECTS = setrlimit.$(OBJEXT)
+setrlimit_LDADD = $(LDADD)
+setrlimit_DEPENDENCIES = libtests.a
+setuid_SOURCES = setuid.c
+setuid_OBJECTS = setuid.$(OBJEXT)
+setuid_LDADD = $(LDADD)
+setuid_DEPENDENCIES = libtests.a
+setuid32_SOURCES = setuid32.c
+setuid32_OBJECTS = setuid32.$(OBJEXT)
+setuid32_LDADD = $(LDADD)
+setuid32_DEPENDENCIES = libtests.a
+shmxt_SOURCES = shmxt.c
+shmxt_OBJECTS = shmxt.$(OBJEXT)
+shmxt_LDADD = $(LDADD)
+shmxt_DEPENDENCIES = libtests.a
+shutdown_SOURCES = shutdown.c
+shutdown_OBJECTS = shutdown.$(OBJEXT)
+shutdown_LDADD = $(LDADD)
+shutdown_DEPENDENCIES = libtests.a
+sigaction_SOURCES = sigaction.c
+sigaction_OBJECTS = sigaction.$(OBJEXT)
+sigaction_LDADD = $(LDADD)
+sigaction_DEPENDENCIES = libtests.a
+sigaltstack_SOURCES = sigaltstack.c
+sigaltstack_OBJECTS = sigaltstack.$(OBJEXT)
+sigaltstack_LDADD = $(LDADD)
+sigaltstack_DEPENDENCIES = libtests.a
+siginfo_SOURCES = siginfo.c
+siginfo_OBJECTS = siginfo.$(OBJEXT)
+siginfo_LDADD = $(LDADD)
+siginfo_DEPENDENCIES = libtests.a
+signal_receive_SOURCES = signal_receive.c
+signal_receive_OBJECTS = signal_receive.$(OBJEXT)
+signal_receive_LDADD = $(LDADD)
+signal_receive_DEPENDENCIES = libtests.a
+signalfd4_SOURCES = signalfd4.c
+signalfd4_OBJECTS = signalfd4.$(OBJEXT)
+signalfd4_LDADD = $(LDADD)
+signalfd4_DEPENDENCIES = libtests.a
+sigreturn_SOURCES = sigreturn.c
+sigreturn_OBJECTS = sigreturn.$(OBJEXT)
+sigreturn_LDADD = $(LDADD)
+sigreturn_DEPENDENCIES = libtests.a
+sleep_SOURCES = sleep.c
+sleep_OBJECTS = sleep.$(OBJEXT)
+sleep_LDADD = $(LDADD)
+sleep_DEPENDENCIES = libtests.a
+socketcall_SOURCES = socketcall.c
+socketcall_OBJECTS = socketcall.$(OBJEXT)
+socketcall_LDADD = $(LDADD)
+socketcall_DEPENDENCIES = libtests.a
+splice_SOURCES = splice.c
+splice_OBJECTS = splice.$(OBJEXT)
+splice_LDADD = $(LDADD)
+splice_DEPENDENCIES = libtests.a
+am_stack_fcall_OBJECTS = stack-fcall.$(OBJEXT) stack-fcall-0.$(OBJEXT) \
+	stack-fcall-1.$(OBJEXT) stack-fcall-2.$(OBJEXT) \
+	stack-fcall-3.$(OBJEXT)
+stack_fcall_OBJECTS = $(am_stack_fcall_OBJECTS)
+stack_fcall_LDADD = $(LDADD)
+stack_fcall_DEPENDENCIES = libtests.a
+stat_SOURCES = stat.c
+stat_OBJECTS = stat.$(OBJEXT)
+stat_LDADD = $(LDADD)
+stat_DEPENDENCIES = libtests.a
+stat64_SOURCES = stat64.c
+stat64_OBJECTS = stat64-stat64.$(OBJEXT)
+stat64_LDADD = $(LDADD)
+stat64_DEPENDENCIES = libtests.a
+statfs_SOURCES = statfs.c
+statfs_OBJECTS = statfs-statfs.$(OBJEXT)
+statfs_LDADD = $(LDADD)
+statfs_DEPENDENCIES = libtests.a
+statfs64_SOURCES = statfs64.c
+statfs64_OBJECTS = statfs64.$(OBJEXT)
+statfs64_LDADD = $(LDADD)
+statfs64_DEPENDENCIES = libtests.a
+swap_SOURCES = swap.c
+swap_OBJECTS = swap.$(OBJEXT)
+swap_LDADD = $(LDADD)
+swap_DEPENDENCIES = libtests.a
+symlink_SOURCES = symlink.c
+symlink_OBJECTS = symlink.$(OBJEXT)
+symlink_LDADD = $(LDADD)
+symlink_DEPENDENCIES = libtests.a
+symlinkat_SOURCES = symlinkat.c
+symlinkat_OBJECTS = symlinkat.$(OBJEXT)
+symlinkat_LDADD = $(LDADD)
+symlinkat_DEPENDENCIES = libtests.a
+sync_SOURCES = sync.c
+sync_OBJECTS = sync.$(OBJEXT)
+sync_LDADD = $(LDADD)
+sync_DEPENDENCIES = libtests.a
+sync_file_range_SOURCES = sync_file_range.c
+sync_file_range_OBJECTS = sync_file_range.$(OBJEXT)
+sync_file_range_LDADD = $(LDADD)
+sync_file_range_DEPENDENCIES = libtests.a
+sync_file_range2_SOURCES = sync_file_range2.c
+sync_file_range2_OBJECTS = sync_file_range2.$(OBJEXT)
+sync_file_range2_LDADD = $(LDADD)
+sync_file_range2_DEPENDENCIES = libtests.a
+sysinfo_SOURCES = sysinfo.c
+sysinfo_OBJECTS = sysinfo.$(OBJEXT)
+sysinfo_LDADD = $(LDADD)
+sysinfo_DEPENDENCIES = libtests.a
+syslog_SOURCES = syslog.c
+syslog_OBJECTS = syslog.$(OBJEXT)
+syslog_LDADD = $(LDADD)
+syslog_DEPENDENCIES = libtests.a
+tee_SOURCES = tee.c
+tee_OBJECTS = tee.$(OBJEXT)
+tee_LDADD = $(LDADD)
+tee_DEPENDENCIES = libtests.a
+threads_execve_SOURCES = threads-execve.c
+threads_execve_OBJECTS = threads-execve.$(OBJEXT)
+threads_execve_DEPENDENCIES = $(LDADD)
+time_SOURCES = time.c
+time_OBJECTS = time.$(OBJEXT)
+time_LDADD = $(LDADD)
+time_DEPENDENCIES = libtests.a
+timer_create_SOURCES = timer_create.c
+timer_create_OBJECTS = timer_create.$(OBJEXT)
+timer_create_LDADD = $(LDADD)
+timer_create_DEPENDENCIES = libtests.a
+timer_xettime_SOURCES = timer_xettime.c
+timer_xettime_OBJECTS = timer_xettime.$(OBJEXT)
+timer_xettime_LDADD = $(LDADD)
+timer_xettime_DEPENDENCIES = libtests.a
+timerfd_xettime_SOURCES = timerfd_xettime.c
+timerfd_xettime_OBJECTS = timerfd_xettime.$(OBJEXT)
+timerfd_xettime_LDADD = $(LDADD)
+timerfd_xettime_DEPENDENCIES = libtests.a
+times_SOURCES = times.c
+times_OBJECTS = times.$(OBJEXT)
+times_DEPENDENCIES = $(LDADD)
+times_fail_SOURCES = times-fail.c
+times_fail_OBJECTS = times-fail.$(OBJEXT)
+times_fail_LDADD = $(LDADD)
+times_fail_DEPENDENCIES = libtests.a
+truncate_SOURCES = truncate.c
+truncate_OBJECTS = truncate.$(OBJEXT)
+truncate_LDADD = $(LDADD)
+truncate_DEPENDENCIES = libtests.a
+truncate64_SOURCES = truncate64.c
+truncate64_OBJECTS = truncate64-truncate64.$(OBJEXT)
+truncate64_LDADD = $(LDADD)
+truncate64_DEPENDENCIES = libtests.a
+ugetrlimit_SOURCES = ugetrlimit.c
+ugetrlimit_OBJECTS = ugetrlimit.$(OBJEXT)
+ugetrlimit_LDADD = $(LDADD)
+ugetrlimit_DEPENDENCIES = libtests.a
+uio_SOURCES = uio.c
+uio_OBJECTS = uio-uio.$(OBJEXT)
+uio_LDADD = $(LDADD)
+uio_DEPENDENCIES = libtests.a
+umask_SOURCES = umask.c
+umask_OBJECTS = umask.$(OBJEXT)
+umask_LDADD = $(LDADD)
+umask_DEPENDENCIES = libtests.a
+umount_SOURCES = umount.c
+umount_OBJECTS = umount.$(OBJEXT)
+umount_LDADD = $(LDADD)
+umount_DEPENDENCIES = libtests.a
+umount2_SOURCES = umount2.c
+umount2_OBJECTS = umount2.$(OBJEXT)
+umount2_LDADD = $(LDADD)
+umount2_DEPENDENCIES = libtests.a
+umoven_illptr_SOURCES = umoven-illptr.c
+umoven_illptr_OBJECTS = umoven-illptr.$(OBJEXT)
+umoven_illptr_LDADD = $(LDADD)
+umoven_illptr_DEPENDENCIES = libtests.a
+umovestr_SOURCES = umovestr.c
+umovestr_OBJECTS = umovestr.$(OBJEXT)
+umovestr_LDADD = $(LDADD)
+umovestr_DEPENDENCIES = libtests.a
+umovestr_illptr_SOURCES = umovestr-illptr.c
+umovestr_illptr_OBJECTS = umovestr-illptr.$(OBJEXT)
+umovestr_illptr_LDADD = $(LDADD)
+umovestr_illptr_DEPENDENCIES = libtests.a
+umovestr2_SOURCES = umovestr2.c
+umovestr2_OBJECTS = umovestr2.$(OBJEXT)
+umovestr2_LDADD = $(LDADD)
+umovestr2_DEPENDENCIES = libtests.a
+umovestr3_SOURCES = umovestr3.c
+umovestr3_OBJECTS = umovestr3.$(OBJEXT)
+umovestr3_LDADD = $(LDADD)
+umovestr3_DEPENDENCIES = libtests.a
+uname_SOURCES = uname.c
+uname_OBJECTS = uname.$(OBJEXT)
+uname_LDADD = $(LDADD)
+uname_DEPENDENCIES = libtests.a
+unix_pair_send_recv_SOURCES = unix-pair-send-recv.c
+unix_pair_send_recv_OBJECTS = unix-pair-send-recv.$(OBJEXT)
+unix_pair_send_recv_LDADD = $(LDADD)
+unix_pair_send_recv_DEPENDENCIES = libtests.a
+unix_pair_sendto_recvfrom_SOURCES = unix-pair-sendto-recvfrom.c
+unix_pair_sendto_recvfrom_OBJECTS =  \
+	unix-pair-sendto-recvfrom.$(OBJEXT)
+unix_pair_sendto_recvfrom_LDADD = $(LDADD)
+unix_pair_sendto_recvfrom_DEPENDENCIES = libtests.a
+unlink_SOURCES = unlink.c
+unlink_OBJECTS = unlink.$(OBJEXT)
+unlink_LDADD = $(LDADD)
+unlink_DEPENDENCIES = libtests.a
+unlinkat_SOURCES = unlinkat.c
+unlinkat_OBJECTS = unlinkat.$(OBJEXT)
+unlinkat_LDADD = $(LDADD)
+unlinkat_DEPENDENCIES = libtests.a
+unshare_SOURCES = unshare.c
+unshare_OBJECTS = unshare.$(OBJEXT)
+unshare_LDADD = $(LDADD)
+unshare_DEPENDENCIES = libtests.a
+userfaultfd_SOURCES = userfaultfd.c
+userfaultfd_OBJECTS = userfaultfd.$(OBJEXT)
+userfaultfd_LDADD = $(LDADD)
+userfaultfd_DEPENDENCIES = libtests.a
+ustat_SOURCES = ustat.c
+ustat_OBJECTS = ustat.$(OBJEXT)
+ustat_LDADD = $(LDADD)
+ustat_DEPENDENCIES = libtests.a
+utime_SOURCES = utime.c
+utime_OBJECTS = utime.$(OBJEXT)
+utime_LDADD = $(LDADD)
+utime_DEPENDENCIES = libtests.a
+utimensat_SOURCES = utimensat.c
+utimensat_OBJECTS = utimensat.$(OBJEXT)
+utimensat_LDADD = $(LDADD)
+utimensat_DEPENDENCIES = libtests.a
+utimes_SOURCES = utimes.c
+utimes_OBJECTS = utimes.$(OBJEXT)
+utimes_LDADD = $(LDADD)
+utimes_DEPENDENCIES = libtests.a
+vfork_f_SOURCES = vfork-f.c
+vfork_f_OBJECTS = vfork-f.$(OBJEXT)
+vfork_f_LDADD = $(LDADD)
+vfork_f_DEPENDENCIES = libtests.a
+vhangup_SOURCES = vhangup.c
+vhangup_OBJECTS = vhangup.$(OBJEXT)
+vhangup_LDADD = $(LDADD)
+vhangup_DEPENDENCIES = libtests.a
+vmsplice_SOURCES = vmsplice.c
+vmsplice_OBJECTS = vmsplice.$(OBJEXT)
+vmsplice_LDADD = $(LDADD)
+vmsplice_DEPENDENCIES = libtests.a
+wait4_SOURCES = wait4.c
+wait4_OBJECTS = wait4.$(OBJEXT)
+wait4_LDADD = $(LDADD)
+wait4_DEPENDENCIES = libtests.a
+wait4_v_SOURCES = wait4-v.c
+wait4_v_OBJECTS = wait4-v.$(OBJEXT)
+wait4_v_LDADD = $(LDADD)
+wait4_v_DEPENDENCIES = libtests.a
+waitid_SOURCES = waitid.c
+waitid_OBJECTS = waitid.$(OBJEXT)
+waitid_LDADD = $(LDADD)
+waitid_DEPENDENCIES = libtests.a
+waitid_v_SOURCES = waitid-v.c
+waitid_v_OBJECTS = waitid-v.$(OBJEXT)
+waitid_v_LDADD = $(LDADD)
+waitid_v_DEPENDENCIES = libtests.a
+waitpid_SOURCES = waitpid.c
+waitpid_OBJECTS = waitpid.$(OBJEXT)
+waitpid_LDADD = $(LDADD)
+waitpid_DEPENDENCIES = libtests.a
+xattr_SOURCES = xattr.c
+xattr_OBJECTS = xattr.$(OBJEXT)
+xattr_LDADD = $(LDADD)
+xattr_DEPENDENCIES = libtests.a
+xattr_strings_SOURCES = xattr-strings.c
+xattr_strings_OBJECTS = xattr-strings.$(OBJEXT)
+xattr_strings_LDADD = $(LDADD)
+xattr_strings_DEPENDENCIES = libtests.a
+xet_robust_list_SOURCES = xet_robust_list.c
+xet_robust_list_OBJECTS = xet_robust_list.$(OBJEXT)
+xet_robust_list_LDADD = $(LDADD)
+xet_robust_list_DEPENDENCIES = libtests.a
+xetitimer_SOURCES = xetitimer.c
+xetitimer_OBJECTS = xetitimer.$(OBJEXT)
+xetitimer_LDADD = $(LDADD)
+xetitimer_DEPENDENCIES = libtests.a
+xetpgid_SOURCES = xetpgid.c
+xetpgid_OBJECTS = xetpgid.$(OBJEXT)
+xetpgid_LDADD = $(LDADD)
+xetpgid_DEPENDENCIES = libtests.a
+xetpriority_SOURCES = xetpriority.c
+xetpriority_OBJECTS = xetpriority.$(OBJEXT)
+xetpriority_LDADD = $(LDADD)
+xetpriority_DEPENDENCIES = libtests.a
+xettimeofday_SOURCES = xettimeofday.c
+xettimeofday_OBJECTS = xettimeofday.$(OBJEXT)
+xettimeofday_LDADD = $(LDADD)
+xettimeofday_DEPENDENCIES = libtests.a
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+DEFAULT_INCLUDES = 
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 = 
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
+SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
+	access.c acct.c add_key.c adjtimex.c aio.c alarm.c answer.c \
+	attach-f-p.c attach-f-p-cmd.c attach-p-cmd-cmd.c \
+	attach-p-cmd-p.c bpf.c brk.c btrfs.c caps.c caps-abbrev.c \
+	chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
+	clock_nanosleep.c clock_xettime.c copy_file_range.c count-f.c \
+	creat.c delete_module.c dup.c dup2.c dup3.c epoll_create.c \
+	epoll_create1.c epoll_ctl.c epoll_pwait.c epoll_wait.c \
+	erestartsys.c eventfd.c execve.c execve-v.c execveat.c \
+	execveat-v.c faccessat.c fadvise64.c fadvise64_64.c \
+	fallocate.c fanotify_init.c fanotify_mark.c fchdir.c fchmod.c \
+	fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c fcntl64.c \
+	fdatasync.c file_handle.c file_ioctl.c filter-unavailable.c \
+	finit_module.c flock.c fork-f.c fstat.c fstat64.c fstatat64.c \
+	fstatfs.c fstatfs64.c fsync.c ftruncate.c ftruncate64.c \
+	futex.c futimesat.c get_mempolicy.c getcpu.c getcwd.c \
+	getdents.c getdents64.c getegid.c getegid32.c geteuid.c \
+	geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
+	getpeername.c getpgrp.c getrandom.c getresgid.c getresgid32.c \
+	getresuid.c getresuid32.c getrlimit.c getrusage.c getsid.c \
+	getsockname.c getuid.c getuid32.c getxxid.c inet-cmsg.c \
+	init_module.c inotify.c inotify_init1.c ioctl.c ioctl_block.c \
+	ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-v.c \
+	ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c \
+	ioctl_rtc.c ioctl_rtc-v.c ioctl_scsi.c ioctl_sg_io_v3.c \
+	ioctl_sg_io_v4.c ioctl_sock_gifconf.c ioctl_uffdio.c \
+	ioctl_v4l2.c ioperm.c iopl.c ioprio.c ip_mreq.c ipc.c \
+	ipc_msg.c ipc_msgbuf.c ipc_sem.c ipc_shm.c kcmp.c \
+	kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
+	lchown.c lchown32.c link.c linkat.c llseek.c lookup_dcookie.c \
+	lseek.c lstat.c lstat64.c mbind.c membarrier.c memfd_create.c \
+	migrate_pages.c mincore.c mkdir.c mkdirat.c mknod.c mknodat.c \
+	mlock.c mlock2.c mlockall.c mmap.c mmap64.c mmsg.c \
+	mmsg-silent.c mmsg_name.c mmsg_name-v.c mount.c move_pages.c \
+	mq.c mq_sendrecv.c mq_sendrecv-read.c mq_sendrecv-write.c \
+	msg_control.c msg_control-v.c msg_name.c munlockall.c \
+	nanosleep.c net-accept-connect.c net-icmp_filter.c \
+	net-sockaddr.c net-y-unix.c net-yy-inet.c net-yy-netlink.c \
+	net-yy-unix.c netlink_inet_diag.c netlink_netlink_diag.c \
+	netlink_protocol.c netlink_unix_diag.c newfstatat.c \
+	nsyscalls.c old_mmap.c oldfstat.c oldlstat.c oldselect.c \
+	oldstat.c open.c openat.c pause.c pc.c perf_event_open.c \
+	perf_event_open_nonverbose.c perf_event_open_unabbrev.c \
+	personality.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
+	pkey_mprotect.c poll.c ppoll.c prctl-arg2-intptr.c \
+	prctl-dumpable.c prctl-name.c prctl-no-args.c \
+	prctl-pdeathsig.c prctl-seccomp-filter-v.c \
+	prctl-seccomp-strict.c prctl-securebits.c prctl-tid_address.c \
+	prctl-tsc.c pread64-pwrite64.c preadv.c preadv-pwritev.c \
+	preadv2-pwritev2.c print_maxfd.c printstr.c prlimit64.c \
+	process_vm_readv.c process_vm_writev.c pselect6.c ptrace.c \
+	pwritev.c qual_fault.c qual_inject-error-signal.c \
+	qual_inject-retval.c qual_inject-signal.c qual_signal.c \
+	quotactl.c quotactl-v.c quotactl-xfs.c quotactl-xfs-v.c \
+	read-write.c readahead.c readdir.c readlink.c readlinkat.c \
+	readv.c reboot.c recvfrom.c recvmmsg-timeout.c recvmsg.c \
+	redirect-fds.c remap_file_pages.c rename.c renameat.c \
+	renameat2.c request_key.c restart_syscall.c rmdir.c \
+	rt_sigpending.c rt_sigprocmask.c rt_sigqueueinfo.c \
+	rt_sigsuspend.c rt_sigtimedwait.c rt_tgsigqueueinfo.c \
+	sched_get_priority_mxx.c sched_rr_get_interval.c \
+	sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \
+	sched_xetscheduler.c sched_yield.c scm_rights.c \
+	seccomp-filter.c seccomp-filter-v.c seccomp-strict.c select.c \
+	semop.c sendfile.c sendfile64.c set_mempolicy.c \
+	set_ptracer_any.c setdomainname.c setfsgid.c setfsgid32.c \
+	setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \
+	setgroups32.c sethostname.c setns.c setregid.c setregid32.c \
+	setresgid.c setresgid32.c setresuid.c setresuid32.c setreuid.c \
+	setreuid32.c setrlimit.c setuid.c setuid32.c shmxt.c \
+	shutdown.c sigaction.c sigaltstack.c siginfo.c \
+	signal_receive.c signalfd4.c sigreturn.c sleep.c socketcall.c \
+	splice.c $(stack_fcall_SOURCES) stat.c stat64.c statfs.c \
+	statfs64.c swap.c symlink.c symlinkat.c sync.c \
+	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c tee.c \
+	threads-execve.c time.c timer_create.c timer_xettime.c \
+	timerfd_xettime.c times.c times-fail.c truncate.c truncate64.c \
+	ugetrlimit.c uio.c umask.c umount.c umount2.c umoven-illptr.c \
+	umovestr.c umovestr-illptr.c umovestr2.c umovestr3.c uname.c \
+	unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
+	unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
+	utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
+	waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
+	xet_robust_list.c xetitimer.c xetpgid.c xetpriority.c \
+	xettimeofday.c
+DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c accept.c accept4.c \
+	access.c acct.c add_key.c adjtimex.c aio.c alarm.c answer.c \
+	attach-f-p.c attach-f-p-cmd.c attach-p-cmd-cmd.c \
+	attach-p-cmd-p.c bpf.c brk.c btrfs.c caps.c caps-abbrev.c \
+	chmod.c chown.c chown32.c chroot.c clock_adjtime.c \
+	clock_nanosleep.c clock_xettime.c copy_file_range.c count-f.c \
+	creat.c delete_module.c dup.c dup2.c dup3.c epoll_create.c \
+	epoll_create1.c epoll_ctl.c epoll_pwait.c epoll_wait.c \
+	erestartsys.c eventfd.c execve.c execve-v.c execveat.c \
+	execveat-v.c faccessat.c fadvise64.c fadvise64_64.c \
+	fallocate.c fanotify_init.c fanotify_mark.c fchdir.c fchmod.c \
+	fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c fcntl64.c \
+	fdatasync.c file_handle.c file_ioctl.c filter-unavailable.c \
+	finit_module.c flock.c fork-f.c fstat.c fstat64.c fstatat64.c \
+	fstatfs.c fstatfs64.c fsync.c ftruncate.c ftruncate64.c \
+	futex.c futimesat.c get_mempolicy.c getcpu.c getcwd.c \
+	getdents.c getdents64.c getegid.c getegid32.c geteuid.c \
+	geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
+	getpeername.c getpgrp.c getrandom.c getresgid.c getresgid32.c \
+	getresuid.c getresuid32.c getrlimit.c getrusage.c getsid.c \
+	getsockname.c getuid.c getuid32.c getxxid.c inet-cmsg.c \
+	init_module.c inotify.c inotify_init1.c ioctl.c ioctl_block.c \
+	ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-v.c \
+	ioctl_loop.c ioctl_loop-nv.c ioctl_loop-v.c ioctl_mtd.c \
+	ioctl_rtc.c ioctl_rtc-v.c ioctl_scsi.c ioctl_sg_io_v3.c \
+	ioctl_sg_io_v4.c ioctl_sock_gifconf.c ioctl_uffdio.c \
+	ioctl_v4l2.c ioperm.c iopl.c ioprio.c ip_mreq.c ipc.c \
+	ipc_msg.c ipc_msgbuf.c ipc_sem.c ipc_shm.c kcmp.c \
+	kexec_file_load.c kexec_load.c keyctl.c kill.c ksysent.c \
+	lchown.c lchown32.c link.c linkat.c llseek.c lookup_dcookie.c \
+	lseek.c lstat.c lstat64.c mbind.c membarrier.c memfd_create.c \
+	migrate_pages.c mincore.c mkdir.c mkdirat.c mknod.c mknodat.c \
+	mlock.c mlock2.c mlockall.c mmap.c mmap64.c mmsg.c \
+	mmsg-silent.c mmsg_name.c mmsg_name-v.c mount.c move_pages.c \
+	mq.c mq_sendrecv.c mq_sendrecv-read.c mq_sendrecv-write.c \
+	msg_control.c msg_control-v.c msg_name.c munlockall.c \
+	nanosleep.c net-accept-connect.c net-icmp_filter.c \
+	net-sockaddr.c net-y-unix.c net-yy-inet.c net-yy-netlink.c \
+	net-yy-unix.c netlink_inet_diag.c netlink_netlink_diag.c \
+	netlink_protocol.c netlink_unix_diag.c newfstatat.c \
+	nsyscalls.c old_mmap.c oldfstat.c oldlstat.c oldselect.c \
+	oldstat.c open.c openat.c pause.c pc.c perf_event_open.c \
+	perf_event_open_nonverbose.c perf_event_open_unabbrev.c \
+	personality.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
+	pkey_mprotect.c poll.c ppoll.c prctl-arg2-intptr.c \
+	prctl-dumpable.c prctl-name.c prctl-no-args.c \
+	prctl-pdeathsig.c prctl-seccomp-filter-v.c \
+	prctl-seccomp-strict.c prctl-securebits.c prctl-tid_address.c \
+	prctl-tsc.c pread64-pwrite64.c preadv.c preadv-pwritev.c \
+	preadv2-pwritev2.c print_maxfd.c printstr.c prlimit64.c \
+	process_vm_readv.c process_vm_writev.c pselect6.c ptrace.c \
+	pwritev.c qual_fault.c qual_inject-error-signal.c \
+	qual_inject-retval.c qual_inject-signal.c qual_signal.c \
+	quotactl.c quotactl-v.c quotactl-xfs.c quotactl-xfs-v.c \
+	read-write.c readahead.c readdir.c readlink.c readlinkat.c \
+	readv.c reboot.c recvfrom.c recvmmsg-timeout.c recvmsg.c \
+	redirect-fds.c remap_file_pages.c rename.c renameat.c \
+	renameat2.c request_key.c restart_syscall.c rmdir.c \
+	rt_sigpending.c rt_sigprocmask.c rt_sigqueueinfo.c \
+	rt_sigsuspend.c rt_sigtimedwait.c rt_tgsigqueueinfo.c \
+	sched_get_priority_mxx.c sched_rr_get_interval.c \
+	sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \
+	sched_xetscheduler.c sched_yield.c scm_rights.c \
+	seccomp-filter.c seccomp-filter-v.c seccomp-strict.c select.c \
+	semop.c sendfile.c sendfile64.c set_mempolicy.c \
+	set_ptracer_any.c setdomainname.c setfsgid.c setfsgid32.c \
+	setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \
+	setgroups32.c sethostname.c setns.c setregid.c setregid32.c \
+	setresgid.c setresgid32.c setresuid.c setresuid32.c setreuid.c \
+	setreuid32.c setrlimit.c setuid.c setuid32.c shmxt.c \
+	shutdown.c sigaction.c sigaltstack.c siginfo.c \
+	signal_receive.c signalfd4.c sigreturn.c sleep.c socketcall.c \
+	splice.c $(stack_fcall_SOURCES) stat.c stat64.c statfs.c \
+	statfs64.c swap.c symlink.c symlinkat.c sync.c \
+	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c tee.c \
+	threads-execve.c time.c timer_create.c timer_xettime.c \
+	timerfd_xettime.c times.c times-fail.c truncate.c truncate64.c \
+	ugetrlimit.c uio.c umask.c umount.c umount2.c umoven-illptr.c \
+	umovestr.c umovestr-illptr.c umovestr2.c umovestr3.c uname.c \
+	unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
+	unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
+	utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
+	waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
+	xet_robust_list.c xetitimer.c xetpgid.c xetpriority.c \
+	xettimeofday.c
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__extra_recursive_targets = check-valgrind-recursive
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors_dummy = \
+  mgn= red= grn= lgn= blu= brg= std=; \
+  am__color_tests=no
+am__tty_colors = { \
+  $(am__tty_colors_dummy); \
+  if test "X$(AM_COLOR_TESTS)" = Xno; then \
+    am__color_tests=no; \
+  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+    am__color_tests=yes; \
+  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+    am__color_tests=yes; \
+  fi; \
+  if test $$am__color_tests = yes; then \
+    red=''; \
+    grn=''; \
+    lgn=''; \
+    blu=''; \
+    mgn=''; \
+    brg=''; \
+    std=''; \
+  fi; \
+}
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__recheck_rx = ^[ 	]*:recheck:[ 	]*
+am__global_test_result_rx = ^[ 	]*:global-test-result:[ 	]*
+am__copy_in_global_log_rx = ^[ 	]*:copy-in-global-log:[ 	]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+  recheck = 1; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+        { \
+          if ((getline line2 < ($$0 ".log")) < 0) \
+	    recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+        { \
+          recheck = 0; \
+          break; \
+        } \
+      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+        { \
+          break; \
+        } \
+    }; \
+  if (recheck) \
+    print $$0; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+  print "fatal: making $@: " msg | "cat >&2"; \
+  exit 1; \
+} \
+function rst_section(header) \
+{ \
+  print header; \
+  len = length(header); \
+  for (i = 1; i <= len; i = i + 1) \
+    printf "="; \
+  printf "\n\n"; \
+} \
+{ \
+  copy_in_global_log = 1; \
+  global_test_result = "RUN"; \
+  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+    { \
+      if (rc < 0) \
+         fatal("failed to read from " $$0 ".trs"); \
+      if (line ~ /$(am__global_test_result_rx)/) \
+        { \
+          sub("$(am__global_test_result_rx)", "", line); \
+          sub("[ 	]*$$", "", line); \
+          global_test_result = line; \
+        } \
+      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+        copy_in_global_log = 0; \
+    }; \
+  if (copy_in_global_log) \
+    { \
+      rst_section(global_test_result ": " $$0); \
+      while ((rc = (getline line < ($$0 ".log"))) != 0) \
+      { \
+        if (rc < 0) \
+          fatal("failed to read from " $$0 ".log"); \
+        print line; \
+      }; \
+      printf "\n"; \
+    }; \
+  close ($$0 ".trs"); \
+  close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+  --color-tests "$$am__color_tests" \
+  --enable-hard-errors "$$am__enable_hard_errors" \
+  --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test.  Creates the
+# directory for the log if needed.  Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log.  Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup);					\
+$(am__vpath_adj_setup) $(am__vpath_adj)			\
+$(am__tty_colors);					\
+srcdir=$(srcdir); export srcdir;			\
+case "$@" in						\
+  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;	\
+    *) am__odir=.;; 					\
+esac;							\
+test "x$$am__odir" = x"." || test -d "$$am__odir" 	\
+  || $(MKDIR_P) "$$am__odir" || exit $$?;		\
+if test -f "./$$f"; then dir=./;			\
+elif test -f "$$f"; then dir=;				\
+else dir="$(srcdir)/"; fi;				\
+tst=$$dir$$f; log='$@'; 				\
+if test -n '$(DISABLE_HARD_ERRORS)'; then		\
+  am__enable_hard_errors=no; 				\
+else							\
+  am__enable_hard_errors=yes; 				\
+fi; 							\
+case " $(XFAIL_TESTS) " in				\
+  *[\ \	]$$f[\ \	]* | *[\ \	]$$dir$$f[\ \	]*) \
+    am__expect_failure=yes;;				\
+  *)							\
+    am__expect_failure=no;;				\
+esac; 							\
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed).  The result is saved in the shell variable
+# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+  bases='$(TEST_LOGS)'; \
+  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+  bases=`echo $$bases`
+RECHECK_LOGS = $(TEST_LOGS)
+AM_RECURSIVE_TARGETS = check recheck
+@USE_LIBUNWIND_TRUE@am__EXEEXT_1 = strace-k.test
+TEST_SUITE_LOG = test-suite.log
+TEST_EXTENSIONS = @EXEEXT@ .test
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:@[email protected]=.log)
+TEST_LOGS = $(am__test_logs2:.test.log=.log)
+TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
+TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
+	$(TEST_LOG_FLAGS)
+am__set_b = \
+  case '$@' in \
+    */*) \
+      case '$*' in \
+        */*) b='$*';; \
+          *) b=`echo '$@' | sed 's/\.log$$//'`; \
+       esac;; \
+    *) \
+      b='$*';; \
+  esac
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BUILD_EXEEXT = @BUILD_EXEEXT@
+BUILD_OBJEXT = @BUILD_OBJEXT@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS = @CFLAGS@
+CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@
+CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
+CPP_FOR_BUILD = @CPP_FOR_BUILD@
+CYGPATH_W = @CYGPATH_W@
+DEB_CHANGELOGTIME = @DEB_CHANGELOGTIME@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_VALGRIND_drd = @ENABLE_VALGRIND_drd@
+ENABLE_VALGRIND_helgrind = @ENABLE_VALGRIND_helgrind@
+ENABLE_VALGRIND_memcheck = @ENABLE_VALGRIND_memcheck@
+ENABLE_VALGRIND_sgcheck = @ENABLE_VALGRIND_sgcheck@
+EXEEXT = @EXEEXT@
+GCOV = @GCOV@
+GENHTML = @GENHTML@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LCOV = @LCOV@
+LDFLAGS = @LDFLAGS@
+LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MIPS_ABI = @MIPS_ABI@
+MKDIR_P = @MKDIR_P@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+RANLIB = @RANLIB@
+RPM_CHANGELOGTIME = @RPM_CHANGELOGTIME@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VALGRIND = @VALGRIND@
+VALGRIND_ENABLED = @VALGRIND_ENABLED@
+VERSION = @VERSION@
+WARN_CFLAGS = @WARN_CFLAGS@
+WARN_CFLAGS_FOR_BUILD = @WARN_CFLAGS_FOR_BUILD@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CC_FOR_BUILD = @ac_ct_CC_FOR_BUILD@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+arch = @arch@
+arch_m32 = @arch_m32@
+arch_mx32 = @arch_mx32@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+dl_LIBS = @dl_LIBS@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+libunwind_CPPFLAGS = @libunwind_CPPFLAGS@
+libunwind_LDFLAGS = @libunwind_LDFLAGS@
+libunwind_LIBS = @libunwind_LIBS@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+valgrind_enabled_tools = @valgrind_enabled_tools@
+valgrind_tools = @valgrind_tools@
+OS = linux
+ARCH = @arch@
+MPERS_NAME = 
+ARCH_MFLAGS = 
+AM_CFLAGS = $(WARN_CFLAGS)
+AM_CPPFLAGS = $(ARCH_MFLAGS) \
+	      -I$(builddir) \
+	      -I$(top_builddir)/$(OS)/$(ARCH) \
+	      -I$(top_srcdir)/$(OS)/$(ARCH) \
+	      -I$(top_builddir)/$(OS) \
+	      -I$(top_srcdir)/$(OS) \
+	      -I$(top_builddir) \
+	      -I$(top_srcdir)
+
+AM_LDFLAGS = $(ARCH_MFLAGS)
+libtests_a_SOURCES = \
+	errno2name.c \
+	error_msg.c \
+	fill_memory.c \
+	get_page_size.c \
+	hexdump_strdup.c \
+	hexquote_strndup.c \
+	inode_of_sockfd.c \
+	libmmsg.c \
+	libsocketcall.c \
+	overflowuid.c \
+	pipe_maxfd.c \
+	print_quoted_string.c \
+	printflags.c \
+	printxval.c \
+	signal2name.c \
+	sprintrc.c \
+	tail_alloc.c \
+	tests.h \
+	tprintf.c \
+	# end of libtests_a_SOURCES
+
+libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+check_LIBRARIES = libtests.a
+LDADD = libtests.a
+attach_f_p_LDADD = -lrt -lpthread $(LDADD)
+clock_xettime_LDADD = -lrt $(LDADD)
+count_f_LDADD = -lpthread $(LDADD)
+filter_unavailable_LDADD = -lpthread $(LDADD)
+fstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+fstatat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+ftruncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+lstat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+mmap64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+mq_LDADD = -lrt $(LDADD)
+mq_sendrecv_LDADD = -lrt $(LDADD)
+mq_sendrecv_read_LDADD = -lrt $(LDADD)
+mq_sendrecv_write_LDADD = -lrt $(LDADD)
+newfstatat_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+pc_LDADD = $(dl_LIBS) $(LDADD)
+pread64_pwrite64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+preadv_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+preadv_pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+pwritev_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+stat64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+statfs_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+threads_execve_LDADD = -lrt -lpthread $(LDADD)
+times_LDADD = -lrt $(LDADD)
+truncate64_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+uio_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
+stack_fcall_SOURCES = stack-fcall.c \
+	stack-fcall-0.c stack-fcall-1.c stack-fcall-2.c stack-fcall-3.c
+
+@USE_LIBUNWIND_FALSE@LIBUNWIND_TESTS = 
+@USE_LIBUNWIND_TRUE@LIBUNWIND_TESTS = strace-k.test
+DECODER_TESTS = \
+	_newselect.test \
+	accept.test \
+	accept4.test \
+	access.test \
+	acct.test \
+	add_key.test \
+	adjtimex.test \
+	aio.test \
+	alarm.test \
+	bpf.test \
+	brk.test \
+	btrfs-v.test \
+	btrfs-vw.test \
+	btrfs-w.test \
+	btrfs.test \
+	caps-abbrev.test \
+	caps.test \
+	chmod.test \
+	chown.test \
+	chown32.test \
+	chroot.test \
+	clock_adjtime.test \
+	clock_nanosleep.test \
+	clock_xettime.test \
+	copy_file_range.test \
+	creat.test \
+	delete_module.test \
+	dup.test \
+	dup2.test \
+	dup3.test \
+	epoll_create.test \
+	epoll_create1.test \
+	epoll_ctl.test \
+	epoll_pwait.test \
+	epoll_wait.test \
+	erestartsys.test \
+	eventfd.test \
+	execve-v.test \
+	execve.test \
+	execveat-v.test \
+	execveat.test \
+	faccessat.test \
+	fadvise64.test \
+	fadvise64_64.test \
+	fallocate.test \
+	fanotify_init.test \
+	fanotify_mark.test \
+	fchdir.test \
+	fchmod.test \
+	fchmodat.test \
+	fchown.test \
+	fchown32.test \
+	fchownat.test \
+	fcntl.test \
+	fcntl64.test \
+	fdatasync.test \
+	file_handle.test \
+	file_ioctl.test \
+	finit_module.test \
+	flock.test \
+	fstat.test \
+	fstat64.test \
+	fstatat64.test \
+	fstatfs.test \
+	fstatfs64.test \
+	fsync.test \
+	ftruncate.test \
+	ftruncate64.test \
+	futex.test \
+	futimesat.test \
+	get_mempolicy.test \
+	getcpu.test \
+	getcwd.test \
+	getdents.test \
+	getdents64.test \
+	getegid.test \
+	getegid32.test \
+	geteuid.test \
+	geteuid32.test \
+	getgid.test \
+	getgid32.test \
+	getgroups.test \
+	getgroups32.test \
+	getpeername.test \
+	getpgrp.test \
+	getrandom.test \
+	getresgid.test \
+	getresgid32.test \
+	getresuid.test \
+	getresuid32.test \
+	getrlimit.test \
+	getrusage.test \
+	getsid.test \
+	getsockname.test \
+	getuid.test \
+	getuid32.test \
+	getxxid.test \
+	inet-cmsg.test \
+	init_module.test \
+	inotify.test \
+	inotify_init1.test \
+	ioctl.test \
+	ioctl_block.test \
+	ioctl_dm-v.test \
+	ioctl_dm.test \
+	ioctl_evdev-v.test \
+	ioctl_evdev.test \
+	ioctl_loop-nv.test \
+	ioctl_loop-v.test \
+	ioctl_loop.test \
+	ioctl_mtd.test \
+	ioctl_rtc-v.test \
+	ioctl_rtc.test \
+	ioctl_scsi.test \
+	ioctl_sg_io_v3.test \
+	ioctl_sg_io_v4.test \
+	ioctl_sock_gifconf.test \
+	ioctl_uffdio.test \
+	ioctl_v4l2.test \
+	ioperm.test \
+	iopl.test \
+	ioprio.test \
+	ip_mreq.test \
+	ipc.test \
+	ipc_msg.test \
+	ipc_msgbuf.test \
+	ipc_sem.test \
+	ipc_shm.test \
+	kcmp.test \
+	kexec_file_load.test \
+	kexec_load.test \
+	keyctl.test \
+	kill.test \
+	lchown.test \
+	lchown32.test \
+	link.test \
+	linkat.test \
+	llseek.test \
+	lookup_dcookie.test \
+	lseek.test \
+	lstat.test \
+	lstat64.test \
+	mbind.test \
+	membarrier.test \
+	memfd_create.test \
+	migrate_pages.test \
+	mincore.test \
+	mkdir.test \
+	mkdirat.test \
+	mknod.test \
+	mknodat.test \
+	mlock.test \
+	mlock2.test \
+	mlockall.test \
+	mmap.test \
+	mmap64.test \
+	mmsg-silent.test \
+	mmsg.test \
+	mmsg_name-v.test \
+	mmsg_name.test \
+	mount.test \
+	move_pages.test \
+	mq.test \
+	mq_sendrecv-read.test \
+	mq_sendrecv-write.test \
+	mq_sendrecv.test \
+	msg_control-v.test \
+	msg_control.test \
+	msg_name.test \
+	munlockall.test \
+	nanosleep.test \
+	net-icmp_filter.test \
+	net-sockaddr.test \
+	net-y-unix.test \
+	net-yy-inet.test \
+	net-yy-netlink.test \
+	net-yy-unix.test \
+	net.test \
+	netlink_protocol.test \
+	newfstatat.test \
+	nsyscalls.test \
+	old_mmap.test \
+	oldfstat.test \
+	oldlstat.test \
+	oldselect.test \
+	oldstat.test \
+	open.test \
+	openat.test \
+	pause.test \
+	perf_event_open.test \
+	perf_event_open_nonverbose.test \
+	perf_event_open_unabbrev.test \
+	personality.test \
+	pipe.test \
+	pipe2.test \
+	pkey_alloc.test \
+	pkey_free.test \
+	pkey_mprotect.test \
+	poll.test \
+	ppoll.test \
+	prctl-arg2-intptr.test \
+	prctl-dumpable.test \
+	prctl-name.test \
+	prctl-no-args.test \
+	prctl-pdeathsig.test \
+	prctl-seccomp-filter-v.test \
+	prctl-seccomp-strict.test \
+	prctl-securebits.test \
+	prctl-tid_address.test \
+	prctl-tsc.test \
+	pread64-pwrite64.test \
+	preadv-pwritev.test \
+	preadv.test \
+	preadv2-pwritev2.test \
+	printstr.test \
+	prlimit64.test \
+	process_vm_readv.test \
+	process_vm_writev.test \
+	pselect6.test \
+	ptrace.test \
+	pwritev.test \
+	qual_fault-exit_group.test \
+	quotactl-v.test \
+	quotactl-xfs-v.test \
+	quotactl-xfs.test \
+	quotactl.test \
+	read-write.test \
+	readahead.test \
+	readdir.test \
+	readlink.test \
+	readlinkat.test \
+	readv.test \
+	reboot.test \
+	recvfrom.test \
+	recvmmsg-timeout.test \
+	recvmsg.test \
+	remap_file_pages.test \
+	rename.test \
+	renameat.test \
+	renameat2.test \
+	request_key.test \
+	rmdir.test \
+	rt_sigpending.test \
+	rt_sigprocmask.test \
+	rt_sigqueueinfo.test \
+	rt_sigsuspend.test \
+	rt_sigtimedwait.test \
+	rt_tgsigqueueinfo.test \
+	sched_get_priority_mxx.test \
+	sched_rr_get_interval.test \
+	sched_xetaffinity.test \
+	sched_xetattr.test \
+	sched_xetparam.test \
+	sched_xetscheduler.test \
+	sched_yield.test \
+	scm_rights-fd.test \
+	seccomp-filter-v.test \
+	seccomp-filter.test \
+	seccomp-strict.test \
+	select.test \
+	semop.test \
+	sendfile.test \
+	sendfile64.test \
+	set_mempolicy.test \
+	setdomainname.test \
+	setfsgid.test \
+	setfsgid32.test \
+	setfsuid.test \
+	setfsuid32.test \
+	setgid.test \
+	setgid32.test \
+	setgroups.test \
+	setgroups32.test \
+	sethostname.test \
+	setns.test \
+	setregid.test \
+	setregid32.test \
+	setresgid.test \
+	setresgid32.test \
+	setresuid.test \
+	setresuid32.test \
+	setreuid.test \
+	setreuid32.test \
+	setrlimit.test \
+	setuid.test \
+	setuid32.test \
+	shmxt.test \
+	shutdown.test \
+	sigaction.test \
+	sigaltstack.test \
+	siginfo.test \
+	signalfd4.test \
+	sigreturn.test \
+	socketcall.test \
+	splice.test \
+	stat.test \
+	stat64.test \
+	statfs.test \
+	statfs64.test \
+	sun_path.test \
+	swap.test \
+	symlink.test \
+	symlinkat.test \
+	sync.test \
+	sync_file_range.test \
+	sync_file_range2.test \
+	sysinfo.test \
+	syslog.test \
+	tee.test \
+	time.test \
+	timer_create.test \
+	timer_xettime.test \
+	timerfd_xettime.test \
+	times-fail.test \
+	times.test \
+	truncate.test \
+	truncate64.test \
+	ugetrlimit.test \
+	uio.test \
+	umask.test \
+	umount.test \
+	umount2.test \
+	umoven-illptr.test \
+	umovestr-illptr.test \
+	umovestr.test \
+	umovestr2.test \
+	umovestr3.test \
+	uname.test \
+	unix-pair-send-recv.test \
+	unix-pair-sendto-recvfrom.test \
+	unlink.test \
+	unlinkat.test \
+	unshare.test \
+	userfaultfd.test \
+	ustat.test \
+	utime.test \
+	utimensat.test \
+	utimes.test \
+	vhangup.test \
+	vmsplice.test \
+	wait4-v.test \
+	wait4.test \
+	waitid-v.test \
+	waitid.test \
+	waitpid.test \
+	xattr-strings.test \
+	xattr.test \
+	xet_robust_list.test \
+	xetitimer.test \
+	xetpgid.test \
+	xetpriority.test \
+	xettimeofday.test \
+	# end of DECODER_TESTS
+
+MISC_TESTS = \
+	attach-f-p.test \
+	attach-p-cmd.test \
+	bexecve.test \
+	count-f.test \
+	count.test \
+	detach-running.test \
+	detach-sleeping.test \
+	detach-stopped.test \
+	filter-unavailable.test \
+	fork-f.test \
+	ksysent.test \
+	opipe.test \
+	options-syntax.test \
+	pc.test \
+	qual_fault-syntax.test \
+	qual_fault.test \
+	qual_inject-error-signal.test \
+	qual_inject-retval.test \
+	qual_inject-signal.test \
+	qual_inject-syntax.test \
+	qual_signal.test \
+	qual_syscall.test \
+	redirect-fds.test \
+	redirect.test \
+	restart_syscall.test \
+	signal_receive.test \
+	strace-C.test \
+	strace-E.test \
+	strace-S.test \
+	strace-T.test \
+	strace-V.test \
+	strace-ff.test \
+	strace-r.test \
+	strace-t.test \
+	strace-tt.test \
+	strace-ttt.test \
+	threads-execve.test \
+	vfork-f.test \
+	# end of MISC_TESTS
+
+XFAIL_TESTS_ = 
+XFAIL_TESTS_m32 = $(LIBUNWIND_TESTS)
+XFAIL_TESTS_mx32 = $(LIBUNWIND_TESTS)
+XFAIL_TESTS = $(XFAIL_TESTS_$(MPERS_NAME))
+TEST_LOG_COMPILER = env
+AM_TEST_LOG_FLAGS = STRACE_ARCH=$(ARCH) MIPS_ABI=$(MIPS_ABI) $(srcdir)/run.sh
+VALGRIND_FLAGS = --quiet
+VALGRIND_SUPPRESSIONS_FILES = $(srcdir)/strace.supp
+EXTRA_DIST = init.sh run.sh match.awk \
+	     caps-abbrev.awk \
+	     caps.awk \
+	     count-f.expected \
+	     eventfd.expected \
+	     fadvise.h \
+	     filter-unavailable.expected \
+	     fstatat.c \
+	     fstatx.c \
+	     getresugid.c \
+	     init_delete_module.h \
+	     ipc.sh \
+	     ipc_msgbuf.expected \
+	     ksysent.sed \
+	     lstatx.c \
+	     net.expected \
+	     oldselect.expected \
+	     pipe.expected \
+	     ppoll-v.expected \
+	     ppoll.expected \
+	     process_vm_readv_writev.c \
+	     qual_fault-exit_group.expected \
+	     qual_inject-error-signal.expected \
+	     qual_inject-signal.expected \
+	     quotactl.h \
+	     scno_tampering.sh \
+	     setfsugid.c \
+	     setresugid.c \
+	     setreugid.c \
+	     setugid.c \
+	     sigaction.awk \
+	     sigaltstack.expected \
+	     sockname.c \
+	     statfs.expected \
+	     statx.sh \
+	     strace-C.expected \
+	     strace-E.expected \
+	     strace-T.expected \
+	     strace-ff.expected \
+	     strace-k.test \
+	     strace-r.expected \
+	     strace.supp \
+	     struct_flock.c \
+	     sun_path.expected \
+	     uio.expected \
+	     umode_t.c \
+	     umovestr.expected \
+	     unix-pair-send-recv.expected \
+	     unix-pair-sendto-recvfrom.expected \
+	     xchownx.c \
+	     xgetrlimit.c \
+	     xselect.c \
+	     xstatfs.c \
+	     xstatfs64.c \
+	     xstatfsx.c \
+	     xstatx.c \
+	     $(TESTS)
+
+objects = $(filter %.$(OBJEXT),$(SOURCES:.c=.$(OBJEXT)))
+CLEANFILES = ksysent.h $(TESTS:=.tmp) syscallent.i scno.h
+SCNO_CPPFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+		$(ARCH_MFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS)
+
+digits = [[:digit:]][[:digit:]]*
+al_nums = [[:alnum:]_][[:alnum:]_]*
+SCNO_SED = /TRACE_INDIRECT_SUBCALL/d; s/^\[[[:space:]]*\($(digits)\)\][[:space:]]*=[[:space:]]*{[^,]*,[^,]*,[^,]*,[[:space:]]*"\($(al_nums)\)"[[:space:]]*},.*/\#ifndef __NR_\2\n\# define __NR_\2 (SYSCALL_BIT | \1)\n\#endif/p
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../scno.am $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign tests/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+$(srcdir)/../scno.am:
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-checkLIBRARIES:
+	-test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+
+libtests.a: $(libtests_a_OBJECTS) $(libtests_a_DEPENDENCIES) $(EXTRA_libtests_a_DEPENDENCIES) 
+	$(AM_V_at)-rm -f libtests.a
+	$(AM_V_AR)$(libtests_a_AR) libtests.a $(libtests_a_OBJECTS) $(libtests_a_LIBADD)
+	$(AM_V_at)$(RANLIB) libtests.a
+
+clean-checkPROGRAMS:
+	-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
+
+_newselect$(EXEEXT): $(_newselect_OBJECTS) $(_newselect_DEPENDENCIES) $(EXTRA__newselect_DEPENDENCIES) 
+	@rm -f _newselect$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(_newselect_OBJECTS) $(_newselect_LDADD) $(LIBS)
+
+accept$(EXEEXT): $(accept_OBJECTS) $(accept_DEPENDENCIES) $(EXTRA_accept_DEPENDENCIES) 
+	@rm -f accept$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(accept_OBJECTS) $(accept_LDADD) $(LIBS)
+
+accept4$(EXEEXT): $(accept4_OBJECTS) $(accept4_DEPENDENCIES) $(EXTRA_accept4_DEPENDENCIES) 
+	@rm -f accept4$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(accept4_OBJECTS) $(accept4_LDADD) $(LIBS)
+
+access$(EXEEXT): $(access_OBJECTS) $(access_DEPENDENCIES) $(EXTRA_access_DEPENDENCIES) 
+	@rm -f access$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(access_OBJECTS) $(access_LDADD) $(LIBS)
+
+acct$(EXEEXT): $(acct_OBJECTS) $(acct_DEPENDENCIES) $(EXTRA_acct_DEPENDENCIES) 
+	@rm -f acct$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(acct_OBJECTS) $(acct_LDADD) $(LIBS)
+
+add_key$(EXEEXT): $(add_key_OBJECTS) $(add_key_DEPENDENCIES) $(EXTRA_add_key_DEPENDENCIES) 
+	@rm -f add_key$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(add_key_OBJECTS) $(add_key_LDADD) $(LIBS)
+
+adjtimex$(EXEEXT): $(adjtimex_OBJECTS) $(adjtimex_DEPENDENCIES) $(EXTRA_adjtimex_DEPENDENCIES) 
+	@rm -f adjtimex$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(adjtimex_OBJECTS) $(adjtimex_LDADD) $(LIBS)
+
+aio$(EXEEXT): $(aio_OBJECTS) $(aio_DEPENDENCIES) $(EXTRA_aio_DEPENDENCIES) 
+	@rm -f aio$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(aio_OBJECTS) $(aio_LDADD) $(LIBS)
+
+alarm$(EXEEXT): $(alarm_OBJECTS) $(alarm_DEPENDENCIES) $(EXTRA_alarm_DEPENDENCIES) 
+	@rm -f alarm$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(alarm_OBJECTS) $(alarm_LDADD) $(LIBS)
+
+answer$(EXEEXT): $(answer_OBJECTS) $(answer_DEPENDENCIES) $(EXTRA_answer_DEPENDENCIES) 
+	@rm -f answer$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(answer_OBJECTS) $(answer_LDADD) $(LIBS)
+
+attach-f-p$(EXEEXT): $(attach_f_p_OBJECTS) $(attach_f_p_DEPENDENCIES) $(EXTRA_attach_f_p_DEPENDENCIES) 
+	@rm -f attach-f-p$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(attach_f_p_OBJECTS) $(attach_f_p_LDADD) $(LIBS)
+
+attach-f-p-cmd$(EXEEXT): $(attach_f_p_cmd_OBJECTS) $(attach_f_p_cmd_DEPENDENCIES) $(EXTRA_attach_f_p_cmd_DEPENDENCIES) 
+	@rm -f attach-f-p-cmd$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(attach_f_p_cmd_OBJECTS) $(attach_f_p_cmd_LDADD) $(LIBS)
+
+attach-p-cmd-cmd$(EXEEXT): $(attach_p_cmd_cmd_OBJECTS) $(attach_p_cmd_cmd_DEPENDENCIES) $(EXTRA_attach_p_cmd_cmd_DEPENDENCIES) 
+	@rm -f attach-p-cmd-cmd$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(attach_p_cmd_cmd_OBJECTS) $(attach_p_cmd_cmd_LDADD) $(LIBS)
+
+attach-p-cmd-p$(EXEEXT): $(attach_p_cmd_p_OBJECTS) $(attach_p_cmd_p_DEPENDENCIES) $(EXTRA_attach_p_cmd_p_DEPENDENCIES) 
+	@rm -f attach-p-cmd-p$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(attach_p_cmd_p_OBJECTS) $(attach_p_cmd_p_LDADD) $(LIBS)
+
+bpf$(EXEEXT): $(bpf_OBJECTS) $(bpf_DEPENDENCIES) $(EXTRA_bpf_DEPENDENCIES) 
+	@rm -f bpf$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(bpf_OBJECTS) $(bpf_LDADD) $(LIBS)
+
+brk$(EXEEXT): $(brk_OBJECTS) $(brk_DEPENDENCIES) $(EXTRA_brk_DEPENDENCIES) 
+	@rm -f brk$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(brk_OBJECTS) $(brk_LDADD) $(LIBS)
+
+btrfs$(EXEEXT): $(btrfs_OBJECTS) $(btrfs_DEPENDENCIES) $(EXTRA_btrfs_DEPENDENCIES) 
+	@rm -f btrfs$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(btrfs_OBJECTS) $(btrfs_LDADD) $(LIBS)
+
+caps$(EXEEXT): $(caps_OBJECTS) $(caps_DEPENDENCIES) $(EXTRA_caps_DEPENDENCIES) 
+	@rm -f caps$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(caps_OBJECTS) $(caps_LDADD) $(LIBS)
+
+caps-abbrev$(EXEEXT): $(caps_abbrev_OBJECTS) $(caps_abbrev_DEPENDENCIES) $(EXTRA_caps_abbrev_DEPENDENCIES) 
+	@rm -f caps-abbrev$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(caps_abbrev_OBJECTS) $(caps_abbrev_LDADD) $(LIBS)
+
+chmod$(EXEEXT): $(chmod_OBJECTS) $(chmod_DEPENDENCIES) $(EXTRA_chmod_DEPENDENCIES) 
+	@rm -f chmod$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(chmod_OBJECTS) $(chmod_LDADD) $(LIBS)
+
+chown$(EXEEXT): $(chown_OBJECTS) $(chown_DEPENDENCIES) $(EXTRA_chown_DEPENDENCIES) 
+	@rm -f chown$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(chown_OBJECTS) $(chown_LDADD) $(LIBS)
+
+chown32$(EXEEXT): $(chown32_OBJECTS) $(chown32_DEPENDENCIES) $(EXTRA_chown32_DEPENDENCIES) 
+	@rm -f chown32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(chown32_OBJECTS) $(chown32_LDADD) $(LIBS)
+
+chroot$(EXEEXT): $(chroot_OBJECTS) $(chroot_DEPENDENCIES) $(EXTRA_chroot_DEPENDENCIES) 
+	@rm -f chroot$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(chroot_OBJECTS) $(chroot_LDADD) $(LIBS)
+
+clock_adjtime$(EXEEXT): $(clock_adjtime_OBJECTS) $(clock_adjtime_DEPENDENCIES) $(EXTRA_clock_adjtime_DEPENDENCIES) 
+	@rm -f clock_adjtime$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(clock_adjtime_OBJECTS) $(clock_adjtime_LDADD) $(LIBS)
+
+clock_nanosleep$(EXEEXT): $(clock_nanosleep_OBJECTS) $(clock_nanosleep_DEPENDENCIES) $(EXTRA_clock_nanosleep_DEPENDENCIES) 
+	@rm -f clock_nanosleep$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(clock_nanosleep_OBJECTS) $(clock_nanosleep_LDADD) $(LIBS)
+
+clock_xettime$(EXEEXT): $(clock_xettime_OBJECTS) $(clock_xettime_DEPENDENCIES) $(EXTRA_clock_xettime_DEPENDENCIES) 
+	@rm -f clock_xettime$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(clock_xettime_OBJECTS) $(clock_xettime_LDADD) $(LIBS)
+
+copy_file_range$(EXEEXT): $(copy_file_range_OBJECTS) $(copy_file_range_DEPENDENCIES) $(EXTRA_copy_file_range_DEPENDENCIES) 
+	@rm -f copy_file_range$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(copy_file_range_OBJECTS) $(copy_file_range_LDADD) $(LIBS)
+
+count-f$(EXEEXT): $(count_f_OBJECTS) $(count_f_DEPENDENCIES) $(EXTRA_count_f_DEPENDENCIES) 
+	@rm -f count-f$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(count_f_OBJECTS) $(count_f_LDADD) $(LIBS)
+
+creat$(EXEEXT): $(creat_OBJECTS) $(creat_DEPENDENCIES) $(EXTRA_creat_DEPENDENCIES) 
+	@rm -f creat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(creat_OBJECTS) $(creat_LDADD) $(LIBS)
+
+delete_module$(EXEEXT): $(delete_module_OBJECTS) $(delete_module_DEPENDENCIES) $(EXTRA_delete_module_DEPENDENCIES) 
+	@rm -f delete_module$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(delete_module_OBJECTS) $(delete_module_LDADD) $(LIBS)
+
+dup$(EXEEXT): $(dup_OBJECTS) $(dup_DEPENDENCIES) $(EXTRA_dup_DEPENDENCIES) 
+	@rm -f dup$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(dup_OBJECTS) $(dup_LDADD) $(LIBS)
+
+dup2$(EXEEXT): $(dup2_OBJECTS) $(dup2_DEPENDENCIES) $(EXTRA_dup2_DEPENDENCIES) 
+	@rm -f dup2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(dup2_OBJECTS) $(dup2_LDADD) $(LIBS)
+
+dup3$(EXEEXT): $(dup3_OBJECTS) $(dup3_DEPENDENCIES) $(EXTRA_dup3_DEPENDENCIES) 
+	@rm -f dup3$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(dup3_OBJECTS) $(dup3_LDADD) $(LIBS)
+
+epoll_create$(EXEEXT): $(epoll_create_OBJECTS) $(epoll_create_DEPENDENCIES) $(EXTRA_epoll_create_DEPENDENCIES) 
+	@rm -f epoll_create$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(epoll_create_OBJECTS) $(epoll_create_LDADD) $(LIBS)
+
+epoll_create1$(EXEEXT): $(epoll_create1_OBJECTS) $(epoll_create1_DEPENDENCIES) $(EXTRA_epoll_create1_DEPENDENCIES) 
+	@rm -f epoll_create1$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(epoll_create1_OBJECTS) $(epoll_create1_LDADD) $(LIBS)
+
+epoll_ctl$(EXEEXT): $(epoll_ctl_OBJECTS) $(epoll_ctl_DEPENDENCIES) $(EXTRA_epoll_ctl_DEPENDENCIES) 
+	@rm -f epoll_ctl$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(epoll_ctl_OBJECTS) $(epoll_ctl_LDADD) $(LIBS)
+
+epoll_pwait$(EXEEXT): $(epoll_pwait_OBJECTS) $(epoll_pwait_DEPENDENCIES) $(EXTRA_epoll_pwait_DEPENDENCIES) 
+	@rm -f epoll_pwait$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(epoll_pwait_OBJECTS) $(epoll_pwait_LDADD) $(LIBS)
+
+epoll_wait$(EXEEXT): $(epoll_wait_OBJECTS) $(epoll_wait_DEPENDENCIES) $(EXTRA_epoll_wait_DEPENDENCIES) 
+	@rm -f epoll_wait$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(epoll_wait_OBJECTS) $(epoll_wait_LDADD) $(LIBS)
+
+erestartsys$(EXEEXT): $(erestartsys_OBJECTS) $(erestartsys_DEPENDENCIES) $(EXTRA_erestartsys_DEPENDENCIES) 
+	@rm -f erestartsys$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(erestartsys_OBJECTS) $(erestartsys_LDADD) $(LIBS)
+
+eventfd$(EXEEXT): $(eventfd_OBJECTS) $(eventfd_DEPENDENCIES) $(EXTRA_eventfd_DEPENDENCIES) 
+	@rm -f eventfd$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(eventfd_OBJECTS) $(eventfd_LDADD) $(LIBS)
+
+execve$(EXEEXT): $(execve_OBJECTS) $(execve_DEPENDENCIES) $(EXTRA_execve_DEPENDENCIES) 
+	@rm -f execve$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(execve_OBJECTS) $(execve_LDADD) $(LIBS)
+
+execve-v$(EXEEXT): $(execve_v_OBJECTS) $(execve_v_DEPENDENCIES) $(EXTRA_execve_v_DEPENDENCIES) 
+	@rm -f execve-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(execve_v_OBJECTS) $(execve_v_LDADD) $(LIBS)
+
+execveat$(EXEEXT): $(execveat_OBJECTS) $(execveat_DEPENDENCIES) $(EXTRA_execveat_DEPENDENCIES) 
+	@rm -f execveat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(execveat_OBJECTS) $(execveat_LDADD) $(LIBS)
+
+execveat-v$(EXEEXT): $(execveat_v_OBJECTS) $(execveat_v_DEPENDENCIES) $(EXTRA_execveat_v_DEPENDENCIES) 
+	@rm -f execveat-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(execveat_v_OBJECTS) $(execveat_v_LDADD) $(LIBS)
+
+faccessat$(EXEEXT): $(faccessat_OBJECTS) $(faccessat_DEPENDENCIES) $(EXTRA_faccessat_DEPENDENCIES) 
+	@rm -f faccessat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(faccessat_OBJECTS) $(faccessat_LDADD) $(LIBS)
+
+fadvise64$(EXEEXT): $(fadvise64_OBJECTS) $(fadvise64_DEPENDENCIES) $(EXTRA_fadvise64_DEPENDENCIES) 
+	@rm -f fadvise64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fadvise64_OBJECTS) $(fadvise64_LDADD) $(LIBS)
+
+fadvise64_64$(EXEEXT): $(fadvise64_64_OBJECTS) $(fadvise64_64_DEPENDENCIES) $(EXTRA_fadvise64_64_DEPENDENCIES) 
+	@rm -f fadvise64_64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fadvise64_64_OBJECTS) $(fadvise64_64_LDADD) $(LIBS)
+
+fallocate$(EXEEXT): $(fallocate_OBJECTS) $(fallocate_DEPENDENCIES) $(EXTRA_fallocate_DEPENDENCIES) 
+	@rm -f fallocate$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fallocate_OBJECTS) $(fallocate_LDADD) $(LIBS)
+
+fanotify_init$(EXEEXT): $(fanotify_init_OBJECTS) $(fanotify_init_DEPENDENCIES) $(EXTRA_fanotify_init_DEPENDENCIES) 
+	@rm -f fanotify_init$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fanotify_init_OBJECTS) $(fanotify_init_LDADD) $(LIBS)
+
+fanotify_mark$(EXEEXT): $(fanotify_mark_OBJECTS) $(fanotify_mark_DEPENDENCIES) $(EXTRA_fanotify_mark_DEPENDENCIES) 
+	@rm -f fanotify_mark$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fanotify_mark_OBJECTS) $(fanotify_mark_LDADD) $(LIBS)
+
+fchdir$(EXEEXT): $(fchdir_OBJECTS) $(fchdir_DEPENDENCIES) $(EXTRA_fchdir_DEPENDENCIES) 
+	@rm -f fchdir$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fchdir_OBJECTS) $(fchdir_LDADD) $(LIBS)
+
+fchmod$(EXEEXT): $(fchmod_OBJECTS) $(fchmod_DEPENDENCIES) $(EXTRA_fchmod_DEPENDENCIES) 
+	@rm -f fchmod$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS)
+
+fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) 
+	@rm -f fchmodat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS)
+
+fchown$(EXEEXT): $(fchown_OBJECTS) $(fchown_DEPENDENCIES) $(EXTRA_fchown_DEPENDENCIES) 
+	@rm -f fchown$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fchown_OBJECTS) $(fchown_LDADD) $(LIBS)
+
+fchown32$(EXEEXT): $(fchown32_OBJECTS) $(fchown32_DEPENDENCIES) $(EXTRA_fchown32_DEPENDENCIES) 
+	@rm -f fchown32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fchown32_OBJECTS) $(fchown32_LDADD) $(LIBS)
+
+fchownat$(EXEEXT): $(fchownat_OBJECTS) $(fchownat_DEPENDENCIES) $(EXTRA_fchownat_DEPENDENCIES) 
+	@rm -f fchownat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fchownat_OBJECTS) $(fchownat_LDADD) $(LIBS)
+
+fcntl$(EXEEXT): $(fcntl_OBJECTS) $(fcntl_DEPENDENCIES) $(EXTRA_fcntl_DEPENDENCIES) 
+	@rm -f fcntl$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS)
+
+fcntl64$(EXEEXT): $(fcntl64_OBJECTS) $(fcntl64_DEPENDENCIES) $(EXTRA_fcntl64_DEPENDENCIES) 
+	@rm -f fcntl64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fcntl64_OBJECTS) $(fcntl64_LDADD) $(LIBS)
+
+fdatasync$(EXEEXT): $(fdatasync_OBJECTS) $(fdatasync_DEPENDENCIES) $(EXTRA_fdatasync_DEPENDENCIES) 
+	@rm -f fdatasync$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fdatasync_OBJECTS) $(fdatasync_LDADD) $(LIBS)
+
+file_handle$(EXEEXT): $(file_handle_OBJECTS) $(file_handle_DEPENDENCIES) $(EXTRA_file_handle_DEPENDENCIES) 
+	@rm -f file_handle$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(file_handle_OBJECTS) $(file_handle_LDADD) $(LIBS)
+
+file_ioctl$(EXEEXT): $(file_ioctl_OBJECTS) $(file_ioctl_DEPENDENCIES) $(EXTRA_file_ioctl_DEPENDENCIES) 
+	@rm -f file_ioctl$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(file_ioctl_OBJECTS) $(file_ioctl_LDADD) $(LIBS)
+
+filter-unavailable$(EXEEXT): $(filter_unavailable_OBJECTS) $(filter_unavailable_DEPENDENCIES) $(EXTRA_filter_unavailable_DEPENDENCIES) 
+	@rm -f filter-unavailable$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(filter_unavailable_OBJECTS) $(filter_unavailable_LDADD) $(LIBS)
+
+finit_module$(EXEEXT): $(finit_module_OBJECTS) $(finit_module_DEPENDENCIES) $(EXTRA_finit_module_DEPENDENCIES) 
+	@rm -f finit_module$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(finit_module_OBJECTS) $(finit_module_LDADD) $(LIBS)
+
+flock$(EXEEXT): $(flock_OBJECTS) $(flock_DEPENDENCIES) $(EXTRA_flock_DEPENDENCIES) 
+	@rm -f flock$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(flock_OBJECTS) $(flock_LDADD) $(LIBS)
+
+fork-f$(EXEEXT): $(fork_f_OBJECTS) $(fork_f_DEPENDENCIES) $(EXTRA_fork_f_DEPENDENCIES) 
+	@rm -f fork-f$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fork_f_OBJECTS) $(fork_f_LDADD) $(LIBS)
+
+fstat$(EXEEXT): $(fstat_OBJECTS) $(fstat_DEPENDENCIES) $(EXTRA_fstat_DEPENDENCIES) 
+	@rm -f fstat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fstat_OBJECTS) $(fstat_LDADD) $(LIBS)
+
+fstat64$(EXEEXT): $(fstat64_OBJECTS) $(fstat64_DEPENDENCIES) $(EXTRA_fstat64_DEPENDENCIES) 
+	@rm -f fstat64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fstat64_OBJECTS) $(fstat64_LDADD) $(LIBS)
+
+fstatat64$(EXEEXT): $(fstatat64_OBJECTS) $(fstatat64_DEPENDENCIES) $(EXTRA_fstatat64_DEPENDENCIES) 
+	@rm -f fstatat64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fstatat64_OBJECTS) $(fstatat64_LDADD) $(LIBS)
+
+fstatfs$(EXEEXT): $(fstatfs_OBJECTS) $(fstatfs_DEPENDENCIES) $(EXTRA_fstatfs_DEPENDENCIES) 
+	@rm -f fstatfs$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fstatfs_OBJECTS) $(fstatfs_LDADD) $(LIBS)
+
+fstatfs64$(EXEEXT): $(fstatfs64_OBJECTS) $(fstatfs64_DEPENDENCIES) $(EXTRA_fstatfs64_DEPENDENCIES) 
+	@rm -f fstatfs64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fstatfs64_OBJECTS) $(fstatfs64_LDADD) $(LIBS)
+
+fsync$(EXEEXT): $(fsync_OBJECTS) $(fsync_DEPENDENCIES) $(EXTRA_fsync_DEPENDENCIES) 
+	@rm -f fsync$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(fsync_OBJECTS) $(fsync_LDADD) $(LIBS)
+
+ftruncate$(EXEEXT): $(ftruncate_OBJECTS) $(ftruncate_DEPENDENCIES) $(EXTRA_ftruncate_DEPENDENCIES) 
+	@rm -f ftruncate$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ftruncate_OBJECTS) $(ftruncate_LDADD) $(LIBS)
+
+ftruncate64$(EXEEXT): $(ftruncate64_OBJECTS) $(ftruncate64_DEPENDENCIES) $(EXTRA_ftruncate64_DEPENDENCIES) 
+	@rm -f ftruncate64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ftruncate64_OBJECTS) $(ftruncate64_LDADD) $(LIBS)
+
+futex$(EXEEXT): $(futex_OBJECTS) $(futex_DEPENDENCIES) $(EXTRA_futex_DEPENDENCIES) 
+	@rm -f futex$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(futex_OBJECTS) $(futex_LDADD) $(LIBS)
+
+futimesat$(EXEEXT): $(futimesat_OBJECTS) $(futimesat_DEPENDENCIES) $(EXTRA_futimesat_DEPENDENCIES) 
+	@rm -f futimesat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(futimesat_OBJECTS) $(futimesat_LDADD) $(LIBS)
+
+get_mempolicy$(EXEEXT): $(get_mempolicy_OBJECTS) $(get_mempolicy_DEPENDENCIES) $(EXTRA_get_mempolicy_DEPENDENCIES) 
+	@rm -f get_mempolicy$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(get_mempolicy_OBJECTS) $(get_mempolicy_LDADD) $(LIBS)
+
+getcpu$(EXEEXT): $(getcpu_OBJECTS) $(getcpu_DEPENDENCIES) $(EXTRA_getcpu_DEPENDENCIES) 
+	@rm -f getcpu$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getcpu_OBJECTS) $(getcpu_LDADD) $(LIBS)
+
+getcwd$(EXEEXT): $(getcwd_OBJECTS) $(getcwd_DEPENDENCIES) $(EXTRA_getcwd_DEPENDENCIES) 
+	@rm -f getcwd$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getcwd_OBJECTS) $(getcwd_LDADD) $(LIBS)
+
+getdents$(EXEEXT): $(getdents_OBJECTS) $(getdents_DEPENDENCIES) $(EXTRA_getdents_DEPENDENCIES) 
+	@rm -f getdents$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getdents_OBJECTS) $(getdents_LDADD) $(LIBS)
+
+getdents64$(EXEEXT): $(getdents64_OBJECTS) $(getdents64_DEPENDENCIES) $(EXTRA_getdents64_DEPENDENCIES) 
+	@rm -f getdents64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getdents64_OBJECTS) $(getdents64_LDADD) $(LIBS)
+
+getegid$(EXEEXT): $(getegid_OBJECTS) $(getegid_DEPENDENCIES) $(EXTRA_getegid_DEPENDENCIES) 
+	@rm -f getegid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getegid_OBJECTS) $(getegid_LDADD) $(LIBS)
+
+getegid32$(EXEEXT): $(getegid32_OBJECTS) $(getegid32_DEPENDENCIES) $(EXTRA_getegid32_DEPENDENCIES) 
+	@rm -f getegid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getegid32_OBJECTS) $(getegid32_LDADD) $(LIBS)
+
+geteuid$(EXEEXT): $(geteuid_OBJECTS) $(geteuid_DEPENDENCIES) $(EXTRA_geteuid_DEPENDENCIES) 
+	@rm -f geteuid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(geteuid_OBJECTS) $(geteuid_LDADD) $(LIBS)
+
+geteuid32$(EXEEXT): $(geteuid32_OBJECTS) $(geteuid32_DEPENDENCIES) $(EXTRA_geteuid32_DEPENDENCIES) 
+	@rm -f geteuid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(geteuid32_OBJECTS) $(geteuid32_LDADD) $(LIBS)
+
+getgid$(EXEEXT): $(getgid_OBJECTS) $(getgid_DEPENDENCIES) $(EXTRA_getgid_DEPENDENCIES) 
+	@rm -f getgid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getgid_OBJECTS) $(getgid_LDADD) $(LIBS)
+
+getgid32$(EXEEXT): $(getgid32_OBJECTS) $(getgid32_DEPENDENCIES) $(EXTRA_getgid32_DEPENDENCIES) 
+	@rm -f getgid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getgid32_OBJECTS) $(getgid32_LDADD) $(LIBS)
+
+getgroups$(EXEEXT): $(getgroups_OBJECTS) $(getgroups_DEPENDENCIES) $(EXTRA_getgroups_DEPENDENCIES) 
+	@rm -f getgroups$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getgroups_OBJECTS) $(getgroups_LDADD) $(LIBS)
+
+getgroups32$(EXEEXT): $(getgroups32_OBJECTS) $(getgroups32_DEPENDENCIES) $(EXTRA_getgroups32_DEPENDENCIES) 
+	@rm -f getgroups32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getgroups32_OBJECTS) $(getgroups32_LDADD) $(LIBS)
+
+getpeername$(EXEEXT): $(getpeername_OBJECTS) $(getpeername_DEPENDENCIES) $(EXTRA_getpeername_DEPENDENCIES) 
+	@rm -f getpeername$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getpeername_OBJECTS) $(getpeername_LDADD) $(LIBS)
+
+getpgrp$(EXEEXT): $(getpgrp_OBJECTS) $(getpgrp_DEPENDENCIES) $(EXTRA_getpgrp_DEPENDENCIES) 
+	@rm -f getpgrp$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getpgrp_OBJECTS) $(getpgrp_LDADD) $(LIBS)
+
+getrandom$(EXEEXT): $(getrandom_OBJECTS) $(getrandom_DEPENDENCIES) $(EXTRA_getrandom_DEPENDENCIES) 
+	@rm -f getrandom$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getrandom_OBJECTS) $(getrandom_LDADD) $(LIBS)
+
+getresgid$(EXEEXT): $(getresgid_OBJECTS) $(getresgid_DEPENDENCIES) $(EXTRA_getresgid_DEPENDENCIES) 
+	@rm -f getresgid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getresgid_OBJECTS) $(getresgid_LDADD) $(LIBS)
+
+getresgid32$(EXEEXT): $(getresgid32_OBJECTS) $(getresgid32_DEPENDENCIES) $(EXTRA_getresgid32_DEPENDENCIES) 
+	@rm -f getresgid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getresgid32_OBJECTS) $(getresgid32_LDADD) $(LIBS)
+
+getresuid$(EXEEXT): $(getresuid_OBJECTS) $(getresuid_DEPENDENCIES) $(EXTRA_getresuid_DEPENDENCIES) 
+	@rm -f getresuid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getresuid_OBJECTS) $(getresuid_LDADD) $(LIBS)
+
+getresuid32$(EXEEXT): $(getresuid32_OBJECTS) $(getresuid32_DEPENDENCIES) $(EXTRA_getresuid32_DEPENDENCIES) 
+	@rm -f getresuid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getresuid32_OBJECTS) $(getresuid32_LDADD) $(LIBS)
+
+getrlimit$(EXEEXT): $(getrlimit_OBJECTS) $(getrlimit_DEPENDENCIES) $(EXTRA_getrlimit_DEPENDENCIES) 
+	@rm -f getrlimit$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getrlimit_OBJECTS) $(getrlimit_LDADD) $(LIBS)
+
+getrusage$(EXEEXT): $(getrusage_OBJECTS) $(getrusage_DEPENDENCIES) $(EXTRA_getrusage_DEPENDENCIES) 
+	@rm -f getrusage$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getrusage_OBJECTS) $(getrusage_LDADD) $(LIBS)
+
+getsid$(EXEEXT): $(getsid_OBJECTS) $(getsid_DEPENDENCIES) $(EXTRA_getsid_DEPENDENCIES) 
+	@rm -f getsid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getsid_OBJECTS) $(getsid_LDADD) $(LIBS)
+
+getsockname$(EXEEXT): $(getsockname_OBJECTS) $(getsockname_DEPENDENCIES) $(EXTRA_getsockname_DEPENDENCIES) 
+	@rm -f getsockname$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getsockname_OBJECTS) $(getsockname_LDADD) $(LIBS)
+
+getuid$(EXEEXT): $(getuid_OBJECTS) $(getuid_DEPENDENCIES) $(EXTRA_getuid_DEPENDENCIES) 
+	@rm -f getuid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getuid_OBJECTS) $(getuid_LDADD) $(LIBS)
+
+getuid32$(EXEEXT): $(getuid32_OBJECTS) $(getuid32_DEPENDENCIES) $(EXTRA_getuid32_DEPENDENCIES) 
+	@rm -f getuid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getuid32_OBJECTS) $(getuid32_LDADD) $(LIBS)
+
+getxxid$(EXEEXT): $(getxxid_OBJECTS) $(getxxid_DEPENDENCIES) $(EXTRA_getxxid_DEPENDENCIES) 
+	@rm -f getxxid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(getxxid_OBJECTS) $(getxxid_LDADD) $(LIBS)
+
+inet-cmsg$(EXEEXT): $(inet_cmsg_OBJECTS) $(inet_cmsg_DEPENDENCIES) $(EXTRA_inet_cmsg_DEPENDENCIES) 
+	@rm -f inet-cmsg$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(inet_cmsg_OBJECTS) $(inet_cmsg_LDADD) $(LIBS)
+
+init_module$(EXEEXT): $(init_module_OBJECTS) $(init_module_DEPENDENCIES) $(EXTRA_init_module_DEPENDENCIES) 
+	@rm -f init_module$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(init_module_OBJECTS) $(init_module_LDADD) $(LIBS)
+
+inotify$(EXEEXT): $(inotify_OBJECTS) $(inotify_DEPENDENCIES) $(EXTRA_inotify_DEPENDENCIES) 
+	@rm -f inotify$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(inotify_OBJECTS) $(inotify_LDADD) $(LIBS)
+
+inotify_init1$(EXEEXT): $(inotify_init1_OBJECTS) $(inotify_init1_DEPENDENCIES) $(EXTRA_inotify_init1_DEPENDENCIES) 
+	@rm -f inotify_init1$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(inotify_init1_OBJECTS) $(inotify_init1_LDADD) $(LIBS)
+
+ioctl$(EXEEXT): $(ioctl_OBJECTS) $(ioctl_DEPENDENCIES) $(EXTRA_ioctl_DEPENDENCIES) 
+	@rm -f ioctl$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_OBJECTS) $(ioctl_LDADD) $(LIBS)
+
+ioctl_block$(EXEEXT): $(ioctl_block_OBJECTS) $(ioctl_block_DEPENDENCIES) $(EXTRA_ioctl_block_DEPENDENCIES) 
+	@rm -f ioctl_block$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_block_OBJECTS) $(ioctl_block_LDADD) $(LIBS)
+
+ioctl_dm$(EXEEXT): $(ioctl_dm_OBJECTS) $(ioctl_dm_DEPENDENCIES) $(EXTRA_ioctl_dm_DEPENDENCIES) 
+	@rm -f ioctl_dm$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_dm_OBJECTS) $(ioctl_dm_LDADD) $(LIBS)
+
+ioctl_dm-v$(EXEEXT): $(ioctl_dm_v_OBJECTS) $(ioctl_dm_v_DEPENDENCIES) $(EXTRA_ioctl_dm_v_DEPENDENCIES) 
+	@rm -f ioctl_dm-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_dm_v_OBJECTS) $(ioctl_dm_v_LDADD) $(LIBS)
+
+ioctl_evdev$(EXEEXT): $(ioctl_evdev_OBJECTS) $(ioctl_evdev_DEPENDENCIES) $(EXTRA_ioctl_evdev_DEPENDENCIES) 
+	@rm -f ioctl_evdev$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_evdev_OBJECTS) $(ioctl_evdev_LDADD) $(LIBS)
+
+ioctl_evdev-v$(EXEEXT): $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_DEPENDENCIES) $(EXTRA_ioctl_evdev_v_DEPENDENCIES) 
+	@rm -f ioctl_evdev-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_evdev_v_OBJECTS) $(ioctl_evdev_v_LDADD) $(LIBS)
+
+ioctl_loop$(EXEEXT): $(ioctl_loop_OBJECTS) $(ioctl_loop_DEPENDENCIES) $(EXTRA_ioctl_loop_DEPENDENCIES) 
+	@rm -f ioctl_loop$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_loop_OBJECTS) $(ioctl_loop_LDADD) $(LIBS)
+
+ioctl_loop-nv$(EXEEXT): $(ioctl_loop_nv_OBJECTS) $(ioctl_loop_nv_DEPENDENCIES) $(EXTRA_ioctl_loop_nv_DEPENDENCIES) 
+	@rm -f ioctl_loop-nv$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_loop_nv_OBJECTS) $(ioctl_loop_nv_LDADD) $(LIBS)
+
+ioctl_loop-v$(EXEEXT): $(ioctl_loop_v_OBJECTS) $(ioctl_loop_v_DEPENDENCIES) $(EXTRA_ioctl_loop_v_DEPENDENCIES) 
+	@rm -f ioctl_loop-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_loop_v_OBJECTS) $(ioctl_loop_v_LDADD) $(LIBS)
+
+ioctl_mtd$(EXEEXT): $(ioctl_mtd_OBJECTS) $(ioctl_mtd_DEPENDENCIES) $(EXTRA_ioctl_mtd_DEPENDENCIES) 
+	@rm -f ioctl_mtd$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_mtd_OBJECTS) $(ioctl_mtd_LDADD) $(LIBS)
+
+ioctl_rtc$(EXEEXT): $(ioctl_rtc_OBJECTS) $(ioctl_rtc_DEPENDENCIES) $(EXTRA_ioctl_rtc_DEPENDENCIES) 
+	@rm -f ioctl_rtc$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_rtc_OBJECTS) $(ioctl_rtc_LDADD) $(LIBS)
+
+ioctl_rtc-v$(EXEEXT): $(ioctl_rtc_v_OBJECTS) $(ioctl_rtc_v_DEPENDENCIES) $(EXTRA_ioctl_rtc_v_DEPENDENCIES) 
+	@rm -f ioctl_rtc-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_rtc_v_OBJECTS) $(ioctl_rtc_v_LDADD) $(LIBS)
+
+ioctl_scsi$(EXEEXT): $(ioctl_scsi_OBJECTS) $(ioctl_scsi_DEPENDENCIES) $(EXTRA_ioctl_scsi_DEPENDENCIES) 
+	@rm -f ioctl_scsi$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_scsi_OBJECTS) $(ioctl_scsi_LDADD) $(LIBS)
+
+ioctl_sg_io_v3$(EXEEXT): $(ioctl_sg_io_v3_OBJECTS) $(ioctl_sg_io_v3_DEPENDENCIES) $(EXTRA_ioctl_sg_io_v3_DEPENDENCIES) 
+	@rm -f ioctl_sg_io_v3$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_sg_io_v3_OBJECTS) $(ioctl_sg_io_v3_LDADD) $(LIBS)
+
+ioctl_sg_io_v4$(EXEEXT): $(ioctl_sg_io_v4_OBJECTS) $(ioctl_sg_io_v4_DEPENDENCIES) $(EXTRA_ioctl_sg_io_v4_DEPENDENCIES) 
+	@rm -f ioctl_sg_io_v4$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_sg_io_v4_OBJECTS) $(ioctl_sg_io_v4_LDADD) $(LIBS)
+
+ioctl_sock_gifconf$(EXEEXT): $(ioctl_sock_gifconf_OBJECTS) $(ioctl_sock_gifconf_DEPENDENCIES) $(EXTRA_ioctl_sock_gifconf_DEPENDENCIES) 
+	@rm -f ioctl_sock_gifconf$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_sock_gifconf_OBJECTS) $(ioctl_sock_gifconf_LDADD) $(LIBS)
+
+ioctl_uffdio$(EXEEXT): $(ioctl_uffdio_OBJECTS) $(ioctl_uffdio_DEPENDENCIES) $(EXTRA_ioctl_uffdio_DEPENDENCIES) 
+	@rm -f ioctl_uffdio$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_uffdio_OBJECTS) $(ioctl_uffdio_LDADD) $(LIBS)
+
+ioctl_v4l2$(EXEEXT): $(ioctl_v4l2_OBJECTS) $(ioctl_v4l2_DEPENDENCIES) $(EXTRA_ioctl_v4l2_DEPENDENCIES) 
+	@rm -f ioctl_v4l2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioctl_v4l2_OBJECTS) $(ioctl_v4l2_LDADD) $(LIBS)
+
+ioperm$(EXEEXT): $(ioperm_OBJECTS) $(ioperm_DEPENDENCIES) $(EXTRA_ioperm_DEPENDENCIES) 
+	@rm -f ioperm$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioperm_OBJECTS) $(ioperm_LDADD) $(LIBS)
+
+iopl$(EXEEXT): $(iopl_OBJECTS) $(iopl_DEPENDENCIES) $(EXTRA_iopl_DEPENDENCIES) 
+	@rm -f iopl$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(iopl_OBJECTS) $(iopl_LDADD) $(LIBS)
+
+ioprio$(EXEEXT): $(ioprio_OBJECTS) $(ioprio_DEPENDENCIES) $(EXTRA_ioprio_DEPENDENCIES) 
+	@rm -f ioprio$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ioprio_OBJECTS) $(ioprio_LDADD) $(LIBS)
+
+ip_mreq$(EXEEXT): $(ip_mreq_OBJECTS) $(ip_mreq_DEPENDENCIES) $(EXTRA_ip_mreq_DEPENDENCIES) 
+	@rm -f ip_mreq$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ip_mreq_OBJECTS) $(ip_mreq_LDADD) $(LIBS)
+
+ipc$(EXEEXT): $(ipc_OBJECTS) $(ipc_DEPENDENCIES) $(EXTRA_ipc_DEPENDENCIES) 
+	@rm -f ipc$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ipc_OBJECTS) $(ipc_LDADD) $(LIBS)
+
+ipc_msg$(EXEEXT): $(ipc_msg_OBJECTS) $(ipc_msg_DEPENDENCIES) $(EXTRA_ipc_msg_DEPENDENCIES) 
+	@rm -f ipc_msg$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ipc_msg_OBJECTS) $(ipc_msg_LDADD) $(LIBS)
+
+ipc_msgbuf$(EXEEXT): $(ipc_msgbuf_OBJECTS) $(ipc_msgbuf_DEPENDENCIES) $(EXTRA_ipc_msgbuf_DEPENDENCIES) 
+	@rm -f ipc_msgbuf$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ipc_msgbuf_OBJECTS) $(ipc_msgbuf_LDADD) $(LIBS)
+
+ipc_sem$(EXEEXT): $(ipc_sem_OBJECTS) $(ipc_sem_DEPENDENCIES) $(EXTRA_ipc_sem_DEPENDENCIES) 
+	@rm -f ipc_sem$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ipc_sem_OBJECTS) $(ipc_sem_LDADD) $(LIBS)
+
+ipc_shm$(EXEEXT): $(ipc_shm_OBJECTS) $(ipc_shm_DEPENDENCIES) $(EXTRA_ipc_shm_DEPENDENCIES) 
+	@rm -f ipc_shm$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ipc_shm_OBJECTS) $(ipc_shm_LDADD) $(LIBS)
+
+kcmp$(EXEEXT): $(kcmp_OBJECTS) $(kcmp_DEPENDENCIES) $(EXTRA_kcmp_DEPENDENCIES) 
+	@rm -f kcmp$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(kcmp_OBJECTS) $(kcmp_LDADD) $(LIBS)
+
+kexec_file_load$(EXEEXT): $(kexec_file_load_OBJECTS) $(kexec_file_load_DEPENDENCIES) $(EXTRA_kexec_file_load_DEPENDENCIES) 
+	@rm -f kexec_file_load$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(kexec_file_load_OBJECTS) $(kexec_file_load_LDADD) $(LIBS)
+
+kexec_load$(EXEEXT): $(kexec_load_OBJECTS) $(kexec_load_DEPENDENCIES) $(EXTRA_kexec_load_DEPENDENCIES) 
+	@rm -f kexec_load$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(kexec_load_OBJECTS) $(kexec_load_LDADD) $(LIBS)
+
+keyctl$(EXEEXT): $(keyctl_OBJECTS) $(keyctl_DEPENDENCIES) $(EXTRA_keyctl_DEPENDENCIES) 
+	@rm -f keyctl$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(keyctl_OBJECTS) $(keyctl_LDADD) $(LIBS)
+
+kill$(EXEEXT): $(kill_OBJECTS) $(kill_DEPENDENCIES) $(EXTRA_kill_DEPENDENCIES) 
+	@rm -f kill$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS)
+
+ksysent$(EXEEXT): $(ksysent_OBJECTS) $(ksysent_DEPENDENCIES) $(EXTRA_ksysent_DEPENDENCIES) 
+	@rm -f ksysent$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ksysent_OBJECTS) $(ksysent_LDADD) $(LIBS)
+
+lchown$(EXEEXT): $(lchown_OBJECTS) $(lchown_DEPENDENCIES) $(EXTRA_lchown_DEPENDENCIES) 
+	@rm -f lchown$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(lchown_OBJECTS) $(lchown_LDADD) $(LIBS)
+
+lchown32$(EXEEXT): $(lchown32_OBJECTS) $(lchown32_DEPENDENCIES) $(EXTRA_lchown32_DEPENDENCIES) 
+	@rm -f lchown32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(lchown32_OBJECTS) $(lchown32_LDADD) $(LIBS)
+
+link$(EXEEXT): $(link_OBJECTS) $(link_DEPENDENCIES) $(EXTRA_link_DEPENDENCIES) 
+	@rm -f link$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(link_OBJECTS) $(link_LDADD) $(LIBS)
+
+linkat$(EXEEXT): $(linkat_OBJECTS) $(linkat_DEPENDENCIES) $(EXTRA_linkat_DEPENDENCIES) 
+	@rm -f linkat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(linkat_OBJECTS) $(linkat_LDADD) $(LIBS)
+
+llseek$(EXEEXT): $(llseek_OBJECTS) $(llseek_DEPENDENCIES) $(EXTRA_llseek_DEPENDENCIES) 
+	@rm -f llseek$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(llseek_OBJECTS) $(llseek_LDADD) $(LIBS)
+
+lookup_dcookie$(EXEEXT): $(lookup_dcookie_OBJECTS) $(lookup_dcookie_DEPENDENCIES) $(EXTRA_lookup_dcookie_DEPENDENCIES) 
+	@rm -f lookup_dcookie$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(lookup_dcookie_OBJECTS) $(lookup_dcookie_LDADD) $(LIBS)
+
+lseek$(EXEEXT): $(lseek_OBJECTS) $(lseek_DEPENDENCIES) $(EXTRA_lseek_DEPENDENCIES) 
+	@rm -f lseek$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(lseek_OBJECTS) $(lseek_LDADD) $(LIBS)
+
+lstat$(EXEEXT): $(lstat_OBJECTS) $(lstat_DEPENDENCIES) $(EXTRA_lstat_DEPENDENCIES) 
+	@rm -f lstat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(lstat_OBJECTS) $(lstat_LDADD) $(LIBS)
+
+lstat64$(EXEEXT): $(lstat64_OBJECTS) $(lstat64_DEPENDENCIES) $(EXTRA_lstat64_DEPENDENCIES) 
+	@rm -f lstat64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(lstat64_OBJECTS) $(lstat64_LDADD) $(LIBS)
+
+mbind$(EXEEXT): $(mbind_OBJECTS) $(mbind_DEPENDENCIES) $(EXTRA_mbind_DEPENDENCIES) 
+	@rm -f mbind$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mbind_OBJECTS) $(mbind_LDADD) $(LIBS)
+
+membarrier$(EXEEXT): $(membarrier_OBJECTS) $(membarrier_DEPENDENCIES) $(EXTRA_membarrier_DEPENDENCIES) 
+	@rm -f membarrier$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(membarrier_OBJECTS) $(membarrier_LDADD) $(LIBS)
+
+memfd_create$(EXEEXT): $(memfd_create_OBJECTS) $(memfd_create_DEPENDENCIES) $(EXTRA_memfd_create_DEPENDENCIES) 
+	@rm -f memfd_create$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(memfd_create_OBJECTS) $(memfd_create_LDADD) $(LIBS)
+
+migrate_pages$(EXEEXT): $(migrate_pages_OBJECTS) $(migrate_pages_DEPENDENCIES) $(EXTRA_migrate_pages_DEPENDENCIES) 
+	@rm -f migrate_pages$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(migrate_pages_OBJECTS) $(migrate_pages_LDADD) $(LIBS)
+
+mincore$(EXEEXT): $(mincore_OBJECTS) $(mincore_DEPENDENCIES) $(EXTRA_mincore_DEPENDENCIES) 
+	@rm -f mincore$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mincore_OBJECTS) $(mincore_LDADD) $(LIBS)
+
+mkdir$(EXEEXT): $(mkdir_OBJECTS) $(mkdir_DEPENDENCIES) $(EXTRA_mkdir_DEPENDENCIES) 
+	@rm -f mkdir$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mkdir_OBJECTS) $(mkdir_LDADD) $(LIBS)
+
+mkdirat$(EXEEXT): $(mkdirat_OBJECTS) $(mkdirat_DEPENDENCIES) $(EXTRA_mkdirat_DEPENDENCIES) 
+	@rm -f mkdirat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mkdirat_OBJECTS) $(mkdirat_LDADD) $(LIBS)
+
+mknod$(EXEEXT): $(mknod_OBJECTS) $(mknod_DEPENDENCIES) $(EXTRA_mknod_DEPENDENCIES) 
+	@rm -f mknod$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mknod_OBJECTS) $(mknod_LDADD) $(LIBS)
+
+mknodat$(EXEEXT): $(mknodat_OBJECTS) $(mknodat_DEPENDENCIES) $(EXTRA_mknodat_DEPENDENCIES) 
+	@rm -f mknodat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mknodat_OBJECTS) $(mknodat_LDADD) $(LIBS)
+
+mlock$(EXEEXT): $(mlock_OBJECTS) $(mlock_DEPENDENCIES) $(EXTRA_mlock_DEPENDENCIES) 
+	@rm -f mlock$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mlock_OBJECTS) $(mlock_LDADD) $(LIBS)
+
+mlock2$(EXEEXT): $(mlock2_OBJECTS) $(mlock2_DEPENDENCIES) $(EXTRA_mlock2_DEPENDENCIES) 
+	@rm -f mlock2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mlock2_OBJECTS) $(mlock2_LDADD) $(LIBS)
+
+mlockall$(EXEEXT): $(mlockall_OBJECTS) $(mlockall_DEPENDENCIES) $(EXTRA_mlockall_DEPENDENCIES) 
+	@rm -f mlockall$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mlockall_OBJECTS) $(mlockall_LDADD) $(LIBS)
+
+mmap$(EXEEXT): $(mmap_OBJECTS) $(mmap_DEPENDENCIES) $(EXTRA_mmap_DEPENDENCIES) 
+	@rm -f mmap$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mmap_OBJECTS) $(mmap_LDADD) $(LIBS)
+
+mmap64$(EXEEXT): $(mmap64_OBJECTS) $(mmap64_DEPENDENCIES) $(EXTRA_mmap64_DEPENDENCIES) 
+	@rm -f mmap64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mmap64_OBJECTS) $(mmap64_LDADD) $(LIBS)
+
+mmsg$(EXEEXT): $(mmsg_OBJECTS) $(mmsg_DEPENDENCIES) $(EXTRA_mmsg_DEPENDENCIES) 
+	@rm -f mmsg$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mmsg_OBJECTS) $(mmsg_LDADD) $(LIBS)
+
+mmsg-silent$(EXEEXT): $(mmsg_silent_OBJECTS) $(mmsg_silent_DEPENDENCIES) $(EXTRA_mmsg_silent_DEPENDENCIES) 
+	@rm -f mmsg-silent$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mmsg_silent_OBJECTS) $(mmsg_silent_LDADD) $(LIBS)
+
+mmsg_name$(EXEEXT): $(mmsg_name_OBJECTS) $(mmsg_name_DEPENDENCIES) $(EXTRA_mmsg_name_DEPENDENCIES) 
+	@rm -f mmsg_name$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mmsg_name_OBJECTS) $(mmsg_name_LDADD) $(LIBS)
+
+mmsg_name-v$(EXEEXT): $(mmsg_name_v_OBJECTS) $(mmsg_name_v_DEPENDENCIES) $(EXTRA_mmsg_name_v_DEPENDENCIES) 
+	@rm -f mmsg_name-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mmsg_name_v_OBJECTS) $(mmsg_name_v_LDADD) $(LIBS)
+
+mount$(EXEEXT): $(mount_OBJECTS) $(mount_DEPENDENCIES) $(EXTRA_mount_DEPENDENCIES) 
+	@rm -f mount$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mount_OBJECTS) $(mount_LDADD) $(LIBS)
+
+move_pages$(EXEEXT): $(move_pages_OBJECTS) $(move_pages_DEPENDENCIES) $(EXTRA_move_pages_DEPENDENCIES) 
+	@rm -f move_pages$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(move_pages_OBJECTS) $(move_pages_LDADD) $(LIBS)
+
+mq$(EXEEXT): $(mq_OBJECTS) $(mq_DEPENDENCIES) $(EXTRA_mq_DEPENDENCIES) 
+	@rm -f mq$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mq_OBJECTS) $(mq_LDADD) $(LIBS)
+
+mq_sendrecv$(EXEEXT): $(mq_sendrecv_OBJECTS) $(mq_sendrecv_DEPENDENCIES) $(EXTRA_mq_sendrecv_DEPENDENCIES) 
+	@rm -f mq_sendrecv$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mq_sendrecv_OBJECTS) $(mq_sendrecv_LDADD) $(LIBS)
+
+mq_sendrecv-read$(EXEEXT): $(mq_sendrecv_read_OBJECTS) $(mq_sendrecv_read_DEPENDENCIES) $(EXTRA_mq_sendrecv_read_DEPENDENCIES) 
+	@rm -f mq_sendrecv-read$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mq_sendrecv_read_OBJECTS) $(mq_sendrecv_read_LDADD) $(LIBS)
+
+mq_sendrecv-write$(EXEEXT): $(mq_sendrecv_write_OBJECTS) $(mq_sendrecv_write_DEPENDENCIES) $(EXTRA_mq_sendrecv_write_DEPENDENCIES) 
+	@rm -f mq_sendrecv-write$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mq_sendrecv_write_OBJECTS) $(mq_sendrecv_write_LDADD) $(LIBS)
+
+msg_control$(EXEEXT): $(msg_control_OBJECTS) $(msg_control_DEPENDENCIES) $(EXTRA_msg_control_DEPENDENCIES) 
+	@rm -f msg_control$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(msg_control_OBJECTS) $(msg_control_LDADD) $(LIBS)
+
+msg_control-v$(EXEEXT): $(msg_control_v_OBJECTS) $(msg_control_v_DEPENDENCIES) $(EXTRA_msg_control_v_DEPENDENCIES) 
+	@rm -f msg_control-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(msg_control_v_OBJECTS) $(msg_control_v_LDADD) $(LIBS)
+
+msg_name$(EXEEXT): $(msg_name_OBJECTS) $(msg_name_DEPENDENCIES) $(EXTRA_msg_name_DEPENDENCIES) 
+	@rm -f msg_name$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(msg_name_OBJECTS) $(msg_name_LDADD) $(LIBS)
+
+munlockall$(EXEEXT): $(munlockall_OBJECTS) $(munlockall_DEPENDENCIES) $(EXTRA_munlockall_DEPENDENCIES) 
+	@rm -f munlockall$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(munlockall_OBJECTS) $(munlockall_LDADD) $(LIBS)
+
+nanosleep$(EXEEXT): $(nanosleep_OBJECTS) $(nanosleep_DEPENDENCIES) $(EXTRA_nanosleep_DEPENDENCIES) 
+	@rm -f nanosleep$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(nanosleep_OBJECTS) $(nanosleep_LDADD) $(LIBS)
+
+net-accept-connect$(EXEEXT): $(net_accept_connect_OBJECTS) $(net_accept_connect_DEPENDENCIES) $(EXTRA_net_accept_connect_DEPENDENCIES) 
+	@rm -f net-accept-connect$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(net_accept_connect_OBJECTS) $(net_accept_connect_LDADD) $(LIBS)
+
+net-icmp_filter$(EXEEXT): $(net_icmp_filter_OBJECTS) $(net_icmp_filter_DEPENDENCIES) $(EXTRA_net_icmp_filter_DEPENDENCIES) 
+	@rm -f net-icmp_filter$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(net_icmp_filter_OBJECTS) $(net_icmp_filter_LDADD) $(LIBS)
+
+net-sockaddr$(EXEEXT): $(net_sockaddr_OBJECTS) $(net_sockaddr_DEPENDENCIES) $(EXTRA_net_sockaddr_DEPENDENCIES) 
+	@rm -f net-sockaddr$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(net_sockaddr_OBJECTS) $(net_sockaddr_LDADD) $(LIBS)
+
+net-y-unix$(EXEEXT): $(net_y_unix_OBJECTS) $(net_y_unix_DEPENDENCIES) $(EXTRA_net_y_unix_DEPENDENCIES) 
+	@rm -f net-y-unix$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(net_y_unix_OBJECTS) $(net_y_unix_LDADD) $(LIBS)
+
+net-yy-inet$(EXEEXT): $(net_yy_inet_OBJECTS) $(net_yy_inet_DEPENDENCIES) $(EXTRA_net_yy_inet_DEPENDENCIES) 
+	@rm -f net-yy-inet$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(net_yy_inet_OBJECTS) $(net_yy_inet_LDADD) $(LIBS)
+
+net-yy-netlink$(EXEEXT): $(net_yy_netlink_OBJECTS) $(net_yy_netlink_DEPENDENCIES) $(EXTRA_net_yy_netlink_DEPENDENCIES) 
+	@rm -f net-yy-netlink$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(net_yy_netlink_OBJECTS) $(net_yy_netlink_LDADD) $(LIBS)
+
+net-yy-unix$(EXEEXT): $(net_yy_unix_OBJECTS) $(net_yy_unix_DEPENDENCIES) $(EXTRA_net_yy_unix_DEPENDENCIES) 
+	@rm -f net-yy-unix$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(net_yy_unix_OBJECTS) $(net_yy_unix_LDADD) $(LIBS)
+
+netlink_inet_diag$(EXEEXT): $(netlink_inet_diag_OBJECTS) $(netlink_inet_diag_DEPENDENCIES) $(EXTRA_netlink_inet_diag_DEPENDENCIES) 
+	@rm -f netlink_inet_diag$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(netlink_inet_diag_OBJECTS) $(netlink_inet_diag_LDADD) $(LIBS)
+
+netlink_netlink_diag$(EXEEXT): $(netlink_netlink_diag_OBJECTS) $(netlink_netlink_diag_DEPENDENCIES) $(EXTRA_netlink_netlink_diag_DEPENDENCIES) 
+	@rm -f netlink_netlink_diag$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(netlink_netlink_diag_OBJECTS) $(netlink_netlink_diag_LDADD) $(LIBS)
+
+netlink_protocol$(EXEEXT): $(netlink_protocol_OBJECTS) $(netlink_protocol_DEPENDENCIES) $(EXTRA_netlink_protocol_DEPENDENCIES) 
+	@rm -f netlink_protocol$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(netlink_protocol_OBJECTS) $(netlink_protocol_LDADD) $(LIBS)
+
+netlink_unix_diag$(EXEEXT): $(netlink_unix_diag_OBJECTS) $(netlink_unix_diag_DEPENDENCIES) $(EXTRA_netlink_unix_diag_DEPENDENCIES) 
+	@rm -f netlink_unix_diag$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(netlink_unix_diag_OBJECTS) $(netlink_unix_diag_LDADD) $(LIBS)
+
+newfstatat$(EXEEXT): $(newfstatat_OBJECTS) $(newfstatat_DEPENDENCIES) $(EXTRA_newfstatat_DEPENDENCIES) 
+	@rm -f newfstatat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(newfstatat_OBJECTS) $(newfstatat_LDADD) $(LIBS)
+
+nsyscalls$(EXEEXT): $(nsyscalls_OBJECTS) $(nsyscalls_DEPENDENCIES) $(EXTRA_nsyscalls_DEPENDENCIES) 
+	@rm -f nsyscalls$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(nsyscalls_OBJECTS) $(nsyscalls_LDADD) $(LIBS)
+
+old_mmap$(EXEEXT): $(old_mmap_OBJECTS) $(old_mmap_DEPENDENCIES) $(EXTRA_old_mmap_DEPENDENCIES) 
+	@rm -f old_mmap$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(old_mmap_OBJECTS) $(old_mmap_LDADD) $(LIBS)
+
+oldfstat$(EXEEXT): $(oldfstat_OBJECTS) $(oldfstat_DEPENDENCIES) $(EXTRA_oldfstat_DEPENDENCIES) 
+	@rm -f oldfstat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(oldfstat_OBJECTS) $(oldfstat_LDADD) $(LIBS)
+
+oldlstat$(EXEEXT): $(oldlstat_OBJECTS) $(oldlstat_DEPENDENCIES) $(EXTRA_oldlstat_DEPENDENCIES) 
+	@rm -f oldlstat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(oldlstat_OBJECTS) $(oldlstat_LDADD) $(LIBS)
+
+oldselect$(EXEEXT): $(oldselect_OBJECTS) $(oldselect_DEPENDENCIES) $(EXTRA_oldselect_DEPENDENCIES) 
+	@rm -f oldselect$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(oldselect_OBJECTS) $(oldselect_LDADD) $(LIBS)
+
+oldstat$(EXEEXT): $(oldstat_OBJECTS) $(oldstat_DEPENDENCIES) $(EXTRA_oldstat_DEPENDENCIES) 
+	@rm -f oldstat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(oldstat_OBJECTS) $(oldstat_LDADD) $(LIBS)
+
+open$(EXEEXT): $(open_OBJECTS) $(open_DEPENDENCIES) $(EXTRA_open_DEPENDENCIES) 
+	@rm -f open$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(open_OBJECTS) $(open_LDADD) $(LIBS)
+
+openat$(EXEEXT): $(openat_OBJECTS) $(openat_DEPENDENCIES) $(EXTRA_openat_DEPENDENCIES) 
+	@rm -f openat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS)
+
+pause$(EXEEXT): $(pause_OBJECTS) $(pause_DEPENDENCIES) $(EXTRA_pause_DEPENDENCIES) 
+	@rm -f pause$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(pause_OBJECTS) $(pause_LDADD) $(LIBS)
+
+pc$(EXEEXT): $(pc_OBJECTS) $(pc_DEPENDENCIES) $(EXTRA_pc_DEPENDENCIES) 
+	@rm -f pc$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(pc_OBJECTS) $(pc_LDADD) $(LIBS)
+
+perf_event_open$(EXEEXT): $(perf_event_open_OBJECTS) $(perf_event_open_DEPENDENCIES) $(EXTRA_perf_event_open_DEPENDENCIES) 
+	@rm -f perf_event_open$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(perf_event_open_OBJECTS) $(perf_event_open_LDADD) $(LIBS)
+
+perf_event_open_nonverbose$(EXEEXT): $(perf_event_open_nonverbose_OBJECTS) $(perf_event_open_nonverbose_DEPENDENCIES) $(EXTRA_perf_event_open_nonverbose_DEPENDENCIES) 
+	@rm -f perf_event_open_nonverbose$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(perf_event_open_nonverbose_OBJECTS) $(perf_event_open_nonverbose_LDADD) $(LIBS)
+
+perf_event_open_unabbrev$(EXEEXT): $(perf_event_open_unabbrev_OBJECTS) $(perf_event_open_unabbrev_DEPENDENCIES) $(EXTRA_perf_event_open_unabbrev_DEPENDENCIES) 
+	@rm -f perf_event_open_unabbrev$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(perf_event_open_unabbrev_OBJECTS) $(perf_event_open_unabbrev_LDADD) $(LIBS)
+
+personality$(EXEEXT): $(personality_OBJECTS) $(personality_DEPENDENCIES) $(EXTRA_personality_DEPENDENCIES) 
+	@rm -f personality$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(personality_OBJECTS) $(personality_LDADD) $(LIBS)
+
+pipe$(EXEEXT): $(pipe_OBJECTS) $(pipe_DEPENDENCIES) $(EXTRA_pipe_DEPENDENCIES) 
+	@rm -f pipe$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(pipe_OBJECTS) $(pipe_LDADD) $(LIBS)
+
+pipe2$(EXEEXT): $(pipe2_OBJECTS) $(pipe2_DEPENDENCIES) $(EXTRA_pipe2_DEPENDENCIES) 
+	@rm -f pipe2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(pipe2_OBJECTS) $(pipe2_LDADD) $(LIBS)
+
+pkey_alloc$(EXEEXT): $(pkey_alloc_OBJECTS) $(pkey_alloc_DEPENDENCIES) $(EXTRA_pkey_alloc_DEPENDENCIES) 
+	@rm -f pkey_alloc$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(pkey_alloc_OBJECTS) $(pkey_alloc_LDADD) $(LIBS)
+
+pkey_free$(EXEEXT): $(pkey_free_OBJECTS) $(pkey_free_DEPENDENCIES) $(EXTRA_pkey_free_DEPENDENCIES) 
+	@rm -f pkey_free$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(pkey_free_OBJECTS) $(pkey_free_LDADD) $(LIBS)
+
+pkey_mprotect$(EXEEXT): $(pkey_mprotect_OBJECTS) $(pkey_mprotect_DEPENDENCIES) $(EXTRA_pkey_mprotect_DEPENDENCIES) 
+	@rm -f pkey_mprotect$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(pkey_mprotect_OBJECTS) $(pkey_mprotect_LDADD) $(LIBS)
+
+poll$(EXEEXT): $(poll_OBJECTS) $(poll_DEPENDENCIES) $(EXTRA_poll_DEPENDENCIES) 
+	@rm -f poll$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(poll_OBJECTS) $(poll_LDADD) $(LIBS)
+
+ppoll$(EXEEXT): $(ppoll_OBJECTS) $(ppoll_DEPENDENCIES) $(EXTRA_ppoll_DEPENDENCIES) 
+	@rm -f ppoll$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ppoll_OBJECTS) $(ppoll_LDADD) $(LIBS)
+
+prctl-arg2-intptr$(EXEEXT): $(prctl_arg2_intptr_OBJECTS) $(prctl_arg2_intptr_DEPENDENCIES) $(EXTRA_prctl_arg2_intptr_DEPENDENCIES) 
+	@rm -f prctl-arg2-intptr$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prctl_arg2_intptr_OBJECTS) $(prctl_arg2_intptr_LDADD) $(LIBS)
+
+prctl-dumpable$(EXEEXT): $(prctl_dumpable_OBJECTS) $(prctl_dumpable_DEPENDENCIES) $(EXTRA_prctl_dumpable_DEPENDENCIES) 
+	@rm -f prctl-dumpable$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prctl_dumpable_OBJECTS) $(prctl_dumpable_LDADD) $(LIBS)
+
+prctl-name$(EXEEXT): $(prctl_name_OBJECTS) $(prctl_name_DEPENDENCIES) $(EXTRA_prctl_name_DEPENDENCIES) 
+	@rm -f prctl-name$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prctl_name_OBJECTS) $(prctl_name_LDADD) $(LIBS)
+
+prctl-no-args$(EXEEXT): $(prctl_no_args_OBJECTS) $(prctl_no_args_DEPENDENCIES) $(EXTRA_prctl_no_args_DEPENDENCIES) 
+	@rm -f prctl-no-args$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prctl_no_args_OBJECTS) $(prctl_no_args_LDADD) $(LIBS)
+
+prctl-pdeathsig$(EXEEXT): $(prctl_pdeathsig_OBJECTS) $(prctl_pdeathsig_DEPENDENCIES) $(EXTRA_prctl_pdeathsig_DEPENDENCIES) 
+	@rm -f prctl-pdeathsig$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prctl_pdeathsig_OBJECTS) $(prctl_pdeathsig_LDADD) $(LIBS)
+
+prctl-seccomp-filter-v$(EXEEXT): $(prctl_seccomp_filter_v_OBJECTS) $(prctl_seccomp_filter_v_DEPENDENCIES) $(EXTRA_prctl_seccomp_filter_v_DEPENDENCIES) 
+	@rm -f prctl-seccomp-filter-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prctl_seccomp_filter_v_OBJECTS) $(prctl_seccomp_filter_v_LDADD) $(LIBS)
+
+prctl-seccomp-strict$(EXEEXT): $(prctl_seccomp_strict_OBJECTS) $(prctl_seccomp_strict_DEPENDENCIES) $(EXTRA_prctl_seccomp_strict_DEPENDENCIES) 
+	@rm -f prctl-seccomp-strict$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prctl_seccomp_strict_OBJECTS) $(prctl_seccomp_strict_LDADD) $(LIBS)
+
+prctl-securebits$(EXEEXT): $(prctl_securebits_OBJECTS) $(prctl_securebits_DEPENDENCIES) $(EXTRA_prctl_securebits_DEPENDENCIES) 
+	@rm -f prctl-securebits$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prctl_securebits_OBJECTS) $(prctl_securebits_LDADD) $(LIBS)
+
+prctl-tid_address$(EXEEXT): $(prctl_tid_address_OBJECTS) $(prctl_tid_address_DEPENDENCIES) $(EXTRA_prctl_tid_address_DEPENDENCIES) 
+	@rm -f prctl-tid_address$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prctl_tid_address_OBJECTS) $(prctl_tid_address_LDADD) $(LIBS)
+
+prctl-tsc$(EXEEXT): $(prctl_tsc_OBJECTS) $(prctl_tsc_DEPENDENCIES) $(EXTRA_prctl_tsc_DEPENDENCIES) 
+	@rm -f prctl-tsc$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prctl_tsc_OBJECTS) $(prctl_tsc_LDADD) $(LIBS)
+
+pread64-pwrite64$(EXEEXT): $(pread64_pwrite64_OBJECTS) $(pread64_pwrite64_DEPENDENCIES) $(EXTRA_pread64_pwrite64_DEPENDENCIES) 
+	@rm -f pread64-pwrite64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(pread64_pwrite64_OBJECTS) $(pread64_pwrite64_LDADD) $(LIBS)
+
+preadv$(EXEEXT): $(preadv_OBJECTS) $(preadv_DEPENDENCIES) $(EXTRA_preadv_DEPENDENCIES) 
+	@rm -f preadv$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(preadv_OBJECTS) $(preadv_LDADD) $(LIBS)
+
+preadv-pwritev$(EXEEXT): $(preadv_pwritev_OBJECTS) $(preadv_pwritev_DEPENDENCIES) $(EXTRA_preadv_pwritev_DEPENDENCIES) 
+	@rm -f preadv-pwritev$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(preadv_pwritev_OBJECTS) $(preadv_pwritev_LDADD) $(LIBS)
+
+preadv2-pwritev2$(EXEEXT): $(preadv2_pwritev2_OBJECTS) $(preadv2_pwritev2_DEPENDENCIES) $(EXTRA_preadv2_pwritev2_DEPENDENCIES) 
+	@rm -f preadv2-pwritev2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(preadv2_pwritev2_OBJECTS) $(preadv2_pwritev2_LDADD) $(LIBS)
+
+print_maxfd$(EXEEXT): $(print_maxfd_OBJECTS) $(print_maxfd_DEPENDENCIES) $(EXTRA_print_maxfd_DEPENDENCIES) 
+	@rm -f print_maxfd$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(print_maxfd_OBJECTS) $(print_maxfd_LDADD) $(LIBS)
+
+printstr$(EXEEXT): $(printstr_OBJECTS) $(printstr_DEPENDENCIES) $(EXTRA_printstr_DEPENDENCIES) 
+	@rm -f printstr$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(printstr_OBJECTS) $(printstr_LDADD) $(LIBS)
+
+prlimit64$(EXEEXT): $(prlimit64_OBJECTS) $(prlimit64_DEPENDENCIES) $(EXTRA_prlimit64_DEPENDENCIES) 
+	@rm -f prlimit64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(prlimit64_OBJECTS) $(prlimit64_LDADD) $(LIBS)
+
+process_vm_readv$(EXEEXT): $(process_vm_readv_OBJECTS) $(process_vm_readv_DEPENDENCIES) $(EXTRA_process_vm_readv_DEPENDENCIES) 
+	@rm -f process_vm_readv$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(process_vm_readv_OBJECTS) $(process_vm_readv_LDADD) $(LIBS)
+
+process_vm_writev$(EXEEXT): $(process_vm_writev_OBJECTS) $(process_vm_writev_DEPENDENCIES) $(EXTRA_process_vm_writev_DEPENDENCIES) 
+	@rm -f process_vm_writev$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(process_vm_writev_OBJECTS) $(process_vm_writev_LDADD) $(LIBS)
+
+pselect6$(EXEEXT): $(pselect6_OBJECTS) $(pselect6_DEPENDENCIES) $(EXTRA_pselect6_DEPENDENCIES) 
+	@rm -f pselect6$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(pselect6_OBJECTS) $(pselect6_LDADD) $(LIBS)
+
+ptrace$(EXEEXT): $(ptrace_OBJECTS) $(ptrace_DEPENDENCIES) $(EXTRA_ptrace_DEPENDENCIES) 
+	@rm -f ptrace$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ptrace_OBJECTS) $(ptrace_LDADD) $(LIBS)
+
+pwritev$(EXEEXT): $(pwritev_OBJECTS) $(pwritev_DEPENDENCIES) $(EXTRA_pwritev_DEPENDENCIES) 
+	@rm -f pwritev$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(pwritev_OBJECTS) $(pwritev_LDADD) $(LIBS)
+
+qual_fault$(EXEEXT): $(qual_fault_OBJECTS) $(qual_fault_DEPENDENCIES) $(EXTRA_qual_fault_DEPENDENCIES) 
+	@rm -f qual_fault$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(qual_fault_OBJECTS) $(qual_fault_LDADD) $(LIBS)
+
+qual_inject-error-signal$(EXEEXT): $(qual_inject_error_signal_OBJECTS) $(qual_inject_error_signal_DEPENDENCIES) $(EXTRA_qual_inject_error_signal_DEPENDENCIES) 
+	@rm -f qual_inject-error-signal$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(qual_inject_error_signal_OBJECTS) $(qual_inject_error_signal_LDADD) $(LIBS)
+
+qual_inject-retval$(EXEEXT): $(qual_inject_retval_OBJECTS) $(qual_inject_retval_DEPENDENCIES) $(EXTRA_qual_inject_retval_DEPENDENCIES) 
+	@rm -f qual_inject-retval$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(qual_inject_retval_OBJECTS) $(qual_inject_retval_LDADD) $(LIBS)
+
+qual_inject-signal$(EXEEXT): $(qual_inject_signal_OBJECTS) $(qual_inject_signal_DEPENDENCIES) $(EXTRA_qual_inject_signal_DEPENDENCIES) 
+	@rm -f qual_inject-signal$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(qual_inject_signal_OBJECTS) $(qual_inject_signal_LDADD) $(LIBS)
+
+qual_signal$(EXEEXT): $(qual_signal_OBJECTS) $(qual_signal_DEPENDENCIES) $(EXTRA_qual_signal_DEPENDENCIES) 
+	@rm -f qual_signal$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(qual_signal_OBJECTS) $(qual_signal_LDADD) $(LIBS)
+
+quotactl$(EXEEXT): $(quotactl_OBJECTS) $(quotactl_DEPENDENCIES) $(EXTRA_quotactl_DEPENDENCIES) 
+	@rm -f quotactl$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(quotactl_OBJECTS) $(quotactl_LDADD) $(LIBS)
+
+quotactl-v$(EXEEXT): $(quotactl_v_OBJECTS) $(quotactl_v_DEPENDENCIES) $(EXTRA_quotactl_v_DEPENDENCIES) 
+	@rm -f quotactl-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(quotactl_v_OBJECTS) $(quotactl_v_LDADD) $(LIBS)
+
+quotactl-xfs$(EXEEXT): $(quotactl_xfs_OBJECTS) $(quotactl_xfs_DEPENDENCIES) $(EXTRA_quotactl_xfs_DEPENDENCIES) 
+	@rm -f quotactl-xfs$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(quotactl_xfs_OBJECTS) $(quotactl_xfs_LDADD) $(LIBS)
+
+quotactl-xfs-v$(EXEEXT): $(quotactl_xfs_v_OBJECTS) $(quotactl_xfs_v_DEPENDENCIES) $(EXTRA_quotactl_xfs_v_DEPENDENCIES) 
+	@rm -f quotactl-xfs-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(quotactl_xfs_v_OBJECTS) $(quotactl_xfs_v_LDADD) $(LIBS)
+
+read-write$(EXEEXT): $(read_write_OBJECTS) $(read_write_DEPENDENCIES) $(EXTRA_read_write_DEPENDENCIES) 
+	@rm -f read-write$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(read_write_OBJECTS) $(read_write_LDADD) $(LIBS)
+
+readahead$(EXEEXT): $(readahead_OBJECTS) $(readahead_DEPENDENCIES) $(EXTRA_readahead_DEPENDENCIES) 
+	@rm -f readahead$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(readahead_OBJECTS) $(readahead_LDADD) $(LIBS)
+
+readdir$(EXEEXT): $(readdir_OBJECTS) $(readdir_DEPENDENCIES) $(EXTRA_readdir_DEPENDENCIES) 
+	@rm -f readdir$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(readdir_OBJECTS) $(readdir_LDADD) $(LIBS)
+
+readlink$(EXEEXT): $(readlink_OBJECTS) $(readlink_DEPENDENCIES) $(EXTRA_readlink_DEPENDENCIES) 
+	@rm -f readlink$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(readlink_OBJECTS) $(readlink_LDADD) $(LIBS)
+
+readlinkat$(EXEEXT): $(readlinkat_OBJECTS) $(readlinkat_DEPENDENCIES) $(EXTRA_readlinkat_DEPENDENCIES) 
+	@rm -f readlinkat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(readlinkat_OBJECTS) $(readlinkat_LDADD) $(LIBS)
+
+readv$(EXEEXT): $(readv_OBJECTS) $(readv_DEPENDENCIES) $(EXTRA_readv_DEPENDENCIES) 
+	@rm -f readv$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(readv_OBJECTS) $(readv_LDADD) $(LIBS)
+
+reboot$(EXEEXT): $(reboot_OBJECTS) $(reboot_DEPENDENCIES) $(EXTRA_reboot_DEPENDENCIES) 
+	@rm -f reboot$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(reboot_OBJECTS) $(reboot_LDADD) $(LIBS)
+
+recvfrom$(EXEEXT): $(recvfrom_OBJECTS) $(recvfrom_DEPENDENCIES) $(EXTRA_recvfrom_DEPENDENCIES) 
+	@rm -f recvfrom$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(recvfrom_OBJECTS) $(recvfrom_LDADD) $(LIBS)
+
+recvmmsg-timeout$(EXEEXT): $(recvmmsg_timeout_OBJECTS) $(recvmmsg_timeout_DEPENDENCIES) $(EXTRA_recvmmsg_timeout_DEPENDENCIES) 
+	@rm -f recvmmsg-timeout$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(recvmmsg_timeout_OBJECTS) $(recvmmsg_timeout_LDADD) $(LIBS)
+
+recvmsg$(EXEEXT): $(recvmsg_OBJECTS) $(recvmsg_DEPENDENCIES) $(EXTRA_recvmsg_DEPENDENCIES) 
+	@rm -f recvmsg$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(recvmsg_OBJECTS) $(recvmsg_LDADD) $(LIBS)
+
+redirect-fds$(EXEEXT): $(redirect_fds_OBJECTS) $(redirect_fds_DEPENDENCIES) $(EXTRA_redirect_fds_DEPENDENCIES) 
+	@rm -f redirect-fds$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(redirect_fds_OBJECTS) $(redirect_fds_LDADD) $(LIBS)
+
+remap_file_pages$(EXEEXT): $(remap_file_pages_OBJECTS) $(remap_file_pages_DEPENDENCIES) $(EXTRA_remap_file_pages_DEPENDENCIES) 
+	@rm -f remap_file_pages$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(remap_file_pages_OBJECTS) $(remap_file_pages_LDADD) $(LIBS)
+
+rename$(EXEEXT): $(rename_OBJECTS) $(rename_DEPENDENCIES) $(EXTRA_rename_DEPENDENCIES) 
+	@rm -f rename$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rename_OBJECTS) $(rename_LDADD) $(LIBS)
+
+renameat$(EXEEXT): $(renameat_OBJECTS) $(renameat_DEPENDENCIES) $(EXTRA_renameat_DEPENDENCIES) 
+	@rm -f renameat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(renameat_OBJECTS) $(renameat_LDADD) $(LIBS)
+
+renameat2$(EXEEXT): $(renameat2_OBJECTS) $(renameat2_DEPENDENCIES) $(EXTRA_renameat2_DEPENDENCIES) 
+	@rm -f renameat2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(renameat2_OBJECTS) $(renameat2_LDADD) $(LIBS)
+
+request_key$(EXEEXT): $(request_key_OBJECTS) $(request_key_DEPENDENCIES) $(EXTRA_request_key_DEPENDENCIES) 
+	@rm -f request_key$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(request_key_OBJECTS) $(request_key_LDADD) $(LIBS)
+
+restart_syscall$(EXEEXT): $(restart_syscall_OBJECTS) $(restart_syscall_DEPENDENCIES) $(EXTRA_restart_syscall_DEPENDENCIES) 
+	@rm -f restart_syscall$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(restart_syscall_OBJECTS) $(restart_syscall_LDADD) $(LIBS)
+
+rmdir$(EXEEXT): $(rmdir_OBJECTS) $(rmdir_DEPENDENCIES) $(EXTRA_rmdir_DEPENDENCIES) 
+	@rm -f rmdir$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rmdir_OBJECTS) $(rmdir_LDADD) $(LIBS)
+
+rt_sigpending$(EXEEXT): $(rt_sigpending_OBJECTS) $(rt_sigpending_DEPENDENCIES) $(EXTRA_rt_sigpending_DEPENDENCIES) 
+	@rm -f rt_sigpending$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rt_sigpending_OBJECTS) $(rt_sigpending_LDADD) $(LIBS)
+
+rt_sigprocmask$(EXEEXT): $(rt_sigprocmask_OBJECTS) $(rt_sigprocmask_DEPENDENCIES) $(EXTRA_rt_sigprocmask_DEPENDENCIES) 
+	@rm -f rt_sigprocmask$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rt_sigprocmask_OBJECTS) $(rt_sigprocmask_LDADD) $(LIBS)
+
+rt_sigqueueinfo$(EXEEXT): $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_DEPENDENCIES) $(EXTRA_rt_sigqueueinfo_DEPENDENCIES) 
+	@rm -f rt_sigqueueinfo$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_LDADD) $(LIBS)
+
+rt_sigsuspend$(EXEEXT): $(rt_sigsuspend_OBJECTS) $(rt_sigsuspend_DEPENDENCIES) $(EXTRA_rt_sigsuspend_DEPENDENCIES) 
+	@rm -f rt_sigsuspend$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rt_sigsuspend_OBJECTS) $(rt_sigsuspend_LDADD) $(LIBS)
+
+rt_sigtimedwait$(EXEEXT): $(rt_sigtimedwait_OBJECTS) $(rt_sigtimedwait_DEPENDENCIES) $(EXTRA_rt_sigtimedwait_DEPENDENCIES) 
+	@rm -f rt_sigtimedwait$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rt_sigtimedwait_OBJECTS) $(rt_sigtimedwait_LDADD) $(LIBS)
+
+rt_tgsigqueueinfo$(EXEEXT): $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_DEPENDENCIES) $(EXTRA_rt_tgsigqueueinfo_DEPENDENCIES) 
+	@rm -f rt_tgsigqueueinfo$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_LDADD) $(LIBS)
+
+sched_get_priority_mxx$(EXEEXT): $(sched_get_priority_mxx_OBJECTS) $(sched_get_priority_mxx_DEPENDENCIES) $(EXTRA_sched_get_priority_mxx_DEPENDENCIES) 
+	@rm -f sched_get_priority_mxx$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sched_get_priority_mxx_OBJECTS) $(sched_get_priority_mxx_LDADD) $(LIBS)
+
+sched_rr_get_interval$(EXEEXT): $(sched_rr_get_interval_OBJECTS) $(sched_rr_get_interval_DEPENDENCIES) $(EXTRA_sched_rr_get_interval_DEPENDENCIES) 
+	@rm -f sched_rr_get_interval$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sched_rr_get_interval_OBJECTS) $(sched_rr_get_interval_LDADD) $(LIBS)
+
+sched_xetaffinity$(EXEEXT): $(sched_xetaffinity_OBJECTS) $(sched_xetaffinity_DEPENDENCIES) $(EXTRA_sched_xetaffinity_DEPENDENCIES) 
+	@rm -f sched_xetaffinity$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sched_xetaffinity_OBJECTS) $(sched_xetaffinity_LDADD) $(LIBS)
+
+sched_xetattr$(EXEEXT): $(sched_xetattr_OBJECTS) $(sched_xetattr_DEPENDENCIES) $(EXTRA_sched_xetattr_DEPENDENCIES) 
+	@rm -f sched_xetattr$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sched_xetattr_OBJECTS) $(sched_xetattr_LDADD) $(LIBS)
+
+sched_xetparam$(EXEEXT): $(sched_xetparam_OBJECTS) $(sched_xetparam_DEPENDENCIES) $(EXTRA_sched_xetparam_DEPENDENCIES) 
+	@rm -f sched_xetparam$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sched_xetparam_OBJECTS) $(sched_xetparam_LDADD) $(LIBS)
+
+sched_xetscheduler$(EXEEXT): $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_DEPENDENCIES) $(EXTRA_sched_xetscheduler_DEPENDENCIES) 
+	@rm -f sched_xetscheduler$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_LDADD) $(LIBS)
+
+sched_yield$(EXEEXT): $(sched_yield_OBJECTS) $(sched_yield_DEPENDENCIES) $(EXTRA_sched_yield_DEPENDENCIES) 
+	@rm -f sched_yield$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sched_yield_OBJECTS) $(sched_yield_LDADD) $(LIBS)
+
+scm_rights$(EXEEXT): $(scm_rights_OBJECTS) $(scm_rights_DEPENDENCIES) $(EXTRA_scm_rights_DEPENDENCIES) 
+	@rm -f scm_rights$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(scm_rights_OBJECTS) $(scm_rights_LDADD) $(LIBS)
+
+seccomp-filter$(EXEEXT): $(seccomp_filter_OBJECTS) $(seccomp_filter_DEPENDENCIES) $(EXTRA_seccomp_filter_DEPENDENCIES) 
+	@rm -f seccomp-filter$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(seccomp_filter_OBJECTS) $(seccomp_filter_LDADD) $(LIBS)
+
+seccomp-filter-v$(EXEEXT): $(seccomp_filter_v_OBJECTS) $(seccomp_filter_v_DEPENDENCIES) $(EXTRA_seccomp_filter_v_DEPENDENCIES) 
+	@rm -f seccomp-filter-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(seccomp_filter_v_OBJECTS) $(seccomp_filter_v_LDADD) $(LIBS)
+
+seccomp-strict$(EXEEXT): $(seccomp_strict_OBJECTS) $(seccomp_strict_DEPENDENCIES) $(EXTRA_seccomp_strict_DEPENDENCIES) 
+	@rm -f seccomp-strict$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(seccomp_strict_OBJECTS) $(seccomp_strict_LDADD) $(LIBS)
+
+select$(EXEEXT): $(select_OBJECTS) $(select_DEPENDENCIES) $(EXTRA_select_DEPENDENCIES) 
+	@rm -f select$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(select_OBJECTS) $(select_LDADD) $(LIBS)
+
+semop$(EXEEXT): $(semop_OBJECTS) $(semop_DEPENDENCIES) $(EXTRA_semop_DEPENDENCIES) 
+	@rm -f semop$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(semop_OBJECTS) $(semop_LDADD) $(LIBS)
+
+sendfile$(EXEEXT): $(sendfile_OBJECTS) $(sendfile_DEPENDENCIES) $(EXTRA_sendfile_DEPENDENCIES) 
+	@rm -f sendfile$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sendfile_OBJECTS) $(sendfile_LDADD) $(LIBS)
+
+sendfile64$(EXEEXT): $(sendfile64_OBJECTS) $(sendfile64_DEPENDENCIES) $(EXTRA_sendfile64_DEPENDENCIES) 
+	@rm -f sendfile64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sendfile64_OBJECTS) $(sendfile64_LDADD) $(LIBS)
+
+set_mempolicy$(EXEEXT): $(set_mempolicy_OBJECTS) $(set_mempolicy_DEPENDENCIES) $(EXTRA_set_mempolicy_DEPENDENCIES) 
+	@rm -f set_mempolicy$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(set_mempolicy_OBJECTS) $(set_mempolicy_LDADD) $(LIBS)
+
+set_ptracer_any$(EXEEXT): $(set_ptracer_any_OBJECTS) $(set_ptracer_any_DEPENDENCIES) $(EXTRA_set_ptracer_any_DEPENDENCIES) 
+	@rm -f set_ptracer_any$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(set_ptracer_any_OBJECTS) $(set_ptracer_any_LDADD) $(LIBS)
+
+setdomainname$(EXEEXT): $(setdomainname_OBJECTS) $(setdomainname_DEPENDENCIES) $(EXTRA_setdomainname_DEPENDENCIES) 
+	@rm -f setdomainname$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setdomainname_OBJECTS) $(setdomainname_LDADD) $(LIBS)
+
+setfsgid$(EXEEXT): $(setfsgid_OBJECTS) $(setfsgid_DEPENDENCIES) $(EXTRA_setfsgid_DEPENDENCIES) 
+	@rm -f setfsgid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setfsgid_OBJECTS) $(setfsgid_LDADD) $(LIBS)
+
+setfsgid32$(EXEEXT): $(setfsgid32_OBJECTS) $(setfsgid32_DEPENDENCIES) $(EXTRA_setfsgid32_DEPENDENCIES) 
+	@rm -f setfsgid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setfsgid32_OBJECTS) $(setfsgid32_LDADD) $(LIBS)
+
+setfsuid$(EXEEXT): $(setfsuid_OBJECTS) $(setfsuid_DEPENDENCIES) $(EXTRA_setfsuid_DEPENDENCIES) 
+	@rm -f setfsuid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setfsuid_OBJECTS) $(setfsuid_LDADD) $(LIBS)
+
+setfsuid32$(EXEEXT): $(setfsuid32_OBJECTS) $(setfsuid32_DEPENDENCIES) $(EXTRA_setfsuid32_DEPENDENCIES) 
+	@rm -f setfsuid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setfsuid32_OBJECTS) $(setfsuid32_LDADD) $(LIBS)
+
+setgid$(EXEEXT): $(setgid_OBJECTS) $(setgid_DEPENDENCIES) $(EXTRA_setgid_DEPENDENCIES) 
+	@rm -f setgid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setgid_OBJECTS) $(setgid_LDADD) $(LIBS)
+
+setgid32$(EXEEXT): $(setgid32_OBJECTS) $(setgid32_DEPENDENCIES) $(EXTRA_setgid32_DEPENDENCIES) 
+	@rm -f setgid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setgid32_OBJECTS) $(setgid32_LDADD) $(LIBS)
+
+setgroups$(EXEEXT): $(setgroups_OBJECTS) $(setgroups_DEPENDENCIES) $(EXTRA_setgroups_DEPENDENCIES) 
+	@rm -f setgroups$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setgroups_OBJECTS) $(setgroups_LDADD) $(LIBS)
+
+setgroups32$(EXEEXT): $(setgroups32_OBJECTS) $(setgroups32_DEPENDENCIES) $(EXTRA_setgroups32_DEPENDENCIES) 
+	@rm -f setgroups32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setgroups32_OBJECTS) $(setgroups32_LDADD) $(LIBS)
+
+sethostname$(EXEEXT): $(sethostname_OBJECTS) $(sethostname_DEPENDENCIES) $(EXTRA_sethostname_DEPENDENCIES) 
+	@rm -f sethostname$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sethostname_OBJECTS) $(sethostname_LDADD) $(LIBS)
+
+setns$(EXEEXT): $(setns_OBJECTS) $(setns_DEPENDENCIES) $(EXTRA_setns_DEPENDENCIES) 
+	@rm -f setns$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setns_OBJECTS) $(setns_LDADD) $(LIBS)
+
+setregid$(EXEEXT): $(setregid_OBJECTS) $(setregid_DEPENDENCIES) $(EXTRA_setregid_DEPENDENCIES) 
+	@rm -f setregid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setregid_OBJECTS) $(setregid_LDADD) $(LIBS)
+
+setregid32$(EXEEXT): $(setregid32_OBJECTS) $(setregid32_DEPENDENCIES) $(EXTRA_setregid32_DEPENDENCIES) 
+	@rm -f setregid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setregid32_OBJECTS) $(setregid32_LDADD) $(LIBS)
+
+setresgid$(EXEEXT): $(setresgid_OBJECTS) $(setresgid_DEPENDENCIES) $(EXTRA_setresgid_DEPENDENCIES) 
+	@rm -f setresgid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setresgid_OBJECTS) $(setresgid_LDADD) $(LIBS)
+
+setresgid32$(EXEEXT): $(setresgid32_OBJECTS) $(setresgid32_DEPENDENCIES) $(EXTRA_setresgid32_DEPENDENCIES) 
+	@rm -f setresgid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setresgid32_OBJECTS) $(setresgid32_LDADD) $(LIBS)
+
+setresuid$(EXEEXT): $(setresuid_OBJECTS) $(setresuid_DEPENDENCIES) $(EXTRA_setresuid_DEPENDENCIES) 
+	@rm -f setresuid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setresuid_OBJECTS) $(setresuid_LDADD) $(LIBS)
+
+setresuid32$(EXEEXT): $(setresuid32_OBJECTS) $(setresuid32_DEPENDENCIES) $(EXTRA_setresuid32_DEPENDENCIES) 
+	@rm -f setresuid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setresuid32_OBJECTS) $(setresuid32_LDADD) $(LIBS)
+
+setreuid$(EXEEXT): $(setreuid_OBJECTS) $(setreuid_DEPENDENCIES) $(EXTRA_setreuid_DEPENDENCIES) 
+	@rm -f setreuid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setreuid_OBJECTS) $(setreuid_LDADD) $(LIBS)
+
+setreuid32$(EXEEXT): $(setreuid32_OBJECTS) $(setreuid32_DEPENDENCIES) $(EXTRA_setreuid32_DEPENDENCIES) 
+	@rm -f setreuid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setreuid32_OBJECTS) $(setreuid32_LDADD) $(LIBS)
+
+setrlimit$(EXEEXT): $(setrlimit_OBJECTS) $(setrlimit_DEPENDENCIES) $(EXTRA_setrlimit_DEPENDENCIES) 
+	@rm -f setrlimit$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setrlimit_OBJECTS) $(setrlimit_LDADD) $(LIBS)
+
+setuid$(EXEEXT): $(setuid_OBJECTS) $(setuid_DEPENDENCIES) $(EXTRA_setuid_DEPENDENCIES) 
+	@rm -f setuid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setuid_OBJECTS) $(setuid_LDADD) $(LIBS)
+
+setuid32$(EXEEXT): $(setuid32_OBJECTS) $(setuid32_DEPENDENCIES) $(EXTRA_setuid32_DEPENDENCIES) 
+	@rm -f setuid32$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(setuid32_OBJECTS) $(setuid32_LDADD) $(LIBS)
+
+shmxt$(EXEEXT): $(shmxt_OBJECTS) $(shmxt_DEPENDENCIES) $(EXTRA_shmxt_DEPENDENCIES) 
+	@rm -f shmxt$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(shmxt_OBJECTS) $(shmxt_LDADD) $(LIBS)
+
+shutdown$(EXEEXT): $(shutdown_OBJECTS) $(shutdown_DEPENDENCIES) $(EXTRA_shutdown_DEPENDENCIES) 
+	@rm -f shutdown$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(shutdown_OBJECTS) $(shutdown_LDADD) $(LIBS)
+
+sigaction$(EXEEXT): $(sigaction_OBJECTS) $(sigaction_DEPENDENCIES) $(EXTRA_sigaction_DEPENDENCIES) 
+	@rm -f sigaction$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sigaction_OBJECTS) $(sigaction_LDADD) $(LIBS)
+
+sigaltstack$(EXEEXT): $(sigaltstack_OBJECTS) $(sigaltstack_DEPENDENCIES) $(EXTRA_sigaltstack_DEPENDENCIES) 
+	@rm -f sigaltstack$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sigaltstack_OBJECTS) $(sigaltstack_LDADD) $(LIBS)
+
+siginfo$(EXEEXT): $(siginfo_OBJECTS) $(siginfo_DEPENDENCIES) $(EXTRA_siginfo_DEPENDENCIES) 
+	@rm -f siginfo$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(siginfo_OBJECTS) $(siginfo_LDADD) $(LIBS)
+
+signal_receive$(EXEEXT): $(signal_receive_OBJECTS) $(signal_receive_DEPENDENCIES) $(EXTRA_signal_receive_DEPENDENCIES) 
+	@rm -f signal_receive$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(signal_receive_OBJECTS) $(signal_receive_LDADD) $(LIBS)
+
+signalfd4$(EXEEXT): $(signalfd4_OBJECTS) $(signalfd4_DEPENDENCIES) $(EXTRA_signalfd4_DEPENDENCIES) 
+	@rm -f signalfd4$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(signalfd4_OBJECTS) $(signalfd4_LDADD) $(LIBS)
+
+sigreturn$(EXEEXT): $(sigreturn_OBJECTS) $(sigreturn_DEPENDENCIES) $(EXTRA_sigreturn_DEPENDENCIES) 
+	@rm -f sigreturn$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sigreturn_OBJECTS) $(sigreturn_LDADD) $(LIBS)
+
+sleep$(EXEEXT): $(sleep_OBJECTS) $(sleep_DEPENDENCIES) $(EXTRA_sleep_DEPENDENCIES) 
+	@rm -f sleep$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sleep_OBJECTS) $(sleep_LDADD) $(LIBS)
+
+socketcall$(EXEEXT): $(socketcall_OBJECTS) $(socketcall_DEPENDENCIES) $(EXTRA_socketcall_DEPENDENCIES) 
+	@rm -f socketcall$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(socketcall_OBJECTS) $(socketcall_LDADD) $(LIBS)
+
+splice$(EXEEXT): $(splice_OBJECTS) $(splice_DEPENDENCIES) $(EXTRA_splice_DEPENDENCIES) 
+	@rm -f splice$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(splice_OBJECTS) $(splice_LDADD) $(LIBS)
+
+stack-fcall$(EXEEXT): $(stack_fcall_OBJECTS) $(stack_fcall_DEPENDENCIES) $(EXTRA_stack_fcall_DEPENDENCIES) 
+	@rm -f stack-fcall$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(stack_fcall_OBJECTS) $(stack_fcall_LDADD) $(LIBS)
+
+stat$(EXEEXT): $(stat_OBJECTS) $(stat_DEPENDENCIES) $(EXTRA_stat_DEPENDENCIES) 
+	@rm -f stat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(stat_OBJECTS) $(stat_LDADD) $(LIBS)
+
+stat64$(EXEEXT): $(stat64_OBJECTS) $(stat64_DEPENDENCIES) $(EXTRA_stat64_DEPENDENCIES) 
+	@rm -f stat64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(stat64_OBJECTS) $(stat64_LDADD) $(LIBS)
+
+statfs$(EXEEXT): $(statfs_OBJECTS) $(statfs_DEPENDENCIES) $(EXTRA_statfs_DEPENDENCIES) 
+	@rm -f statfs$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(statfs_OBJECTS) $(statfs_LDADD) $(LIBS)
+
+statfs64$(EXEEXT): $(statfs64_OBJECTS) $(statfs64_DEPENDENCIES) $(EXTRA_statfs64_DEPENDENCIES) 
+	@rm -f statfs64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(statfs64_OBJECTS) $(statfs64_LDADD) $(LIBS)
+
+swap$(EXEEXT): $(swap_OBJECTS) $(swap_DEPENDENCIES) $(EXTRA_swap_DEPENDENCIES) 
+	@rm -f swap$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(swap_OBJECTS) $(swap_LDADD) $(LIBS)
+
+symlink$(EXEEXT): $(symlink_OBJECTS) $(symlink_DEPENDENCIES) $(EXTRA_symlink_DEPENDENCIES) 
+	@rm -f symlink$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(symlink_OBJECTS) $(symlink_LDADD) $(LIBS)
+
+symlinkat$(EXEEXT): $(symlinkat_OBJECTS) $(symlinkat_DEPENDENCIES) $(EXTRA_symlinkat_DEPENDENCIES) 
+	@rm -f symlinkat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(symlinkat_OBJECTS) $(symlinkat_LDADD) $(LIBS)
+
+sync$(EXEEXT): $(sync_OBJECTS) $(sync_DEPENDENCIES) $(EXTRA_sync_DEPENDENCIES) 
+	@rm -f sync$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sync_OBJECTS) $(sync_LDADD) $(LIBS)
+
+sync_file_range$(EXEEXT): $(sync_file_range_OBJECTS) $(sync_file_range_DEPENDENCIES) $(EXTRA_sync_file_range_DEPENDENCIES) 
+	@rm -f sync_file_range$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sync_file_range_OBJECTS) $(sync_file_range_LDADD) $(LIBS)
+
+sync_file_range2$(EXEEXT): $(sync_file_range2_OBJECTS) $(sync_file_range2_DEPENDENCIES) $(EXTRA_sync_file_range2_DEPENDENCIES) 
+	@rm -f sync_file_range2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sync_file_range2_OBJECTS) $(sync_file_range2_LDADD) $(LIBS)
+
+sysinfo$(EXEEXT): $(sysinfo_OBJECTS) $(sysinfo_DEPENDENCIES) $(EXTRA_sysinfo_DEPENDENCIES) 
+	@rm -f sysinfo$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sysinfo_OBJECTS) $(sysinfo_LDADD) $(LIBS)
+
+syslog$(EXEEXT): $(syslog_OBJECTS) $(syslog_DEPENDENCIES) $(EXTRA_syslog_DEPENDENCIES) 
+	@rm -f syslog$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(syslog_OBJECTS) $(syslog_LDADD) $(LIBS)
+
+tee$(EXEEXT): $(tee_OBJECTS) $(tee_DEPENDENCIES) $(EXTRA_tee_DEPENDENCIES) 
+	@rm -f tee$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(tee_OBJECTS) $(tee_LDADD) $(LIBS)
+
+threads-execve$(EXEEXT): $(threads_execve_OBJECTS) $(threads_execve_DEPENDENCIES) $(EXTRA_threads_execve_DEPENDENCIES) 
+	@rm -f threads-execve$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(threads_execve_OBJECTS) $(threads_execve_LDADD) $(LIBS)
+
+time$(EXEEXT): $(time_OBJECTS) $(time_DEPENDENCIES) $(EXTRA_time_DEPENDENCIES) 
+	@rm -f time$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(time_OBJECTS) $(time_LDADD) $(LIBS)
+
+timer_create$(EXEEXT): $(timer_create_OBJECTS) $(timer_create_DEPENDENCIES) $(EXTRA_timer_create_DEPENDENCIES) 
+	@rm -f timer_create$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(timer_create_OBJECTS) $(timer_create_LDADD) $(LIBS)
+
+timer_xettime$(EXEEXT): $(timer_xettime_OBJECTS) $(timer_xettime_DEPENDENCIES) $(EXTRA_timer_xettime_DEPENDENCIES) 
+	@rm -f timer_xettime$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(timer_xettime_OBJECTS) $(timer_xettime_LDADD) $(LIBS)
+
+timerfd_xettime$(EXEEXT): $(timerfd_xettime_OBJECTS) $(timerfd_xettime_DEPENDENCIES) $(EXTRA_timerfd_xettime_DEPENDENCIES) 
+	@rm -f timerfd_xettime$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(timerfd_xettime_OBJECTS) $(timerfd_xettime_LDADD) $(LIBS)
+
+times$(EXEEXT): $(times_OBJECTS) $(times_DEPENDENCIES) $(EXTRA_times_DEPENDENCIES) 
+	@rm -f times$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(times_OBJECTS) $(times_LDADD) $(LIBS)
+
+times-fail$(EXEEXT): $(times_fail_OBJECTS) $(times_fail_DEPENDENCIES) $(EXTRA_times_fail_DEPENDENCIES) 
+	@rm -f times-fail$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(times_fail_OBJECTS) $(times_fail_LDADD) $(LIBS)
+
+truncate$(EXEEXT): $(truncate_OBJECTS) $(truncate_DEPENDENCIES) $(EXTRA_truncate_DEPENDENCIES) 
+	@rm -f truncate$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(truncate_OBJECTS) $(truncate_LDADD) $(LIBS)
+
+truncate64$(EXEEXT): $(truncate64_OBJECTS) $(truncate64_DEPENDENCIES) $(EXTRA_truncate64_DEPENDENCIES) 
+	@rm -f truncate64$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(truncate64_OBJECTS) $(truncate64_LDADD) $(LIBS)
+
+ugetrlimit$(EXEEXT): $(ugetrlimit_OBJECTS) $(ugetrlimit_DEPENDENCIES) $(EXTRA_ugetrlimit_DEPENDENCIES) 
+	@rm -f ugetrlimit$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ugetrlimit_OBJECTS) $(ugetrlimit_LDADD) $(LIBS)
+
+uio$(EXEEXT): $(uio_OBJECTS) $(uio_DEPENDENCIES) $(EXTRA_uio_DEPENDENCIES) 
+	@rm -f uio$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(uio_OBJECTS) $(uio_LDADD) $(LIBS)
+
+umask$(EXEEXT): $(umask_OBJECTS) $(umask_DEPENDENCIES) $(EXTRA_umask_DEPENDENCIES) 
+	@rm -f umask$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(umask_OBJECTS) $(umask_LDADD) $(LIBS)
+
+umount$(EXEEXT): $(umount_OBJECTS) $(umount_DEPENDENCIES) $(EXTRA_umount_DEPENDENCIES) 
+	@rm -f umount$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(umount_OBJECTS) $(umount_LDADD) $(LIBS)
+
+umount2$(EXEEXT): $(umount2_OBJECTS) $(umount2_DEPENDENCIES) $(EXTRA_umount2_DEPENDENCIES) 
+	@rm -f umount2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(umount2_OBJECTS) $(umount2_LDADD) $(LIBS)
+
+umoven-illptr$(EXEEXT): $(umoven_illptr_OBJECTS) $(umoven_illptr_DEPENDENCIES) $(EXTRA_umoven_illptr_DEPENDENCIES) 
+	@rm -f umoven-illptr$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(umoven_illptr_OBJECTS) $(umoven_illptr_LDADD) $(LIBS)
+
+umovestr$(EXEEXT): $(umovestr_OBJECTS) $(umovestr_DEPENDENCIES) $(EXTRA_umovestr_DEPENDENCIES) 
+	@rm -f umovestr$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(umovestr_OBJECTS) $(umovestr_LDADD) $(LIBS)
+
+umovestr-illptr$(EXEEXT): $(umovestr_illptr_OBJECTS) $(umovestr_illptr_DEPENDENCIES) $(EXTRA_umovestr_illptr_DEPENDENCIES) 
+	@rm -f umovestr-illptr$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(umovestr_illptr_OBJECTS) $(umovestr_illptr_LDADD) $(LIBS)
+
+umovestr2$(EXEEXT): $(umovestr2_OBJECTS) $(umovestr2_DEPENDENCIES) $(EXTRA_umovestr2_DEPENDENCIES) 
+	@rm -f umovestr2$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(umovestr2_OBJECTS) $(umovestr2_LDADD) $(LIBS)
+
+umovestr3$(EXEEXT): $(umovestr3_OBJECTS) $(umovestr3_DEPENDENCIES) $(EXTRA_umovestr3_DEPENDENCIES) 
+	@rm -f umovestr3$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(umovestr3_OBJECTS) $(umovestr3_LDADD) $(LIBS)
+
+uname$(EXEEXT): $(uname_OBJECTS) $(uname_DEPENDENCIES) $(EXTRA_uname_DEPENDENCIES) 
+	@rm -f uname$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(uname_OBJECTS) $(uname_LDADD) $(LIBS)
+
+unix-pair-send-recv$(EXEEXT): $(unix_pair_send_recv_OBJECTS) $(unix_pair_send_recv_DEPENDENCIES) $(EXTRA_unix_pair_send_recv_DEPENDENCIES) 
+	@rm -f unix-pair-send-recv$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(unix_pair_send_recv_OBJECTS) $(unix_pair_send_recv_LDADD) $(LIBS)
+
+unix-pair-sendto-recvfrom$(EXEEXT): $(unix_pair_sendto_recvfrom_OBJECTS) $(unix_pair_sendto_recvfrom_DEPENDENCIES) $(EXTRA_unix_pair_sendto_recvfrom_DEPENDENCIES) 
+	@rm -f unix-pair-sendto-recvfrom$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(unix_pair_sendto_recvfrom_OBJECTS) $(unix_pair_sendto_recvfrom_LDADD) $(LIBS)
+
+unlink$(EXEEXT): $(unlink_OBJECTS) $(unlink_DEPENDENCIES) $(EXTRA_unlink_DEPENDENCIES) 
+	@rm -f unlink$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(unlink_OBJECTS) $(unlink_LDADD) $(LIBS)
+
+unlinkat$(EXEEXT): $(unlinkat_OBJECTS) $(unlinkat_DEPENDENCIES) $(EXTRA_unlinkat_DEPENDENCIES) 
+	@rm -f unlinkat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(unlinkat_OBJECTS) $(unlinkat_LDADD) $(LIBS)
+
+unshare$(EXEEXT): $(unshare_OBJECTS) $(unshare_DEPENDENCIES) $(EXTRA_unshare_DEPENDENCIES) 
+	@rm -f unshare$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(unshare_OBJECTS) $(unshare_LDADD) $(LIBS)
+
+userfaultfd$(EXEEXT): $(userfaultfd_OBJECTS) $(userfaultfd_DEPENDENCIES) $(EXTRA_userfaultfd_DEPENDENCIES) 
+	@rm -f userfaultfd$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(userfaultfd_OBJECTS) $(userfaultfd_LDADD) $(LIBS)
+
+ustat$(EXEEXT): $(ustat_OBJECTS) $(ustat_DEPENDENCIES) $(EXTRA_ustat_DEPENDENCIES) 
+	@rm -f ustat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ustat_OBJECTS) $(ustat_LDADD) $(LIBS)
+
+utime$(EXEEXT): $(utime_OBJECTS) $(utime_DEPENDENCIES) $(EXTRA_utime_DEPENDENCIES) 
+	@rm -f utime$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(utime_OBJECTS) $(utime_LDADD) $(LIBS)
+
+utimensat$(EXEEXT): $(utimensat_OBJECTS) $(utimensat_DEPENDENCIES) $(EXTRA_utimensat_DEPENDENCIES) 
+	@rm -f utimensat$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(utimensat_OBJECTS) $(utimensat_LDADD) $(LIBS)
+
+utimes$(EXEEXT): $(utimes_OBJECTS) $(utimes_DEPENDENCIES) $(EXTRA_utimes_DEPENDENCIES) 
+	@rm -f utimes$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(utimes_OBJECTS) $(utimes_LDADD) $(LIBS)
+
+vfork-f$(EXEEXT): $(vfork_f_OBJECTS) $(vfork_f_DEPENDENCIES) $(EXTRA_vfork_f_DEPENDENCIES) 
+	@rm -f vfork-f$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(vfork_f_OBJECTS) $(vfork_f_LDADD) $(LIBS)
+
+vhangup$(EXEEXT): $(vhangup_OBJECTS) $(vhangup_DEPENDENCIES) $(EXTRA_vhangup_DEPENDENCIES) 
+	@rm -f vhangup$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(vhangup_OBJECTS) $(vhangup_LDADD) $(LIBS)
+
+vmsplice$(EXEEXT): $(vmsplice_OBJECTS) $(vmsplice_DEPENDENCIES) $(EXTRA_vmsplice_DEPENDENCIES) 
+	@rm -f vmsplice$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(vmsplice_OBJECTS) $(vmsplice_LDADD) $(LIBS)
+
+wait4$(EXEEXT): $(wait4_OBJECTS) $(wait4_DEPENDENCIES) $(EXTRA_wait4_DEPENDENCIES) 
+	@rm -f wait4$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(wait4_OBJECTS) $(wait4_LDADD) $(LIBS)
+
+wait4-v$(EXEEXT): $(wait4_v_OBJECTS) $(wait4_v_DEPENDENCIES) $(EXTRA_wait4_v_DEPENDENCIES) 
+	@rm -f wait4-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(wait4_v_OBJECTS) $(wait4_v_LDADD) $(LIBS)
+
+waitid$(EXEEXT): $(waitid_OBJECTS) $(waitid_DEPENDENCIES) $(EXTRA_waitid_DEPENDENCIES) 
+	@rm -f waitid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(waitid_OBJECTS) $(waitid_LDADD) $(LIBS)
+
+waitid-v$(EXEEXT): $(waitid_v_OBJECTS) $(waitid_v_DEPENDENCIES) $(EXTRA_waitid_v_DEPENDENCIES) 
+	@rm -f waitid-v$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(waitid_v_OBJECTS) $(waitid_v_LDADD) $(LIBS)
+
+waitpid$(EXEEXT): $(waitpid_OBJECTS) $(waitpid_DEPENDENCIES) $(EXTRA_waitpid_DEPENDENCIES) 
+	@rm -f waitpid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(waitpid_OBJECTS) $(waitpid_LDADD) $(LIBS)
+
+xattr$(EXEEXT): $(xattr_OBJECTS) $(xattr_DEPENDENCIES) $(EXTRA_xattr_DEPENDENCIES) 
+	@rm -f xattr$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(xattr_OBJECTS) $(xattr_LDADD) $(LIBS)
+
+xattr-strings$(EXEEXT): $(xattr_strings_OBJECTS) $(xattr_strings_DEPENDENCIES) $(EXTRA_xattr_strings_DEPENDENCIES) 
+	@rm -f xattr-strings$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(xattr_strings_OBJECTS) $(xattr_strings_LDADD) $(LIBS)
+
+xet_robust_list$(EXEEXT): $(xet_robust_list_OBJECTS) $(xet_robust_list_DEPENDENCIES) $(EXTRA_xet_robust_list_DEPENDENCIES) 
+	@rm -f xet_robust_list$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(xet_robust_list_OBJECTS) $(xet_robust_list_LDADD) $(LIBS)
+
+xetitimer$(EXEEXT): $(xetitimer_OBJECTS) $(xetitimer_DEPENDENCIES) $(EXTRA_xetitimer_DEPENDENCIES) 
+	@rm -f xetitimer$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(xetitimer_OBJECTS) $(xetitimer_LDADD) $(LIBS)
+
+xetpgid$(EXEEXT): $(xetpgid_OBJECTS) $(xetpgid_DEPENDENCIES) $(EXTRA_xetpgid_DEPENDENCIES) 
+	@rm -f xetpgid$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(xetpgid_OBJECTS) $(xetpgid_LDADD) $(LIBS)
+
+xetpriority$(EXEEXT): $(xetpriority_OBJECTS) $(xetpriority_DEPENDENCIES) $(EXTRA_xetpriority_DEPENDENCIES) 
+	@rm -f xetpriority$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(xetpriority_OBJECTS) $(xetpriority_LDADD) $(LIBS)
+
+xettimeofday$(EXEEXT): $(xettimeofday_OBJECTS) $(xettimeofday_DEPENDENCIES) $(EXTRA_xettimeofday_DEPENDENCIES) 
+	@rm -f xettimeofday$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(xettimeofday_OBJECTS) $(xettimeofday_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_newselect.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept4.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acct.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_key.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/adjtimex.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aio.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alarm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/answer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-f-p-cmd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-f-p.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-p-cmd-cmd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attach-p-cmd-p.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bpf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/brk.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/btrfs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/caps-abbrev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/caps.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chroot.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clock_adjtime.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clock_nanosleep.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clock_xettime.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/copy_file_range.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/count-f.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/creat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/delete_module.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup3.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epoll_create.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epoll_create1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epoll_ctl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epoll_pwait.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epoll_wait.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/erestartsys.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eventfd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve-v.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat-v.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64_64.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fallocate.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_init.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdatasync.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_ioctl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter-unavailable.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/finit_module.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fork-f.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstat64-fstat64.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstatat64-fstatat64.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstatfs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstatfs64.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsync.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftruncate.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftruncate64-ftruncate64.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/futex.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/futimesat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/get_mempolicy.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getcpu.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getcwd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdents.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdents64.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getegid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getegid32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/geteuid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/geteuid32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgid32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgroups.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgroups32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpeername.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpgrp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrandom.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getresgid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getresgid32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getresuid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getresuid32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrlimit.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrusage.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsockname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getuid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getuid32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getxxid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inet-cmsg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init_module.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inotify.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inotify_init1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_block.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm-v.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_evdev-v.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_evdev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_loop-nv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_loop-v.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_loop.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_mtd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_rtc-v.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_rtc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_scsi.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_sg_io_v3.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_sg_io_v4.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_sock_gifconf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_uffdio.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_v4l2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioperm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iopl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ip_mreq.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_msgbuf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_sem.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kexec_file_load.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kexec_load.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ksysent.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-errno2name.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-error_msg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-fill_memory.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-get_page_size.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-hexdump_strdup.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-hexquote_strndup.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-inode_of_sockfd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-libmmsg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-libsocketcall.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-overflowuid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-pipe_maxfd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-print_quoted_string.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printflags.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-signal2name.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-sprintrc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tail_alloc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tprintf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lookup_dcookie.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lseek.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat64-lstat64.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbind.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/membarrier.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memfd_create.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/migrate_pages.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mincore.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkdir.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkdirat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mknod.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mknodat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mlock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mlock2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mlockall.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap64-mmap64.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmsg-silent.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmsg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmsg_name-v.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmsg_name.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mq.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mq_sendrecv-read.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mq_sendrecv-write.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mq_sendrecv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msg_control-v.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msg_control.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msg_name.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/munlockall.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nanosleep.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-accept-connect.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-icmp_filter.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-sockaddr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-y-unix.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-inet.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-netlink.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-unix.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_inet_diag.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_netlink_diag.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_protocol.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_unix_diag.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newfstatat-newfstatat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nsyscalls.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/old_mmap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldfstat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldlstat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldselect.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldstat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pause.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/perf_event_open.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/perf_event_open_nonverbose.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/perf_event_open_unabbrev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/personality.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pkey_alloc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pkey_free.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pkey_mprotect.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/poll.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppoll.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-arg2-intptr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-dumpable.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-name.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-no-args.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-pdeathsig.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-seccomp-filter-v.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-seccomp-strict.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-securebits.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-tid_address.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prctl-tsc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/preadv-preadv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/preadv2-pwritev2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/preadv_pwritev-preadv-pwritev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print_maxfd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printstr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prlimit64.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_readv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_writev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pselect6.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptrace.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwritev-pwritev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qual_fault.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qual_inject-error-signal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qual_inject-retval.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qual_inject-signal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qual_signal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quotactl-v.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quotactl-xfs-v.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quotactl-xfs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quotactl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/read-write.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readahead.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readdir.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readlink.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readlinkat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reboot.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recvfrom.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recvmmsg-timeout.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recvmsg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/redirect-fds.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remap_file_pages.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rename.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/renameat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/renameat2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/request_key.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/restart_syscall.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rmdir.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigpending.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigprocmask.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigqueueinfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigsuspend.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigtimedwait.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_tgsigqueueinfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_get_priority_mxx.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_rr_get_interval.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetaffinity.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetattr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetparam.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetscheduler.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_yield.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scm_rights.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/seccomp-filter-v.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/seccomp-filter.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/seccomp-strict.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/select.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/semop.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sendfile.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sendfile64.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/set_mempolicy.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/set_ptracer_any.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setdomainname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setfsgid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setfsgid32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setfsuid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setfsuid32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setgid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setgid32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setgroups.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setgroups32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sethostname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setns.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setregid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setregid32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setresgid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setresgid32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setresuid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setresuid32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setreuid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setreuid32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setrlimit.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setuid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setuid32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shmxt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shutdown.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigaction.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigaltstack.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/siginfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal_receive.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signalfd4.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigreturn.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/socketcall.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/splice.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack-fcall-0.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack-fcall-1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack-fcall-2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack-fcall-3.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack-fcall.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat64-stat64.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/statfs-statfs.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/statfs64.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symlink.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symlinkat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sync.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sync_file_range.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sync_file_range2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sysinfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tee.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timer_create.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timer_xettime.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timerfd_xettime.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times-fail.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/truncate.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/truncate64-truncate64.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ugetrlimit.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uio-uio.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umask.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umount2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umoven-illptr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umovestr-illptr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umovestr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umovestr2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/umovestr3.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uname.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unix-pair-send-recv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unix-pair-sendto-recvfrom.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlink.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unlinkat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unshare.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/userfaultfd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ustat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utime.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utimensat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utimes.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vfork-f.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vhangup.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vmsplice.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wait4-v.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wait4.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/waitid-v.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/waitid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/waitpid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xattr-strings.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xattr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xet_robust_list.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetitimer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpgid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpriority.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xettimeofday.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+libtests_a-errno2name.o: errno2name.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.o -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='errno2name.c' object='libtests_a-errno2name.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c
+
+libtests_a-errno2name.obj: errno2name.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.obj -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.obj `if test -f 'errno2name.c'; then $(CYGPATH_W) 'errno2name.c'; else $(CYGPATH_W) '$(srcdir)/errno2name.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='errno2name.c' object='libtests_a-errno2name.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-errno2name.obj `if test -f 'errno2name.c'; then $(CYGPATH_W) 'errno2name.c'; else $(CYGPATH_W) '$(srcdir)/errno2name.c'; fi`
+
+libtests_a-error_msg.o: error_msg.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-error_msg.o -MD -MP -MF $(DEPDIR)/libtests_a-error_msg.Tpo -c -o libtests_a-error_msg.o `test -f 'error_msg.c' || echo '$(srcdir)/'`error_msg.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-error_msg.Tpo $(DEPDIR)/libtests_a-error_msg.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='error_msg.c' object='libtests_a-error_msg.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-error_msg.o `test -f 'error_msg.c' || echo '$(srcdir)/'`error_msg.c
+
+libtests_a-error_msg.obj: error_msg.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-error_msg.obj -MD -MP -MF $(DEPDIR)/libtests_a-error_msg.Tpo -c -o libtests_a-error_msg.obj `if test -f 'error_msg.c'; then $(CYGPATH_W) 'error_msg.c'; else $(CYGPATH_W) '$(srcdir)/error_msg.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-error_msg.Tpo $(DEPDIR)/libtests_a-error_msg.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='error_msg.c' object='libtests_a-error_msg.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-error_msg.obj `if test -f 'error_msg.c'; then $(CYGPATH_W) 'error_msg.c'; else $(CYGPATH_W) '$(srcdir)/error_msg.c'; fi`
+
+libtests_a-fill_memory.o: fill_memory.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-fill_memory.o -MD -MP -MF $(DEPDIR)/libtests_a-fill_memory.Tpo -c -o libtests_a-fill_memory.o `test -f 'fill_memory.c' || echo '$(srcdir)/'`fill_memory.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-fill_memory.Tpo $(DEPDIR)/libtests_a-fill_memory.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='fill_memory.c' object='libtests_a-fill_memory.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-fill_memory.o `test -f 'fill_memory.c' || echo '$(srcdir)/'`fill_memory.c
+
+libtests_a-fill_memory.obj: fill_memory.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-fill_memory.obj -MD -MP -MF $(DEPDIR)/libtests_a-fill_memory.Tpo -c -o libtests_a-fill_memory.obj `if test -f 'fill_memory.c'; then $(CYGPATH_W) 'fill_memory.c'; else $(CYGPATH_W) '$(srcdir)/fill_memory.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-fill_memory.Tpo $(DEPDIR)/libtests_a-fill_memory.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='fill_memory.c' object='libtests_a-fill_memory.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-fill_memory.obj `if test -f 'fill_memory.c'; then $(CYGPATH_W) 'fill_memory.c'; else $(CYGPATH_W) '$(srcdir)/fill_memory.c'; fi`
+
+libtests_a-get_page_size.o: get_page_size.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_page_size.o -MD -MP -MF $(DEPDIR)/libtests_a-get_page_size.Tpo -c -o libtests_a-get_page_size.o `test -f 'get_page_size.c' || echo '$(srcdir)/'`get_page_size.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_page_size.Tpo $(DEPDIR)/libtests_a-get_page_size.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='get_page_size.c' object='libtests_a-get_page_size.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-get_page_size.o `test -f 'get_page_size.c' || echo '$(srcdir)/'`get_page_size.c
+
+libtests_a-get_page_size.obj: get_page_size.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-get_page_size.obj -MD -MP -MF $(DEPDIR)/libtests_a-get_page_size.Tpo -c -o libtests_a-get_page_size.obj `if test -f 'get_page_size.c'; then $(CYGPATH_W) 'get_page_size.c'; else $(CYGPATH_W) '$(srcdir)/get_page_size.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-get_page_size.Tpo $(DEPDIR)/libtests_a-get_page_size.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='get_page_size.c' object='libtests_a-get_page_size.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-get_page_size.obj `if test -f 'get_page_size.c'; then $(CYGPATH_W) 'get_page_size.c'; else $(CYGPATH_W) '$(srcdir)/get_page_size.c'; fi`
+
+libtests_a-hexdump_strdup.o: hexdump_strdup.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-hexdump_strdup.o -MD -MP -MF $(DEPDIR)/libtests_a-hexdump_strdup.Tpo -c -o libtests_a-hexdump_strdup.o `test -f 'hexdump_strdup.c' || echo '$(srcdir)/'`hexdump_strdup.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-hexdump_strdup.Tpo $(DEPDIR)/libtests_a-hexdump_strdup.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='hexdump_strdup.c' object='libtests_a-hexdump_strdup.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-hexdump_strdup.o `test -f 'hexdump_strdup.c' || echo '$(srcdir)/'`hexdump_strdup.c
+
+libtests_a-hexdump_strdup.obj: hexdump_strdup.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-hexdump_strdup.obj -MD -MP -MF $(DEPDIR)/libtests_a-hexdump_strdup.Tpo -c -o libtests_a-hexdump_strdup.obj `if test -f 'hexdump_strdup.c'; then $(CYGPATH_W) 'hexdump_strdup.c'; else $(CYGPATH_W) '$(srcdir)/hexdump_strdup.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-hexdump_strdup.Tpo $(DEPDIR)/libtests_a-hexdump_strdup.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='hexdump_strdup.c' object='libtests_a-hexdump_strdup.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-hexdump_strdup.obj `if test -f 'hexdump_strdup.c'; then $(CYGPATH_W) 'hexdump_strdup.c'; else $(CYGPATH_W) '$(srcdir)/hexdump_strdup.c'; fi`
+
+libtests_a-hexquote_strndup.o: hexquote_strndup.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-hexquote_strndup.o -MD -MP -MF $(DEPDIR)/libtests_a-hexquote_strndup.Tpo -c -o libtests_a-hexquote_strndup.o `test -f 'hexquote_strndup.c' || echo '$(srcdir)/'`hexquote_strndup.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-hexquote_strndup.Tpo $(DEPDIR)/libtests_a-hexquote_strndup.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='hexquote_strndup.c' object='libtests_a-hexquote_strndup.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-hexquote_strndup.o `test -f 'hexquote_strndup.c' || echo '$(srcdir)/'`hexquote_strndup.c
+
+libtests_a-hexquote_strndup.obj: hexquote_strndup.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-hexquote_strndup.obj -MD -MP -MF $(DEPDIR)/libtests_a-hexquote_strndup.Tpo -c -o libtests_a-hexquote_strndup.obj `if test -f 'hexquote_strndup.c'; then $(CYGPATH_W) 'hexquote_strndup.c'; else $(CYGPATH_W) '$(srcdir)/hexquote_strndup.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-hexquote_strndup.Tpo $(DEPDIR)/libtests_a-hexquote_strndup.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='hexquote_strndup.c' object='libtests_a-hexquote_strndup.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-hexquote_strndup.obj `if test -f 'hexquote_strndup.c'; then $(CYGPATH_W) 'hexquote_strndup.c'; else $(CYGPATH_W) '$(srcdir)/hexquote_strndup.c'; fi`
+
+libtests_a-inode_of_sockfd.o: inode_of_sockfd.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-inode_of_sockfd.o -MD -MP -MF $(DEPDIR)/libtests_a-inode_of_sockfd.Tpo -c -o libtests_a-inode_of_sockfd.o `test -f 'inode_of_sockfd.c' || echo '$(srcdir)/'`inode_of_sockfd.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-inode_of_sockfd.Tpo $(DEPDIR)/libtests_a-inode_of_sockfd.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='inode_of_sockfd.c' object='libtests_a-inode_of_sockfd.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-inode_of_sockfd.o `test -f 'inode_of_sockfd.c' || echo '$(srcdir)/'`inode_of_sockfd.c
+
+libtests_a-inode_of_sockfd.obj: inode_of_sockfd.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-inode_of_sockfd.obj -MD -MP -MF $(DEPDIR)/libtests_a-inode_of_sockfd.Tpo -c -o libtests_a-inode_of_sockfd.obj `if test -f 'inode_of_sockfd.c'; then $(CYGPATH_W) 'inode_of_sockfd.c'; else $(CYGPATH_W) '$(srcdir)/inode_of_sockfd.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-inode_of_sockfd.Tpo $(DEPDIR)/libtests_a-inode_of_sockfd.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='inode_of_sockfd.c' object='libtests_a-inode_of_sockfd.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-inode_of_sockfd.obj `if test -f 'inode_of_sockfd.c'; then $(CYGPATH_W) 'inode_of_sockfd.c'; else $(CYGPATH_W) '$(srcdir)/inode_of_sockfd.c'; fi`
+
+libtests_a-libmmsg.o: libmmsg.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-libmmsg.o -MD -MP -MF $(DEPDIR)/libtests_a-libmmsg.Tpo -c -o libtests_a-libmmsg.o `test -f 'libmmsg.c' || echo '$(srcdir)/'`libmmsg.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-libmmsg.Tpo $(DEPDIR)/libtests_a-libmmsg.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='libmmsg.c' object='libtests_a-libmmsg.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-libmmsg.o `test -f 'libmmsg.c' || echo '$(srcdir)/'`libmmsg.c
+
+libtests_a-libmmsg.obj: libmmsg.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-libmmsg.obj -MD -MP -MF $(DEPDIR)/libtests_a-libmmsg.Tpo -c -o libtests_a-libmmsg.obj `if test -f 'libmmsg.c'; then $(CYGPATH_W) 'libmmsg.c'; else $(CYGPATH_W) '$(srcdir)/libmmsg.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-libmmsg.Tpo $(DEPDIR)/libtests_a-libmmsg.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='libmmsg.c' object='libtests_a-libmmsg.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-libmmsg.obj `if test -f 'libmmsg.c'; then $(CYGPATH_W) 'libmmsg.c'; else $(CYGPATH_W) '$(srcdir)/libmmsg.c'; fi`
+
+libtests_a-libsocketcall.o: libsocketcall.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-libsocketcall.o -MD -MP -MF $(DEPDIR)/libtests_a-libsocketcall.Tpo -c -o libtests_a-libsocketcall.o `test -f 'libsocketcall.c' || echo '$(srcdir)/'`libsocketcall.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-libsocketcall.Tpo $(DEPDIR)/libtests_a-libsocketcall.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='libsocketcall.c' object='libtests_a-libsocketcall.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-libsocketcall.o `test -f 'libsocketcall.c' || echo '$(srcdir)/'`libsocketcall.c
+
+libtests_a-libsocketcall.obj: libsocketcall.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-libsocketcall.obj -MD -MP -MF $(DEPDIR)/libtests_a-libsocketcall.Tpo -c -o libtests_a-libsocketcall.obj `if test -f 'libsocketcall.c'; then $(CYGPATH_W) 'libsocketcall.c'; else $(CYGPATH_W) '$(srcdir)/libsocketcall.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-libsocketcall.Tpo $(DEPDIR)/libtests_a-libsocketcall.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='libsocketcall.c' object='libtests_a-libsocketcall.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-libsocketcall.obj `if test -f 'libsocketcall.c'; then $(CYGPATH_W) 'libsocketcall.c'; else $(CYGPATH_W) '$(srcdir)/libsocketcall.c'; fi`
+
+libtests_a-overflowuid.o: overflowuid.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-overflowuid.o -MD -MP -MF $(DEPDIR)/libtests_a-overflowuid.Tpo -c -o libtests_a-overflowuid.o `test -f 'overflowuid.c' || echo '$(srcdir)/'`overflowuid.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-overflowuid.Tpo $(DEPDIR)/libtests_a-overflowuid.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='overflowuid.c' object='libtests_a-overflowuid.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-overflowuid.o `test -f 'overflowuid.c' || echo '$(srcdir)/'`overflowuid.c
+
+libtests_a-overflowuid.obj: overflowuid.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-overflowuid.obj -MD -MP -MF $(DEPDIR)/libtests_a-overflowuid.Tpo -c -o libtests_a-overflowuid.obj `if test -f 'overflowuid.c'; then $(CYGPATH_W) 'overflowuid.c'; else $(CYGPATH_W) '$(srcdir)/overflowuid.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-overflowuid.Tpo $(DEPDIR)/libtests_a-overflowuid.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='overflowuid.c' object='libtests_a-overflowuid.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-overflowuid.obj `if test -f 'overflowuid.c'; then $(CYGPATH_W) 'overflowuid.c'; else $(CYGPATH_W) '$(srcdir)/overflowuid.c'; fi`
+
+libtests_a-pipe_maxfd.o: pipe_maxfd.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pipe_maxfd.o -MD -MP -MF $(DEPDIR)/libtests_a-pipe_maxfd.Tpo -c -o libtests_a-pipe_maxfd.o `test -f 'pipe_maxfd.c' || echo '$(srcdir)/'`pipe_maxfd.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pipe_maxfd.Tpo $(DEPDIR)/libtests_a-pipe_maxfd.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='pipe_maxfd.c' object='libtests_a-pipe_maxfd.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pipe_maxfd.o `test -f 'pipe_maxfd.c' || echo '$(srcdir)/'`pipe_maxfd.c
+
+libtests_a-pipe_maxfd.obj: pipe_maxfd.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pipe_maxfd.obj -MD -MP -MF $(DEPDIR)/libtests_a-pipe_maxfd.Tpo -c -o libtests_a-pipe_maxfd.obj `if test -f 'pipe_maxfd.c'; then $(CYGPATH_W) 'pipe_maxfd.c'; else $(CYGPATH_W) '$(srcdir)/pipe_maxfd.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pipe_maxfd.Tpo $(DEPDIR)/libtests_a-pipe_maxfd.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='pipe_maxfd.c' object='libtests_a-pipe_maxfd.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pipe_maxfd.obj `if test -f 'pipe_maxfd.c'; then $(CYGPATH_W) 'pipe_maxfd.c'; else $(CYGPATH_W) '$(srcdir)/pipe_maxfd.c'; fi`
+
+libtests_a-print_quoted_string.o: print_quoted_string.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_quoted_string.o -MD -MP -MF $(DEPDIR)/libtests_a-print_quoted_string.Tpo -c -o libtests_a-print_quoted_string.o `test -f 'print_quoted_string.c' || echo '$(srcdir)/'`print_quoted_string.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_quoted_string.Tpo $(DEPDIR)/libtests_a-print_quoted_string.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='print_quoted_string.c' object='libtests_a-print_quoted_string.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-print_quoted_string.o `test -f 'print_quoted_string.c' || echo '$(srcdir)/'`print_quoted_string.c
+
+libtests_a-print_quoted_string.obj: print_quoted_string.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-print_quoted_string.obj -MD -MP -MF $(DEPDIR)/libtests_a-print_quoted_string.Tpo -c -o libtests_a-print_quoted_string.obj `if test -f 'print_quoted_string.c'; then $(CYGPATH_W) 'print_quoted_string.c'; else $(CYGPATH_W) '$(srcdir)/print_quoted_string.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-print_quoted_string.Tpo $(DEPDIR)/libtests_a-print_quoted_string.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='print_quoted_string.c' object='libtests_a-print_quoted_string.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-print_quoted_string.obj `if test -f 'print_quoted_string.c'; then $(CYGPATH_W) 'print_quoted_string.c'; else $(CYGPATH_W) '$(srcdir)/print_quoted_string.c'; fi`
+
+libtests_a-printflags.o: printflags.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-printflags.o -MD -MP -MF $(DEPDIR)/libtests_a-printflags.Tpo -c -o libtests_a-printflags.o `test -f 'printflags.c' || echo '$(srcdir)/'`printflags.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-printflags.Tpo $(DEPDIR)/libtests_a-printflags.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='printflags.c' object='libtests_a-printflags.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printflags.o `test -f 'printflags.c' || echo '$(srcdir)/'`printflags.c
+
+libtests_a-printflags.obj: printflags.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-printflags.obj -MD -MP -MF $(DEPDIR)/libtests_a-printflags.Tpo -c -o libtests_a-printflags.obj `if test -f 'printflags.c'; then $(CYGPATH_W) 'printflags.c'; else $(CYGPATH_W) '$(srcdir)/printflags.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-printflags.Tpo $(DEPDIR)/libtests_a-printflags.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='printflags.c' object='libtests_a-printflags.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printflags.obj `if test -f 'printflags.c'; then $(CYGPATH_W) 'printflags.c'; else $(CYGPATH_W) '$(srcdir)/printflags.c'; fi`
+
+libtests_a-printxval.o: printxval.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-printxval.o -MD -MP -MF $(DEPDIR)/libtests_a-printxval.Tpo -c -o libtests_a-printxval.o `test -f 'printxval.c' || echo '$(srcdir)/'`printxval.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-printxval.Tpo $(DEPDIR)/libtests_a-printxval.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='printxval.c' object='libtests_a-printxval.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printxval.o `test -f 'printxval.c' || echo '$(srcdir)/'`printxval.c
+
+libtests_a-printxval.obj: printxval.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-printxval.obj -MD -MP -MF $(DEPDIR)/libtests_a-printxval.Tpo -c -o libtests_a-printxval.obj `if test -f 'printxval.c'; then $(CYGPATH_W) 'printxval.c'; else $(CYGPATH_W) '$(srcdir)/printxval.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-printxval.Tpo $(DEPDIR)/libtests_a-printxval.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='printxval.c' object='libtests_a-printxval.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printxval.obj `if test -f 'printxval.c'; then $(CYGPATH_W) 'printxval.c'; else $(CYGPATH_W) '$(srcdir)/printxval.c'; fi`
+
+libtests_a-signal2name.o: signal2name.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-signal2name.o -MD -MP -MF $(DEPDIR)/libtests_a-signal2name.Tpo -c -o libtests_a-signal2name.o `test -f 'signal2name.c' || echo '$(srcdir)/'`signal2name.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-signal2name.Tpo $(DEPDIR)/libtests_a-signal2name.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='signal2name.c' object='libtests_a-signal2name.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-signal2name.o `test -f 'signal2name.c' || echo '$(srcdir)/'`signal2name.c
+
+libtests_a-signal2name.obj: signal2name.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-signal2name.obj -MD -MP -MF $(DEPDIR)/libtests_a-signal2name.Tpo -c -o libtests_a-signal2name.obj `if test -f 'signal2name.c'; then $(CYGPATH_W) 'signal2name.c'; else $(CYGPATH_W) '$(srcdir)/signal2name.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-signal2name.Tpo $(DEPDIR)/libtests_a-signal2name.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='signal2name.c' object='libtests_a-signal2name.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-signal2name.obj `if test -f 'signal2name.c'; then $(CYGPATH_W) 'signal2name.c'; else $(CYGPATH_W) '$(srcdir)/signal2name.c'; fi`
+
+libtests_a-sprintrc.o: sprintrc.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-sprintrc.o -MD -MP -MF $(DEPDIR)/libtests_a-sprintrc.Tpo -c -o libtests_a-sprintrc.o `test -f 'sprintrc.c' || echo '$(srcdir)/'`sprintrc.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-sprintrc.Tpo $(DEPDIR)/libtests_a-sprintrc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='sprintrc.c' object='libtests_a-sprintrc.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-sprintrc.o `test -f 'sprintrc.c' || echo '$(srcdir)/'`sprintrc.c
+
+libtests_a-sprintrc.obj: sprintrc.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-sprintrc.obj -MD -MP -MF $(DEPDIR)/libtests_a-sprintrc.Tpo -c -o libtests_a-sprintrc.obj `if test -f 'sprintrc.c'; then $(CYGPATH_W) 'sprintrc.c'; else $(CYGPATH_W) '$(srcdir)/sprintrc.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-sprintrc.Tpo $(DEPDIR)/libtests_a-sprintrc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='sprintrc.c' object='libtests_a-sprintrc.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-sprintrc.obj `if test -f 'sprintrc.c'; then $(CYGPATH_W) 'sprintrc.c'; else $(CYGPATH_W) '$(srcdir)/sprintrc.c'; fi`
+
+libtests_a-tail_alloc.o: tail_alloc.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tail_alloc.o -MD -MP -MF $(DEPDIR)/libtests_a-tail_alloc.Tpo -c -o libtests_a-tail_alloc.o `test -f 'tail_alloc.c' || echo '$(srcdir)/'`tail_alloc.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tail_alloc.Tpo $(DEPDIR)/libtests_a-tail_alloc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tail_alloc.c' object='libtests_a-tail_alloc.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tail_alloc.o `test -f 'tail_alloc.c' || echo '$(srcdir)/'`tail_alloc.c
+
+libtests_a-tail_alloc.obj: tail_alloc.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tail_alloc.obj -MD -MP -MF $(DEPDIR)/libtests_a-tail_alloc.Tpo -c -o libtests_a-tail_alloc.obj `if test -f 'tail_alloc.c'; then $(CYGPATH_W) 'tail_alloc.c'; else $(CYGPATH_W) '$(srcdir)/tail_alloc.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tail_alloc.Tpo $(DEPDIR)/libtests_a-tail_alloc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tail_alloc.c' object='libtests_a-tail_alloc.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tail_alloc.obj `if test -f 'tail_alloc.c'; then $(CYGPATH_W) 'tail_alloc.c'; else $(CYGPATH_W) '$(srcdir)/tail_alloc.c'; fi`
+
+libtests_a-tprintf.o: tprintf.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tprintf.o -MD -MP -MF $(DEPDIR)/libtests_a-tprintf.Tpo -c -o libtests_a-tprintf.o `test -f 'tprintf.c' || echo '$(srcdir)/'`tprintf.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tprintf.Tpo $(DEPDIR)/libtests_a-tprintf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tprintf.c' object='libtests_a-tprintf.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tprintf.o `test -f 'tprintf.c' || echo '$(srcdir)/'`tprintf.c
+
+libtests_a-tprintf.obj: tprintf.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tprintf.obj -MD -MP -MF $(DEPDIR)/libtests_a-tprintf.Tpo -c -o libtests_a-tprintf.obj `if test -f 'tprintf.c'; then $(CYGPATH_W) 'tprintf.c'; else $(CYGPATH_W) '$(srcdir)/tprintf.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tprintf.Tpo $(DEPDIR)/libtests_a-tprintf.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tprintf.c' object='libtests_a-tprintf.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tprintf.obj `if test -f 'tprintf.c'; then $(CYGPATH_W) 'tprintf.c'; else $(CYGPATH_W) '$(srcdir)/tprintf.c'; fi`
+
+fstat64-fstat64.o: fstat64.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstat64-fstat64.o -MD -MP -MF $(DEPDIR)/fstat64-fstat64.Tpo -c -o fstat64-fstat64.o `test -f 'fstat64.c' || echo '$(srcdir)/'`fstat64.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/fstat64-fstat64.Tpo $(DEPDIR)/fstat64-fstat64.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='fstat64.c' object='fstat64-fstat64.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstat64-fstat64.o `test -f 'fstat64.c' || echo '$(srcdir)/'`fstat64.c
+
+fstat64-fstat64.obj: fstat64.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstat64-fstat64.obj -MD -MP -MF $(DEPDIR)/fstat64-fstat64.Tpo -c -o fstat64-fstat64.obj `if test -f 'fstat64.c'; then $(CYGPATH_W) 'fstat64.c'; else $(CYGPATH_W) '$(srcdir)/fstat64.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/fstat64-fstat64.Tpo $(DEPDIR)/fstat64-fstat64.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='fstat64.c' object='fstat64-fstat64.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstat64-fstat64.obj `if test -f 'fstat64.c'; then $(CYGPATH_W) 'fstat64.c'; else $(CYGPATH_W) '$(srcdir)/fstat64.c'; fi`
+
+fstatat64-fstatat64.o: fstatat64.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstatat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstatat64-fstatat64.o -MD -MP -MF $(DEPDIR)/fstatat64-fstatat64.Tpo -c -o fstatat64-fstatat64.o `test -f 'fstatat64.c' || echo '$(srcdir)/'`fstatat64.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/fstatat64-fstatat64.Tpo $(DEPDIR)/fstatat64-fstatat64.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='fstatat64.c' object='fstatat64-fstatat64.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstatat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstatat64-fstatat64.o `test -f 'fstatat64.c' || echo '$(srcdir)/'`fstatat64.c
+
+fstatat64-fstatat64.obj: fstatat64.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstatat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstatat64-fstatat64.obj -MD -MP -MF $(DEPDIR)/fstatat64-fstatat64.Tpo -c -o fstatat64-fstatat64.obj `if test -f 'fstatat64.c'; then $(CYGPATH_W) 'fstatat64.c'; else $(CYGPATH_W) '$(srcdir)/fstatat64.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/fstatat64-fstatat64.Tpo $(DEPDIR)/fstatat64-fstatat64.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='fstatat64.c' object='fstatat64-fstatat64.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstatat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstatat64-fstatat64.obj `if test -f 'fstatat64.c'; then $(CYGPATH_W) 'fstatat64.c'; else $(CYGPATH_W) '$(srcdir)/fstatat64.c'; fi`
+
+ftruncate64-ftruncate64.o: ftruncate64.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ftruncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ftruncate64-ftruncate64.o -MD -MP -MF $(DEPDIR)/ftruncate64-ftruncate64.Tpo -c -o ftruncate64-ftruncate64.o `test -f 'ftruncate64.c' || echo '$(srcdir)/'`ftruncate64.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ftruncate64-ftruncate64.Tpo $(DEPDIR)/ftruncate64-ftruncate64.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='ftruncate64.c' object='ftruncate64-ftruncate64.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ftruncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ftruncate64-ftruncate64.o `test -f 'ftruncate64.c' || echo '$(srcdir)/'`ftruncate64.c
+
+ftruncate64-ftruncate64.obj: ftruncate64.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ftruncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ftruncate64-ftruncate64.obj -MD -MP -MF $(DEPDIR)/ftruncate64-ftruncate64.Tpo -c -o ftruncate64-ftruncate64.obj `if test -f 'ftruncate64.c'; then $(CYGPATH_W) 'ftruncate64.c'; else $(CYGPATH_W) '$(srcdir)/ftruncate64.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ftruncate64-ftruncate64.Tpo $(DEPDIR)/ftruncate64-ftruncate64.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='ftruncate64.c' object='ftruncate64-ftruncate64.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ftruncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ftruncate64-ftruncate64.obj `if test -f 'ftruncate64.c'; then $(CYGPATH_W) 'ftruncate64.c'; else $(CYGPATH_W) '$(srcdir)/ftruncate64.c'; fi`
+
+lstat64-lstat64.o: lstat64.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lstat64-lstat64.o -MD -MP -MF $(DEPDIR)/lstat64-lstat64.Tpo -c -o lstat64-lstat64.o `test -f 'lstat64.c' || echo '$(srcdir)/'`lstat64.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/lstat64-lstat64.Tpo $(DEPDIR)/lstat64-lstat64.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='lstat64.c' object='lstat64-lstat64.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lstat64-lstat64.o `test -f 'lstat64.c' || echo '$(srcdir)/'`lstat64.c
+
+lstat64-lstat64.obj: lstat64.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lstat64-lstat64.obj -MD -MP -MF $(DEPDIR)/lstat64-lstat64.Tpo -c -o lstat64-lstat64.obj `if test -f 'lstat64.c'; then $(CYGPATH_W) 'lstat64.c'; else $(CYGPATH_W) '$(srcdir)/lstat64.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/lstat64-lstat64.Tpo $(DEPDIR)/lstat64-lstat64.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='lstat64.c' object='lstat64-lstat64.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lstat64-lstat64.obj `if test -f 'lstat64.c'; then $(CYGPATH_W) 'lstat64.c'; else $(CYGPATH_W) '$(srcdir)/lstat64.c'; fi`
+
+mmap64-mmap64.o: mmap64.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64-mmap64.o -MD -MP -MF $(DEPDIR)/mmap64-mmap64.Tpo -c -o mmap64-mmap64.o `test -f 'mmap64.c' || echo '$(srcdir)/'`mmap64.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/mmap64-mmap64.Tpo $(DEPDIR)/mmap64-mmap64.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mmap64.c' object='mmap64-mmap64.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64-mmap64.o `test -f 'mmap64.c' || echo '$(srcdir)/'`mmap64.c
+
+mmap64-mmap64.obj: mmap64.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmap64-mmap64.obj -MD -MP -MF $(DEPDIR)/mmap64-mmap64.Tpo -c -o mmap64-mmap64.obj `if test -f 'mmap64.c'; then $(CYGPATH_W) 'mmap64.c'; else $(CYGPATH_W) '$(srcdir)/mmap64.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/mmap64-mmap64.Tpo $(DEPDIR)/mmap64-mmap64.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mmap64.c' object='mmap64-mmap64.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmap64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap64-mmap64.obj `if test -f 'mmap64.c'; then $(CYGPATH_W) 'mmap64.c'; else $(CYGPATH_W) '$(srcdir)/mmap64.c'; fi`
+
+newfstatat-newfstatat.o: newfstatat.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(newfstatat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT newfstatat-newfstatat.o -MD -MP -MF $(DEPDIR)/newfstatat-newfstatat.Tpo -c -o newfstatat-newfstatat.o `test -f 'newfstatat.c' || echo '$(srcdir)/'`newfstatat.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/newfstatat-newfstatat.Tpo $(DEPDIR)/newfstatat-newfstatat.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='newfstatat.c' object='newfstatat-newfstatat.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(newfstatat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o newfstatat-newfstatat.o `test -f 'newfstatat.c' || echo '$(srcdir)/'`newfstatat.c
+
+newfstatat-newfstatat.obj: newfstatat.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(newfstatat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT newfstatat-newfstatat.obj -MD -MP -MF $(DEPDIR)/newfstatat-newfstatat.Tpo -c -o newfstatat-newfstatat.obj `if test -f 'newfstatat.c'; then $(CYGPATH_W) 'newfstatat.c'; else $(CYGPATH_W) '$(srcdir)/newfstatat.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/newfstatat-newfstatat.Tpo $(DEPDIR)/newfstatat-newfstatat.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='newfstatat.c' object='newfstatat-newfstatat.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(newfstatat_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o newfstatat-newfstatat.obj `if test -f 'newfstatat.c'; then $(CYGPATH_W) 'newfstatat.c'; else $(CYGPATH_W) '$(srcdir)/newfstatat.c'; fi`
+
+pread64_pwrite64-pread64-pwrite64.o: pread64-pwrite64.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pread64_pwrite64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pread64_pwrite64-pread64-pwrite64.o -MD -MP -MF $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Tpo -c -o pread64_pwrite64-pread64-pwrite64.o `test -f 'pread64-pwrite64.c' || echo '$(srcdir)/'`pread64-pwrite64.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Tpo $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='pread64-pwrite64.c' object='pread64_pwrite64-pread64-pwrite64.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pread64_pwrite64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pread64_pwrite64-pread64-pwrite64.o `test -f 'pread64-pwrite64.c' || echo '$(srcdir)/'`pread64-pwrite64.c
+
+pread64_pwrite64-pread64-pwrite64.obj: pread64-pwrite64.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pread64_pwrite64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pread64_pwrite64-pread64-pwrite64.obj -MD -MP -MF $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Tpo -c -o pread64_pwrite64-pread64-pwrite64.obj `if test -f 'pread64-pwrite64.c'; then $(CYGPATH_W) 'pread64-pwrite64.c'; else $(CYGPATH_W) '$(srcdir)/pread64-pwrite64.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Tpo $(DEPDIR)/pread64_pwrite64-pread64-pwrite64.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='pread64-pwrite64.c' object='pread64_pwrite64-pread64-pwrite64.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pread64_pwrite64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pread64_pwrite64-pread64-pwrite64.obj `if test -f 'pread64-pwrite64.c'; then $(CYGPATH_W) 'pread64-pwrite64.c'; else $(CYGPATH_W) '$(srcdir)/pread64-pwrite64.c'; fi`
+
+preadv-preadv.o: preadv.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT preadv-preadv.o -MD -MP -MF $(DEPDIR)/preadv-preadv.Tpo -c -o preadv-preadv.o `test -f 'preadv.c' || echo '$(srcdir)/'`preadv.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/preadv-preadv.Tpo $(DEPDIR)/preadv-preadv.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='preadv.c' object='preadv-preadv.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o preadv-preadv.o `test -f 'preadv.c' || echo '$(srcdir)/'`preadv.c
+
+preadv-preadv.obj: preadv.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT preadv-preadv.obj -MD -MP -MF $(DEPDIR)/preadv-preadv.Tpo -c -o preadv-preadv.obj `if test -f 'preadv.c'; then $(CYGPATH_W) 'preadv.c'; else $(CYGPATH_W) '$(srcdir)/preadv.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/preadv-preadv.Tpo $(DEPDIR)/preadv-preadv.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='preadv.c' object='preadv-preadv.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o preadv-preadv.obj `if test -f 'preadv.c'; then $(CYGPATH_W) 'preadv.c'; else $(CYGPATH_W) '$(srcdir)/preadv.c'; fi`
+
+preadv_pwritev-preadv-pwritev.o: preadv-pwritev.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT preadv_pwritev-preadv-pwritev.o -MD -MP -MF $(DEPDIR)/preadv_pwritev-preadv-pwritev.Tpo -c -o preadv_pwritev-preadv-pwritev.o `test -f 'preadv-pwritev.c' || echo '$(srcdir)/'`preadv-pwritev.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/preadv_pwritev-preadv-pwritev.Tpo $(DEPDIR)/preadv_pwritev-preadv-pwritev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='preadv-pwritev.c' object='preadv_pwritev-preadv-pwritev.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o preadv_pwritev-preadv-pwritev.o `test -f 'preadv-pwritev.c' || echo '$(srcdir)/'`preadv-pwritev.c
+
+preadv_pwritev-preadv-pwritev.obj: preadv-pwritev.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT preadv_pwritev-preadv-pwritev.obj -MD -MP -MF $(DEPDIR)/preadv_pwritev-preadv-pwritev.Tpo -c -o preadv_pwritev-preadv-pwritev.obj `if test -f 'preadv-pwritev.c'; then $(CYGPATH_W) 'preadv-pwritev.c'; else $(CYGPATH_W) '$(srcdir)/preadv-pwritev.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/preadv_pwritev-preadv-pwritev.Tpo $(DEPDIR)/preadv_pwritev-preadv-pwritev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='preadv-pwritev.c' object='preadv_pwritev-preadv-pwritev.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(preadv_pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o preadv_pwritev-preadv-pwritev.obj `if test -f 'preadv-pwritev.c'; then $(CYGPATH_W) 'preadv-pwritev.c'; else $(CYGPATH_W) '$(srcdir)/preadv-pwritev.c'; fi`
+
+pwritev-pwritev.o: pwritev.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pwritev-pwritev.o -MD -MP -MF $(DEPDIR)/pwritev-pwritev.Tpo -c -o pwritev-pwritev.o `test -f 'pwritev.c' || echo '$(srcdir)/'`pwritev.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/pwritev-pwritev.Tpo $(DEPDIR)/pwritev-pwritev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='pwritev.c' object='pwritev-pwritev.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pwritev-pwritev.o `test -f 'pwritev.c' || echo '$(srcdir)/'`pwritev.c
+
+pwritev-pwritev.obj: pwritev.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pwritev-pwritev.obj -MD -MP -MF $(DEPDIR)/pwritev-pwritev.Tpo -c -o pwritev-pwritev.obj `if test -f 'pwritev.c'; then $(CYGPATH_W) 'pwritev.c'; else $(CYGPATH_W) '$(srcdir)/pwritev.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/pwritev-pwritev.Tpo $(DEPDIR)/pwritev-pwritev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='pwritev.c' object='pwritev-pwritev.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pwritev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pwritev-pwritev.obj `if test -f 'pwritev.c'; then $(CYGPATH_W) 'pwritev.c'; else $(CYGPATH_W) '$(srcdir)/pwritev.c'; fi`
+
+stat64-stat64.o: stat64.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stat64-stat64.o -MD -MP -MF $(DEPDIR)/stat64-stat64.Tpo -c -o stat64-stat64.o `test -f 'stat64.c' || echo '$(srcdir)/'`stat64.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/stat64-stat64.Tpo $(DEPDIR)/stat64-stat64.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='stat64.c' object='stat64-stat64.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stat64-stat64.o `test -f 'stat64.c' || echo '$(srcdir)/'`stat64.c
+
+stat64-stat64.obj: stat64.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stat64-stat64.obj -MD -MP -MF $(DEPDIR)/stat64-stat64.Tpo -c -o stat64-stat64.obj `if test -f 'stat64.c'; then $(CYGPATH_W) 'stat64.c'; else $(CYGPATH_W) '$(srcdir)/stat64.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/stat64-stat64.Tpo $(DEPDIR)/stat64-stat64.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='stat64.c' object='stat64-stat64.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(stat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stat64-stat64.obj `if test -f 'stat64.c'; then $(CYGPATH_W) 'stat64.c'; else $(CYGPATH_W) '$(srcdir)/stat64.c'; fi`
+
+statfs-statfs.o: statfs.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT statfs-statfs.o -MD -MP -MF $(DEPDIR)/statfs-statfs.Tpo -c -o statfs-statfs.o `test -f 'statfs.c' || echo '$(srcdir)/'`statfs.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/statfs-statfs.Tpo $(DEPDIR)/statfs-statfs.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='statfs.c' object='statfs-statfs.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o statfs-statfs.o `test -f 'statfs.c' || echo '$(srcdir)/'`statfs.c
+
+statfs-statfs.obj: statfs.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT statfs-statfs.obj -MD -MP -MF $(DEPDIR)/statfs-statfs.Tpo -c -o statfs-statfs.obj `if test -f 'statfs.c'; then $(CYGPATH_W) 'statfs.c'; else $(CYGPATH_W) '$(srcdir)/statfs.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/statfs-statfs.Tpo $(DEPDIR)/statfs-statfs.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='statfs.c' object='statfs-statfs.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o statfs-statfs.obj `if test -f 'statfs.c'; then $(CYGPATH_W) 'statfs.c'; else $(CYGPATH_W) '$(srcdir)/statfs.c'; fi`
+
+truncate64-truncate64.o: truncate64.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT truncate64-truncate64.o -MD -MP -MF $(DEPDIR)/truncate64-truncate64.Tpo -c -o truncate64-truncate64.o `test -f 'truncate64.c' || echo '$(srcdir)/'`truncate64.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/truncate64-truncate64.Tpo $(DEPDIR)/truncate64-truncate64.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='truncate64.c' object='truncate64-truncate64.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o truncate64-truncate64.o `test -f 'truncate64.c' || echo '$(srcdir)/'`truncate64.c
+
+truncate64-truncate64.obj: truncate64.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT truncate64-truncate64.obj -MD -MP -MF $(DEPDIR)/truncate64-truncate64.Tpo -c -o truncate64-truncate64.obj `if test -f 'truncate64.c'; then $(CYGPATH_W) 'truncate64.c'; else $(CYGPATH_W) '$(srcdir)/truncate64.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/truncate64-truncate64.Tpo $(DEPDIR)/truncate64-truncate64.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='truncate64.c' object='truncate64-truncate64.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o truncate64-truncate64.obj `if test -f 'truncate64.c'; then $(CYGPATH_W) 'truncate64.c'; else $(CYGPATH_W) '$(srcdir)/truncate64.c'; fi`
+
+uio-uio.o: uio.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT uio-uio.o -MD -MP -MF $(DEPDIR)/uio-uio.Tpo -c -o uio-uio.o `test -f 'uio.c' || echo '$(srcdir)/'`uio.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/uio-uio.Tpo $(DEPDIR)/uio-uio.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='uio.c' object='uio-uio.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o uio-uio.o `test -f 'uio.c' || echo '$(srcdir)/'`uio.c
+
+uio-uio.obj: uio.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT uio-uio.obj -MD -MP -MF $(DEPDIR)/uio-uio.Tpo -c -o uio-uio.obj `if test -f 'uio.c'; then $(CYGPATH_W) 'uio.c'; else $(CYGPATH_W) '$(srcdir)/uio.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/uio-uio.Tpo $(DEPDIR)/uio-uio.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='uio.c' object='uio-uio.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uio_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o uio-uio.obj `if test -f 'uio.c'; then $(CYGPATH_W) 'uio.c'; else $(CYGPATH_W) '$(srcdir)/uio.c'; fi`
+check-valgrind-local: 
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+	rm -f $< $@
+	$(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+	@:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+	@$(am__set_TESTS_bases); \
+	am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+	redo_bases=`for i in $$bases; do \
+	              am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+	            done`; \
+	if test -n "$$redo_bases"; then \
+	  redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+	  redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+	  if $(am__make_dryrun); then :; else \
+	    rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
+	  fi; \
+	fi; \
+	if test -n "$$am__remaking_logs"; then \
+	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+	       "recursion detected" >&2; \
+	else \
+	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+	fi; \
+	if $(am__make_dryrun); then :; else \
+	  st=0;  \
+	  errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+	  for i in $$redo_bases; do \
+	    test -f $$i.trs && test -r $$i.trs \
+	      || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+	    test -f $$i.log && test -r $$i.log \
+	      || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+	  done; \
+	  test $$st -eq 0 || exit 1; \
+	fi
+	@$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+	ws='[ 	]'; \
+	results=`for b in $$bases; do echo $$b.trs; done`; \
+	test -n "$$results" || results=/dev/null; \
+	all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
+	pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
+	fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
+	skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
+	xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+	xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+	error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+	if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+	  success=true; \
+	else \
+	  success=false; \
+	fi; \
+	br='==================='; br=$$br$$br$$br$$br; \
+	result_count () \
+	{ \
+	    if test x"$$1" = x"--maybe-color"; then \
+	      maybe_colorize=yes; \
+	    elif test x"$$1" = x"--no-color"; then \
+	      maybe_colorize=no; \
+	    else \
+	      echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+	    fi; \
+	    shift; \
+	    desc=$$1 count=$$2; \
+	    if test $$maybe_colorize = yes && test $$count -gt 0; then \
+	      color_start=$$3 color_end=$$std; \
+	    else \
+	      color_start= color_end=; \
+	    fi; \
+	    echo "$${color_start}# $$desc $$count$${color_end}"; \
+	}; \
+	create_testsuite_report () \
+	{ \
+	  result_count $$1 "TOTAL:" $$all   "$$brg"; \
+	  result_count $$1 "PASS: " $$pass  "$$grn"; \
+	  result_count $$1 "SKIP: " $$skip  "$$blu"; \
+	  result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+	  result_count $$1 "FAIL: " $$fail  "$$red"; \
+	  result_count $$1 "XPASS:" $$xpass "$$red"; \
+	  result_count $$1 "ERROR:" $$error "$$mgn"; \
+	}; \
+	{								\
+	  echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |	\
+	    $(am__rst_title);						\
+	  create_testsuite_report --no-color;				\
+	  echo;								\
+	  echo ".. contents:: :depth: 2";				\
+	  echo;								\
+	  for b in $$bases; do echo $$b; done				\
+	    | $(am__create_global_log);					\
+	} >$(TEST_SUITE_LOG).tmp || exit 1;				\
+	mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);			\
+	if $$success; then						\
+	  col="$$grn";							\
+	 else								\
+	  col="$$red";							\
+	  test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);		\
+	fi;								\
+	echo "$${col}$$br$${std}"; 					\
+	echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";	\
+	echo "$${col}$$br$${std}"; 					\
+	create_testsuite_report --maybe-color;				\
+	echo "$$col$$br$$std";						\
+	if $$success; then :; else					\
+	  echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";		\
+	  if test -n "$(PACKAGE_BUGREPORT)"; then			\
+	    echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}";	\
+	  fi;								\
+	  echo "$$col$$br$$std";					\
+	fi;								\
+	$$success || exit 1
+
+check-TESTS:
+	@list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
+	@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+	@set +e; $(am__set_TESTS_bases); \
+	log_list=`for i in $$bases; do echo $$i.log; done`; \
+	trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+	log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+	exit $$?;
+recheck: all $(check_LIBRARIES) $(check_PROGRAMS)
+	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+	@set +e; $(am__set_TESTS_bases); \
+	bases=`for i in $$bases; do echo $$i; done \
+	         | $(am__list_recheck_tests)` || exit 1; \
+	log_list=`for i in $$bases; do echo $$i.log; done`; \
+	log_list=`echo $$log_list`; \
+	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+	        am__force_recheck=am--force-recheck \
+	        TEST_LOGS="$$log_list"; \
+	exit $$?
+.test.log:
+	@p='$<'; \
+	$(am__set_b); \
+	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+	--log-file $$b.log --trs-file $$b.trs \
+	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+	"$$tst" $(AM_TESTS_FD_REDIRECT)
+@[email protected]$(EXEEXT).log:
+@am__EXEEXT_TRUE@	@p='$<'; \
+@am__EXEEXT_TRUE@	$(am__set_b); \
+@am__EXEEXT_TRUE@	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@	--log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@	"$$tst" $(AM_TESTS_FD_REDIRECT)
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+	$(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
+	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+	-test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+	-test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+	-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+
+clean-generic:
+	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+check-valgrind: check-valgrind-am
+
+check-valgrind-am: check-valgrind-local
+
+clean: clean-am
+
+clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am \
+	check-valgrind-am check-valgrind-local clean \
+	clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+	cscopelist-am ctags ctags-am distclean distclean-compile \
+	distclean-generic distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic pdf pdf-am ps ps-am recheck tags tags-am \
+	uninstall uninstall-am
+
+
+@VALGRIND_CHECK_RULES@
+
+ksysent.h: $(srcdir)/ksysent.sed
+	echo '#include <asm/unistd.h>' | \
+		$(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) -dM - > [email protected]
+	LC_COLLATE=C sed -r -n -f $(srcdir)/ksysent.sed < [email protected] > [email protected]
+	mv -f [email protected] $@
+	rm -f [email protected]
+
+ksysent.$(OBJEXT): ksysent.h
+$(objects): scno.h
+
+syscallent.i: $(top_srcdir)/$(OS)/$(ARCH)/syscallent.h
+	$(CPP) -P $(SCNO_CPPFLAGS) $^ -o $@
+
+scno.h: $(top_srcdir)/scno.head syscallent.i
+	echo '/* Generated by Makefile from $^; do not edit. */' > $@-t
+	cat $< >> $@-t
+	LC_ALL=C sed -n '$(SCNO_SED)' $(filter-out $<,$^) >> $@-t
+	mv $@-t $@
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/tests/add_key.c b/tests/add_key.c
index 62f4be3..d2696f9 100644
--- a/tests/add_key.c
+++ b/tests/add_key.c
@@ -1,7 +1,7 @@
 /*
  * Check decoding of add_key syscall.
  *
- * Copyright (c) 2016 Eugene Syromiatnikov <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,8 +28,8 @@
  */
 
 #include "tests.h"
-
 #include <asm/unistd.h>
+#include "scno.h"
 
 #ifdef __NR_add_key
 
@@ -65,9 +65,6 @@
 	printf(") = %s\n", errstr);
 }
 
-# define _STR(_arg) #_arg
-# define ARG_STR(_arg) (_arg), #_arg
-
 int
 main(void)
 {
@@ -90,7 +87,7 @@
 		const char *str;
 	} types[] = {
 		{ ARG_STR(NULL) },
-		{ (const char *) 0xfffffee1fffffbadULL, NULL },
+		{ bogus_type + sizeof(unterminated1), NULL },
 		{ bogus_type, NULL },
 		{ ARG_STR("\20\21\22\23\24") },
 		{ ARG_STR("user") },
@@ -101,7 +98,7 @@
 		const char *str;
 	} descs[] = {
 		{ ARG_STR(NULL) },
-		{ (const char *) 0xfffff00dfffffca7ULL, NULL },
+		{ bogus_desc + sizeof(unterminated2), NULL },
 		{ bogus_desc, NULL },
 		{ ARG_STR("\25\26\27\30\31") },
 		{ ARG_STR("desc") },
@@ -114,7 +111,7 @@
 		size_t plen;
 	} payloads[] = {
 		{ ARG_STR(NULL), 0 },
-		{ (const char *) 0xfffffacefffff157ULL, NULL,
+		{ bogus_payload + sizeof(unterminated3), NULL,
 			(size_t) 0xdeadbeefbadc0dedULL },
 		{ bogus_payload, _STR(""), 0 },
 		{ bogus_payload, _STR("\16\17\20\21\22"), 5 },
diff --git a/tests/adjtimex.c b/tests/adjtimex.c
index 9507fbe..1638b53 100644
--- a/tests/adjtimex.c
+++ b/tests/adjtimex.c
@@ -48,9 +48,9 @@
 
 	printf("adjtimex\\(\\{modes=0, offset=%jd, freq=%jd, maxerror=%jd"
 	       ", esterror=%jd, status=%s, constant=%jd, precision=%jd"
-	       ", tolerance=%jd, time=\\{%jd, %jd\\}, tick=%jd, ppsfreq=%jd"
-	       ", jitter=%jd, shift=%d, stabil=%jd, jitcnt=%jd, calcnt=%jd"
-	       ", errcnt=%jd, stbcnt=%jd"
+	       ", tolerance=%jd, time=\\{tv_sec=%jd, tv_usec=%jd\\}, tick=%jd, "
+	       "ppsfreq=%jd, jitter=%jd, shift=%d, stabil=%jd, jitcnt=%jd, "
+	       "calcnt=%jd, errcnt=%jd, stbcnt=%jd"
 #ifdef HAVE_STRUCT_TIMEX_TAI
 	       ", tai=%d"
 #endif
diff --git a/tests/aio.c b/tests/aio.c
index 8717f4f..0766d23 100644
--- a/tests/aio.c
+++ b/tests/aio.c
@@ -159,7 +159,7 @@
 			.aio_fildes = 0xdefaced1,
 			.aio_buf = (unsigned long)data2,
 			.aio_nbytes = sizeof(data2),
-			.aio_offset = 0xdeadda7abadc0ded,
+			.aio_offset = 0xdeadda7abadc0dedULL,
 		},
 		{
 			.aio_data = 0,
@@ -267,7 +267,7 @@
 	printf("io_getevents(%#lx, %ld, %ld, ["
 	       "{data=%#" PRI__x64 ", obj=%p, res=%u, res2=0}, "
 	       "{data=%#" PRI__x64 ", obj=%p, res=%u, res2=0}"
-	       "], {0, 123456789}) = %s\n",
+	       "], {tv_sec=0, tv_nsec=123456789}) = %s\n",
 	       *ctx, (long) nr, (long) (nr + 1),
 	       cb[0].aio_data, &cb[0], sizeof_data0,
 	       cb[1].aio_data, &cb[1], sizeof_data1,
@@ -301,7 +301,7 @@
 	       "{key=%u, pwrite, reqprio=%hd, fildes=%d, str=NULL"
 	               ", nbytes=%" PRI__u64 ", offset=%" PRI__d64
 # ifdef IOCB_FLAG_RESFD
-	               ", resfd=%d, flags=%x"
+	               ", resfd=%d, flags=%#x"
 # endif
 	               "}, "
 	       "{key=%u, pwrite, reqprio=%hd, fildes=%d, buf=%#" PRI__x64
diff --git a/tests/alarm.c b/tests/alarm.c
index f954dcf..291b26a 100644
--- a/tests/alarm.c
+++ b/tests/alarm.c
@@ -38,7 +38,7 @@
 int
 main(void)
 {
-	int rc = syscall(__NR_alarm, (unsigned long) 0xffffffff0000002a);
+	int rc = syscall(__NR_alarm, (unsigned long) 0xffffffff0000002aULL);
 	printf("alarm(%u) = %d\n", 42, rc);
 
 	puts("+++ exited with 0 +++");
diff --git a/tests/answer.c b/tests/answer.c
new file mode 100644
index 0000000..ae3059a
--- /dev/null
+++ b/tests/answer.c
@@ -0,0 +1,44 @@
+/*
+ * Check decoding of fault injected exit_group syscall.
+ *
+ * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <unistd.h>
+#include <asm/unistd.h>
+
+int
+main(void)
+{
+	static const kernel_ulong_t answer =
+		(kernel_ulong_t) 0xbadc0ded0000002aULL;
+
+	syscall(__NR_exit_group, answer);
+	syscall(__NR_exit, answer);
+
+	return 1;
+}
diff --git a/tests/attach-f-p-cmd.c b/tests/attach-f-p-cmd.c
new file mode 100644
index 0000000..77594be
--- /dev/null
+++ b/tests/attach-f-p-cmd.c
@@ -0,0 +1,46 @@
+/*
+ * This file is part of attach-f-p strace test.
+ *
+ * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <stdio.h>
+#include <unistd.h>
+
+int
+main(void)
+{
+	static const char dir[] = "attach-f-p.test cmd";
+	pid_t pid = getpid();
+	int rc = chdir(dir);
+
+	printf("%-5d chdir(\"%s\") = %s\n"
+	       "%-5d +++ exited with 0 +++\n",
+	       pid, dir, sprintrc(rc), pid);
+
+	return 0;
+}
diff --git a/tests/attach-f-p.c b/tests/attach-f-p.c
index c75deb6..3f9a7e3 100644
--- a/tests/attach-f-p.c
+++ b/tests/attach-f-p.c
@@ -33,6 +33,7 @@
 #include <pthread.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <sys/stat.h>
 #include <asm/unistd.h>
 #include <unistd.h>
 
@@ -71,7 +72,7 @@
 	pthread_t t[N];
 	unsigned int i;
 
-	if (write(3, "", 0) != 0)
+	if (write(1, "", 0) != 0)
 		perror_msg_and_fail("write");
 
 	for (i = 0; i < N; ++i) {
@@ -83,9 +84,18 @@
 			perror_msg_and_fail("pthread_create");
 	}
 
-	if (write(3, "\n", 1) != 1)
+	if (write(1, "\n", 1) != 1)
 		perror_msg_and_fail("write");
 
+	/* wait for the peer to write to stdout */
+	struct stat st;
+	for (;;) {
+		if (fstat(1, &st))
+			perror_msg_and_fail("fstat");
+		if (st.st_size >= 103)
+			break;
+	}
+
 	for (i = 0; i < N; ++i) {
 		/* sleep a bit to let the tracer catch up */
 		sleep(1);
@@ -96,9 +106,9 @@
 		if (errno)
 			perror_msg_and_fail("pthread_join");
 		errno = ENOENT;
-		printf("%-5d chdir(\"%s\") = -1 ENOENT (%m)\n"
+		printf("%-5d chdir(\"%s\") = %s\n"
 		       "%-5d +++ exited with 0 +++\n",
-		       retval.pid, child[i], retval.pid);
+		       retval.pid, child[i], sprintrc(-1), retval.pid);
 	}
 
 	/* sleep a bit more to let the tracer catch up */
diff --git a/tests/attach-f-p.test b/tests/attach-f-p.test
index 030659a..f417074 100755
--- a/tests/attach-f-p.test
+++ b/tests/attach-f-p.test
@@ -34,16 +34,17 @@
 	framework_skip_ '/proc/self/task/ is not available'
 run_prog_skip_if_failed \
 	kill -0 $$
-run_prog ./attach-f-p > /dev/null 3>&1
+run_prog ./attach-f-p-cmd > /dev/null
 
-./set_ptracer_any sh -c "exec ./attach-f-p > $EXP 3> $OUT" > /dev/null &
+rm -f "$OUT"
+./set_ptracer_any sh -c "exec ./attach-f-p >> $OUT" > /dev/null &
 tracee_pid=$!
 
 while ! [ -s "$OUT" ]; do
 	kill -0 $tracee_pid 2> /dev/null ||
-		fail_ 'set_ptracer_any sleep failed'
+		fail_ 'set_ptracer_any sh failed'
 done
 
-run_strace -a32 -f -echdir -p $tracee_pid
-match_diff "$LOG" "$EXP"
-rm -f "$EXP" "$OUT"
+run_strace -a32 -f -echdir -p $tracee_pid ./attach-f-p-cmd > "$OUT"
+match_diff "$LOG" "$OUT"
+rm -f "$OUT"
diff --git a/tests/attach-p-cmd-cmd.c b/tests/attach-p-cmd-cmd.c
index edfff20..d0f824e 100644
--- a/tests/attach-p-cmd-cmd.c
+++ b/tests/attach-p-cmd-cmd.c
@@ -28,19 +28,28 @@
  */
 
 #include "tests.h"
+#include <errno.h>
 #include <stdio.h>
+#include <sys/stat.h>
 #include <unistd.h>
 
 int
 main(void)
 {
+	static const char lockdir[] = "attach-p-cmd.test-lock";
+	/* wait for the lock directory to be created by peer */
+	while (rmdir(lockdir)) {
+		if (ENOENT != errno)
+			perror_msg_and_fail("rmdir: %s", lockdir);
+	}
+
 	static const char dir[] = "attach-p-cmd.test cmd";
 	pid_t pid = getpid();
 	int rc = chdir(dir);
 
-	printf("%-5d chdir(\"%s\") = %d %s (%m)\n"
+	printf("%-5d chdir(\"%s\") = %s\n"
 	       "%-5d +++ exited with 0 +++\n",
-	       pid, dir, rc, errno2name(), pid);
+	       pid, dir, sprintrc(rc), pid);
 
 	return 0;
 }
diff --git a/tests/attach-p-cmd-p.c b/tests/attach-p-cmd-p.c
index d63371d..254d19a 100644
--- a/tests/attach-p-cmd-p.c
+++ b/tests/attach-p-cmd-p.c
@@ -28,9 +28,11 @@
  */
 
 #include "tests.h"
+#include <errno.h>
 #include <signal.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <sys/stat.h>
 #include <unistd.h>
 
 static void
@@ -43,12 +45,27 @@
 {
 	const struct sigaction act = { .sa_handler = handler };
 	if (sigaction(SIGALRM, &act, NULL))
-		perror_msg_and_skip("sigaction");
+		perror_msg_and_fail("sigaction");
 
 	sigset_t mask = {};
 	sigaddset(&mask, SIGALRM);
 	if (sigprocmask(SIG_UNBLOCK, &mask, NULL))
-		perror_msg_and_skip("sigprocmask");
+		perror_msg_and_fail("sigprocmask");
+
+	static const char lockdir[] = "attach-p-cmd.test-lock";
+	/* create a lock directory */
+	if (mkdir(lockdir, 0700))
+		perror_msg_and_fail("mkdir: %s", lockdir);
+
+	/* wait for the lock directory to be removed by peer */
+	while (mkdir(lockdir, 0700)) {
+		if (EEXIST != errno)
+			perror_msg_and_fail("mkdir: %s", lockdir);
+	}
+
+	/* remove the lock directory */
+	if (rmdir(lockdir))
+		perror_msg_and_fail("rmdir: %s", lockdir);
 
 	alarm(1);
 	pause();
diff --git a/tests/attach-p-cmd.test b/tests/attach-p-cmd.test
index 2779719..2068cf1 100755
--- a/tests/attach-p-cmd.test
+++ b/tests/attach-p-cmd.test
@@ -31,16 +31,15 @@
 
 run_prog_skip_if_failed \
 	kill -0 $$
-run_prog ./attach-p-cmd-cmd > /dev/null
-run_prog ./attach-p-cmd-p > /dev/null
 
+rm -rf attach-p-cmd.test-lock
 rm -f "$OUT"
 ./set_ptracer_any ./attach-p-cmd-p >> "$OUT" &
 tracee_pid=$!
 
 while ! [ -s "$OUT" ]; do
 	kill -0 $tracee_pid 2> /dev/null ||
-		fail_ 'set_ptracer_any sleep failed'
+		fail_ 'set_ptracer_any ./attach-p-cmd-p failed'
 done
 
 run_strace -a30 -echdir -p $tracee_pid ./attach-p-cmd-cmd > "$OUT"
diff --git a/tests/bpf.c b/tests/bpf.c
index 5a1fcdc..7ef16c9 100644
--- a/tests/bpf.c
+++ b/tests/bpf.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2016 Dmitry V. Levin <[email protected]>
+ * Copyright (c) 2015-2017 Dmitry V. Levin <[email protected]>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,20 +26,29 @@
  */
 
 #include "tests.h"
-#include <stdio.h>
-#include <stdint.h>
-#include <unistd.h>
 #include <asm/unistd.h>
 
 #if defined HAVE_UNION_BPF_ATTR_LOG_BUF && defined __NR_bpf
+# include <stdio.h>
+# include <stdint.h>
+# include <unistd.h>
 # include <linux/bpf.h>
 
 static const struct bpf_insn insns[] = {
 	{ .code = BPF_JMP | BPF_EXIT }
 };
 
+static const char *errstr;
 static char log_buf[4096];
 
+static long
+sys_bpf(kernel_ulong_t cmd, kernel_ulong_t attr, kernel_ulong_t size)
+{
+	long rc = syscall(__NR_bpf, cmd, attr, size);
+	errstr = sprintrc(rc);
+	return rc;
+}
+
 static int
 map_create(void)
 {
@@ -48,7 +57,8 @@
 		.value_size = 8,
 		.max_entries = 256
 	};
-	return syscall(__NR_bpf, BPF_MAP_CREATE, &attr, sizeof(attr));
+	void *const t_attr = tail_memdup(&attr, sizeof(attr));
+	return sys_bpf(BPF_MAP_CREATE, (unsigned long) t_attr, sizeof(attr));
 }
 
 static int
@@ -59,7 +69,8 @@
 		.key = 0xdeadbeef,
 		.value = 0xbadc0ded
 	};
-	return syscall(__NR_bpf, cmd, &attr, sizeof(attr));
+	void *const t_attr = tail_memdup(&attr, sizeof(attr));
+	return sys_bpf(cmd, (unsigned long) t_attr, sizeof(attr));
 }
 
 static int
@@ -73,52 +84,146 @@
 		.log_size = sizeof(log_buf),
 		.log_buf = (unsigned long) log_buf
 	};
-	return syscall(__NR_bpf, BPF_PROG_LOAD, &attr, sizeof(attr));
+	void *const t_attr = tail_memdup(&attr, sizeof(attr));
+	return sys_bpf(BPF_PROG_LOAD, (unsigned long) t_attr, sizeof(attr));
 }
 
+/*
+ * bpf() syscall and its first six commands were introduced in Linux kernel
+ * 3.18. Some additional commands were added afterwards, so we need to take
+ * precautions to make sure the tests compile.
+ *
+ * BPF_OBJ_PIN and BPF_OBJ_GET commands appear in kernel 4.4.
+ */
+# ifdef HAVE_UNION_BPF_ATTR_BPF_FD
+static int
+obj_manage(int cmd)
+{
+	union bpf_attr attr = {
+		.pathname = (unsigned long) "/sys/fs/bpf/foo/bar",
+		.bpf_fd = -1
+	};
+	void *const t_attr = tail_memdup(&attr, sizeof(attr));
+	return sys_bpf(cmd, (unsigned long) t_attr, sizeof(attr));
+}
+# endif
+
+/* BPF_PROG_ATTACH and BPF_PROG_DETACH commands appear in kernel 4.10. */
+# ifdef HAVE_UNION_BPF_ATTR_ATTACH_TYPE
+static int
+prog_cgroup(int cmd)
+{
+	union bpf_attr attr = {
+		.target_fd = -1,
+		.attach_bpf_fd = -1,
+		.attach_type = 0
+	};
+	void *const t_attr = tail_memdup(&attr, sizeof(attr));
+	return sys_bpf(cmd, (unsigned long) t_attr, sizeof(attr));
+}
+# endif
+
+static unsigned long efault;
+
+static void
+bogus_bpf(int cmd, const char *name)
+{
+	const unsigned long bogus_size = 1024;
+	const unsigned long bogus_addr = efault - bogus_size;
+
+	sys_bpf(cmd, efault, 4);
+	printf("bpf(%s, %#lx, %lu) = %s\n",
+	       name, efault, 4UL, errstr);
+
+	sys_bpf(cmd, efault, bogus_size);
+	printf("bpf(%s, %#lx, %lu) = %s\n",
+	       name, efault, bogus_size, errstr);
+
+	sys_bpf(cmd, bogus_addr, 0);
+	printf("bpf(%s, %#lx, %lu) = %s\n",
+	       name, bogus_addr, 0UL, errstr);
+}
+
+#define BOGUS_BPF(cmd)	bogus_bpf(cmd, #cmd)
+
 int
 main(void)
 {
-	if (!map_create())
-		perror_msg_and_skip("BPF_MAP_CREATE");
-	printf("bpf\\(BPF_MAP_CREATE, "
-	       "\\{map_type=BPF_MAP_TYPE_UNSPEC, key_size=4, value_size=8, max_entries=256\\}, "
-	       "%u\\) += -1 .*\n",
-		(unsigned) sizeof(union bpf_attr));
+	efault = (unsigned long) tail_alloc(1) + 1;
 
-	if (!map_any(BPF_MAP_LOOKUP_ELEM))
-		perror_msg_and_skip("BPF_MAP_LOOKUP_ELEM");
-	printf("bpf\\(BPF_MAP_LOOKUP_ELEM, "
-	       "\\{map_fd=-1, key=0xdeadbeef\\}, %u\\) += -1 .*\n",
-		(unsigned) sizeof(union bpf_attr));
+	map_create();
+	printf("bpf(BPF_MAP_CREATE"
+	       ", {map_type=BPF_MAP_TYPE_UNSPEC, key_size=4"
+	       ", value_size=8, max_entries=256}, %u) = %s\n",
+	       (unsigned) sizeof(union bpf_attr), errstr);
+	BOGUS_BPF(BPF_MAP_CREATE);
 
-	if (!map_any(BPF_MAP_UPDATE_ELEM))
-		perror_msg_and_skip("BPF_MAP_UPDATE_ELEM");
-	printf("bpf\\(BPF_MAP_UPDATE_ELEM, "
-	       "\\{map_fd=-1, key=0xdeadbeef, value=0xbadc0ded, flags=BPF_ANY\\}, "
-	       "%u\\) += -1 .*\n",
-		(unsigned) sizeof(union bpf_attr));
+	map_any(BPF_MAP_LOOKUP_ELEM);
+	printf("bpf(BPF_MAP_LOOKUP_ELEM"
+	       ", {map_fd=-1, key=0xdeadbeef}, %u) = %s\n",
+	       (unsigned) sizeof(union bpf_attr), errstr);
+	BOGUS_BPF(BPF_MAP_LOOKUP_ELEM);
 
-	if (!map_any(BPF_MAP_DELETE_ELEM))
-		perror_msg_and_skip("BPF_MAP_DELETE_ELEM");
-	printf("bpf\\(BPF_MAP_DELETE_ELEM, "
-	       "\\{map_fd=-1, key=0xdeadbeef\\}, %u\\) += -1 .*\n",
-		(unsigned) sizeof(union bpf_attr));
+	map_any(BPF_MAP_UPDATE_ELEM);
+	printf("bpf(BPF_MAP_UPDATE_ELEM"
+	       ", {map_fd=-1, key=0xdeadbeef"
+	       ", value=0xbadc0ded, flags=BPF_ANY}, %u) = %s\n",
+	       (unsigned) sizeof(union bpf_attr), errstr);
+	BOGUS_BPF(BPF_MAP_UPDATE_ELEM);
 
-	if (!map_any(BPF_MAP_GET_NEXT_KEY))
-		perror_msg_and_skip("BPF_MAP_GET_NEXT_KEY");
-	printf("bpf\\(BPF_MAP_GET_NEXT_KEY, "
-	       "\\{map_fd=-1, key=0xdeadbeef\\}, %u\\) += -1 .*\n",
-		(unsigned) sizeof(union bpf_attr));
+	map_any(BPF_MAP_DELETE_ELEM);
+	printf("bpf(BPF_MAP_DELETE_ELEM"
+	       ", {map_fd=-1, key=0xdeadbeef}, %u) = %s\n",
+	       (unsigned) sizeof(union bpf_attr), errstr);
+	BOGUS_BPF(BPF_MAP_DELETE_ELEM);
 
-	if (!prog_load())
-		perror_msg_and_skip("BPF_PROG_LOAD");
-	printf("bpf\\(BPF_PROG_LOAD, "
-	       "\\{prog_type=BPF_PROG_TYPE_UNSPEC, insn_cnt=1, insns=%p, "
-	       "license=\"GPL\", log_level=42, log_size=4096, log_buf=%p, "
-	       "kern_version=0\\}, %u\\) += -1 .*\n",
-		insns, log_buf, (unsigned) sizeof(union bpf_attr));
+	map_any(BPF_MAP_GET_NEXT_KEY);
+	printf("bpf(BPF_MAP_GET_NEXT_KEY"
+	       ", {map_fd=-1, key=0xdeadbeef}, %u) = %s\n",
+	       (unsigned) sizeof(union bpf_attr), errstr);
+	BOGUS_BPF(BPF_MAP_GET_NEXT_KEY);
 
+	prog_load();
+	printf("bpf(BPF_PROG_LOAD"
+	       ", {prog_type=BPF_PROG_TYPE_UNSPEC, insn_cnt=1, insns=%p"
+	       ", license=\"GPL\", log_level=42, log_size=4096, log_buf=%p"
+	       ", kern_version=0}, %u) = %s\n",
+	       insns, log_buf, (unsigned) sizeof(union bpf_attr), errstr);
+	BOGUS_BPF(BPF_PROG_LOAD);
+
+# ifdef HAVE_UNION_BPF_ATTR_BPF_FD
+	obj_manage(BPF_OBJ_PIN);
+	printf("bpf(BPF_OBJ_PIN"
+	       ", {pathname=\"/sys/fs/bpf/foo/bar\", bpf_fd=-1}, %u) = %s\n",
+	       (unsigned) sizeof(union bpf_attr), errstr);
+	BOGUS_BPF(BPF_OBJ_PIN);
+
+	obj_manage(BPF_OBJ_GET);
+	printf("bpf(BPF_OBJ_GET"
+	       ", {pathname=\"/sys/fs/bpf/foo/bar\", bpf_fd=-1}, %u) = %s\n",
+	       (unsigned) sizeof(union bpf_attr), errstr);
+	BOGUS_BPF(BPF_OBJ_GET);
+# endif
+
+# ifdef HAVE_UNION_BPF_ATTR_ATTACH_TYPE
+	prog_cgroup(BPF_PROG_ATTACH);
+	printf("bpf(BPF_PROG_ATTACH"
+	       ", {target_fd=-1, attach_bpf_fd=-1"
+	       ", attach_type=BPF_CGROUP_INET_INGRESS}, %u) = %s\n",
+	       (unsigned) sizeof(union bpf_attr), errstr);
+	BOGUS_BPF(BPF_PROG_ATTACH);
+
+	prog_cgroup(BPF_PROG_DETACH);
+	printf("bpf(BPF_PROG_DETACH"
+	       ", {target_fd=-1, attach_type=BPF_CGROUP_INET_INGRESS}, %u)"
+	       " = %s\n",
+	       (unsigned) sizeof(union bpf_attr), errstr);
+	BOGUS_BPF(BPF_PROG_DETACH);
+# endif
+
+	bogus_bpf(0xfacefeed, "0xfacefeed /* BPF_??? */");
+
+	puts("+++ exited with 0 +++");
 	return 0;
 }
 
diff --git a/tests/bpf.test b/tests/bpf.test
index 6c77ae1..adf0d57 100755
--- a/tests/bpf.test
+++ b/tests/bpf.test
@@ -1,12 +1,6 @@
 #!/bin/sh
 
 # Check bpf syscall decoding.
-
 . "${srcdir=.}/init.sh"
 
-run_prog > /dev/null
-run_strace -ebpf $args > "$OUT"
-match_grep "$LOG" "$OUT"
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a20
diff --git a/tests/btrfs.c b/tests/btrfs.c
index d600534..b3e23f8 100644
--- a/tests/btrfs.c
+++ b/tests/btrfs.c
@@ -199,7 +199,7 @@
 static void
 btrfs_test_sync_ioctls(void)
 {
-	uint64_t u64val = 0xdeadbeefbadc0ded;
+	uint64_t u64val = 0xdeadbeefbadc0dedULL;
 
 	ioctl(-1, BTRFS_IOC_SYNC, NULL);
 	printf("ioctl(-1, BTRFS_IOC_SYNC) = -1 EBADF (%m)\n");
@@ -286,8 +286,8 @@
 {
 	const char *subvol_name = "subvol-name";
 	char *long_subvol_name;
-	void *bad_pointer = (void *) (unsigned long) 0xdeadbeeffffffeed;
-	uint64_t u64val = 0xdeadbeefbadc0ded;
+	void *bad_pointer = (void *) (unsigned long) 0xdeadbeeffffffeedULL;
+	uint64_t u64val = 0xdeadbeefbadc0dedULL;
 	struct btrfs_ioctl_vol_args vol_args = {};
 	struct btrfs_ioctl_vol_args_v2 vol_args_v2 = {
 		.fd = 2,
@@ -1567,8 +1567,8 @@
 {
 	struct btrfs_ioctl_dev_replace_args args = {
 		.cmd = BTRFS_IOCTL_DEV_REPLACE_CMD_START,
-		.start.srcdevid = 1
 	};
+	args.start.srcdevid = 1;
 	strcpy((char *)args.start.srcdev_name, "/dev/sda1");
 	strcpy((char *)args.start.tgtdev_name, "/dev/sdb1");
 
diff --git a/tests/caps-abbrev.awk b/tests/caps-abbrev.awk
new file mode 100644
index 0000000..86de7f2
--- /dev/null
+++ b/tests/caps-abbrev.awk
@@ -0,0 +1,52 @@
+#!/bin/gawk
+#
+# This file is part of caps strace test.
+#
+# Copyright (c) 2014-2016 Dmitry V. Levin <[email protected]>
+# 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.
+
+BEGIN {
+	cap = "(0|1<<CAP_[A-Z_]+(\\|1<<CAP_[A-Z_]+)*|1<<CAP_[A-Z_]+(\\|1<<CAP_[A-Z_]+){37}\\|0xffffffc0)"
+	s_efault = "-1 EFAULT (Bad address)"
+	r_efault = "-1 EFAULT \\(Bad address\\)"
+	r_einval = "-1 EINVAL \\(Invalid argument\\)"
+	r_eperm = "-1 EPERM \\(Operation not permitted\\)"
+	r_addr = "0x[[:xdigit:]]+"
+	s[1] = "capget(NULL, NULL) = " s_efault
+	r[2] = r[3] = "^capget\\(" r_addr ", " r_addr "\\) = " r_efault
+	r[4] = "^capget\\(" r_addr ", " r_addr "\\) = 0"
+
+	s[5] = "capset(NULL, NULL) = " s_efault
+	r[6] = "^capset\\(" r_addr ", " r_addr "\\) = " r_efault
+	r[7] = "^capset\\(" r_addr ", " r_addr "\\) = " r_einval
+	r[8] = "^capset\\(" r_addr ", " r_addr "\\) = " r_efault
+	r[9] = r[10] = r[11] = "^capset\\(" r_addr ", " r_addr "\\) = " r_eperm
+	s[12] = "+++ exited with 0 +++"
+
+	lines = 12
+	fail = 0
+}
+
+@include "match.awk"
diff --git a/tests/caps-abbrev.c b/tests/caps-abbrev.c
new file mode 100644
index 0000000..b4aeb37
--- /dev/null
+++ b/tests/caps-abbrev.c
@@ -0,0 +1 @@
+#include "caps.c"
diff --git a/tests/caps-abbrev.test b/tests/caps-abbrev.test
new file mode 100755
index 0000000..ca223f9
--- /dev/null
+++ b/tests/caps-abbrev.test
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+# Check capget/capset syscalls decoding.
+
+. "${srcdir=.}/init.sh"
+
+run_prog
+run_strace -a 19 -e trace=capget,capset -e verbose=\!capget,capset $args
+match_awk
+
+exit 0
diff --git a/tests/caps.awk b/tests/caps.awk
index 67003ac..c6e31ef 100644
--- a/tests/caps.awk
+++ b/tests/caps.awk
@@ -31,16 +31,26 @@
 	cap = "(0|1<<CAP_[A-Z_]+(\\|1<<CAP_[A-Z_]+)*|1<<CAP_[A-Z_]+(\\|1<<CAP_[A-Z_]+){37}\\|0xffffffc0)"
 	s_efault = "-1 EFAULT (Bad address)"
 	r_efault = "-1 EFAULT \\(Bad address\\)"
+	r_einval = "-1 EINVAL \\(Invalid argument\\)"
 	r_addr = "0x[[:xdigit:]]+"
 	s[1] = "capget(NULL, NULL) = " s_efault
 	r[2] = "^capget\\(" r_addr ", " r_addr "\\) = " r_efault
-	r[3] = "^capget\\(\\{_LINUX_CAPABILITY_VERSION_3, 0\\}, " r_addr "\\) = " r_efault
-	r[4] = "^capget\\(\\{_LINUX_CAPABILITY_VERSION_3, 0\\}, \\{" cap ", " cap ", " cap "\\}\\) = 0$"
-	capset_data = "{1<<CAP_DAC_OVERRIDE|1<<CAP_WAKE_ALARM, 1<<CAP_DAC_READ_SEARCH|1<<CAP_BLOCK_SUSPEND, 0}"
-	s[5] = "capset({_LINUX_CAPABILITY_VERSION_3, 0}, " capset_data ") = -1 EPERM (Operation not permitted)"
-	s[6] = "+++ exited with 0 +++"
+	r[3] = "^capget\\(\\{version=_LINUX_CAPABILITY_VERSION_3, pid=0\\}, " r_addr "\\) = " r_efault
+	r[4] = "^capget\\(\\{version=_LINUX_CAPABILITY_VERSION_3, pid=0\\}, \\{effective=" cap ", permitted=" cap ", inheritable=" cap "\\}\\) = 0$"
 
-	lines = 6
+	capset_v1_data = "{effective=1<<CAP_DAC_OVERRIDE, permitted=1<<CAP_DAC_READ_SEARCH, inheritable=0}"
+	capset_v3hi_data = "{effective=1<<CAP_WAKE_ALARM, permitted=1<<CAP_BLOCK_SUSPEND, inheritable=0}"
+	capset_data = "{effective=1<<CAP_DAC_OVERRIDE|1<<CAP_WAKE_ALARM, permitted=1<<CAP_DAC_READ_SEARCH|1<<CAP_BLOCK_SUSPEND, inheritable=0}"
+	s[5] = "capset(NULL, NULL) = " s_efault
+	r[6] = "^capset\\(" r_addr ", " r_addr "\\) = " r_efault
+	r[7] = "^capset\\(\\{version=0xbadc0ded /\\* _LINUX_CAPABILITY_VERSION_\\?\\?\\? \\*/, pid=-1576685468\\}, " r_addr "\\) = " r_einval
+	r[8] = "^capset\\(\\{version=_LINUX_CAPABILITY_VERSION_2, pid=0\\}, " r_addr "\\) = " r_efault
+	s[9] = "capset({version=_LINUX_CAPABILITY_VERSION_3, pid=0}, " capset_data ") = -1 EPERM (Operation not permitted)"
+	s[10] = "capset({version=_LINUX_CAPABILITY_VERSION_3, pid=0}, " capset_v3hi_data ") = -1 EPERM (Operation not permitted)"
+	s[11] = "capset({version=_LINUX_CAPABILITY_VERSION_1, pid=0}, " capset_v1_data ") = -1 EPERM (Operation not permitted)"
+	s[12] = "+++ exited with 0 +++"
+
+	lines = 12
 	fail = 0
 }
 
diff --git a/tests/caps.c b/tests/caps.c
index 17e1077..9f33a39 100644
--- a/tests/caps.c
+++ b/tests/caps.c
@@ -38,6 +38,8 @@
 main(void)
 {
 	const int data[] = { 2, 4, 0, 8, 16, 0 };
+	const int v1 = 0x19980330;
+	const int v2 = 0x20071026;
 	const int v3 = 0x20080522;
 
 	int * const head = tail_alloc(sizeof(int) * 2);
@@ -55,7 +57,31 @@
 		error_msg_and_skip("capget: v3 expected");
 
 	memcpy(tail_data, data, sizeof(data));
-	if (capset(head, data) == 0 || errno != EPERM)
+
+	capset(NULL, NULL);
+	capset(head + 2, tail_data);
+
+	head[0] = 0xbadc0ded;
+	head[1] = 2718281828U;
+	capset(head, tail_data + ARRAY_SIZE(data) - 2);
+
+	head[0] = v2;
+	head[1] = 0;
+	capset(head, tail_data + ARRAY_SIZE(data) - 5);
+
+	memcpy(tail_data, data, sizeof(data));
+	head[0] = v3;
+	if (capset(head, tail_data) == 0 || errno != EPERM)
+		perror_msg_and_skip("capset");
+
+	memset(tail_data, 0, sizeof(data) / 2);
+	if (capset(head, tail_data) == 0 || errno != EPERM)
+		perror_msg_and_skip("capset");
+
+	memcpy(tail_data + ARRAY_SIZE(data) / 2, data, sizeof(data) / 2);
+	head[0] = v1;
+	if (capset(head, tail_data + ARRAY_SIZE(data) / 2) == 0 ||
+	    errno != EPERM)
 		perror_msg_and_skip("capset");
 
 	return 0;
diff --git a/tests/clock_nanosleep.c b/tests/clock_nanosleep.c
index d9b68fd..98407d7 100644
--- a/tests/clock_nanosleep.c
+++ b/tests/clock_nanosleep.c
@@ -62,7 +62,8 @@
 
 	if (syscall(__NR_clock_nanosleep, CLOCK_REALTIME, 0, &req.ts, NULL))
 		perror_msg_and_skip("clock_nanosleep CLOCK_REALTIME");
-	printf("clock_nanosleep(CLOCK_REALTIME, 0, {%jd, %jd}, NULL) = 0\n",
+	printf("clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=%jd, tv_nsec=%jd}, "
+	       "NULL) = 0\n",
 	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec);
 
 	assert(syscall(__NR_clock_nanosleep, CLOCK_REALTIME, 0,
@@ -72,14 +73,15 @@
 
 	assert(syscall(__NR_clock_nanosleep, CLOCK_REALTIME, 0,
 		       &req.ts, &rem.ts) == 0);
-	printf("clock_nanosleep(CLOCK_REALTIME, 0, {%jd, %jd}, %p) = 0\n",
+	printf("clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=%jd, tv_nsec=%jd}, "
+	       "%p) = 0\n",
 	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec, &rem.ts);
 
 	req.ts.tv_nsec = 999999999 + 1;
 	assert(syscall(__NR_clock_nanosleep, CLOCK_MONOTONIC, 0,
 		       &req.ts, &rem.ts) == -1);
 	printf("clock_nanosleep(CLOCK_MONOTONIC, 0"
-	       ", {%jd, %jd}, %p) = -1 EINVAL (%m)\n",
+	       ", {tv_sec=%jd, tv_nsec=%jd}, %p) = -1 EINVAL (%m)\n",
 	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec, &rem.ts);
 
 	assert(sigaction(SIGALRM, &act, NULL) == 0);
@@ -87,8 +89,8 @@
 
 	if (setitimer(ITIMER_REAL, &itv, NULL))
 		perror_msg_and_skip("setitimer");
-	printf("setitimer(ITIMER_REAL, {it_interval={%jd, %jd}"
-	       ", it_value={%jd, %jd}}, NULL) = 0\n",
+	printf("setitimer(ITIMER_REAL, {it_interval={tv_sec=%jd, tv_usec=%jd}"
+	       ", it_value={tv_sec=%jd, tv_usec=%jd}}, NULL) = 0\n",
 	       (intmax_t) itv.it_interval.tv_sec,
 	       (intmax_t) itv.it_interval.tv_usec,
 	       (intmax_t) itv.it_value.tv_sec,
@@ -97,14 +99,15 @@
 	--req.ts.tv_nsec;
 	assert(syscall(__NR_clock_nanosleep, CLOCK_REALTIME, 0,
 		       &req.ts, &rem.ts) == -1);
-	printf("clock_nanosleep(CLOCK_REALTIME, 0, {%jd, %jd}, {%jd, %jd})"
+	printf("clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=%jd, tv_nsec=%jd}, "
+	       "{tv_sec=%jd, tv_nsec=%jd})"
 	       " = ? ERESTART_RESTARTBLOCK (Interrupted by signal)\n",
 	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec,
 	       (intmax_t) rem.ts.tv_sec, (intmax_t) rem.ts.tv_nsec);
 	puts("--- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} ---");
 
 	assert(syscall(__NR_clock_gettime, CLOCK_REALTIME, &req.ts) == 0);
-	printf("clock_gettime(CLOCK_REALTIME, {%jd, %jd}) = 0\n",
+	printf("clock_gettime(CLOCK_REALTIME, {tv_sec=%jd, tv_nsec=%jd}) = 0\n",
 	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec);
 
 	++req.ts.tv_sec;
@@ -112,7 +115,8 @@
 	rem.ts.tv_nsec = 0xc0de5;
 	assert(syscall(__NR_clock_nanosleep, CLOCK_REALTIME, TIMER_ABSTIME,
 		       &req.ts, &rem.ts) == -1);
-	printf("clock_nanosleep(CLOCK_REALTIME, TIMER_ABSTIME, {%jd, %jd}, %p)"
+	printf("clock_nanosleep(CLOCK_REALTIME, TIMER_ABSTIME, {tv_sec=%jd, "
+	       "tv_nsec=%jd}, %p)"
 	       " = ? ERESTARTNOHAND (To be restarted if no handler)\n",
 	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec, &rem.ts);
 	puts("--- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} ---");
diff --git a/tests/clock_xettime.c b/tests/clock_xettime.c
index 04dddf6..3ef5695 100644
--- a/tests/clock_xettime.c
+++ b/tests/clock_xettime.c
@@ -48,13 +48,14 @@
 
 	if (syscall(__NR_clock_getres, CLOCK_REALTIME, &t.ts))
 		perror_msg_and_skip("clock_getres CLOCK_REALTIME");
-	printf("clock_getres(CLOCK_REALTIME, {%jd, %jd}) = 0\n",
+	printf("clock_getres(CLOCK_REALTIME, {tv_sec=%jd, tv_nsec=%jd}) = 0\n",
 	       (intmax_t) t.ts.tv_sec,
 	       (intmax_t) t.ts.tv_nsec);
 
 	if (syscall(__NR_clock_gettime, CLOCK_PROCESS_CPUTIME_ID, &t.ts))
 		perror_msg_and_skip("clock_gettime CLOCK_PROCESS_CPUTIME_ID");
-	printf("clock_gettime(CLOCK_PROCESS_CPUTIME_ID, {%jd, %jd}) = 0\n",
+	printf("clock_gettime(CLOCK_PROCESS_CPUTIME_ID, "
+	       "{tv_sec=%jd, tv_nsec=%jd}) = 0\n",
 	       (intmax_t) t.ts.tv_sec,
 	       (intmax_t) t.ts.tv_nsec);
 
@@ -63,8 +64,8 @@
 	if (!syscall(__NR_clock_settime, CLOCK_THREAD_CPUTIME_ID, &t.ts))
 		error_msg_and_skip("clock_settime CLOCK_THREAD_CPUTIME_ID:"
 				   " EINVAL expected");
-	printf("clock_settime(CLOCK_THREAD_CPUTIME_ID, {%jd, %jd})"
-	       " = -1 EINVAL (%m)\n",
+	printf("clock_settime(CLOCK_THREAD_CPUTIME_ID, {tv_sec=%jd, "
+	       "tv_nsec=%jd}) = -1 EINVAL (%m)\n",
 	       (intmax_t) t.ts.tv_sec,
 	       (intmax_t) t.ts.tv_nsec);
 
diff --git a/tests/copy_file_range.c b/tests/copy_file_range.c
index f3ec5b4..085010a 100644
--- a/tests/copy_file_range.c
+++ b/tests/copy_file_range.c
@@ -29,6 +29,7 @@
 
 #include "tests.h"
 #include <asm/unistd.h>
+#include "scno.h"
 
 #if defined __NR_copy_file_range
 
diff --git a/tests/delete_module.c b/tests/delete_module.c
new file mode 100644
index 0000000..5a31760
--- /dev/null
+++ b/tests/delete_module.c
@@ -0,0 +1,115 @@
+/*
+ * Check decoding of delete_module syscall.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#include <asm/unistd.h>
+
+#if defined(__NR_delete_module)
+
+# include <fcntl.h>
+# include <stdio.h>
+# include <unistd.h>
+
+# include "init_delete_module.h"
+
+int
+main(void)
+{
+	static const struct {
+		kernel_ulong_t val;
+		const char *str;
+		unsigned int val_prefix, val_suffix;
+	} flags[] = {
+		{ ARG_STR(0), 0, 0 },
+		{ (kernel_ulong_t) 0xffffffff00000000ULL | O_NONBLOCK,
+			"O_NONBLOCK", 0, 0 },
+		{ (kernel_ulong_t) 0xbadc0dedfacef157ULL & ~(O_NONBLOCK | O_TRUNC),
+			" /* O_??? */", 0xfacef157U & ~(O_NONBLOCK | O_TRUNC), 0},
+		{ (kernel_ulong_t) (0xfacef157deade71cULL & ~O_NONBLOCK) | O_TRUNC,
+			"O_TRUNC", 0, 0xdeade71c & ~(O_NONBLOCK | O_TRUNC)},
+		{ -1LL, "O_NONBLOCK|O_TRUNC", 0, -1U & ~(O_NONBLOCK | O_TRUNC)},
+	};
+
+	long rc;
+	char *bogus_param1 = tail_alloc(PARAM1_LEN);
+	char *bogus_param2 = tail_alloc(PARAM2_LEN);
+	const char *errstr;
+
+	fill_memory_ex(bogus_param1, PARAM1_LEN, PARAM1_BASE, PARAM1_LEN);
+	fill_memory_ex(bogus_param2, PARAM2_LEN, PARAM2_BASE, PARAM2_LEN);
+
+	rc = syscall(__NR_delete_module, NULL, bogus_zero);
+	printf("delete_module(NULL, 0) = %s\n", sprintrc(rc));
+
+	rc = syscall(__NR_delete_module, bogus_param1, flags[0].val);
+	errstr = sprintrc(rc);
+
+	printf("delete_module(\"");
+	print_str(PARAM1_BASE, MAX_STRLEN, false);
+	printf("\"..., %s) = %s\n", flags[0].str, errstr);
+
+	bogus_param1[PARAM1_LEN - 1] = '\0';
+
+	rc = syscall(__NR_delete_module, bogus_param1, flags[1].val);
+	errstr = sprintrc(rc);
+
+	printf("delete_module(\"");
+	print_str(PARAM1_BASE, MAX_STRLEN, false);
+	printf("\", %s) = %s\n", flags[1].str, errstr);
+
+	rc = syscall(__NR_delete_module, bogus_param2 + PARAM2_LEN,
+		flags[2].val);
+	printf("delete_module(%p, %#x%s) = %s\n",
+	       bogus_param2 + PARAM2_LEN, flags[2].val_prefix,
+	       flags[2].str, sprintrc(rc));
+
+	rc = syscall(__NR_delete_module, bogus_param2, flags[3].val);
+	printf("delete_module(%p, %s|%#x) = %s\n",
+	       bogus_param2, flags[3].str, flags[3].val_suffix, sprintrc(rc));
+
+	bogus_param2[PARAM2_LEN - 1] = '\0';
+
+	rc = syscall(__NR_delete_module, bogus_param2, flags[4].val);
+	errstr = sprintrc(rc);
+
+	printf("delete_module(\"");
+	print_str(PARAM2_BASE, PARAM2_LEN - 1, true);
+	printf("\", %s|%#x) = %s\n", flags[4].str, flags[4].val_suffix, errstr);
+
+	puts("+++ exited with 0 +++");
+
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_delete_module");
+
+#endif
diff --git a/tests/delete_module.test b/tests/delete_module.test
new file mode 100755
index 0000000..fb86ec9
--- /dev/null
+++ b/tests/delete_module.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of delete_module syscall.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a23
diff --git a/tests/detach-running.test b/tests/detach-running.test
index b77dc51..006efb8 100755
--- a/tests/detach-running.test
+++ b/tests/detach-running.test
@@ -79,8 +79,8 @@
 		cleanup
 		dump_log_and_fail_with 'tracee died after detach'
 	}
-	grep '^State:.*R (running)' < /proc/$tracee_pid/status > /dev/null || {
-		grep '^State:' < /proc/$tracee_pid/status
+	grep_pid_status "$tracee_pid" '^State:.*R (running)' > /dev/null || {
+		grep_pid_status "$tracee_pid" '^State:'
 		cleanup
 		dump_log_and_fail_with 'tracee is not running after detach'
 	}
diff --git a/tests/detach-sleeping.test b/tests/detach-sleeping.test
index 546c21d..54304f3 100755
--- a/tests/detach-sleeping.test
+++ b/tests/detach-sleeping.test
@@ -80,8 +80,8 @@
 		cleanup
 		dump_log_and_fail_with 'tracee died after detach'
 	}
-	grep '^State:.*S (sleeping)' < /proc/$tracee_pid/status > /dev/null || {
-		grep '^State:' < /proc/$tracee_pid/status
+	grep_pid_status "$tracee_pid" '^State:.*S (sleeping)' > /dev/null || {
+		grep_pid_status "$tracee_pid" '^State:'
 		cleanup
 		dump_log_and_fail_with 'tracee is not sleeping after detach'
 	}
diff --git a/tests/detach-stopped.test b/tests/detach-stopped.test
index ca4d4e9..8f480e7 100755
--- a/tests/detach-stopped.test
+++ b/tests/detach-stopped.test
@@ -95,8 +95,8 @@
 		cleanup
 		dump_log_and_fail_with 'tracee died after detach'
 	}
-	grep '^State:.*T (stopped)' < /proc/$tracee_pid/status > /dev/null || {
-		grep '^State:' < /proc/$tracee_pid/status
+	grep_pid_status "$tracee_pid" '^State:.*T (stopped)' > /dev/null || {
+		grep_pid_status "$tracee_pid" '^State:'
 		cleanup
 		dump_log_and_fail_with 'tracee is not group-stopped after detach'
 	}
diff --git a/tests/dup2.c b/tests/dup2.c
index 04a261c..9f3addf 100644
--- a/tests/dup2.c
+++ b/tests/dup2.c
@@ -9,8 +9,8 @@
 int
 main(void)
 {
-	const long int fd_old = (long int) 0xdeadbeefffffffff;
-	const long int fd_new = (long int) 0xdeadbeeffffffffe;
+	const long int fd_old = (long int) 0xdeadbeefffffffffULL;
+	const long int fd_new = (long int) 0xdeadbeeffffffffeULL;
 
 	long rc = syscall(__NR_dup2, fd_old, fd_new);
 	printf("dup2(%d, %d) = %ld %s (%m)\n",
diff --git a/tests/dup3.c b/tests/dup3.c
index 2611dd8..252e846 100644
--- a/tests/dup3.c
+++ b/tests/dup3.c
@@ -10,8 +10,8 @@
 int
 main(void)
 {
-	const long int fd_old = (long int) 0xdeadbeefffffffff;
-	const long int fd_new = (long int) 0xdeadbeeffffffffe;
+	const long int fd_old = (long int) 0xdeadbeefffffffffULL;
+	const long int fd_new = (long int) 0xdeadbeeffffffffeULL;
 
 	long rc = syscall(__NR_dup3, fd_old, fd_new, O_CLOEXEC);
 	printf("dup3(%d, %d, O_CLOEXEC) = %ld %s (%m)\n",
diff --git a/tests/epoll_create.c b/tests/epoll_create.c
index 1f24852..44262c7 100644
--- a/tests/epoll_create.c
+++ b/tests/epoll_create.c
@@ -9,7 +9,7 @@
 int
 main(void)
 {
-	const long int size = (long int) 0xdeadbeefffffffff;
+	const long int size = (long int) 0xdeadbeefffffffffULL;
 
 	long rc = syscall(__NR_epoll_create, size);
 	printf("epoll_create(%d) = %ld %s (%m)\n",
diff --git a/tests/epoll_ctl.c b/tests/epoll_ctl.c
index 8b46f4e..e666055 100644
--- a/tests/epoll_ctl.c
+++ b/tests/epoll_ctl.c
@@ -11,7 +11,7 @@
 static long
 invoke_syscall(unsigned long epfd, unsigned long op, unsigned long fd, void *ev)
 {
-	op |= (unsigned long) 0xffffffff00000000;
+	op |= (unsigned long) 0xffffffff00000000ULL;
 	return syscall(__NR_epoll_ctl, epfd, op, fd, (unsigned long) ev);
 }
 
diff --git a/tests/epoll_pwait.c b/tests/epoll_pwait.c
index 27337ec..eaaa34d 100644
--- a/tests/epoll_pwait.c
+++ b/tests/epoll_pwait.c
@@ -8,8 +8,6 @@
 # include <sys/epoll.h>
 # include <unistd.h>
 
-# include "kernel_types.h"
-
 int
 main(void)
 {
diff --git a/tests/erestartsys.c b/tests/erestartsys.c
new file mode 100644
index 0000000..97c9699
--- /dev/null
+++ b/tests/erestartsys.c
@@ -0,0 +1,81 @@
+/*
+ * Check decoding of ERESTARTSYS error code.
+ *
+ * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#include <signal.h>
+#include <stdio.h>
+#include <sys/time.h>
+#include <sys/socket.h>
+#include <unistd.h>
+
+static int sv[2];
+
+static void
+handler(int sig)
+{
+	close(sv[1]);
+	sv[1] = -1;
+}
+
+int
+main(void)
+{
+	if (socketpair(AF_UNIX, SOCK_STREAM, 0, sv))
+		perror_msg_and_skip("socketpair");
+
+	const struct sigaction act = {
+		.sa_handler = handler,
+		.sa_flags = SA_RESTART
+	};
+	if (sigaction(SIGALRM, &act, NULL))
+		perror_msg_and_fail("sigaction");
+
+	sigset_t mask;
+	sigemptyset(&mask);
+	sigaddset(&mask, SIGALRM);
+	if (sigprocmask(SIG_UNBLOCK, &mask, NULL))
+		perror_msg_and_fail("sigprocmask");
+
+	const struct itimerval itv = { .it_value.tv_usec = 123456 };
+	if (setitimer(ITIMER_REAL, &itv, NULL))
+		perror_msg_and_fail("setitimer");
+
+	if (recvfrom(sv[0], &sv[1], sizeof(sv[1]), 0, NULL, NULL))
+		perror_msg_and_fail("recvfrom");
+
+	printf("recvfrom(%d, %p, %d, 0, NULL, NULL) = ? ERESTARTSYS"
+	       " (To be restarted if SA_RESTART is set)\n",
+	       sv[0], &sv[1], (int) sizeof(sv[1]));
+	printf("recvfrom(%d, \"\", %d, 0, NULL, NULL) = 0\n",
+	       sv[0], (int) sizeof(sv[1]));
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
diff --git a/tests/erestartsys.test b/tests/erestartsys.test
new file mode 100755
index 0000000..91f711f
--- /dev/null
+++ b/tests/erestartsys.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of ERESTARTSYS error code.
+. "${srcdir=.}/init.sh"
+
+run_strace_match_diff -a34 -e signal=none -e trace=recvfrom
diff --git a/tests/execveat.c b/tests/execveat.c
index 4e444a2..9083830 100644
--- a/tests/execveat.c
+++ b/tests/execveat.c
@@ -28,12 +28,14 @@
  */
 
 #include "tests.h"
-#include <stdio.h>
-#include <unistd.h>
 #include <asm/unistd.h>
+#include "scno.h"
 
 #ifdef __NR_execveat
 
+# include <stdio.h>
+# include <unistd.h>
+
 # define FILENAME "test.execveat\nfilename"
 # define Q_FILENAME "test.execveat\\nfilename"
 
diff --git a/tests/faccessat.c b/tests/faccessat.c
index c21039d..ce81349 100644
--- a/tests/faccessat.c
+++ b/tests/faccessat.c
@@ -10,7 +10,7 @@
 main(void)
 {
 	static const char sample[] = "faccessat.sample";
-	const long int fd = (long int) 0xdeadbeefffffffff;
+	const long int fd = (long int) 0xdeadbeefffffffffULL;
 
 	long rc = syscall(__NR_faccessat, fd, sample, F_OK);
 	printf("faccessat(%d, \"%s\", F_OK) = %ld %s (%m)\n",
diff --git a/tests/fadvise.h b/tests/fadvise.h
index bc79091..7a75f73 100644
--- a/tests/fadvise.h
+++ b/tests/fadvise.h
@@ -1,7 +1,7 @@
 /*
  * Common definitions for fadvise64 and fadvise64_64 tests.
  *
- * Copyright (c) 2016 Eugene Syromiatnikov <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
  * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
  * All rights reserved.
  *
@@ -38,13 +38,6 @@
 # include "xlat.h"
 # include "xlat/advise.h"
 
-# if WORDS_BIGENDIAN
-#  define LL_PAIR(HI, LO) (HI), (LO)
-# else
-#  define LL_PAIR(HI, LO) (LO), (HI)
-# endif
-# define LL_VAL_TO_PAIR(llval) LL_PAIR((long) ((llval) >> 32), (long) (llval))
-
 static void do_fadvise(long fd, long long offset, long long llen, long advice);
 
 int
diff --git a/tests/fadvise64.c b/tests/fadvise64.c
index 02d7394..930680b 100644
--- a/tests/fadvise64.c
+++ b/tests/fadvise64.c
@@ -1,7 +1,7 @@
 /*
  * Check decoding of fadvise64 syscall.
  *
- * Copyright (c) 2016 Eugene Syromiatnikov <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
  * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
  * All rights reserved.
  *
diff --git a/tests/fadvise64_64.c b/tests/fadvise64_64.c
index 69b1c7f..c23df97 100644
--- a/tests/fadvise64_64.c
+++ b/tests/fadvise64_64.c
@@ -1,7 +1,7 @@
 /*
  * Check decoding of fadvise64_64 syscall.
  *
- * Copyright (c) 2016 Eugene Syromiatnikov <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
  * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
  * All rights reserved.
  *
diff --git a/tests/fallocate.c b/tests/fallocate.c
index 40ac244..a31711b 100644
--- a/tests/fallocate.c
+++ b/tests/fallocate.c
@@ -1,7 +1,7 @@
 /*
  * Check decoding of fallocate syscall.
  *
- * Copyright (c) 2016 Eugene Syromiatnikov <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/fanotify_init.c b/tests/fanotify_init.c
new file mode 100644
index 0000000..c14b413
--- /dev/null
+++ b/tests/fanotify_init.c
@@ -0,0 +1,95 @@
+/*
+ * Check decoding of fanotify_init syscall.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#include <asm/unistd.h>
+
+#if defined __NR_fanotify_init
+
+# include <limits.h>
+# include <stdio.h>
+# include <unistd.h>
+
+/* Performs fanotify_init call via the syscall interface. */
+static void
+do_call(kernel_ulong_t flags, const char *flags_str,
+	kernel_ulong_t event_f_flags, const char *event_f_flags_str)
+{
+	long rc;
+
+	rc = syscall(__NR_fanotify_init, flags, event_f_flags);
+
+	printf("fanotify_init(%s, %s) = %s\n",
+	       flags_str, event_f_flags_str, sprintrc(rc));
+}
+
+struct strval {
+	kernel_ulong_t val;
+	const char *str;
+};
+
+
+int
+main(void)
+{
+	static const struct strval flags[] = {
+		{ (kernel_ulong_t) 0xffffffff00000000ULL, "FAN_CLASS_NOTIF" },
+		{ (kernel_ulong_t) 0xffffffff0000000cULL,
+			"0xc /* FAN_CLASS_??? */" },
+		{ (kernel_ulong_t) 0xdec0deddefaced04ULL,
+			"FAN_CLASS_CONTENT|0xefaced00 /* FAN_??? */" },
+		{ (kernel_ulong_t) 0xffffffffffffffffULL,
+			"0xc /* FAN_CLASS_??? */|FAN_CLOEXEC|FAN_NONBLOCK|"
+			"FAN_UNLIMITED_QUEUE|FAN_UNLIMITED_MARKS|0xffffffc0" },
+	};
+	static const struct strval event_f_flags[] = {
+		{ (kernel_ulong_t) 0xffffffff00000000ULL, "O_RDONLY" },
+		{ (kernel_ulong_t) 0xdeadbeef80000001ULL,
+			"O_WRONLY|0x80000000" }
+	};
+
+	unsigned int i;
+	unsigned int j;
+
+
+	for (i = 0; i < ARRAY_SIZE(flags); i++)
+		for (j = 0; j < ARRAY_SIZE(event_f_flags); j++)
+			do_call(flags[i].val, flags[i].str,
+				event_f_flags[j].val, event_f_flags[j].str);
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_fanotify_init")
+
+#endif
diff --git a/tests/fanotify_init.test b/tests/fanotify_init.test
new file mode 100755
index 0000000..8d26af4
--- /dev/null
+++ b/tests/fanotify_init.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of fanotify_init syscall.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff
diff --git a/tests/fanotify_mark.c b/tests/fanotify_mark.c
index 9cac5ef..43f285d 100644
--- a/tests/fanotify_mark.c
+++ b/tests/fanotify_mark.c
@@ -1,17 +1,174 @@
+/*
+ * Check decoding of fanotify_mark syscall.
+ *
+ * Copyright (c) 2015-2016 Dmitry V. Levin <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
 #include "tests.h"
 
-#if defined HAVE_SYS_FANOTIFY_H && defined HAVE_FANOTIFY_MARK
+#include <asm/unistd.h>
 
+#if defined HAVE_SYS_FANOTIFY_H && defined HAVE_FANOTIFY_MARK && \
+	defined __NR_fanotify_mark
+
+# include <limits.h>
 # include <stdio.h>
+# include <unistd.h>
 # include <sys/fanotify.h>
 
+/* Performs fanotify_mark call via the syscall interface. */
+static void
+do_call(kernel_ulong_t fd, kernel_ulong_t flags, const char *flags_str,
+	uint64_t mask, const char *mask_str, kernel_ulong_t dirfd,
+	const char *dirfd_str, kernel_ulong_t path, const char *path_str)
+{
+	long rc;
+
+	rc = syscall(__NR_fanotify_mark, fd, flags,
+# if (LONG_MAX > INT_MAX) \
+  || (defined __x86_64__ && defined __ILP32__) \
+  || defined LINUX_MIPSN32
+		mask,
+# else
+/* arch/parisc/kernel/sys_parisc32.c, commit ab8a261b */
+#  ifdef HPPA
+		LL_VAL_TO_PAIR((mask << 32) | (mask >> 32)),
+#  else
+		LL_VAL_TO_PAIR(mask),
+#  endif
+# endif
+		dirfd, path);
+
+	printf("fanotify_mark(%d, %s, %s, %s, %s) = %s\n",
+	       (int) fd, flags_str, mask_str, dirfd_str, path_str,
+	       sprintrc(rc));
+}
+
+struct strval {
+	kernel_ulong_t val;
+	const char *str;
+};
+
+struct strval64 {
+	uint64_t val;
+	const char *str;
+};
+
+#define STR16 "0123456789abcdef"
+#define STR64 STR16 STR16 STR16 STR16
+
 int
 main(void)
 {
-	int rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR,
+	enum {
+		PATH1_SIZE = 64,
+	};
+
+	static const kernel_ulong_t fds[] = {
+		(kernel_ulong_t) 0xdeadfeed12345678ULL,
+		(kernel_ulong_t) 0xffffffff00000000ULL,
+		(kernel_ulong_t) 0xdeb0d1edffffffffULL,
+	};
+	static const struct strval flags[] = {
+		{ (kernel_ulong_t) 0xffffffff00000000ULL, "0" },
+		{ (kernel_ulong_t) 0xdec0deddefaced00ULL,
+			"0xefaced00 /* FAN_MARK_??? */" },
+		{ (kernel_ulong_t) 0xda7a105700000040ULL,
+			"FAN_MARK_IGNORED_SURV_MODIFY" },
+		{ (kernel_ulong_t) 0xbadc0deddeadfeedULL,
+			"FAN_MARK_ADD|FAN_MARK_DONT_FOLLOW|FAN_MARK_ONLYDIR|"
+			"FAN_MARK_IGNORED_MASK|FAN_MARK_IGNORED_SURV_MODIFY|"
+			"FAN_MARK_FLUSH|0xdeadfe00" },
+	};
+	static const struct strval64 masks[] = {
+		{ ARG_ULL_STR(0) },
+		{ 0xdeadfeedfacebeefULL,
+			"FAN_ACCESS|FAN_MODIFY|FAN_CLOSE_WRITE|FAN_OPEN|"
+			"FAN_ACCESS_PERM|FAN_ONDIR|FAN_EVENT_ON_CHILD|"
+			"0xdeadfeedb2ccbec4" },
+		{ ARG_ULL_STR(0xffffffffb7fcbfc4) " /* FAN_??? */" },
+	};
+	static const struct strval dirfds[] = {
+		{ (kernel_ulong_t) 0xfacefeed00000001ULL, "1" },
+		{ (kernel_ulong_t) 0xdec0ded0ffffffffULL, "FAN_NOFD" },
+		{ (kernel_ulong_t) 0xbadfacedffffff9cULL, "AT_FDCWD" },
+		{ (kernel_ulong_t) 0xdefaced1beeff00dULL, "-1091571699" },
+	};
+	static const char str64[] = STR64;
+
+	static char bogus_path1_addr[sizeof("0x") + sizeof(void *) * 2];
+	static char bogus_path1_after_addr[sizeof("0x") + sizeof(void *) * 2];
+
+	char *bogus_path1 = tail_memdup(str64, PATH1_SIZE);
+	char *bogus_path2 = tail_memdup(str64, sizeof(str64));
+
+	struct strval paths[] = {
+		{ (kernel_ulong_t) 0, "NULL" },
+		{ (kernel_ulong_t) (uintptr_t) (bogus_path1 + PATH1_SIZE),
+			bogus_path1_after_addr },
+		{ (kernel_ulong_t) (uintptr_t) bogus_path1, bogus_path1_addr },
+		{ (kernel_ulong_t) (uintptr_t) bogus_path2, "\"" STR64 "\"" },
+	};
+
+	unsigned int i;
+	unsigned int j;
+	unsigned int k;
+	unsigned int l;
+	unsigned int m;
+	int rc;
+
+
+	snprintf(bogus_path1_addr, sizeof(bogus_path1_addr), "%p", bogus_path1);
+	snprintf(bogus_path1_after_addr, sizeof(bogus_path1_after_addr), "%p",
+		bogus_path1 + PATH1_SIZE);
+
+	rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR,
 			       -100, ".");
 	printf("fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY|FAN_ONDIR"
-	       ", AT_FDCWD, \".\") = %d %s (%m)\n", rc, errno2name());
+	       ", AT_FDCWD, \".\") = %s\n", sprintrc(rc));
+
+	for (i = 0; i < ARRAY_SIZE(fds); i++) {
+		for (j = 0; j < ARRAY_SIZE(flags); j++) {
+			for (k = 0; k < ARRAY_SIZE(masks); k++) {
+				for (l = 0; l < ARRAY_SIZE(dirfds); l++) {
+					for (m = 0; m < ARRAY_SIZE(paths); m++)
+						do_call(fds[i],
+							flags[j].val,
+							flags[j].str,
+							masks[k].val,
+							masks[k].str,
+							dirfds[l].val,
+							dirfds[l].str,
+							paths[m].val,
+							paths[m].str);
+				}
+			}
+		}
+	}
 
 	puts("+++ exited with 0 +++");
 	return 0;
@@ -19,6 +176,7 @@
 
 #else
 
-SKIP_MAIN_UNDEFINED("HAVE_SYS_FANOTIFY_H && HAVE_FANOTIFY_MARK")
+SKIP_MAIN_UNDEFINED("HAVE_SYS_FANOTIFY_H && HAVE_FANOTIFY_MARK && "
+		    "__NR_fanotify_mark")
 
 #endif
diff --git a/tests/fanotify_mark.test b/tests/fanotify_mark.test
index 84b3c83..fd67138 100755
--- a/tests/fanotify_mark.test
+++ b/tests/fanotify_mark.test
@@ -3,4 +3,4 @@
 # Check decoding of fanotify_mark syscall.
 
 . "${srcdir=.}/init.sh"
-run_strace_match_diff
+run_strace_match_diff -a32
diff --git a/tests/fchdir.c b/tests/fchdir.c
index 5808872..3cde5e6 100644
--- a/tests/fchdir.c
+++ b/tests/fchdir.c
@@ -9,7 +9,7 @@
 int
 main(void)
 {
-	const long int fd = (long int) 0xdeadbeefffffffff;
+	const long int fd = (long int) 0xdeadbeefffffffffULL;
 
 	long rc = syscall(__NR_fchdir, fd);
 	printf("fchdir(%d) = %ld %s (%m)\n",
diff --git a/tests/fcntl.c b/tests/fcntl.c
index 4ae5beb..f060cdf 100644
--- a/tests/fcntl.c
+++ b/tests/fcntl.c
@@ -41,8 +41,8 @@
 {
 	struct_kernel_flock64 fl = {
 		.l_type = F_RDLCK,
-		.l_start = 0xdefaced1facefeed,
-		.l_len = 0xdefaced2cafef00d
+		.l_start = 0xdefaced1facefeedULL,
+		.l_len = 0xdefaced2cafef00dULL
 	};
 	invoke_test_syscall(cmd, &fl);
 	printf("%s(0, %s, %p) = %s\n",
diff --git a/tests/fcntl64.c b/tests/fcntl64.c
index ff6a531..5ecd6eb 100644
--- a/tests/fcntl64.c
+++ b/tests/fcntl64.c
@@ -41,8 +41,8 @@
 {
 	struct_kernel_flock64 fl = {
 		.l_type = F_RDLCK,
-		.l_start = 0xdefaced1facefeed,
-		.l_len = 0xdefaced2cafef00d
+		.l_start = 0xdefaced1facefeedULL,
+		.l_len = 0xdefaced2cafef00dULL
 	};
 	invoke_test_syscall(cmd, &fl);
 	printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET"
diff --git a/tests/fdatasync.c b/tests/fdatasync.c
index c47a0bf..fc82ade 100644
--- a/tests/fdatasync.c
+++ b/tests/fdatasync.c
@@ -9,7 +9,7 @@
 int
 main(void)
 {
-	const long int fd = (long int) 0xdeadbeefffffffff;
+	const long int fd = (long int) 0xdeadbeefffffffffULL;
 
 	long rc = syscall(__NR_fdatasync, fd);
 	printf("fdatasync(%d) = %ld %s (%m)\n", (int) fd, rc, errno2name());
diff --git a/tests/file_handle.c b/tests/file_handle.c
index ac2b358..a5ad6c7 100644
--- a/tests/file_handle.c
+++ b/tests/file_handle.c
@@ -1,5 +1,8 @@
 /*
+ * Check decoding of name_to_handle_at and open_by_handle_at syscalls.
+ *
  * Copyright (c) 2015-2016 Dmitry V. Levin <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,41 +29,271 @@
  */
 
 #include "tests.h"
-#include <fcntl.h>
+#include <asm/unistd.h>
 
-#ifdef MAX_HANDLE_SZ
+#if defined __NR_name_to_handle_at && defined __NR_open_by_handle_at
 
-# include <alloca.h>
 # include <assert.h>
 # include <errno.h>
+# include <inttypes.h>
+# include <fcntl.h>
 # include <stdio.h>
+# include <stdbool.h>
+# include <unistd.h>
+
+enum assert_rc {
+	ASSERT_NONE,
+	ASSERT_SUCCESS,
+	ASSERT_ERROR,
+};
+
+# ifndef MAX_HANDLE_SZ
+
+#  define MAX_HANDLE_SZ 128
+
+struct file_handle {
+	unsigned int handle_bytes;
+	int handle_type;
+	unsigned char f_handle[0];
+};
+# endif /* !MAX_HANDLE_SZ */
+
+
+void
+print_handle_data(unsigned char *bytes, unsigned int size)
+{
+	unsigned int i;
+
+	if (size > MAX_HANDLE_SZ)
+		size = MAX_HANDLE_SZ;
+
+	printf("0x");
+	for (i = 0; i < size; ++i)
+		printf("%02x", bytes[i]);
+}
+
+void
+do_name_to_handle_at(kernel_ulong_t dirfd, const char *dirfd_str,
+		     kernel_ulong_t pathname, const char *pathname_str,
+		     kernel_ulong_t handle, const char *handle_str,
+		     kernel_ulong_t mount_id,
+		     kernel_ulong_t flags, const char *flags_str,
+		     enum assert_rc assert_rc, long assert_errno)
+{
+	long rc;
+	const char *errstr;
+
+	rc = syscall(__NR_name_to_handle_at, dirfd, pathname, handle, mount_id,
+		flags);
+	errstr = sprintrc(rc);
+
+	if (assert_rc != ASSERT_NONE)
+		assert(rc == (assert_rc == ASSERT_SUCCESS ? 0 : -1));
+	if (assert_errno)
+		assert(errno != assert_errno);
+
+	printf("name_to_handle_at(%s, %s, %s",
+	       dirfd_str, pathname_str, handle_str);
+
+	if (rc != -1) {
+		struct file_handle *fh =
+			(struct file_handle *) (uintptr_t) handle;
+		int *mount_id_ptr = (int *) (uintptr_t) mount_id;
+
+		printf(" => %u, handle_type=%d, f_handle=",
+			fh->handle_bytes, fh->handle_type);
+		print_handle_data((unsigned char *) fh +
+				  sizeof(struct file_handle),
+				  fh->handle_bytes);
+		printf("}, [%d]", *mount_id_ptr);
+	} else {
+		if (mount_id)
+			printf(", %#llx", (unsigned long long) mount_id);
+		else
+			printf(", NULL");
+	}
+
+	printf(", %s) = %s\n", flags_str, errstr);
+}
+
+void
+do_open_by_handle_at(kernel_ulong_t mount_fd,
+		     kernel_ulong_t handle, bool valid_handle, bool valid_data,
+		     kernel_ulong_t flags, const char *flags_str)
+{
+	long rc;
+
+	printf("open_by_handle_at(%d, ", (int) mount_fd);
+	if (valid_handle) {
+		struct file_handle *fh =
+			(struct file_handle *) (uintptr_t) handle;
+
+		printf("{handle_bytes=%u, handle_type=%d", fh->handle_bytes,
+		       fh->handle_type);
+
+		if (valid_data) {
+			printf(", f_handle=");
+			print_handle_data((unsigned char *) fh +
+					  sizeof(struct file_handle),
+					  fh->handle_bytes);
+		}
+
+		printf("}");
+	} else {
+		if (handle)
+			printf("%#llx", (unsigned long long) handle);
+		else
+			printf("NULL");
+	}
+	printf(", %s) = ", flags_str);
+
+	rc = syscall(__NR_open_by_handle_at, mount_fd, handle, flags);
+
+	printf("%s\n", sprintrc(rc));
+}
+
+struct strval {
+	kernel_ulong_t val;
+	const char *str;
+};
+
+#define STR16 "0123456789abcdef"
+#define STR64 STR16 STR16 STR16 STR16
 
 int
 main(void)
 {
+	enum {
+		PATH1_SIZE = 64,
+	};
+
+	static const kernel_ulong_t fdcwd =
+		(kernel_ulong_t) 0x87654321ffffff9cULL;
+	static const struct strval dirfds[] = {
+		{ (kernel_ulong_t) 0xdeadca57badda7a1ULL, "-1159878751" },
+		{ (kernel_ulong_t) 0x12345678ffffff9cULL, "AT_FDCWD" },
+	};
+	static const struct strval name_flags[] = {
+		{ (kernel_ulong_t) 0xdeadf15700000000ULL, "0" },
+		{ (kernel_ulong_t) 0xbadc0ded00001000ULL,
+			"AT_EMPTY_PATH" },
+		{ (kernel_ulong_t) 0xdeadc0deda7a1457ULL,
+			"AT_SYMLINK_FOLLOW|AT_EMPTY_PATH|0xda7a0057" },
+		{ (kernel_ulong_t) 0xdefaced1ffffebffULL,
+			"0xffffebff /* AT_??? */" },
+	};
+	static const kernel_ulong_t mount_fds[] = {
+		(kernel_ulong_t) 0xdeadca5701234567ULL,
+		(kernel_ulong_t) 0x12345678ffffff9cULL,
+	};
+	static const struct strval open_flags[] = {
+		{ (kernel_ulong_t) 0xffffffff00000000ULL, "O_RDONLY" },
+		{ (kernel_ulong_t) 0xdeadbeef80000001ULL,
+			"O_WRONLY|0x80000000" }
+	};
+
+	static const char str64[] = STR64;
+
+
+	char *bogus_path1 = tail_memdup(str64, PATH1_SIZE);
+	char *bogus_path2 = tail_memdup(str64, sizeof(str64));
+
 	struct file_handle *handle =
-		alloca(sizeof(struct file_handle) + MAX_HANDLE_SZ);
-	const int dirfd = AT_FDCWD;
-	const int flags = AT_SYMLINK_FOLLOW;
+		tail_alloc(sizeof(struct file_handle) + MAX_HANDLE_SZ);
+	struct file_handle *handle_0 =
+		tail_alloc(sizeof(struct file_handle) + 0);
+	struct file_handle *handle_8 =
+		tail_alloc(sizeof(struct file_handle) + 8);
+	struct file_handle *handle_128 =
+		tail_alloc(sizeof(struct file_handle) + 128);
+	struct file_handle *handle_256 =
+		tail_alloc(sizeof(struct file_handle) + 256);
+	int *bogus_mount_id = tail_alloc(sizeof(*bogus_mount_id));
+
+	char handle_0_addr[sizeof("0x") + sizeof(void *) * 2];
+
+	char bogus_path1_addr[sizeof("0x") + sizeof(void *) * 2];
+	char bogus_path1_after_addr[sizeof("0x") + sizeof(void *) * 2];
+
+
+	struct strval paths[] = {
+		{ (kernel_ulong_t) 0, "NULL" },
+		{ (kernel_ulong_t) (uintptr_t) (bogus_path1 + PATH1_SIZE),
+			bogus_path1_after_addr },
+		{ (kernel_ulong_t) (uintptr_t) bogus_path1, bogus_path1_addr },
+		{ (kernel_ulong_t) (uintptr_t) bogus_path2, "\"" STR64 "\"" },
+	};
+	struct strval name_handles[] = {
+		{ (uintptr_t) (handle_0 + sizeof(struct file_handle)),
+			handle_0_addr },
+		{ (uintptr_t) handle_0,   "{handle_bytes=256}" },
+		{ (uintptr_t) handle_8,   "{handle_bytes=0}" },
+		{ (uintptr_t) handle_128, "{handle_bytes=128}" },
+		{ (uintptr_t) handle_256, "{handle_bytes=256}" },
+	};
+	struct {
+		kernel_ulong_t addr;
+		bool valid;
+		bool valid_data;
+	} open_handles[] = {
+		{ 0, false, false },
+		{ (uintptr_t) (handle_0 + sizeof(struct file_handle)),
+			false, false },
+		{ (uintptr_t) handle_0 + 4, false, false },
+		{ (uintptr_t) handle_0, true, false },
+		{ (uintptr_t) handle_8, true, true },
+		{ (uintptr_t) handle_128, true, true },
+		{ (uintptr_t) handle_256, true, true },
+	};
+	kernel_ulong_t mount_ids[] = {
+		0,
+		(kernel_ulong_t) (uintptr_t) (bogus_mount_id + 1),
+		(kernel_ulong_t) (uintptr_t) bogus_mount_id,
+	};
+
+	const int flags = 0x400;
 	int mount_id;
 	unsigned int i;
+	unsigned int j;
+	unsigned int k;
+	unsigned int l;
+	unsigned int m;
+
+
+	snprintf(bogus_path1_addr, sizeof(bogus_path1_addr), "%p", bogus_path1);
+	snprintf(bogus_path1_after_addr, sizeof(bogus_path1_after_addr), "%p",
+		bogus_path1 + PATH1_SIZE);
+
+	handle_0->handle_bytes = 256;
+	handle_8->handle_bytes = 0;
+	handle_128->handle_bytes = 128;
+	handle_256->handle_bytes = 256;
+
+	fill_memory((char *) handle_128 + sizeof(struct file_handle), 128);
+	fill_memory((char *) handle_256 + sizeof(struct file_handle), 256);
+
+	snprintf(handle_0_addr, sizeof(handle_0_addr), "%p",
+		handle_0 + sizeof(struct file_handle));
 
 	handle->handle_bytes = 0;
 
-	assert(name_to_handle_at(dirfd, ".", handle, &mount_id, flags | 1) == -1);
+	assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
+		flags | 1) == -1);
 	if (EINVAL != errno)
 		perror_msg_and_skip("name_to_handle_at");
 	printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=0}, %p"
 	       ", AT_SYMLINK_FOLLOW|0x1) = -1 EINVAL (%m)\n", &mount_id);
 
-	assert(name_to_handle_at(dirfd, ".", handle, &mount_id, flags) == -1);
+	assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
+		flags) == -1);
 	if (EOVERFLOW != errno)
 		perror_msg_and_skip("name_to_handle_at");
 	printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=0 => %u}"
 	       ", %p, AT_SYMLINK_FOLLOW) = -1 EOVERFLOW (%m)\n",
 	       handle->handle_bytes, &mount_id);
 
-	assert(name_to_handle_at(dirfd, ".", handle, &mount_id, flags) == 0);
+	assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
+		flags) == 0);
 	printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=%u"
 	       ", handle_type=%d, f_handle=0x",
 	       handle->handle_bytes, handle->handle_type);
@@ -72,15 +305,52 @@
 	       ", f_handle=0x", handle->handle_bytes, handle->handle_type);
 	for (i = 0; i < handle->handle_bytes; ++i)
 		printf("%02x", handle->f_handle[i]);
-	int rc = open_by_handle_at(-1, handle, O_RDONLY | O_DIRECTORY);
+	int rc = syscall(__NR_open_by_handle_at, -1, handle,
+		O_RDONLY | O_DIRECTORY);
 	printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name());
 
+	for (i = 0; i < ARRAY_SIZE(dirfds); i++) {
+		for (j = 0; j < ARRAY_SIZE(paths); j++) {
+			for (k = 0; k < ARRAY_SIZE(name_handles); k++) {
+				for (l = 0; l < ARRAY_SIZE(mount_ids); l++) {
+					for (m = 0; m < ARRAY_SIZE(name_flags);
+					    m++) {
+						do_name_to_handle_at(
+							dirfds[i].val,
+							dirfds[i].str,
+							paths[j].val,
+							paths[j].str,
+							name_handles[k].val,
+							name_handles[k].str,
+							mount_ids[l],
+							name_flags[m].val,
+							name_flags[m].str,
+							ASSERT_ERROR, 0);
+					}
+				}
+			}
+		}
+	}
+
+	for (i = 0; i < ARRAY_SIZE(mount_fds); i++) {
+		for (j = 0; j < ARRAY_SIZE(open_handles); j++) {
+			for (k = 0; k < ARRAY_SIZE(open_flags); k++) {
+				do_open_by_handle_at(mount_fds[i],
+						     open_handles[j].addr,
+						     open_handles[j].valid,
+						     open_handles[j].valid_data,
+						     open_flags[k].val,
+						     open_flags[k].str);
+			}
+		}
+	}
+
 	puts("+++ exited with 0 +++");
 	return 0;
 }
 
 #else
 
-SKIP_MAIN_UNDEFINED("MAX_HANDLE_SZ")
+SKIP_MAIN_UNDEFINED("__NR_name_to_handle_at && __NR_open_by_handle_at")
 
 #endif
diff --git a/tests/fill_memory.c b/tests/fill_memory.c
new file mode 100644
index 0000000..a0aeccb
--- /dev/null
+++ b/tests/fill_memory.c
@@ -0,0 +1,19 @@
+#include "tests.h"
+
+void
+fill_memory_ex(void *ptr, size_t size, unsigned char start,
+	       unsigned char period)
+{
+	unsigned char *p = ptr;
+	size_t i;
+
+	for (i = 0; i < size; i++) {
+		p[i] = start + i % period;
+	}
+}
+
+void
+fill_memory(void *ptr, size_t size)
+{
+	fill_memory_ex(ptr, size, 0x80, 0x80);
+}
diff --git a/tests/finit_module.c b/tests/finit_module.c
new file mode 100644
index 0000000..3f0178f
--- /dev/null
+++ b/tests/finit_module.c
@@ -0,0 +1,118 @@
+/*
+ * Check decoding of finit_module syscall.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#include <asm/unistd.h>
+#include "scno.h"
+
+#if defined(__NR_finit_module)
+
+# include <stdio.h>
+# include <unistd.h>
+
+# include "init_delete_module.h"
+
+int
+main(void)
+{
+	static const kernel_ulong_t bogus_fd =
+		(kernel_ulong_t) 0xdeb0d1edbeeff00dULL;
+
+	static const struct {
+		kernel_ulong_t val;
+		const char *str;
+	} flags[] = {
+		{ ARG_STR(0) },
+		{ (kernel_ulong_t) 0xffffffff00000002ULL,
+			"MODULE_INIT_IGNORE_VERMAGIC" },
+		{ (kernel_ulong_t) 0xbadc0deddefaced0ULL,
+			"0xdefaced0 /* MODULE_INIT_??? */" },
+		{ (kernel_ulong_t) 0xfacef157dec0ded1ULL,
+			"MODULE_INIT_IGNORE_MODVERSIONS|0xdec0ded0" },
+		{ -1LL, "MODULE_INIT_IGNORE_MODVERSIONS|"
+			"MODULE_INIT_IGNORE_VERMAGIC|0xfffffffc" },
+	};
+
+	long rc;
+	char *bogus_param1 = tail_alloc(PARAM1_LEN);
+	char *bogus_param2 = tail_alloc(PARAM2_LEN);
+	const char *errstr;
+
+	fill_memory_ex(bogus_param1, PARAM1_LEN, PARAM1_BASE, PARAM1_LEN);
+	fill_memory_ex(bogus_param2, PARAM2_LEN, PARAM2_BASE, PARAM2_LEN);
+
+	rc = syscall(__NR_finit_module, bogus_zero, NULL, bogus_zero);
+	printf("finit_module(0, NULL, 0) = %s\n", sprintrc(rc));
+
+	rc = syscall(__NR_finit_module, bogus_fd, bogus_param1, flags[0].val);
+	errstr = sprintrc(rc);
+
+	printf("finit_module(%d, \"", (int) bogus_fd);
+	print_str(PARAM1_BASE, MAX_STRLEN, false);
+	printf("\"..., %s) = %s\n", flags[0].str, errstr);
+
+	bogus_param1[PARAM1_LEN - 1] = '\0';
+
+	rc = syscall(__NR_finit_module, bogus_fd, bogus_param1, flags[1].val);
+	errstr = sprintrc(rc);
+
+	printf("finit_module(%d, \"", (int) bogus_fd);
+	print_str(PARAM1_BASE, MAX_STRLEN, false);
+	printf("\", %s) = %s\n", flags[1].str, errstr);
+
+	rc = syscall(__NR_finit_module, bogus_fd, bogus_param2 + PARAM2_LEN,
+		flags[2].val);
+	printf("finit_module(%d, %p, %s) = %s\n",
+	       (int) bogus_fd, bogus_param2 + PARAM2_LEN, flags[2].str,
+	       sprintrc(rc));
+
+	rc = syscall(__NR_finit_module, bogus_fd, bogus_param2, flags[3].val);
+	printf("finit_module(%d, %p, %s) = %s\n",
+	       (int) bogus_fd, bogus_param2, flags[3].str, sprintrc(rc));
+
+	bogus_param2[PARAM2_LEN - 1] = '\0';
+
+	rc = syscall(__NR_finit_module, bogus_fd, bogus_param2, flags[4].val);
+	errstr = sprintrc(rc);
+
+	printf("finit_module(%d, \"", (int) bogus_fd);
+	print_str(PARAM2_BASE, PARAM2_LEN - 1, true);
+	printf("\", %s) = %s\n", flags[4].str, errstr);
+
+	puts("+++ exited with 0 +++");
+
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_finit_module");
+
+#endif
diff --git a/tests/finit_module.test b/tests/finit_module.test
new file mode 100755
index 0000000..bd644f3
--- /dev/null
+++ b/tests/finit_module.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of finit_module syscall.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a25
diff --git a/tests/flock.c b/tests/flock.c
index cb231d5..c154e43 100644
--- a/tests/flock.c
+++ b/tests/flock.c
@@ -10,7 +10,7 @@
 int
 main(void)
 {
-	const unsigned long fd = (long int) 0xdeadbeefffffffff;
+	const unsigned long fd = (long int) 0xdeadbeefffffffffULL;
 
 	long rc = syscall(__NR_flock, fd, LOCK_SH);
 	printf("flock(%d, LOCK_SH) = %ld %s (%m)\n",
diff --git a/tests/fstat.c b/tests/fstat.c
index 9ddc811..12df3e1 100644
--- a/tests/fstat.c
+++ b/tests/fstat.c
@@ -32,7 +32,7 @@
 
 # define TEST_SYSCALL_NR __NR_fstat
 # define TEST_SYSCALL_STR "fstat"
-# define SAMPLE_SIZE ((kernel_ulong_t) 43147718418)
+# define SAMPLE_SIZE ((libc_off_t) (kernel_ulong_t) 43147718418ULL)
 # include "fstatx.c"
 
 #else
diff --git a/tests/fstat.test b/tests/fstat.test
index 506b440..2ba0fba 100755
--- a/tests/fstat.test
+++ b/tests/fstat.test
@@ -12,7 +12,7 @@
 run_prog > /dev/null
 sample=$syscall.sample
 > "$sample"
-run_strace -ve$syscall -P$sample $args > "$OUT"
+run_strace -ve$syscall -P$sample -a21 $args > "$OUT"
 match_diff "$LOG" "$OUT"
 rm -f "$OUT"
 
diff --git a/tests/fstat64.c b/tests/fstat64.c
index cf147df..a9c2e07 100644
--- a/tests/fstat64.c
+++ b/tests/fstat64.c
@@ -35,7 +35,6 @@
 # define STRUCT_STAT struct stat64
 # define STRUCT_STAT_STR "struct stat64"
 # define STRUCT_STAT_IS_STAT64 1
-# define SAMPLE_SIZE ((libc_off_t) 43147718418)
 # include "fstatx.c"
 
 #else
diff --git a/tests/fstatat.c b/tests/fstatat.c
index ff47601..66138c2 100644
--- a/tests/fstatat.c
+++ b/tests/fstatat.c
@@ -28,11 +28,15 @@
 #ifdef HAVE_FSTATAT
 
 # define TEST_SYSCALL_INVOKE(sample, pst) \
-	fstatat(AT_FDCWD, sample, pst, AT_SYMLINK_NOFOLLOW)
+	syscall(TEST_SYSCALL_NR, AT_FDCWD, sample, pst, AT_SYMLINK_NOFOLLOW)
 # define PRINT_SYSCALL_HEADER(sample) \
-	printf("%s(AT_FDCWD, \"%s\", ", TEST_SYSCALL_STR, sample)
-# define PRINT_SYSCALL_FOOTER \
-	puts(", AT_SYMLINK_NOFOLLOW) = 0")
+	do { \
+		int saved_errno = errno; \
+		printf("%s(AT_FDCWD, \"%s\", ", TEST_SYSCALL_STR, sample)
+# define PRINT_SYSCALL_FOOTER(rc) \
+		errno = saved_errno; \
+		printf(", AT_SYMLINK_NOFOLLOW) = %s\n", sprintrc(rc)); \
+	} while (0)
 
 # include "xstatx.c"
 
diff --git a/tests/fstatat64.c b/tests/fstatat64.c
index fa8992d..03082a8 100644
--- a/tests/fstatat64.c
+++ b/tests/fstatat64.c
@@ -32,6 +32,9 @@
 
 # define TEST_SYSCALL_NR __NR_fstatat64
 # define TEST_SYSCALL_STR "fstatat64"
+# define STRUCT_STAT struct stat64
+# define STRUCT_STAT_STR "struct stat64"
+# define STRUCT_STAT_IS_STAT64 1
 # include "fstatat.c"
 
 #else
diff --git a/tests/fstatx.c b/tests/fstatx.c
index 890e30d..f88d9a9 100644
--- a/tests/fstatx.c
+++ b/tests/fstatx.c
@@ -25,13 +25,16 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#define IS_FSTAT 1
 #define TEST_SYSCALL_INVOKE(sample, pst) \
 	syscall(TEST_SYSCALL_NR, 0, pst)
 #define PRINT_SYSCALL_HEADER(sample) \
-	printf("%s(0, ", TEST_SYSCALL_STR)
-#define PRINT_SYSCALL_FOOTER \
-	puts(") = 0")
-
-#define USE_ASM_STAT
+	do { \
+		int saved_errno = errno; \
+		printf("%s(0, ", TEST_SYSCALL_STR)
+#define PRINT_SYSCALL_FOOTER(rc) \
+		errno = saved_errno; \
+		printf(") = %s\n", sprintrc(rc)); \
+	} while (0)
 
 #include "xstatx.c"
diff --git a/tests/fsync.c b/tests/fsync.c
index 42aa5c7..2f50410 100644
--- a/tests/fsync.c
+++ b/tests/fsync.c
@@ -9,7 +9,7 @@
 int
 main(void)
 {
-	const long int fd = (long int) 0xdeadbeefffffffff;
+	const long int fd = (long int) 0xdeadbeefffffffffULL;
 
 	long rc = syscall(__NR_fsync, fd);
 	printf("fsync(%d) = %ld %s (%m)\n", (int) fd, rc, errno2name());
diff --git a/tests/ftruncate.c b/tests/ftruncate.c
index 315f7bf..ee17455 100644
--- a/tests/ftruncate.c
+++ b/tests/ftruncate.c
@@ -33,8 +33,6 @@
 # include <stdio.h>
 # include <unistd.h>
 
-# include "kernel_types.h"
-
 int
 main(void)
 {
diff --git a/tests/ftruncate64.c b/tests/ftruncate64.c
index 7530e70..90d9938 100644
--- a/tests/ftruncate64.c
+++ b/tests/ftruncate64.c
@@ -36,7 +36,7 @@
 int
 main(void)
 {
-	const off_t len = 0xdefaceddeadbeef;
+	const off_t len = 0xdefaceddeadbeefULL;
 
 	int rc = ftruncate(-1, len);
 	printf("ftruncate64(-1, %llu) = %d %s (%m)\n",
diff --git a/tests/futex.c b/tests/futex.c
index 7cc6cc4..586b95d 100644
--- a/tests/futex.c
+++ b/tests/futex.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Eugene Syromiatnikov <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -189,14 +189,14 @@
 	/* uaddr is NULL */
 	CHECK_FUTEX(NULL, FUTEX_WAIT, VAL, tmout, uaddr2, VAL3,
 		(rc == -1) && (errno == EFAULT));
-	printf("futex(NULL, FUTEX_WAIT, %u, {%jd, %jd}) = %s\n",
+	printf("futex(NULL, FUTEX_WAIT, %u, {tv_sec=%jd, tv_nsec=%jd}) = %s\n",
 		VAL_PR, (intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec,
 		sprintrc(rc));
 
 	/* uaddr is faulty */
 	CHECK_FUTEX(uaddr + 1, FUTEX_WAIT, VAL, tmout, uaddr2, VAL3,
 		(rc == -1) && (errno == EFAULT));
-	printf("futex(%p, FUTEX_WAIT, %u, {%jd, %jd}) = %s\n",
+	printf("futex(%p, FUTEX_WAIT, %u, {tv_sec=%jd, tv_nsec=%jd}) = %s\n",
 		uaddr + 1, VAL_PR, (intmax_t) tmout->tv_sec,
 		(intmax_t) tmout->tv_nsec, sprintrc(rc));
 
@@ -209,14 +209,15 @@
 	/* uaddr is not as provided; uaddr2 is faulty but ignored */
 	CHECK_FUTEX(uaddr, FUTEX_WAIT, VAL, tmout, uaddr2 + 1, VAL3,
 		(rc == -1) && (errno == EAGAIN));
-	printf("futex(%p, FUTEX_WAIT, %u, {%jd, %jd}) = %s\n",
+	printf("futex(%p, FUTEX_WAIT, %u, {tv_sec=%jd, tv_nsec=%jd}) = %s\n",
 		uaddr, VAL_PR, (intmax_t) tmout->tv_sec,
 		(intmax_t) tmout->tv_nsec, sprintrc(rc));
 
 	/* uaddr is not as provided; uaddr2 is faulty but ignored */
 	CHECK_FUTEX_ENOSYS(uaddr, FUTEX_PRIVATE_FLAG | FUTEX_WAIT, VAL, tmout,
 		uaddr2 + 1, VAL3, (rc == -1) && (errno == EAGAIN));
-	printf("futex(%p, FUTEX_WAIT_PRIVATE, %u, {%jd, %jd}) = %s\n",
+	printf("futex(%p, FUTEX_WAIT_PRIVATE, %u, {tv_sec=%jd, tv_nsec=%jd}) = "
+		"%s\n",
 		uaddr, VAL_PR, (intmax_t) tmout->tv_sec,
 		(intmax_t) tmout->tv_nsec, sprintrc(rc));
 
@@ -227,7 +228,7 @@
 		FUTEX_CLOCK_REALTIME | FUTEX_WAIT,
 		VAL, tmout, uaddr2, VAL3, (rc == -1) && (errno == EAGAIN));
 	printf("futex(%p, FUTEX_WAIT|FUTEX_CLOCK_REALTIME, %u, "
-		"{%jd, %jd}) = %s\n", uaddr, VAL_PR,
+		"{tv_sec=%jd, tv_nsec=%jd}) = %s\n", uaddr, VAL_PR,
 		(intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec,
 		sprintrc(rc));
 
@@ -235,7 +236,7 @@
 		FUTEX_CLOCK_REALTIME | FUTEX_PRIVATE_FLAG | FUTEX_WAIT ,
 		VAL, tmout, uaddr2, 0, (rc == -1) && (errno == EAGAIN));
 	printf("futex(%p, FUTEX_WAIT_PRIVATE|FUTEX_CLOCK_REALTIME, %u, "
-		"{%jd, %jd}) = %s\n", uaddr, VAL_PR,
+		"{tv_sec=%jd, tv_nsec=%jd}) = %s\n", uaddr, VAL_PR,
 		(intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec,
 		sprintrc(rc));
 
@@ -253,21 +254,24 @@
 
 	CHECK_FUTEX_ENOSYS(uaddr, FUTEX_WAIT_BITSET, VAL, tmout, uaddr2 + 1,
 		VAL3, (rc == -1) && (errno == EAGAIN));
-	printf("futex(%p, FUTEX_WAIT_BITSET, %u, {%jd, %jd}, %#x) = %s\n",
+	printf("futex(%p, FUTEX_WAIT_BITSET, %u, {tv_sec=%jd, tv_nsec=%jd}, "
+		"%#x) = %s\n",
 		uaddr, VAL_PR, (intmax_t) tmout->tv_sec,
 		(intmax_t) tmout->tv_nsec, VAL3_PR, sprintrc(rc));
 
 	/* val3 of 0 is invalid  */
 	CHECK_FUTEX_ENOSYS(uaddr, FUTEX_WAIT_BITSET, VAL, tmout, uaddr2 + 1, 0,
 		(rc == -1) && (errno == EINVAL));
-	printf("futex(%p, FUTEX_WAIT_BITSET, %u, {%jd, %jd}, %#x) = %s\n",
+	printf("futex(%p, FUTEX_WAIT_BITSET, %u, {tv_sec=%jd, tv_nsec=%jd}, "
+		"%#x) = %s\n",
 		uaddr, VAL_PR, (intmax_t) tmout->tv_sec,
 		(intmax_t) tmout->tv_nsec, 0, sprintrc(rc));
 
 	CHECK_FUTEX_ENOSYS(uaddr, FUTEX_PRIVATE_FLAG | FUTEX_WAIT_BITSET, VAL,
 		tmout, uaddr2 + 1, VAL3, (rc == -1) && (errno == EAGAIN));
-	printf("futex(%p, FUTEX_WAIT_BITSET_PRIVATE, %u, {%jd, %jd}, %#x) = "
-		"%s\n", uaddr, VAL_PR, (intmax_t) tmout->tv_sec,
+	printf("futex(%p, FUTEX_WAIT_BITSET_PRIVATE, %u, "
+		"{tv_sec=%jd, tv_nsec=%jd}, %#x) = %s\n",
+		uaddr, VAL_PR, (intmax_t) tmout->tv_sec,
 		(intmax_t) tmout->tv_nsec, VAL3_PR, sprintrc(rc));
 
 	/* Next 3 tests are with CLOCKRT bit set */
@@ -275,7 +279,7 @@
 	CHECK_FUTEX_ENOSYS(uaddr, FUTEX_CLOCK_REALTIME | FUTEX_WAIT_BITSET, VAL,
 		tmout, uaddr2 + 1, VAL3, (rc == -1) && (errno == EAGAIN));
 	printf("futex(%p, FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, %u, "
-		"{%jd, %jd}, %#x) = %s\n", uaddr, VAL_PR,
+		"{tv_sec=%jd, tv_nsec=%jd}, %#x) = %s\n", uaddr, VAL_PR,
 		(intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec, VAL3_PR,
 		sprintrc(rc));
 
@@ -283,7 +287,7 @@
 	CHECK_FUTEX_ENOSYS(uaddr, FUTEX_CLOCK_REALTIME | FUTEX_WAIT_BITSET, VAL,
 		tmout, uaddr2 + 1, 0, (rc == -1) && (errno == EINVAL));
 	printf("futex(%p, FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, %u, "
-		"{%jd, %jd}, %#x) = %s\n", uaddr, VAL_PR,
+		"{tv_sec=%jd, tv_nsec=%jd}, %#x) = %s\n", uaddr, VAL_PR,
 		(intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec, 0,
 		sprintrc(rc));
 
@@ -291,7 +295,7 @@
 		FUTEX_WAIT_BITSET, VAL, tmout, uaddr2 + 1, VAL3,
 		(rc == -1) && (errno == EAGAIN));
 	printf("futex(%p, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, %u, "
-		"{%jd, %jd}, %#x) = %s\n", uaddr, VAL_PR,
+		"{tv_sec=%jd, tv_nsec=%jd}, %#x) = %s\n", uaddr, VAL_PR,
 		(intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec, VAL3_PR,
 		sprintrc(rc));
 
@@ -470,42 +474,47 @@
 		int err;
 		const char *errstr;
 	} wake_ops[] = {
-		{ 0x00000000, "{FUTEX_OP_SET, 0, FUTEX_OP_CMP_EQ, 0}" },
-		{ 0x00fff000, "{FUTEX_OP_SET, 4095, FUTEX_OP_CMP_EQ, 0}" },
-		{ 0x00000fff, "{FUTEX_OP_SET, 0, FUTEX_OP_CMP_EQ, 4095}" },
-		{ 0x00ffffff, "{FUTEX_OP_SET, 4095, FUTEX_OP_CMP_EQ, 4095}" },
-		{ 0x10000000, "{FUTEX_OP_ADD, 0, FUTEX_OP_CMP_EQ, 0}" },
-		{ 0x20000000, "{FUTEX_OP_OR, 0, FUTEX_OP_CMP_EQ, 0}" },
-		{ 0x30000000, "{FUTEX_OP_ANDN, 0, FUTEX_OP_CMP_EQ, 0}" },
-		{ 0x40000000, "{FUTEX_OP_XOR, 0, FUTEX_OP_CMP_EQ, 0}" },
-		{ 0x50000000, "{0x5 /* FUTEX_OP_??? */, 0, FUTEX_OP_CMP_EQ, 0}",
+		{ 0x00000000, "FUTEX_OP_SET<<28|0<<12|FUTEX_OP_CMP_EQ<<24|0" },
+		{ 0x00fff000, "FUTEX_OP_SET<<28|0xfff<<12|FUTEX_OP_CMP_EQ<<24|"
+			"0" },
+		{ 0x00000fff, "FUTEX_OP_SET<<28|0<<12|FUTEX_OP_CMP_EQ<<24|"
+			"0xfff" },
+		{ 0x00ffffff, "FUTEX_OP_SET<<28|0xfff<<12|FUTEX_OP_CMP_EQ<<24|"
+			"0xfff" },
+		{ 0x10000000, "FUTEX_OP_ADD<<28|0<<12|FUTEX_OP_CMP_EQ<<24|0" },
+		{ 0x20000000, "FUTEX_OP_OR<<28|0<<12|FUTEX_OP_CMP_EQ<<24|0" },
+		{ 0x30000000, "FUTEX_OP_ANDN<<28|0<<12|FUTEX_OP_CMP_EQ<<24|0" },
+		{ 0x40000000, "FUTEX_OP_XOR<<28|0<<12|FUTEX_OP_CMP_EQ<<24|0" },
+		{ 0x50000000, "0x5<<28 /* FUTEX_OP_??? */|0<<12|"
+			"FUTEX_OP_CMP_EQ<<24|0", ENOSYS, "ENOSYS" },
+		{ 0x70000000, "0x7<<28 /* FUTEX_OP_??? */|0<<12|"
+			"FUTEX_OP_CMP_EQ<<24|0", ENOSYS, "ENOSYS" },
+		{ 0x80000000, "FUTEX_OP_OPARG_SHIFT<<28|FUTEX_OP_SET<<28|0<<12|"
+			"FUTEX_OP_CMP_EQ<<24|0" },
+		{ 0xa0caffee, "FUTEX_OP_OPARG_SHIFT<<28|FUTEX_OP_OR<<28|"
+			"0xcaf<<12|FUTEX_OP_CMP_EQ<<24|0xfee" },
+		{ 0x01000000, "FUTEX_OP_SET<<28|0<<12|FUTEX_OP_CMP_NE<<24|0" },
+		{ 0x01234567, "FUTEX_OP_SET<<28|0x234<<12|FUTEX_OP_CMP_NE<<24|"
+			"0x567" },
+		{ 0x02000000, "FUTEX_OP_SET<<28|0<<12|FUTEX_OP_CMP_LT<<24|0" },
+		{ 0x03000000, "FUTEX_OP_SET<<28|0<<12|FUTEX_OP_CMP_LE<<24|0" },
+		{ 0x04000000, "FUTEX_OP_SET<<28|0<<12|FUTEX_OP_CMP_GT<<24|0" },
+		{ 0x05000000, "FUTEX_OP_SET<<28|0<<12|FUTEX_OP_CMP_GE<<24|0" },
+		{ 0x06000000, "FUTEX_OP_SET<<28|0<<12|"
+			"0x6<<24 /* FUTEX_OP_CMP_??? */|0", ENOSYS, "ENOSYS" },
+		{ 0x07000000, "FUTEX_OP_SET<<28|0<<12|"
+			"0x7<<24 /* FUTEX_OP_CMP_??? */|0", ENOSYS, "ENOSYS" },
+		{ 0x08000000, "FUTEX_OP_SET<<28|0<<12|"
+			"0x8<<24 /* FUTEX_OP_CMP_??? */|0", ENOSYS, "ENOSYS" },
+		{ 0x0f000000, "FUTEX_OP_SET<<28|0<<12|"
+			"0xf<<24 /* FUTEX_OP_CMP_??? */|0", ENOSYS, "ENOSYS" },
+		{ 0xbadfaced, "FUTEX_OP_OPARG_SHIFT<<28|FUTEX_OP_ANDN<<28|"
+			"0xdfa<<12|0xa<<24 /* FUTEX_OP_CMP_??? */|0xced",
 			ENOSYS, "ENOSYS" },
-		{ 0x70000000, "{0x7 /* FUTEX_OP_??? */, 0, FUTEX_OP_CMP_EQ, 0}",
+		{ 0xffffffff, "FUTEX_OP_OPARG_SHIFT<<28|"
+			"0x7<<28 /* FUTEX_OP_??? */|0xfff<<12|"
+			"0xf<<24 /* FUTEX_OP_CMP_??? */|0xfff",
 			ENOSYS, "ENOSYS" },
-		{ 0x80000000, "{FUTEX_OP_OPARG_SHIFT|FUTEX_OP_SET, 0, "
-			"FUTEX_OP_CMP_EQ, 0}" },
-		{ 0xa0caffee, "{FUTEX_OP_OPARG_SHIFT|FUTEX_OP_OR, 3247, "
-			"FUTEX_OP_CMP_EQ, 4078}" },
-		{ 0x01000000, "{FUTEX_OP_SET, 0, FUTEX_OP_CMP_NE, 0}" },
-		{ 0x01234567, "{FUTEX_OP_SET, 564, FUTEX_OP_CMP_NE, 1383}" },
-		{ 0x02000000, "{FUTEX_OP_SET, 0, FUTEX_OP_CMP_LT, 0}" },
-		{ 0x03000000, "{FUTEX_OP_SET, 0, FUTEX_OP_CMP_LE, 0}" },
-		{ 0x04000000, "{FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 0}" },
-		{ 0x05000000, "{FUTEX_OP_SET, 0, FUTEX_OP_CMP_GE, 0}" },
-		{ 0x06000000, "{FUTEX_OP_SET, 0, 0x6 /* FUTEX_OP_CMP_??? */, "
-			"0}", ENOSYS, "ENOSYS" },
-		{ 0x07000000, "{FUTEX_OP_SET, 0, 0x7 /* FUTEX_OP_CMP_??? */, "
-			"0}", ENOSYS, "ENOSYS" },
-		{ 0x08000000, "{FUTEX_OP_SET, 0, 0x8 /* FUTEX_OP_CMP_??? */, "
-			"0}", ENOSYS, "ENOSYS" },
-		{ 0x0f000000, "{FUTEX_OP_SET, 0, 0xf /* FUTEX_OP_CMP_??? */, "
-			"0}", ENOSYS, "ENOSYS" },
-		{ 0xbadfaced, "{FUTEX_OP_OPARG_SHIFT|FUTEX_OP_ANDN, "
-			"3578, 0xa /* FUTEX_OP_CMP_??? */, 3309}", ENOSYS,
-			"ENOSYS" },
-		{ 0xffffffff, "{FUTEX_OP_OPARG_SHIFT|0x7 /* FUTEX_OP_??? */, "
-			"4095, 0xf /* FUTEX_OP_CMP_??? */, 4095}", ENOSYS,
-			"ENOSYS" },
 	};
 
 	for (i = 0; i < ARRAY_SIZE(wake_ops); i++) {
@@ -522,8 +531,8 @@
 	CHECK_INVALID_CLOCKRT(FUTEX_WAKE_OP, ARG3 | ARG4 | ARG5 | ARG6,
 		"%u", "%u", "%#lx",
 		/* Decoding of the 0xdeadbee4 value */
-		"{FUTEX_OP_OPARG_SHIFT|0x5 /* FUTEX_OP_??? */, 2779, "
-		"0xe /* FUTEX_OP_CMP_??? */, 3812}");
+		"FUTEX_OP_OPARG_SHIFT<<28|0x5<<28 /* FUTEX_OP_??? */|0xadb<<12|"
+		"0xe<<24 /* FUTEX_OP_CMP_??? */|0xee4");
 
 	/* FUTEX_LOCK_PI - slow path for mutex lock with process inheritance
 	 *                 support. Expect that futex has 0 in unlocked case and
@@ -543,13 +552,14 @@
 
 	CHECK_FUTEX_ENOSYS(uaddr + 1, FUTEX_LOCK_PI, VAL, tmout, uaddr2 + 1,
 		VAL3, (rc == -1) && (errno == EFAULT));
-	printf("futex(%p, FUTEX_LOCK_PI, {%jd, %jd}) = %s\n",
+	printf("futex(%p, FUTEX_LOCK_PI, {tv_sec=%jd, tv_nsec=%jd}) = %s\n",
 		uaddr + 1, (intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec,
 		sprintrc(rc));
 
 	CHECK_FUTEX_ENOSYS(uaddr + 1, FUTEX_PRIVATE_FLAG | FUTEX_LOCK_PI, VAL,
 		tmout, uaddr2 + 1, VAL3, (rc == -1) && (errno == EFAULT));
-	printf("futex(%p, FUTEX_LOCK_PI_PRIVATE, {%jd, %jd}) = %s\n",
+	printf("futex(%p, FUTEX_LOCK_PI_PRIVATE, {tv_sec=%jd, tv_nsec=%jd}) = "
+		"%s\n",
 		uaddr + 1, (intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec,
 		sprintrc(rc));
 
@@ -623,20 +633,22 @@
 
 	CHECK_FUTEX_ENOSYS(uaddr, FUTEX_WAIT_REQUEUE_PI, VAL, tmout, uaddr2,
 		VAL3, (rc == -1) && (errno == EAGAIN));
-	printf("futex(%p, FUTEX_WAIT_REQUEUE_PI, %u, {%jd, %jd}, %p) = %s\n",
+	printf("futex(%p, FUTEX_WAIT_REQUEUE_PI, %u, "
+		"{tv_sec=%jd, tv_nsec=%jd}, %p) = %s\n",
 		uaddr, VAL_PR, (intmax_t) tmout->tv_sec,
 		(intmax_t) tmout->tv_nsec, uaddr2, sprintrc(rc));
 
 	CHECK_FUTEX_ENOSYS(uaddr, FUTEX_PRIVATE_FLAG | FUTEX_WAIT_REQUEUE_PI,
 		VAL, tmout, uaddr2, VAL3, (rc == -1) && (errno == EAGAIN));
-	printf("futex(%p, FUTEX_WAIT_REQUEUE_PI_PRIVATE, %u, {%jd, %jd}, %p) "
+	printf("futex(%p, FUTEX_WAIT_REQUEUE_PI_PRIVATE, %u, "
+		"{tv_sec=%jd, tv_nsec=%jd}, %p) "
 		"= %s\n", uaddr, VAL_PR, (intmax_t) tmout->tv_sec,
 		(intmax_t) tmout->tv_nsec, uaddr2, sprintrc(rc));
 
 	CHECK_FUTEX_ENOSYS(uaddr, FUTEX_CLOCK_REALTIME | FUTEX_WAIT_REQUEUE_PI,
 		VAL, tmout, uaddr2, VAL3, (rc == -1) && (errno == EAGAIN));
 	printf("futex(%p, FUTEX_WAIT_REQUEUE_PI|FUTEX_CLOCK_REALTIME, %u, "
-		"{%jd, %jd}, %p) = %s\n", uaddr, VAL_PR,
+		"{tv_sec=%jd, tv_nsec=%jd}, %p) = %s\n", uaddr, VAL_PR,
 		(intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec, uaddr2,
 		sprintrc(rc));
 
@@ -644,7 +656,7 @@
 		FUTEX_WAIT_REQUEUE_PI, VAL, tmout, uaddr2, VAL3,
 		(rc == -1) && (errno == EAGAIN));
 	printf("futex(%p, FUTEX_WAIT_REQUEUE_PI_PRIVATE|FUTEX_CLOCK_REALTIME, "
-		"%u, {%jd, %jd}, %p) = %s\n", uaddr, VAL_PR,
+		"%u, {tv_sec=%jd, tv_nsec=%jd}, %p) = %s\n", uaddr, VAL_PR,
 		(intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec, uaddr2,
 		sprintrc(rc));
 
diff --git a/tests/futimesat.c b/tests/futimesat.c
index 4e76cc8..c356629 100644
--- a/tests/futimesat.c
+++ b/tests/futimesat.c
@@ -32,14 +32,11 @@
 
 #ifdef __NR_futimesat
 
+# include <stdint.h>
 # include <stdio.h>
 # include <sys/time.h>
 # include <unistd.h>
 
-#define CAST_NUM(n)						\
-	(sizeof(n) == sizeof(long) ?				\
-		(unsigned long long) (unsigned long) (n) :	\
-		(unsigned long long) (n))
 
 int
 main(void)
@@ -49,30 +46,36 @@
 		perror_msg_and_fail("gettimeofday");
 
 	static const char sample[] = "futimesat_sample";
-	unsigned long dirfd = (unsigned long) 0xdeadbeef00000000 | -100U;
+	unsigned long dirfd = (unsigned long) 0xdeadbeef00000000ULL | -100U;
 
 	long rc = syscall(__NR_futimesat, dirfd, sample, 0);
 	printf("futimesat(AT_FDCWD, \"%s\", NULL) = %ld %s (%m)\n",
 	       sample, rc, errno2name());
 
 	struct timeval *const ts = tail_alloc(sizeof(*ts) * 2);
-	dirfd = (unsigned long) 0xdeadbeefffffffff;
-
-	rc = syscall(__NR_futimesat, dirfd, 0, ts + 1);
-	printf("futimesat(%d, NULL, %p) = %ld %s (%m)\n",
-	       (int) dirfd, ts + 1, rc, errno2name());
+	dirfd = (unsigned long) 0xdeadbeefffffffffULL;
 
 	ts[0].tv_sec = tv.tv_sec;
 	ts[0].tv_usec = tv.tv_usec;
 	ts[1].tv_sec = tv.tv_sec - 1;
 	ts[1].tv_usec = tv.tv_usec + 1;
 
+	rc = syscall(__NR_futimesat, dirfd, 0, ts + 2);
+	printf("futimesat(%d, NULL, %p) = %ld %s (%m)\n",
+	       (int) dirfd, ts + 2, rc, errno2name());
+
+	rc = syscall(__NR_futimesat, dirfd, 0, ts + 1);
+	printf("futimesat(%d, NULL, [{tv_sec=%jd, tv_usec=%jd}, %p]) = "
+	       "%ld %s (%m)\n", (int) dirfd,
+	       (intmax_t) ts[1].tv_sec, (intmax_t) ts[1].tv_usec,
+	       ts + 2, rc, errno2name());
+
 	(void) close(0);
 	rc = syscall(__NR_futimesat, 0, "", ts);
-	printf("futimesat(0, \"\", [{%llu, %llu}, {%llu, %llu}])"
-	       " = %ld %s (%m)\n",
-	       CAST_NUM(ts[0].tv_sec), CAST_NUM(ts[0].tv_usec),
-	       CAST_NUM(ts[1].tv_sec), CAST_NUM(ts[1].tv_usec),
+	printf("futimesat(0, \"\", [{tv_sec=%jd, tv_usec=%jd}, "
+	       "{tv_sec=%jd, tv_usec=%jd}]) = %ld %s (%m)\n",
+	       (intmax_t) ts[0].tv_sec, (intmax_t) ts[0].tv_usec,
+	       (intmax_t) ts[1].tv_sec, (intmax_t) ts[1].tv_usec,
 	       rc, errno2name());
 
 	puts("+++ exited with 0 +++");
diff --git a/tests/get_mempolicy.c b/tests/get_mempolicy.c
index 6be3ef2..03d1bff 100644
--- a/tests/get_mempolicy.c
+++ b/tests/get_mempolicy.c
@@ -81,9 +81,9 @@
 	puts("get_mempolicy(NULL, NULL, 0, NULL, 0) = 0");
 
 	int *mode = (void *) 0xdefaced1baddeed2;
-	unsigned long maxnode = (unsigned long) 0xcafef00dbadc0ded;
-	const unsigned long *nodemask = (void *) 0xfacedad3bebefed4;
-	const unsigned long addr = (unsigned long) 0xfacefeeddeadbeef;
+	unsigned long maxnode = (unsigned long) 0xcafef00dbadc0dedULL;
+	const unsigned long *nodemask = (void *) 0xfacedad3bebefed4ULL;
+	const unsigned long addr = (unsigned long) 0xfacefeeddeadbeefULL;
 	const unsigned long flags = -1U;
 	rc = syscall(__NR_get_mempolicy, mode, nodemask, maxnode, addr, flags);
 	printf("get_mempolicy(%p, %p, %lu, %#lx, %s|%#lx) = %ld %s (%m)\n",
diff --git a/tests/getcpu.c b/tests/getcpu.c
index baef1bb..ec671f1 100644
--- a/tests/getcpu.c
+++ b/tests/getcpu.c
@@ -1,7 +1,7 @@
 /*
  * Check decoding of getcpu syscall.
  *
- * Copyright (c) 2016 Eugene Syromiatnikov <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -39,12 +39,12 @@
 int
 main(void)
 {
-	static const unsigned *bogus_cpu =
-		(unsigned *) (unsigned long) 0xfffffeedfffffaceULL;
-	static const unsigned *bogus_node =
-		(unsigned *) (unsigned long) 0xfffffca7ffffc0deULL;
-	static const unsigned *bogus_tcache =
-		(unsigned *) (unsigned long) 0xffffda7affffdeadULL;
+	unsigned *bogus_cpu =
+		(unsigned *) tail_alloc(sizeof(* bogus_cpu)) + 1;
+	unsigned *bogus_node =
+		(unsigned *) tail_alloc(sizeof(* bogus_node)) + 1;
+	unsigned *bogus_tcache =
+		(unsigned *) tail_alloc(sizeof(* bogus_tcache)) + 1;
 
 	long res;
 	unsigned *cpu = tail_alloc(sizeof(*cpu));
diff --git a/tests/getdents.c b/tests/getdents.c
index 5e64234..b787c83 100644
--- a/tests/getdents.c
+++ b/tests/getdents.c
@@ -37,7 +37,6 @@
 # include <stdio.h>
 # include <sys/stat.h>
 # include <unistd.h>
-# include "kernel_types.h"
 
 static const char fname[] =
 	"A\nA\nA\nA\nA\nA\nA\nA\nA\nA\nA\nA\nA\nA\nA\nA\n"
@@ -106,12 +105,13 @@
 	assert(!close(0));
 	assert(!open(".", O_RDONLY | O_DIRECTORY));
 
-	unsigned long count = (unsigned long) 0xfacefeeddeadbeef;
-	long rc = syscall(__NR_getdents, (long) 0xdefacedffffffff, NULL, count);
+	unsigned long count = (unsigned long) 0xfacefeeddeadbeefULL;
+	long rc = syscall(__NR_getdents, (long) 0xdefacedffffffffULL, NULL,
+			  count);
 	printf("getdents(-1, NULL, %u) = %ld %s (%m)\n",
 	       (unsigned) count, rc, errno2name());
 
-	count = (unsigned long) 0xfacefeed00000000 | sizeof(buf);
+	count = (unsigned long) 0xfacefeed00000000ULL | sizeof(buf);
 	while ((rc = syscall(__NR_getdents, 0, buf, count))) {
 		kernel_dirent *d;
 		long i;
diff --git a/tests/getdents64.c b/tests/getdents64.c
index 2243b84..9da2a23 100644
--- a/tests/getdents64.c
+++ b/tests/getdents64.c
@@ -111,12 +111,13 @@
 	assert(!close(0));
 	assert(!open(".", O_RDONLY | O_DIRECTORY));
 
-	unsigned long count = (unsigned long) 0xfacefeeddeadbeef;
-	long rc = syscall(__NR_getdents64, (long) 0xdefacedffffffff, NULL, count);
+	unsigned long count = (unsigned long) 0xfacefeeddeadbeefULL;
+	long rc = syscall(__NR_getdents64, (long) 0xdefacedffffffffULL, NULL,
+			  count);
 	printf("getdents64(-1, NULL, %u) = %ld %s (%m)\n",
 	       (unsigned) count, rc, errno2name());
 
-	count = (unsigned long) 0xfacefeed00000000 | sizeof(buf);
+	count = (unsigned long) 0xfacefeed00000000ULL | sizeof(buf);
 	while ((rc = syscall(__NR_getdents64, 0, buf, count))) {
 		kernel_dirent64 *d;
 		long i;
diff --git a/tests/getgroups.c b/tests/getgroups.c
index 4abcdef..2617303 100644
--- a/tests/getgroups.c
+++ b/tests/getgroups.c
@@ -67,7 +67,7 @@
 	if (i != ngroups)
 		perror_msg_and_fail("%s(%#lx, %p)", SYSCALL_NAME, size, g);
 
-	printf("%s(%u, [", SYSCALL_NAME, (unsigned) size);
+	printf("%s(%d, [", SYSCALL_NAME, (int) size);
 	for (i = 0; i < ngroups; ++i) {
 		if (i)
 			printf(", ");
@@ -95,18 +95,18 @@
 	printf("%s(0, NULL) = %ld\n", SYSCALL_NAME, rc);
 
 	rc = syscall(SYSCALL_NR, -1U, 0);
-	printf("%s(%u, NULL) = %s\n", SYSCALL_NAME, -1U, sprintrc(rc));
+	printf("%s(%d, NULL) = %s\n", SYSCALL_NAME, -1, sprintrc(rc));
 
 	rc = syscall(SYSCALL_NR, -1L, 0);
-	printf("%s(%u, NULL) = %s\n", SYSCALL_NAME, -1U, sprintrc(rc));
+	printf("%s(%d, NULL) = %s\n", SYSCALL_NAME, -1, sprintrc(rc));
 
 	const unsigned int ngroups_max = sysconf(_SC_NGROUPS_MAX);
 
 	rc = syscall(SYSCALL_NR, ngroups_max, 0);
-	printf("%s(%u, NULL) = %s\n", SYSCALL_NAME, ngroups_max, sprintrc(rc));
+	printf("%s(%d, NULL) = %s\n", SYSCALL_NAME, ngroups_max, sprintrc(rc));
 
 	rc = syscall(SYSCALL_NR, (long) 0xffffffff00000000ULL | ngroups_max, 0);
-	printf("%s(%u, NULL) = %s\n", SYSCALL_NAME, ngroups_max, sprintrc(rc));
+	printf("%s(%d, NULL) = %s\n", SYSCALL_NAME, ngroups_max, sprintrc(rc));
 
 	/* check how the second argument is decoded */
 	GID_TYPE *const g1 =
@@ -120,7 +120,7 @@
 
 	if (ngroups) {
 		rc = syscall(SYSCALL_NR, ngroups, efault);
-		printf("%s(%u, %p) = %s\n",
+		printf("%s(%d, %p) = %s\n",
 		       SYSCALL_NAME, (unsigned) ngroups, efault, sprintrc(rc));
 	}
 
diff --git a/tests/getrandom.test b/tests/getrandom.test
index e06367c..ad34048 100755
--- a/tests/getrandom.test
+++ b/tests/getrandom.test
@@ -3,4 +3,4 @@
 # Check getrandom syscall decoding.
 
 . "${srcdir=.}/init.sh"
-run_strace_match_diff -a32 -xx -s3
+run_strace_match_diff -a32 -s3
diff --git a/tests/getrusage.c b/tests/getrusage.c
index 3c09aa6..8b76eff 100644
--- a/tests/getrusage.c
+++ b/tests/getrusage.c
@@ -41,16 +41,16 @@
 {
 	struct rusage *const usage = tail_alloc(sizeof(struct rusage));
 	int rc = syscall(__NR_getrusage, RUSAGE_SELF, usage);
-	printf("getrusage(RUSAGE_SELF, {ru_utime={%ju, %ju}"
-	       ", ru_stime={%ju, %ju}, ru_maxrss=%lu, ru_ixrss=%lu"
-	       ", ru_idrss=%lu, ru_isrss=%lu, ru_minflt=%lu"
+	printf("getrusage(RUSAGE_SELF, {ru_utime={tv_sec=%jd, tv_usec=%jd}"
+	       ", ru_stime={tv_sec=%jd, tv_usec=%jd}, ru_maxrss=%lu"
+	       ", ru_ixrss=%lu, ru_idrss=%lu, ru_isrss=%lu, ru_minflt=%lu"
 	       ", ru_majflt=%lu, ru_nswap=%lu, ru_inblock=%lu"
 	       ", ru_oublock=%lu, ru_msgsnd=%lu, ru_msgrcv=%lu"
 	       ", ru_nsignals=%lu, ru_nvcsw=%lu, ru_nivcsw=%lu}) = %d\n",
-	       (uintmax_t) usage->ru_utime.tv_sec,
-	       (uintmax_t) usage->ru_utime.tv_usec,
-	       (uintmax_t) usage->ru_stime.tv_sec,
-	       (uintmax_t) usage->ru_stime.tv_usec,
+	       (intmax_t) usage->ru_utime.tv_sec,
+	       (intmax_t) usage->ru_utime.tv_usec,
+	       (intmax_t) usage->ru_stime.tv_sec,
+	       (intmax_t) usage->ru_stime.tv_usec,
 	       usage->ru_maxrss, usage->ru_ixrss, usage->ru_idrss,
 	       usage->ru_isrss, usage->ru_minflt, usage->ru_majflt,
 	       usage->ru_nswap, usage->ru_inblock, usage->ru_oublock,
diff --git a/tests/init.sh b/tests/init.sh
index 46a08f9..f368b98 100644
--- a/tests/init.sh
+++ b/tests/init.sh
@@ -166,7 +166,7 @@
 # dump both files and fail with ERROR_MESSAGE.
 match_grep()
 {
-	local output patterns error pattern failed=
+	local output patterns error pattern cnt failed=
 	if [ $# -eq 0 ]; then
 		output="$LOG"
 	else
@@ -186,14 +186,16 @@
 	check_prog wc
 	check_prog grep
 
+	cnt=1
 	while read -r pattern; do
 		LC_ALL=C grep -E -x -e "$pattern" < "$output" > /dev/null || {
 			test -n "$failed" || {
 				echo 'Failed patterns of expected output:'
 				failed=1
 			}
-			printf '%s\n' "$pattern"
+			printf '#%d: %s\n' "$cnt" "$pattern"
 		}
+		cnt=$(($cnt + 1))
 	done < "$patterns"
 	test -z "$failed" || {
 		echo 'Actual output:'
@@ -214,12 +216,55 @@
 	rm -f "$EXP"
 }
 
+# Print kernel version code.
+# usage: kernel_version_code $(uname -r)
+kernel_version_code()
+{
+	(
+		set -f
+		IFS=.
+		set -- $1
+		v1="${1%%[!0-9]*}" && [ -n "$v1" ] || v1=0
+		v2="${2%%[!0-9]*}" && [ -n "$v2" ] || v2=0
+		v3="${3%%[!0-9]*}" && [ -n "$v3" ] || v3=0
+		echo "$(($v1 * 65536 + $v2 * 256 + $v3))"
+	)
+}
+
+# Usage: require_min_kernel_version_or_skip 3.0
+require_min_kernel_version_or_skip()
+{
+	local uname_r
+	uname_r="$(uname -r)"
+
+	[ "$(kernel_version_code "$uname_r")" -ge \
+	  "$(kernel_version_code "$1")" ] ||
+		skip_ "the kernel release $uname_r is not $1 or newer"
+}
+
+# Usage: grep_pid_status $pid GREP-OPTIONS...
+grep_pid_status()
+{
+	local pid
+	pid=$1; shift
+	cat < "/proc/$pid/status" | grep "$@"
+}
+
 check_prog cat
 check_prog rm
 
 rm -f "$LOG"
 
-: "${STRACE:=../strace}"
+[ -n "${STRACE-}" ] || {
+	STRACE=../strace
+	case "${LOG_COMPILER-} ${LOG_FLAGS-}" in
+		*--suppressions=*--error-exitcode=*--tool=*)
+			# add valgrind command prefix
+			STRACE="${LOG_COMPILER-} ${LOG_FLAGS-} $STRACE"
+			;;
+	esac
+}
+
 : "${TIMEOUT_DURATION:=60}"
 : "${SLEEP_A_BIT:=sleep 1}"
 
diff --git a/tests/init_delete_module.h b/tests/init_delete_module.h
new file mode 100644
index 0000000..db550c3
--- /dev/null
+++ b/tests/init_delete_module.h
@@ -0,0 +1,64 @@
+/*
+ * Helper header containing common code for finit_module, init_module,
+ * and delete_module tests.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#ifndef STRACE_TESTS_INIT_DELETE_MODULE_H
+#define STRACE_TESTS_INIT_DELETE_MODULE_H
+
+# include <stdbool.h>
+# include <stdio.h>
+
+enum {
+	PARAM1_LEN = 33,
+	PARAM2_LEN = 8,
+	PARAM1_BASE = 0x30,
+	PARAM2_BASE = 0x80,
+	MAX_STRLEN = 32,
+};
+
+static const kernel_ulong_t bogus_zero =
+	(kernel_ulong_t) 0xffffffff00000000ULL;
+
+static void
+print_str(unsigned int base, unsigned int len, bool escape)
+{
+	unsigned int i;
+
+	if (!escape) {
+		for (i = base; i < (base + len); i++)
+			putc(i, stdout);
+
+		return;
+	}
+
+	for (i = base; i < (base + len); i++)
+		printf("\\%u%u%u", (i >> 6) & 0x3, (i >> 3) & 0x7, i & 0x7);
+}
+
+#endif /* !STRACE_TESTS_INIT_DELETE_MODULE_H */
diff --git a/tests/init_module.c b/tests/init_module.c
new file mode 100644
index 0000000..88ef9ec
--- /dev/null
+++ b/tests/init_module.c
@@ -0,0 +1,106 @@
+/*
+ * Check decoding of init_module syscall.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#include <asm/unistd.h>
+
+#if defined(__NR_init_module)
+
+# include <stdio.h>
+# include <unistd.h>
+
+# include "init_delete_module.h"
+
+int
+main(void)
+{
+
+	static const kernel_ulong_t bogus_addr =
+		(kernel_ulong_t) 0xfffffeedfffffaceULL;
+	static const kernel_ulong_t bogus_len =
+		(kernel_ulong_t) 0xfffffca7ffffc0deULL;
+
+	long rc;
+	char *bogus_param1 = tail_alloc(PARAM1_LEN);
+	char *bogus_param2 = tail_alloc(PARAM2_LEN);
+	const char *errstr;
+
+	fill_memory_ex(bogus_param1, PARAM1_LEN, PARAM1_BASE, PARAM1_LEN);
+	fill_memory_ex(bogus_param2, PARAM2_LEN, PARAM2_BASE, PARAM2_LEN);
+
+	rc = syscall(__NR_init_module, NULL, bogus_zero, NULL);
+	printf("init_module(NULL, %llu, NULL) = %s\n",
+	       (unsigned long long) bogus_zero, sprintrc(rc));
+
+	rc = syscall(__NR_init_module, bogus_addr, 0, bogus_param1);
+	errstr = sprintrc(rc);
+
+	printf("init_module(%#llx, 0, \"", (unsigned long long) bogus_addr);
+	print_str(PARAM1_BASE, MAX_STRLEN, false);
+	printf("\"...) = %s\n", errstr);
+
+	bogus_param1[PARAM1_LEN - 1] = '\0';
+
+	rc = syscall(__NR_init_module, bogus_addr, 0, bogus_param1);
+	errstr = sprintrc(rc);
+
+	printf("init_module(%#llx, 0, \"", (unsigned long long) bogus_addr);
+	print_str(PARAM1_BASE, MAX_STRLEN, false);
+	printf("\") = %s\n", errstr);
+
+	rc = syscall(__NR_init_module, bogus_addr, bogus_len,
+		bogus_param2 + PARAM2_LEN);
+	printf("init_module(%#llx, %llu, %p) = %s\n",
+	       (unsigned long long) bogus_addr, (unsigned long long) bogus_len,
+	       bogus_param2 + PARAM2_LEN, sprintrc(rc));
+
+	rc = syscall(__NR_init_module, NULL, bogus_len, bogus_param2);
+	printf("init_module(NULL, %llu, %p) = %s\n",
+	       (unsigned long long) bogus_len, bogus_param2, sprintrc(rc));
+
+	bogus_param2[PARAM2_LEN - 1] = '\0';
+
+	rc = syscall(__NR_init_module, NULL, bogus_len, bogus_param2);
+	errstr = sprintrc(rc);
+
+	printf("init_module(NULL, %llu, \"", (unsigned long long) bogus_len);
+	print_str(PARAM2_BASE, PARAM2_LEN - 1, true);
+	printf("\") = %s\n", errstr);
+
+	puts("+++ exited with 0 +++");
+
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_init_module");
+
+#endif
diff --git a/tests/init_module.test b/tests/init_module.test
new file mode 100755
index 0000000..ef7c732
--- /dev/null
+++ b/tests/init_module.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of init_module syscall.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests/inotify.c b/tests/inotify.c
new file mode 100644
index 0000000..925d69f
--- /dev/null
+++ b/tests/inotify.c
@@ -0,0 +1,90 @@
+/*
+ * Check decoding of inotify_add_watch and inotify_rm_watch syscalls.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#include <asm/unistd.h>
+
+#if defined(__NR_inotify_add_watch) && defined(__NR_inotify_rm_watch)
+
+# include <stdio.h>
+# include <string.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+	static const struct {
+		const char *path;
+		const char *str;
+	} bogus_path_str = {
+		ARG_STR("/abc\1/def\2/ghi\3/jkl\4/mno\5/pqr\6/stu\7/vwx\10") };
+	static const kernel_ulong_t bogus_fd =
+		(kernel_ulong_t) 0xfffffeedfffffaceULL;
+	static const kernel_ulong_t bogus_mask =
+		(kernel_ulong_t) 0xffffda7affffdeadULL;
+	static const char *bogus_mask_str = "IN_ACCESS|IN_ATTRIB|"
+		"IN_CLOSE_WRITE|IN_OPEN|IN_MOVED_TO|IN_DELETE|IN_DELETE_SELF|"
+		"IN_MOVE_SELF|IN_Q_OVERFLOW|IN_IGNORED|IN_ONLYDIR|"
+		"IN_DONT_FOLLOW|IN_EXCL_UNLINK|IN_MASK_ADD|IN_ISDIR|IN_ONESHOT|"
+		"0x18ff1000";
+
+	long rc;
+	char *bogus_path = tail_memdup(bogus_path_str.path,
+		strlen(bogus_path_str.path) + 1);
+
+	rc = syscall(__NR_inotify_add_watch, 0, NULL, 0);
+	printf("inotify_add_watch(0, NULL, 0) = %s\n", sprintrc(rc));
+
+	rc = syscall(__NR_inotify_add_watch, bogus_fd, bogus_path + 4096, 0);
+	printf("inotify_add_watch(%d, %p, %u) = %s\n",
+	       (int) bogus_fd, bogus_path + 4096, 0, sprintrc(rc));
+
+	rc = syscall(__NR_inotify_add_watch, bogus_fd, bogus_path, bogus_mask);
+	printf("inotify_add_watch(%d, %s, %s) = %s\n",
+	       (int) bogus_fd, bogus_path_str.str, bogus_mask_str,
+	       sprintrc(rc));
+
+	rc = syscall(__NR_inotify_rm_watch, 0, 0);
+	printf("inotify_rm_watch(0, 0) = %s\n", sprintrc(rc));
+
+	rc = syscall(__NR_inotify_rm_watch, bogus_fd, bogus_fd);
+	printf("inotify_rm_watch(%d, %d) = %s\n",
+	       (int) bogus_fd, (int) bogus_fd, sprintrc(rc));
+
+	puts("+++ exited with 0 +++");
+
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_inotify_add_watch && __NR_inotify_rm_watch");
+
+#endif
diff --git a/tests/inotify.test b/tests/inotify.test
new file mode 100755
index 0000000..436f3bc
--- /dev/null
+++ b/tests/inotify.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of inotify_add_watch and inotify_rm_watch syscalls.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=inotify_add_watch,inotify_rm_watch -a23
diff --git a/tests/inotify_init1.c b/tests/inotify_init1.c
new file mode 100644
index 0000000..0325150
--- /dev/null
+++ b/tests/inotify_init1.c
@@ -0,0 +1,80 @@
+/*
+ * Check decoding of inotify_init1 syscall.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#include <asm/unistd.h>
+
+#if defined(__NR_inotify_init1)
+
+# include <fcntl.h>
+# include <stdio.h>
+# include <unistd.h>
+
+# ifdef O_CLOEXEC
+#  define cloexec_flag O_CLOEXEC
+# else
+#  define cloexec_flag 0
+# endif
+# define all_flags (O_NONBLOCK | cloexec_flag)
+
+int
+main(void)
+{
+	static const kernel_ulong_t bogus_flags1 =
+		(kernel_ulong_t) 0xfacefeeddeadbeefULL | O_NONBLOCK;
+	static const kernel_ulong_t bogus_flags2 =
+		(kernel_ulong_t) 0x55555550ff96b77bULL & ~all_flags;
+
+	long rc;
+
+	rc = syscall(__NR_inotify_init1, bogus_flags1);
+	printf("inotify_init1(IN_NONBLOCK|%s%#x) = %s\n",
+	       bogus_flags1 & cloexec_flag  ? "IN_CLOEXEC|" : "",
+	       (unsigned int) (bogus_flags1 & ~all_flags),
+	       sprintrc(rc));
+
+	rc = syscall(__NR_inotify_init1, bogus_flags2);
+	printf("inotify_init1(%#x /* IN_??? */) = %s\n",
+	       (unsigned int) bogus_flags2, sprintrc(rc));
+
+	rc = syscall(__NR_inotify_init1, all_flags);
+	printf("inotify_init1(IN_NONBLOCK%s) = %s\n",
+	       all_flags & cloexec_flag ? "|IN_CLOEXEC" : "", sprintrc(rc));
+
+	puts("+++ exited with 0 +++");
+
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_inotify_init1");
+
+#endif
diff --git a/tests/inotify_init1.test b/tests/inotify_init1.test
new file mode 100755
index 0000000..1a7c926
--- /dev/null
+++ b/tests/inotify_init1.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of inotify_init1 syscall.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests/ioctl.c b/tests/ioctl.c
index f05ff5c..92a3191 100644
--- a/tests/ioctl.c
+++ b/tests/ioctl.c
@@ -88,8 +88,12 @@
 	printf("ioctl(-1, MIXER_READ(13) or OTPSELECT, [MTD_OTP_OFF])"
 	       " = -1 EBADF (%m)\n");
 
+	(void) ioctl(-1, _IOC(_IOC_WRITE, 0xde, 0, 0), (kernel_ulong_t) -1ULL);
+	printf("ioctl(-1, _IOC(_IOC_WRITE, 0xde, 0, 0), %#lx)"
+	       " = -1 EBADF (%m)\n", -1UL);
+
 	(void) ioctl(-1, _IOR(0xde, 0xad, data), &data);
-	printf("ioctl(-1, _IOC(_IOC_READ, 0xde, 0xad, 0x08), %p)"
+	printf("ioctl(-1, _IOC(_IOC_READ, 0xde, 0xad, 0x8), %p)"
 	       " = -1 EBADF (%m)\n", &data);
 
 	puts("+++ exited with 0 +++");
diff --git a/tests/ioctl_block.c b/tests/ioctl_block.c
index 07e7d34..f62b0b3 100644
--- a/tests/ioctl_block.c
+++ b/tests/ioctl_block.c
@@ -41,17 +41,7 @@
 #include "xlat.h"
 
 static const unsigned int magic = 0xdeadbeef;
-static const unsigned long lmagic = (unsigned long) 0xdeadbeefbadc0ded;
-
-static void
-init_magic(void *addr, const unsigned int size)
-{
-	unsigned int *p = addr;
-	const unsigned int *end = addr + size - sizeof(int);
-
-	for (; p <= end; ++p)
-		*(unsigned int *) p = magic + (p - (unsigned int *) addr);
-}
+static const unsigned long lmagic = (unsigned long) 0xdeadbeefbadc0dedULL;
 
 static struct xlat block_argless[] = {
 	XLAT(BLKRRPART),
@@ -133,8 +123,8 @@
 	printf("ioctl(-1, BLKBSZSET, [%d]) = -1 EBADF (%m)\n", *val_int);
 
 	uint64_t *pair_int64 = tail_alloc(sizeof(*pair_int64) * 2);
-	pair_int64[0] = 0xdeadbeefbadc0ded;
-	pair_int64[1] = 0xfacefeedcafef00d;
+	pair_int64[0] = 0xdeadbeefbadc0dedULL;
+	pair_int64[1] = 0xfacefeedcafef00dULL;
 
 #ifdef BLKDISCARD
 	ioctl(-1, BLKDISCARD, pair_int64);
@@ -158,7 +148,7 @@
 	blkpg->op = 3;
 	blkpg->flags = 0xdeadbeef;
 	blkpg->datalen = 0xbadc0ded;
-	blkpg->data = (void *) (unsigned long) 0xcafef00dfffffeed;
+	blkpg->data = (void *) (unsigned long) 0xcafef00dfffffeedULL;
 
 	ioctl(-1, BLKPG, blkpg);
 	printf("ioctl(-1, BLKPG, {%s, flags=%d, datalen=%d"
@@ -167,8 +157,8 @@
 	       (unsigned long) blkpg->data);
 
 	struct blkpg_partition *const bp = tail_alloc(sizeof(*bp));
-	bp->start = 0xfac1fed2dad3bef4;
-	bp->length = 0xfac5fed6dad7bef8;
+	bp->start = 0xfac1fed2dad3bef4ULL;
+	bp->length = 0xfac5fed6dad7bef8ULL;
 	bp->pno = magic;
 	memset(bp->devname, 'A', sizeof(bp->devname));
 	memset(bp->volname, 'B', sizeof(bp->volname));
@@ -188,7 +178,7 @@
 
 #if defined BLKTRACESETUP && defined HAVE_STRUCT_BLK_USER_TRACE_SETUP
 	struct blk_user_trace_setup *const buts = tail_alloc(sizeof(*buts));
-	init_magic(buts, sizeof(*buts));
+	fill_memory(buts, sizeof(*buts));
 
 	ioctl(-1, BLKTRACESETUP, buts);
 	printf("ioctl(-1, BLKTRACESETUP, {act_mask=%hu, buf_size=%u, buf_nr=%u"
diff --git a/tests/ioctl_dm-v.c b/tests/ioctl_dm-v.c
new file mode 100644
index 0000000..d95058f
--- /dev/null
+++ b/tests/ioctl_dm-v.c
@@ -0,0 +1,2 @@
+#define VERBOSE 1
+#include "ioctl_dm.c"
diff --git a/tests/ioctl_dm-v.test b/tests/ioctl_dm-v.test
new file mode 100755
index 0000000..ade3b9e
--- /dev/null
+++ b/tests/ioctl_dm-v.test
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# Check unabbreviated decoding of DM* ioctls.
+
+. "${srcdir=.}/init.sh"
+
+run_prog > /dev/null
+run_strace -a16 -s9 -veioctl $args > "$EXP"
+check_prog grep
+grep -v '^ioctl([012],' < "$LOG" > "$OUT"
+match_diff "$OUT" "$EXP"
+rm -f "$EXP" "$OUT"
diff --git a/tests/ioctl_dm.c b/tests/ioctl_dm.c
new file mode 100644
index 0000000..08f036c
--- /dev/null
+++ b/tests/ioctl_dm.c
@@ -0,0 +1,774 @@
+/*
+ * Check decoding of DM_* commands of ioctl syscall.
+ *
+ * Copyright (c) 2016 Mikulas Patocka <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#ifdef HAVE_LINUX_DM_IOCTL_H
+
+# include <errno.h>
+# include <inttypes.h>
+# include <stdbool.h>
+# include <stdio.h>
+# include <stddef.h>
+# include <string.h>
+# include <sys/ioctl.h>
+# include <linux/ioctl.h>
+# include <linux/dm-ioctl.h>
+
+# ifndef VERBOSE
+#  define VERBOSE 0
+# endif
+
+# define STR32 "AbCdEfGhIjKlMnOpQrStUvWxYz012345"
+
+# define ALIGNED_SIZE(s_, t_) \
+	(((s_) + (ALIGNOF(t_) - 1UL)) & ~(ALIGNOF(t_) - 1UL))
+# define ALIGNED_OFFSET(t_, m_) \
+	ALIGNED_SIZE(offsetof(t_, m_), t_)
+
+static const char str129[] = STR32 STR32 STR32 STR32 "6";
+
+static const __u64 dts_sector_base = (__u64) 0xdeadca75facef157ULL;
+static const __u64 dts_sector_step = (__u64) 0x100000001ULL;
+static const __u64 dts_length_base = (__u64) 0xbadc0dedda7a1057ULL;
+static const __u64 dts_length_step = (__u64) 0x700000007ULL;
+static const __s32 dts_status_base = (__s32) 3141592653U;
+static const __s32 dts_status_step = 0x1234;
+
+static const size_t min_sizeof_dm_ioctl =
+	offsetof(struct dm_ioctl, data);
+
+static struct s {
+	struct dm_ioctl ioc;
+	union {
+		struct {
+			struct dm_target_spec target_spec;
+			char target_params[256];
+		} ts;
+		struct {
+			struct dm_target_msg target_msg;
+			char target_string[256];
+		} tm;
+		char string[256];
+	} u;
+} s;
+
+struct dm_table_open_test {
+	struct dm_ioctl ioc;
+	struct dm_target_spec target0;
+	char param0[1];
+	struct dm_target_spec target1;
+	char param1[2];
+	struct dm_target_spec target2;
+	char param2[3];
+	struct dm_target_spec target3;
+	char param3[4];
+	struct dm_target_spec target4;
+	char param4[5];
+	struct dm_target_spec target5;
+	char param5[6];
+	struct dm_target_spec target6;
+	char param6[7];
+	struct dm_target_spec target7;
+	char param7[8];
+	struct dm_target_spec target8;
+	char param8[9];
+	struct dm_target_spec target9;
+	char param9[10];
+};
+
+struct dm_target_msg_test {
+	struct dm_ioctl ioc;
+	struct dm_target_msg msg;
+};
+
+struct args {
+	unsigned int arg;
+	const char *str;
+	bool has_params;
+	bool has_event_nr;
+};
+
+
+static void
+init_s(struct dm_ioctl *s, size_t size, size_t offs)
+{
+	memset(s, 0, size);
+	s->version[0] = DM_VERSION_MAJOR;
+	s->version[1] = 1;
+	s->version[2] = 2;
+	s->data_size = size;
+	s->data_start = offs;
+	s->dev = 0x1234;
+	strcpy(s->name, "nnn");
+	strcpy(s->uuid, "uuu");
+}
+
+static void
+init_dm_target_spec(struct dm_target_spec *ptr, uint32_t id)
+{
+	ptr->sector_start = dts_sector_base + dts_sector_step * id;
+	ptr->length       = dts_length_base + dts_length_step * id;
+	ptr->status       = dts_status_base + dts_status_step * id;
+
+	strncpy(ptr->target_type, str129 +
+		id % (sizeof(str129) - sizeof(ptr->target_type)),
+		id % (sizeof(ptr->target_type) + 1));
+	if (id % (sizeof(ptr->target_type) + 1) < sizeof(ptr->target_type))
+		ptr->target_type[id % (sizeof(ptr->target_type) + 1)] = '\0';
+}
+
+# if VERBOSE
+static void
+print_dm_target_spec(struct dm_target_spec *ptr, uint32_t id)
+{
+	printf("{sector_start=%" PRI__u64 ", length=%" PRI__u64 ", "
+	       "target_type=\"%.*s\", string=",
+	       dts_sector_base + dts_sector_step * id,
+	       dts_length_base + dts_length_step * id,
+	       (int) (id % (sizeof(ptr->target_type) + 1)),
+	       str129 + id % (sizeof(str129) - sizeof(ptr->target_type)));
+}
+# endif /* VERBOSE */
+
+int
+main(void)
+{
+	static kernel_ulong_t dummy_dm_ioctl1 =
+		_IOC(_IOC_READ, DM_IOCTL, 0, 0x1fff);
+	static kernel_ulong_t dummy_dm_ioctl2 =
+		_IOC(_IOC_READ|_IOC_WRITE, DM_IOCTL, 0xed, 0);
+	static kernel_ulong_t dummy_dm_arg =
+		(kernel_ulong_t) 0xbadc0dedda7a1057ULL;
+	/* We can't check these properly for now */
+	static struct args dummy_check_cmds_nodev[] = {
+		{ ARG_STR(DM_REMOVE_ALL),    false },
+		{ ARG_STR(DM_LIST_DEVICES),  true  },
+		{ ARG_STR(DM_LIST_VERSIONS), true  },
+	};
+	static struct args dummy_check_cmds[] = {
+		{ ARG_STR(DM_DEV_CREATE),    false },
+		{ ARG_STR(DM_DEV_REMOVE),    false, true },
+		{ ARG_STR(DM_DEV_STATUS),    false },
+		{ ARG_STR(DM_DEV_WAIT),      true,  true },
+		{ ARG_STR(DM_TABLE_CLEAR),   false },
+		{ ARG_STR(DM_TABLE_DEPS),    true  },
+		{ ARG_STR(DM_TABLE_STATUS),  true  },
+	};
+
+	struct dm_ioctl *unaligned_dm_arg =
+		tail_alloc(offsetof(struct dm_ioctl, data));
+	struct dm_ioctl *dm_arg =
+		tail_alloc(ALIGNED_OFFSET(struct dm_ioctl, data));
+	struct dm_table_open_test *dm_arg_open1 =
+		tail_alloc(ALIGNED_OFFSET(struct dm_table_open_test, target1));
+	struct dm_table_open_test *dm_arg_open2 =
+		tail_alloc(ALIGNED_OFFSET(struct dm_table_open_test, param1));
+	struct dm_table_open_test *dm_arg_open3 =
+		tail_alloc(ALIGNED_OFFSET(struct dm_table_open_test, target9));
+	struct dm_target_msg_test *dm_arg_msg =
+		tail_alloc(sizeof(*dm_arg_msg));
+
+	long rc;
+	const char *errstr;
+	unsigned int i;
+
+
+	/* Incorrect operation */
+	ioctl(-1, _IOW(DM_IOCTL, 0xde, int), dm_arg);
+	printf("ioctl(-1, _IOC(_IOC_WRITE, %#x, 0xde, %#zx), %p) = "
+	       "-1 EBADF (%m)\n",
+	       DM_IOCTL, sizeof(int), dm_arg);
+
+	ioctl(-1, dummy_dm_ioctl1, 0);
+	printf("ioctl(-1, _IOC(_IOC_READ, %#x, 0, %#x), 0) = -1 EBADF (%m)\n",
+	       DM_IOCTL, (unsigned int) _IOC_SIZE(dummy_dm_ioctl1));
+
+	ioctl(-1, dummy_dm_ioctl2, dummy_dm_arg);
+	printf("ioctl(-1, _IOC(_IOC_READ|_IOC_WRITE, %#x, %#x, 0), %#lx) = "
+	       "-1 EBADF (%m)\n",
+	       DM_IOCTL, (unsigned int) _IOC_NR(dummy_dm_ioctl2),
+	       (unsigned long) dummy_dm_arg);
+
+
+	/* DM_VERSION */
+	/* Incorrect pointer */
+	ioctl(-1, DM_VERSION, dm_arg + 1);
+	printf("ioctl(-1, DM_VERSION, %p) = -1 EBADF (%m)\n", dm_arg + 1);
+
+	/* Incorrect data_size */
+	init_s(dm_arg, 0, 0);
+	ioctl(-1, DM_VERSION, &s);
+	printf("ioctl(-1, DM_VERSION, %p) = -1 EBADF (%m)\n", &s);
+
+	/* Incorrect version */
+	init_s(dm_arg, min_sizeof_dm_ioctl, 0);
+	dm_arg->version[0] = 0xbadc0ded;
+	dm_arg->version[1] = 0xbadc0dee;
+	dm_arg->version[2] = 0xbadc0def;
+	ioctl(-1, DM_VERSION, dm_arg);
+	printf("ioctl(-1, DM_VERSION, {version=%u.%u.%u, "
+	       "/* Unsupported device mapper ABI version */ ...}) = "
+	       "-1 EBADF (%m)\n", 0xbadc0ded, 0xbadc0dee, 0xbadc0def);
+
+	/* Incorrect data_size */
+	init_s(dm_arg, 14, 64);
+	ioctl(-1, DM_VERSION, dm_arg);
+	printf("ioctl(-1, DM_VERSION, {version=4.1.2, data_size=14, "
+	       "/* Incorrect data_size */ ...}) = -1 EBADF (%m)\n");
+
+	/* Unterminated name/uuid */
+	init_s(dm_arg, min_sizeof_dm_ioctl, 0);
+	strncpy(dm_arg->name, str129, sizeof(dm_arg->name));
+	strncpy(dm_arg->uuid, str129, sizeof(dm_arg->uuid));
+	ioctl(-1, DM_VERSION, dm_arg);
+	printf("ioctl(-1, DM_VERSION, {version=4.1.2, data_size=%zu, "
+	       "dev=makedev(18, 52), name=\"%.127s\", uuid=\"%.128s\", "
+	       "flags=0}) = -1 EBADF (%m)\n",
+	       min_sizeof_dm_ioctl, str129, str129);
+
+	/* Normal call */
+	init_s(dm_arg, min_sizeof_dm_ioctl, 0);
+	ioctl(-1, DM_VERSION, dm_arg);
+	printf("ioctl(-1, DM_VERSION, "
+	       "{version=4.1.2, data_size=%zu, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", flags=0}) = "
+	       "-1 EBADF (%m)\n", min_sizeof_dm_ioctl);
+
+	/* Zero dev, name, uuid */
+	init_s(dm_arg, min_sizeof_dm_ioctl, 0);
+	dm_arg->data_size = 0xfacefeed;
+	dm_arg->dev = 0;
+	dm_arg->name[0] = '\0';
+	dm_arg->uuid[0] = '\0';
+	ioctl(-1, DM_VERSION, dm_arg);
+	printf("ioctl(-1, DM_VERSION, "
+	       "{version=4.1.2, data_size=%u, flags=0}) = "
+	       "-1 EBADF (%m)\n", 0xfacefeed);
+
+	/* Flag */
+	init_s(dm_arg, min_sizeof_dm_ioctl, 0);
+	dm_arg->flags = 0xffffffff;
+	ioctl(-1, DM_VERSION, dm_arg);
+	printf("ioctl(-1, DM_VERSION, "
+	       "{version=4.1.2, data_size=%zu, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", flags="
+	       "DM_READONLY_FLAG|DM_SUSPEND_FLAG|DM_EXISTS_FLAG|"
+	       "DM_PERSISTENT_DEV_FLAG|DM_STATUS_TABLE_FLAG|"
+	       "DM_ACTIVE_PRESENT_FLAG|DM_INACTIVE_PRESENT_FLAG|"
+	       "DM_BUFFER_FULL_FLAG|DM_SKIP_BDGET_FLAG|DM_SKIP_LOCKFS_FLAG|"
+	       "DM_NOFLUSH_FLAG|DM_QUERY_INACTIVE_TABLE_FLAG|"
+	       "DM_UEVENT_GENERATED_FLAG|DM_UUID_FLAG|DM_SECURE_DATA_FLAG|"
+	       "DM_DATA_OUT_FLAG|DM_DEFERRED_REMOVE|DM_INTERNAL_SUSPEND_FLAG|"
+	       "0xfff80080}) = -1 EBADF (%m)\n",
+	       min_sizeof_dm_ioctl);
+
+	/* Normal call */
+	init_s(&s.ioc, sizeof(s.ioc), 0);
+	ioctl(-1, DM_VERSION, &s);
+	printf("ioctl(-1, DM_VERSION, "
+	       "{version=4.1.2, data_size=%zu, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", flags=0}) = "
+	       "-1 EBADF (%m)\n", sizeof(s.ioc));
+
+
+	/* DM_REMOVE_ALL */
+	/* DM_LIST_DEVICES */
+	/* DM_LIST_VERSIONS */
+	for (i = 0; i < ARRAY_SIZE(dummy_check_cmds_nodev); i++) {
+		init_s(dm_arg, min_sizeof_dm_ioctl, 0);
+		ioctl(-1, dummy_check_cmds_nodev[i].arg, dm_arg);
+		printf("ioctl(-1, %s, {version=4.1.2, data_size=%zu%s, "
+		       "flags=0}) = -1 EBADF (%m)\n",
+		       dummy_check_cmds_nodev[i].str,
+		       min_sizeof_dm_ioctl,
+		       dummy_check_cmds_nodev[i].has_params ?
+		       ", data_start=0" : "");
+	}
+
+
+	/* DM_DEV_CREATE */
+	/* DM_DEV_REMOVE */
+	/* DM_DEV_STATUS */
+	/* DM_DEV_WAIT */
+	/* DM_TABLE_CLEAR */
+	/* DM_TABLE_DEPS */
+	/* DM_TABLE_STATUS */
+	for (i = 0; i < ARRAY_SIZE(dummy_check_cmds); i++) {
+		init_s(dm_arg, min_sizeof_dm_ioctl, 0);
+		ioctl(-1, dummy_check_cmds[i].arg, dm_arg);
+		printf("ioctl(-1, %s, {version=4.1.2, data_size=%zu%s, "
+		       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\"%s, "
+		       "flags=0}) = -1 EBADF (%m)\n",
+		       dummy_check_cmds[i].str, min_sizeof_dm_ioctl,
+		       dummy_check_cmds[i].has_params ? ", data_start=0" : "",
+		       dummy_check_cmds[i].has_event_nr ? ", event_nr=0" : "");
+	}
+
+
+	/* DM_DEV_SUSPEND */
+	init_s(&s.ioc, sizeof(s.ioc), 0);
+	s.ioc.flags = DM_SUSPEND_FLAG;
+	s.ioc.event_nr = 0xbadc0ded;
+	ioctl(-1, DM_DEV_SUSPEND, &s);
+	printf("ioctl(-1, DM_DEV_SUSPEND, "
+	       "{version=4.1.2, data_size=%zu, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", "
+	       "flags=DM_SUSPEND_FLAG}) = -1 EBADF (%m)\n", sizeof(s.ioc));
+
+	init_s(&s.ioc, sizeof(s.ioc), 0);
+	s.ioc.event_nr = 0xbadc0ded;
+	ioctl(-1, DM_DEV_SUSPEND, &s);
+	printf("ioctl(-1, DM_DEV_SUSPEND, "
+	       "{version=4.1.2, data_size=%zu, dev=makedev(18, 52), "
+	       "name=\"nnn\", uuid=\"uuu\", event_nr=3134983661, "
+	       "flags=0}) = -1 EBADF (%m)\n", sizeof(s.ioc));
+
+
+	/* DM_TABLE_LOAD */
+	init_s(&s.ioc, sizeof(s), offsetof(struct s, u));
+	s.ioc.target_count = 1;
+	s.u.ts.target_spec.sector_start = 0x10;
+	s.u.ts.target_spec.length = 0x20;
+	s.u.ts.target_spec.next =
+		sizeof(s.u.ts.target_spec) + sizeof(s.u.ts.target_params);
+	strcpy(s.u.ts.target_spec.target_type, "tgt");
+	strcpy(s.u.ts.target_params, "tparams");
+	ioctl(-1, DM_TABLE_LOAD, &s);
+	printf("ioctl(-1, DM_TABLE_LOAD, "
+	       "{version=4.1.2, data_size=%u, data_start=%u, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", "
+	       "target_count=1, flags=0, "
+# if VERBOSE
+	       "{sector_start=16, length=32, target_type=\"tgt\", "
+	       "string=\"tparams\"}"
+# else /* !VERBOSE */
+	       "..."
+# endif /* VERBOSE */
+	       "}) = -1 EBADF (%m)\n", s.ioc.data_size, s.ioc.data_start);
+
+	/* No targets */
+	init_s(dm_arg, min_sizeof_dm_ioctl, min_sizeof_dm_ioctl);
+	dm_arg->data_size = sizeof(*dm_arg);
+	dm_arg->target_count = 0;
+	ioctl(-1, DM_TABLE_LOAD, dm_arg);
+	printf("ioctl(-1, DM_TABLE_LOAD, "
+	       "{version=4.1.2, data_size=%zu, data_start=%zu, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", "
+	       "target_count=0, flags=0}) = -1 EBADF (%m)\n",
+	       sizeof(*dm_arg), min_sizeof_dm_ioctl);
+
+	/* Invalid data_start */
+	init_s(dm_arg, min_sizeof_dm_ioctl, 0xfffffff8);
+	dm_arg->data_size = sizeof(*dm_arg);
+	dm_arg->target_count = 1234;
+	ioctl(-1, DM_TABLE_LOAD, dm_arg);
+	printf("ioctl(-1, DM_TABLE_LOAD, "
+	       "{version=4.1.2, data_size=%zu, data_start=%u, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", "
+	       "target_count=1234, flags=0, "
+# if VERBOSE
+	       "/* misplaced struct dm_target_spec */ ..."
+# else /* !VERBOSE */
+	       "..."
+# endif /* VERBOSE */
+	       "}) = -1 EBADF (%m)\n", sizeof(*dm_arg), 0xfffffff8);
+
+	/* Inaccessible pointer */
+	init_s(&dm_arg_open1->ioc, offsetof(struct dm_table_open_test, target1),
+	       offsetof(struct dm_table_open_test, target1));
+	dm_arg_open1->ioc.data_size = sizeof(*dm_arg_open1);
+	dm_arg_open1->ioc.target_count = 0xdeaddea1;
+	ioctl(-1, DM_TABLE_LOAD, dm_arg_open1);
+	printf("ioctl(-1, DM_TABLE_LOAD, "
+	       "{version=4.1.2, data_size=%zu, data_start=%zu, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", "
+	       "target_count=3735936673, flags=0, "
+# if VERBOSE
+	       "%p"
+# else /* !VERBOSE */
+	       "..."
+# endif /* VERBOSE */
+	       "}) = -1 EBADF (%m)\n", sizeof(*dm_arg_open1),
+	       offsetof(struct dm_table_open_test, target1)
+# if VERBOSE
+	       , (char *) dm_arg_open1 +
+	       offsetof(struct dm_table_open_test, target1)
+# endif /* VERBOSE */
+	       );
+
+	/* Inaccessible string */
+	init_s(&dm_arg_open2->ioc, offsetof(struct dm_table_open_test, param1),
+	       offsetof(struct dm_table_open_test, target1));
+	dm_arg_open2->ioc.data_size = sizeof(*dm_arg_open2);
+	dm_arg_open2->ioc.target_count = 2;
+	init_dm_target_spec(&dm_arg_open2->target1, 7);
+	dm_arg_open2->target1.next =
+		offsetof(struct dm_table_open_test, target3) -
+		offsetof(struct dm_table_open_test, target1);
+	rc = ioctl(-1, DM_TABLE_LOAD, dm_arg_open2);
+	errstr = sprintrc(rc);
+	printf("ioctl(-1, DM_TABLE_LOAD, "
+	       "{version=4.1.2, data_size=%zu, data_start=%zu, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", "
+	       "target_count=2, flags=0, ",
+	       sizeof(*dm_arg_open2),
+	       offsetof(struct dm_table_open_test, target1));
+# if VERBOSE
+	print_dm_target_spec(&dm_arg_open2->target1, 7);
+	printf("%p}, %p",
+	       (char *) dm_arg_open2 +
+	       offsetof(struct dm_table_open_test, param1),
+	       (char *) dm_arg_open2 +
+	       offsetof(struct dm_table_open_test, target3));
+# else /* !VERBOSE */
+	printf("...");
+# endif /* VERBOSE */
+	printf("}) = %s\n", errstr);
+
+	/* Incorrect next */
+	init_s(&dm_arg_open3->ioc, offsetof(struct dm_table_open_test, target5),
+	       offsetof(struct dm_table_open_test, target0));
+	dm_arg_open3->ioc.target_count = 4;
+
+	init_dm_target_spec(&dm_arg_open3->target0, 9);
+	dm_arg_open3->target0.next =
+		offsetof(struct dm_table_open_test, target1) -
+		offsetof(struct dm_table_open_test, target0);
+	dm_arg_open3->param0[0] = '\0';
+
+	init_dm_target_spec(&dm_arg_open3->target1, 15);
+	dm_arg_open3->target1.next =
+		offsetof(struct dm_table_open_test, target3) -
+		offsetof(struct dm_table_open_test, target1);
+	dm_arg_open3->param1[0] = '\377';
+	dm_arg_open3->param1[1] = '\0';
+
+	init_dm_target_spec(&dm_arg_open3->target3, 42);
+	dm_arg_open3->target3.next = 0xdeadbeef;
+	dm_arg_open3->param3[0] = '\1';
+	dm_arg_open3->param3[1] = '\2';
+	dm_arg_open3->param3[2] = '\0';
+
+	rc = ioctl(-1, DM_TABLE_LOAD, dm_arg_open3);
+	errstr = sprintrc(rc);
+	printf("ioctl(-1, DM_TABLE_LOAD, "
+	       "{version=4.1.2, data_size=%zu, data_start=%zu, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", "
+	       "target_count=4, flags=0, ",
+	       offsetof(struct dm_table_open_test, target5),
+	       offsetof(struct dm_table_open_test, target0));
+# if VERBOSE
+	print_dm_target_spec(&dm_arg_open3->target0, 9);
+	printf("\"\"}, ");
+	print_dm_target_spec(&dm_arg_open3->target1, 15);
+	printf("\"\\377\"}, ");
+	print_dm_target_spec(&dm_arg_open3->target1, 42);
+	printf("\"\\1\\2\"}, /* misplaced struct dm_target_spec */ ...");
+# else /* !VERBOSE */
+	printf("...");
+# endif /* VERBOSE */
+	printf("}) = %s\n", errstr);
+
+	#define FILL_DM_TARGET(id, id_next) \
+		do { \
+			init_dm_target_spec(&dm_arg_open3->target##id, id); \
+			dm_arg_open3->target##id.next = \
+				offsetof(struct dm_table_open_test, \
+					 target##id_next) - \
+				offsetof(struct dm_table_open_test, \
+					 target##id); \
+			strncpy(dm_arg_open3->param##id, str129 + id * 2, id); \
+			dm_arg_open3->param##id[id] = '\0'; \
+		} while (0)
+	#define PRINT_DM_TARGET(id) \
+		do { \
+			print_dm_target_spec(&dm_arg_open3->target##id, id); \
+			printf("\"%.*s\"}, ", id, str129 + id * 2); \
+		} while (0)
+
+	/* max_strlen limit */
+	init_s(&dm_arg_open3->ioc, offsetof(struct dm_table_open_test, target9),
+	       offsetof(struct dm_table_open_test, target0));
+	dm_arg_open3->ioc.data_size = sizeof(*dm_arg_open3);
+	dm_arg_open3->ioc.target_count = 0xbadc0ded;
+	FILL_DM_TARGET(0, 1);
+	FILL_DM_TARGET(1, 2);
+	FILL_DM_TARGET(2, 3);
+	FILL_DM_TARGET(3, 4);
+	FILL_DM_TARGET(4, 5);
+	FILL_DM_TARGET(5, 6);
+	FILL_DM_TARGET(6, 7);
+	FILL_DM_TARGET(7, 8);
+	FILL_DM_TARGET(8, 9);
+	rc = ioctl(-1, DM_TABLE_LOAD, dm_arg_open3);
+	errstr = sprintrc(rc);
+	printf("ioctl(-1, DM_TABLE_LOAD, "
+	       "{version=4.1.2, data_size=%zu, data_start=%zu, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", "
+	       "target_count=3134983661, flags=0, ",
+	       sizeof(*dm_arg_open3),
+	       offsetof(struct dm_table_open_test, target0));
+# if VERBOSE
+	PRINT_DM_TARGET(0);
+	PRINT_DM_TARGET(1);
+	PRINT_DM_TARGET(2);
+	PRINT_DM_TARGET(3);
+	PRINT_DM_TARGET(4);
+	PRINT_DM_TARGET(5);
+	PRINT_DM_TARGET(6);
+	PRINT_DM_TARGET(7);
+	PRINT_DM_TARGET(8);
+# endif /* VERBOSE */
+	printf("...}) = %s\n", errstr);
+
+
+	/* DM_TARGET_MSG */
+	init_s(&s.ioc, sizeof(s), offsetof(struct s, u));
+	s.u.tm.target_msg.sector = 0x1234;
+	strcpy(s.u.string + offsetof(struct dm_target_msg, message),
+	       "long target msg");
+	ioctl(-1, DM_TARGET_MSG, &s);
+	printf("ioctl(-1, DM_TARGET_MSG, "
+	       "{version=4.1.2, data_size=%u, data_start=%u, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", flags=0, "
+# if VERBOSE
+	       "{sector=4660, message=\"long targ\"...}"
+# else /* !VERBOSE */
+	       "..."
+# endif /* VERBOSE */
+	       "}) = -1 EBADF (%m)\n",
+	       s.ioc.data_size, s.ioc.data_start);
+
+	/* Invalid data_start */
+	init_s(dm_arg, min_sizeof_dm_ioctl, min_sizeof_dm_ioctl);
+	dm_arg->data_size = sizeof(*dm_arg);
+	ioctl(-1, DM_TARGET_MSG, dm_arg);
+	printf("ioctl(-1, DM_TARGET_MSG, "
+	       "{version=4.1.2, data_size=%zu, data_start=%zu, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", flags=0, "
+# if VERBOSE
+	       "/* misplaced struct dm_target_msg */"
+# else /* !VERBOSE */
+	       "..."
+# endif /* VERBOSE */
+	       "}) = -1 EBADF (%m)\n",
+	       sizeof(*dm_arg), min_sizeof_dm_ioctl);
+
+	/* Invalid data_start */
+	init_s(dm_arg, min_sizeof_dm_ioctl, 0xffffffff);
+	dm_arg->data_size = sizeof(*dm_arg);
+	ioctl(-1, DM_TARGET_MSG, dm_arg);
+	printf("ioctl(-1, DM_TARGET_MSG, "
+	       "{version=4.1.2, data_size=%zu, data_start=%u, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", flags=0, "
+# if VERBOSE
+	       "/* misplaced struct dm_target_msg */"
+# else /* !VERBOSE */
+	       "..."
+# endif /* VERBOSE */
+	       "}) = -1 EBADF (%m)\n",
+	       sizeof(*dm_arg), 0xffffffff);
+
+	/* Inaccessible pointer */
+	init_s(dm_arg, min_sizeof_dm_ioctl, 0);
+	dm_arg->data_size = sizeof(*dm_arg) + sizeof(struct dm_target_msg);
+	dm_arg->data_start = sizeof(*dm_arg);
+	ioctl(-1, DM_TARGET_MSG, dm_arg);
+	printf("ioctl(-1, DM_TARGET_MSG, "
+	       "{version=4.1.2, data_size=%zu, data_start=%zu, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", flags=0, "
+# if VERBOSE
+	       "%p"
+# else /* !VERBOSE */
+	       "..."
+# endif /* VERBOSE */
+	       "}) = -1 EBADF (%m)\n",
+	       sizeof(*dm_arg) + sizeof(struct dm_target_msg),
+	       sizeof(*dm_arg)
+# if VERBOSE
+	       , (char *) dm_arg + sizeof(*dm_arg)
+# endif /* VERBOSE */
+	       );
+
+	/* Inaccessible string */
+	init_s(&dm_arg_msg->ioc, sizeof(*dm_arg_msg),
+	       offsetof(struct dm_target_msg_test, msg));
+	dm_arg_msg->ioc.data_size = sizeof(*dm_arg_msg) + 1;
+	dm_arg_msg->msg.sector = (__u64) 0xdeadbeeffacef157ULL;
+	rc = ioctl(-1, DM_TARGET_MSG, dm_arg_msg);
+	errstr = sprintrc(rc);
+	printf("ioctl(-1, DM_TARGET_MSG, "
+	       "{version=4.1.2, data_size=%zu, data_start=%zu, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", flags=0, ",
+	       sizeof(*dm_arg_msg) + 1,
+	       offsetof(struct dm_target_msg_test, msg));
+# if VERBOSE
+	printf("{sector=%" PRI__u64 ", message=%p}",
+	       (__u64) 0xdeadbeeffacef157ULL,
+	       (char *) dm_arg_msg +
+	       offsetof(struct dm_target_msg_test, msg.message));
+# else /* !VERBOSE */
+	printf("...");
+# endif /* VERBOSE */
+	printf("}) = %s\n", errstr);
+
+	/* Zero-sied string */
+	init_s(&dm_arg_msg->ioc, sizeof(*dm_arg_msg),
+	       offsetof(struct dm_target_msg_test, msg));
+	dm_arg_msg->msg.sector = (__u64) 0xdeadbeeffacef157ULL;
+	rc = ioctl(-1, DM_TARGET_MSG, dm_arg_msg);
+	errstr = sprintrc(rc);
+	printf("ioctl(-1, DM_TARGET_MSG, "
+	       "{version=4.1.2, data_size=%zu, data_start=%zu, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", flags=0, ",
+	       sizeof(*dm_arg_msg), offsetof(struct dm_target_msg_test, msg));
+# if VERBOSE
+	printf("{sector=%" PRI__u64 ", message=\"\"}",
+	       (__u64) 0xdeadbeeffacef157ULL);
+# else /* !VERBOSE */
+	printf("...");
+# endif /* VERBOSE */
+	printf("}) = %s\n", errstr);
+
+
+	/* DM_DEV_SET_GEOMETRY */
+	init_s(&s.ioc, sizeof(s), offsetof(struct s, u));
+	strcpy(s.u.string, "10 20 30 40");
+	ioctl(-1, DM_DEV_SET_GEOMETRY, &s);
+	printf("ioctl(-1, DM_DEV_SET_GEOMETRY, "
+	       "{version=4.1.2, data_size=%u, data_start=%u, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", flags=0, "
+# if VERBOSE
+	       "string=\"10 20 30 \"..."
+# else /* !VERBOSE */
+	       "..."
+# endif /* VERBOSE */
+	       "}) = -1 EBADF (%m)\n",
+	       s.ioc.data_size, s.ioc.data_start);
+
+
+	/* DM_DEV_RENAME */
+	/* Inaccessible data */
+	init_s(dm_arg, min_sizeof_dm_ioctl, min_sizeof_dm_ioctl);
+	dm_arg->data_size = sizeof(*dm_arg);
+	memcpy(unaligned_dm_arg, dm_arg, offsetof(struct dm_ioctl, data));
+	ioctl(-1, DM_DEV_RENAME, unaligned_dm_arg);
+	printf("ioctl(-1, DM_DEV_RENAME, "
+	       "{version=4.1.2, data_size=%zu, data_start=%zu, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", event_nr=0, "
+	       "flags=0, "
+# if VERBOSE
+	       "string=%p"
+# else /* !VERBOSE */
+	       "..."
+# endif /* VERBOSE */
+	       "}) = -1 EBADF (%m)\n",
+	       sizeof(*unaligned_dm_arg), min_sizeof_dm_ioctl
+# if VERBOSE
+	       , (char *) unaligned_dm_arg + min_sizeof_dm_ioctl
+# endif /* VERBOSE */
+	       );
+
+	/* Incorrect data_start data */
+	init_s(&s.ioc, sizeof(s), offsetof(struct s, u));
+	s.ioc.data_start = 0xdeadbeef;
+	ioctl(-1, DM_DEV_RENAME, &s);
+	printf("ioctl(-1, DM_DEV_RENAME, "
+	       "{version=4.1.2, data_size=%u, data_start=3735928559, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", event_nr=0, "
+	       "flags=0, "
+# if VERBOSE
+	       "/* misplaced string */"
+# else /* !VERBOSE */
+	       "..."
+# endif /* VERBOSE */
+	       "}) = -1 EBADF (%m)\n",
+	       s.ioc.data_size);
+
+	/* Strange but still valid data_start */
+	init_s(&s.ioc, sizeof(s), offsetof(struct s, u));
+	/* Curiously, this is a valid structure */
+	s.ioc.data_start = offsetof(struct dm_ioctl, name) + 1;
+	ioctl(-1, DM_DEV_RENAME, &s);
+	printf("ioctl(-1, DM_DEV_RENAME, "
+	       "{version=4.1.2, data_size=%u, data_start=%zu, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", event_nr=0, "
+	       "flags=0, "
+# if VERBOSE
+	       "string=\"nn\""
+# else /* !VERBOSE */
+	       "..."
+# endif /* VERBOSE */
+	       "}) = -1 EBADF (%m)\n",
+	       s.ioc.data_size,
+	       offsetof(struct dm_ioctl, name) + 1);
+
+	/* Correct data */
+	init_s(&s.ioc, sizeof(s), offsetof(struct s, u));
+	strcpy(s.u.string, "new long name");
+	ioctl(-1, DM_DEV_RENAME, &s);
+	printf("ioctl(-1, DM_DEV_RENAME, "
+	       "{version=4.1.2, data_size=%u, data_start=%u, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", event_nr=0, "
+	       "flags=0, "
+# if VERBOSE
+	       "string=\"new long \"..."
+# else /* !VERBOSE */
+	       "..."
+# endif /* VERBOSE */
+	       "}) = -1 EBADF (%m)\n",
+	       s.ioc.data_size, s.ioc.data_start);
+
+
+	/* DM_TABLE_LOAD */
+	init_s(&s.ioc, sizeof(s), offsetof(struct s, u));
+	s.ioc.target_count = -1U;
+	ioctl(-1, DM_TABLE_LOAD, &s);
+	printf("ioctl(-1, DM_TABLE_LOAD, "
+	       "{version=4.1.2, data_size=%u, data_start=%u, "
+	       "dev=makedev(18, 52), name=\"nnn\", uuid=\"uuu\", "
+	       "target_count=4294967295, flags=0, "
+# if VERBOSE
+	       "{sector_start=0, length=0, target_type=\"\", string=\"\"}, "
+	       "/* misplaced struct dm_target_spec */ "
+# endif /* VERBOSE */
+	       "...}) = -1 EBADF (%m)\n",
+	       s.ioc.data_size, s.ioc.data_start);
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else /* !HAVE_LINUX_DM_IOCTL_H */
+
+SKIP_MAIN_UNDEFINED("HAVE_LINUX_DM_IOCTL_H")
+
+#endif /* HAVE_LINUX_DM_IOCTL_H */
diff --git a/tests/ioctl_dm.test b/tests/ioctl_dm.test
new file mode 100755
index 0000000..6485205
--- /dev/null
+++ b/tests/ioctl_dm.test
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# Check decoding of DM* ioctls.
+
+. "${srcdir=.}/init.sh"
+
+run_prog > /dev/null
+run_strace -a16 -s9 -eioctl $args > "$EXP"
+check_prog grep
+grep -v '^ioctl([012],' < "$LOG" > "$OUT"
+match_diff "$OUT" "$EXP"
+rm -f "$EXP" "$OUT"
diff --git a/tests/ioctl_evdev.c b/tests/ioctl_evdev.c
index 892075d..d12323e 100644
--- a/tests/ioctl_evdev.c
+++ b/tests/ioctl_evdev.c
@@ -39,17 +39,7 @@
 # include <linux/input.h>
 
 static const unsigned int magic = 0xdeadbeef;
-static const unsigned long lmagic = (unsigned long) 0xdeadbeefbadc0ded;
-
-static void
-init_magic(void *addr, const unsigned int size)
-{
-	unsigned int *p = addr;
-	const unsigned int *end = addr + size - sizeof(int);
-
-	for (; p <= end; ++p)
-		*(unsigned int *) p = magic;
-}
+static const unsigned long lmagic = (unsigned long) 0xdeadbeefbadc0dedULL;
 
 # if VERBOSE
 static void
@@ -156,7 +146,7 @@
 
 	const unsigned int size = get_page_size();
 	void *const page = tail_alloc(size);
-	init_magic(page, size);
+	fill_memory(page, size);
 
 	int *const val_int = tail_alloc(sizeof(*val_int));
 	*val_int = magic;
@@ -183,7 +173,7 @@
 
 # ifdef EVIOCSKEYCODE_V2
 	struct input_keymap_entry *const ike = tail_alloc(sizeof(*ike));
-	init_magic(ike, sizeof(*ike));
+	fill_memory(ike, sizeof(*ike));
 	ike->keycode = 2;
 
 	ioctl(-1, EVIOCSKEYCODE_V2, ike);
@@ -207,7 +197,7 @@
 # endif
 
 	struct ff_effect *const ffe = tail_alloc(sizeof(*ffe));
-	init_magic(ffe, sizeof(*ffe));
+	fill_memory(ffe, sizeof(*ffe));
 
 	ffe->type = FF_CONSTANT;
 	ioctl(-1, EVIOCSFF, ffe);
@@ -262,18 +252,22 @@
 	printf("}) = -1 EBADF (%m)\n");
 #  endif
 
-	ioctl(-1, _IOC(_IOC_READ, 0x45, 0x01, 0xff), lmagic);
+	ioctl(-1, _IOC(_IOC_READ, 0x45, 0x1, 0xff), lmagic);
 	printf("ioctl(-1, %s, %#lx) = -1 EBADF (%m)\n",
-	       "_IOC(_IOC_READ, 0x45, 0x01, 0xff)", lmagic);
+	       "_IOC(_IOC_READ, 0x45, 0x1, 0xff)", lmagic);
 
-	ioctl(-1, _IOC(_IOC_WRITE, 0x45, 0x01, 0xff), lmagic);
+	ioctl(-1, _IOC(_IOC_WRITE, 0x45, 0x1, 0xff), lmagic);
 	printf("ioctl(-1, %s, %#lx) = -1 EBADF (%m)\n",
-	       "_IOC(_IOC_WRITE, 0x45, 0x01, 0xff)", lmagic);
+	       "_IOC(_IOC_WRITE, 0x45, 0x1, 0xff)", lmagic);
 
 	ioctl(-1, _IOC(_IOC_READ|_IOC_WRITE, 0x45, 0xfe, 0xff), lmagic);
 	printf("ioctl(-1, %s, %#lx) = -1 EBADF (%m)\n",
 	       "_IOC(_IOC_READ|_IOC_WRITE, 0x45, 0xfe, 0xff)", lmagic);
 
+	ioctl(-1, _IOC(_IOC_READ|_IOC_WRITE, 0x45, 0, 0), lmagic);
+	printf("ioctl(-1, %s, %#lx) = -1 EBADF (%m)\n",
+	       "_IOC(_IOC_READ|_IOC_WRITE, 0x45, 0, 0)", lmagic);
+
 	puts("+++ exited with 0 +++");
 	return 0;
 }
diff --git a/tests/ioctl_loop-nv.c b/tests/ioctl_loop-nv.c
new file mode 100644
index 0000000..dc6b916
--- /dev/null
+++ b/tests/ioctl_loop-nv.c
@@ -0,0 +1,2 @@
+#define ABBREV 1
+#include "ioctl_loop.c"
diff --git a/tests/ioctl_loop-nv.test b/tests/ioctl_loop-nv.test
new file mode 100755
index 0000000..dcc27e1
--- /dev/null
+++ b/tests/ioctl_loop-nv.test
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# Check non-verbose decoding of LOOP_* ioctls.
+
+. "${srcdir=.}/init.sh"
+
+run_prog > /dev/null
+run_strace -a22 -eioctl -e verbose=none $args > "$EXP"
+check_prog grep
+grep -v '^ioctl([012],' < "$LOG" > "$OUT"
+match_diff "$OUT" "$EXP"
+rm -f "$EXP" "$OUT"
diff --git a/tests/ioctl_loop-v.c b/tests/ioctl_loop-v.c
new file mode 100644
index 0000000..22e7572
--- /dev/null
+++ b/tests/ioctl_loop-v.c
@@ -0,0 +1,2 @@
+#define VERBOSE 1
+#include "ioctl_loop.c"
diff --git a/tests/ioctl_loop-v.test b/tests/ioctl_loop-v.test
new file mode 100755
index 0000000..ff3995d
--- /dev/null
+++ b/tests/ioctl_loop-v.test
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# Check non-abbreviated decoding of LOOP_* ioctls.
+
+. "${srcdir=.}/init.sh"
+
+run_prog > /dev/null
+run_strace -a22 -v -eioctl $args > "$EXP"
+check_prog grep
+grep -v '^ioctl([012],' < "$LOG" > "$OUT"
+match_diff "$OUT" "$EXP"
+rm -f "$EXP" "$OUT"
diff --git a/tests/ioctl_loop.c b/tests/ioctl_loop.c
new file mode 100644
index 0000000..a95e775
--- /dev/null
+++ b/tests/ioctl_loop.c
@@ -0,0 +1,322 @@
+/*
+ * This file is part of ioctl_loop strace test.
+ *
+ * Copyright (c) 2016 JingPiao Chen <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+
+#include "tests.h"
+#include <stdio.h>
+#include <stdbool.h>
+#include <string.h>
+#include <inttypes.h>
+#include <sys/ioctl.h>
+#include <sys/sysmacros.h>
+#include <linux/ioctl.h>
+#include <linux/loop.h>
+#include "xlat/loop_cmds.h"
+
+#ifndef ABBREV
+# define ABBREV 0
+#endif
+
+static void
+print_loop_info(struct loop_info * const info, bool print_encrypt,
+		const char *encrypt_type, const char *encrypt_key,
+		const char *flags)
+{
+#if ABBREV
+	printf("%p", info);
+#else
+	printf("{lo_number=%d", info->lo_number);
+# if VERBOSE
+	printf(", lo_device=makedev(%u, %u), lo_inode=%lu, "
+	       "lo_rdevice=makedev(%u, %u)",
+	       major(info->lo_device), minor(info->lo_device),
+	       info->lo_inode,
+	       major(info->lo_rdevice), minor(info->lo_rdevice));
+# endif /* VERBOSE */
+
+	printf(", lo_offset=%#x", info->lo_offset);
+
+	if (VERBOSE || print_encrypt) {
+		printf(", lo_encrypt_type=");
+		if (encrypt_type)
+			printf("%s", encrypt_type);
+		else
+			printf("%#x /* LO_CRYPT_??? */", info->lo_encrypt_type);
+
+		printf(", lo_encrypt_key_size=%" PRIu32,
+		       (uint32_t) info->lo_encrypt_key_size);
+	}
+
+	printf(", lo_flags=");
+	if (flags)
+		printf("%s", flags);
+	else
+		printf("%#x /* LO_FLAGS_??? */", info->lo_flags);
+
+	printf(", lo_name=\"%.*s\"",
+	       (int) sizeof(info->lo_name) - 1, info->lo_name);
+
+	if (VERBOSE || print_encrypt)
+		printf(", lo_encrypt_key=\"%.*s\"",
+		       encrypt_key ? (int) strlen(encrypt_key) :
+		       (int) sizeof(info->lo_encrypt_key),
+		       encrypt_key ? encrypt_key :
+		       (char *) info->lo_encrypt_key);
+
+# if VERBOSE
+	printf(", lo_init=[%#lx, %#lx]"
+	       ", reserved=[%#hhx, %#hhx, %#hhx, %#hhx]}",
+	       info->lo_init[0], info->lo_init[1],
+	       info->reserved[0], info->reserved[1],
+	       info->reserved[2], info->reserved[3]);
+# else /* !VERBOSE */
+	printf(", ...}");
+# endif /* VERBOSE */
+#endif /* !ABBREV */
+}
+
+static void
+print_loop_info64(struct loop_info64 * const info64, bool print_encrypt,
+		  const char *encrypt_type, const char *encrypt_key,
+		  const char *flags)
+{
+#if ABBREV
+	printf("%p", info64);
+#else
+# if VERBOSE
+	printf("{lo_device=makedev(%u, %u), lo_inode=%" PRIu64
+	       ", lo_rdevice=makedev(%u, %u), lo_offset=%#" PRIx64
+	       ", lo_sizelimit=%" PRIu64 ", lo_number=%" PRIu32,
+	       major(info64->lo_device), minor(info64->lo_device),
+	       (uint64_t) info64->lo_inode,
+	       major(info64->lo_rdevice), minor(info64->lo_rdevice),
+	       (uint64_t) info64->lo_offset,
+	       (uint64_t) info64->lo_sizelimit,
+	       (uint32_t) info64->lo_number);
+# else /* !VERBOSE */
+	printf("{lo_offset=%#" PRIx64 ", lo_number=%" PRIu32,
+	       (uint64_t) info64->lo_offset,
+	       (uint32_t) info64->lo_number);
+# endif /* VERBOSE */
+
+	if (VERBOSE || print_encrypt) {
+		printf(", lo_encrypt_type=");
+		if (encrypt_type)
+			printf("%s", encrypt_type);
+		else
+			printf("%#x /* LO_CRYPT_??? */",
+			       info64->lo_encrypt_type);
+
+		printf(", lo_encrypt_key_size=%" PRIu32,
+		       info64->lo_encrypt_key_size);
+	}
+
+	printf(", lo_flags=");
+	if (flags)
+		printf("%s", flags);
+	else
+		printf("%#x /* LO_FLAGS_??? */", info64->lo_flags);
+	printf(", lo_file_name=\"%.*s\"",
+	       (int) sizeof(info64->lo_file_name) - 1, info64->lo_file_name);
+
+	if (VERBOSE || print_encrypt)
+		printf(", lo_crypt_name=\"%.*s\", lo_encrypt_key=\"%.*s\"",
+		       (int) sizeof(info64->lo_crypt_name) - 1,
+		       info64->lo_crypt_name,
+		       encrypt_key ? (int) strlen(encrypt_key) :
+		       (int) sizeof(info64->lo_encrypt_key),
+		       encrypt_key ? encrypt_key :
+		       (char *) info64->lo_encrypt_key);
+
+# if VERBOSE
+	printf(", lo_init=[%#" PRIx64 ", %#" PRIx64 "]}",
+	       (uint64_t) info64->lo_init[0],
+	       (uint64_t) info64->lo_init[1]);
+# else /* !VERBOSE */
+	printf(", ...}");
+# endif /* VERBOSE */
+#endif /* !ABBREV */
+}
+
+int
+main(void)
+{
+	static const kernel_ulong_t unknown_loop_cmd =
+		(kernel_ulong_t) 0xbadc0dedfeed4cedULL;
+	static const kernel_ulong_t magic =
+		(kernel_ulong_t) 0xdeadbeefbadc0dedULL;
+	static const kernel_ulong_t kernel_mask =
+		((kernel_ulong_t) -1) - ((unsigned long) -1L);
+
+	struct loop_info * const info = tail_alloc(sizeof(*info));
+	struct loop_info64 * const info64 = tail_alloc(sizeof(*info64));
+
+	/* Unknown loop commands */
+	ioctl(-1, unknown_loop_cmd, magic);
+	printf("ioctl(-1, _IOC(_IOC_READ|_IOC_WRITE%s, 0x4c, %#x, %#x), "
+	       "%#lx) = -1 EBADF (%m)\n",
+	       _IOC_DIR((unsigned int) unknown_loop_cmd) & _IOC_NONE ?
+	       "|_IOC_NONE" : "",
+	       _IOC_NR((unsigned int) unknown_loop_cmd),
+	       _IOC_SIZE((unsigned int) unknown_loop_cmd),
+	       (unsigned long) magic);
+
+	ioctl(-1, LOOP_SET_DIRECT_IO + 1, magic);
+	printf("ioctl(-1, _IOC(0, 0x4c, %#x, %#x), %#lx) = "
+	       "-1 EBADF (%m)\n",
+	       _IOC_NR(LOOP_SET_DIRECT_IO + 1),
+	       _IOC_SIZE(LOOP_SET_DIRECT_IO + 1),
+	       (unsigned long) magic);
+
+	ioctl(-1, LOOP_CTL_GET_FREE + 1, magic);
+	printf("ioctl(-1, _IOC(0, 0x4c, %#x, %#x), %#lx) = "
+	       "-1 EBADF (%m)\n",
+	       _IOC_NR(LOOP_CTL_GET_FREE + 1),
+	       _IOC_SIZE(LOOP_CTL_GET_FREE + 1),
+	       (unsigned long) magic);
+
+	/* LOOP_SET_FD */
+	ioctl(-1, LOOP_SET_FD, magic);
+	printf("ioctl(-1, LOOP_SET_FD, %d) = -1 EBADF (%m)\n",
+	       (unsigned int) magic);
+
+	/* LOOP_CLR_FD */
+	ioctl(-1, LOOP_CLR_FD);
+	printf("ioctl(-1, LOOP_CLR_FD) = -1 EBADF (%m)\n");
+
+	/* LOOP_SET_STATUS */
+	ioctl(-1, LOOP_SET_STATUS, NULL);
+	printf("ioctl(-1, LOOP_SET_STATUS, NULL) = -1 EBADF (%m)\n");
+
+	fill_memory(info, sizeof(*info));
+	info->lo_flags = 0xdeface00;
+	info->lo_name[0] = '\0';
+	info->lo_encrypt_key[0] = '\0';
+	info->lo_encrypt_key_size = 1;
+
+	printf("ioctl(-1, LOOP_SET_STATUS, ");
+	print_loop_info(info, true, NULL, "\\0", NULL);
+	ioctl(-1, LOOP_SET_STATUS, info);
+	printf(") = -1 EBADF (%m)\n");
+
+	fill_memory(info, sizeof(*info));
+	info->lo_encrypt_type = LO_CRYPT_NONE;
+	info->lo_flags = LO_FLAGS_READ_ONLY;
+	memset(info->lo_name, 'A', sizeof(info->lo_name));
+	memset(info->lo_encrypt_key, 'B', sizeof(info->lo_encrypt_key));
+
+	ioctl(-1, LOOP_SET_STATUS, (void *) info + ALIGNOF(info));
+	printf("ioctl(-1, LOOP_SET_STATUS, %p) = -1 EBADF (%m)\n",
+	       (void *) info + ALIGNOF(info));
+
+	printf("ioctl(-1, LOOP_SET_STATUS, ");
+	print_loop_info(info, false, "LO_CRYPT_NONE", NULL,
+			"LO_FLAGS_READ_ONLY");
+	ioctl(-1, LOOP_SET_STATUS, info);
+	printf(") = -1 EBADF (%m)\n");
+
+	/* LOOP_GET_STATUS */
+	ioctl(-1, LOOP_GET_STATUS, NULL);
+	printf("ioctl(-1, LOOP_GET_STATUS, NULL) = -1 EBADF (%m)\n");
+
+	ioctl(-1, LOOP_GET_STATUS, (unsigned long) info | kernel_mask);
+	printf("ioctl(-1, LOOP_GET_STATUS, %p) = -1 EBADF (%m)\n", info);
+
+	/* LOOP_SET_STATUS64 */
+	ioctl(-1, LOOP_SET_STATUS64, NULL);
+	printf("ioctl(-1, LOOP_SET_STATUS64, NULL) = -1 EBADF (%m)\n");
+
+	fill_memory(info64, sizeof(*info64));
+	info64->lo_flags = 0xdec0de00;
+	info64->lo_file_name[0] = '\0';
+	info64->lo_crypt_name[0] = '\0';
+	info64->lo_encrypt_key[0] = '\0';
+	info64->lo_encrypt_key_size = 1;
+
+	printf("ioctl(-1, LOOP_SET_STATUS64, ");
+	print_loop_info64(info64, true, NULL, "\\0", NULL);
+	ioctl(-1, LOOP_SET_STATUS64, info64);
+	printf(") = -1 EBADF (%m)\n");
+
+	fill_memory(info64, sizeof(*info64));
+	info64->lo_flags = LO_FLAGS_READ_ONLY;
+	info64->lo_encrypt_type = LO_CRYPT_NONE;
+	memset(info64->lo_file_name, 'C', sizeof(info64->lo_file_name));
+	memset(info64->lo_crypt_name, 'D', sizeof(info64->lo_crypt_name));
+	memset(info64->lo_encrypt_key, 'E', sizeof(info64->lo_encrypt_key));
+
+	ioctl(-1, LOOP_SET_STATUS64, (void *) info64 + ALIGNOF(info64));
+	printf("ioctl(-1, LOOP_SET_STATUS64, %p) = -1 EBADF (%m)\n",
+	       (void *) info64 + ALIGNOF(info64));
+
+	printf("ioctl(-1, LOOP_SET_STATUS64, ");
+	print_loop_info64(info64, false, "LO_CRYPT_NONE", NULL,
+			  "LO_FLAGS_READ_ONLY");
+	ioctl(-1, LOOP_SET_STATUS64, info64);
+	printf(") = -1 EBADF (%m)\n");
+
+	/* LOOP_GET_STATUS64 */
+	ioctl(-1, LOOP_GET_STATUS64, NULL);
+	printf("ioctl(-1, LOOP_GET_STATUS64, NULL) = -1 EBADF (%m)\n");
+
+	ioctl(-1, LOOP_GET_STATUS64, (unsigned long) info64 | kernel_mask);
+	printf("ioctl(-1, LOOP_GET_STATUS64, %p) = -1 EBADF (%m)\n", info64);
+
+	/* LOOP_CHANGE_FD */
+	ioctl(-1, LOOP_CHANGE_FD, magic);
+	printf("ioctl(-1, LOOP_CHANGE_FD, %d) = -1 EBADF (%m)\n",
+	       (unsigned int) magic);
+
+	/* LOOP_SET_CAPACITY */
+	ioctl(-1, LOOP_SET_CAPACITY);
+	printf("ioctl(-1, LOOP_SET_CAPACITY) = -1 EBADF (%m)\n");
+
+	/* LOOP_SET_DIRECT_IO */
+	ioctl(-1, LOOP_SET_DIRECT_IO, magic);
+	printf("ioctl(-1, LOOP_SET_DIRECT_IO, %lu) = -1 EBADF (%m)\n",
+	       (unsigned long) magic);
+
+	/* LOOP_CTL_ADD */
+	ioctl(-1, LOOP_CTL_ADD, magic);
+	printf("ioctl(-1, LOOP_CTL_ADD, %d) = -1 EBADF (%m)\n",
+	       (unsigned int) magic);
+
+	/* LOOP_CTL_REMOVE */
+	ioctl(-1, LOOP_CTL_REMOVE, magic);
+	printf("ioctl(-1, LOOP_CTL_REMOVE, %d) = -1 EBADF (%m)\n",
+	       (unsigned int) magic);
+
+	/* LOOP_CTL_GET_FREE */
+	ioctl(-1, LOOP_CTL_GET_FREE);
+	printf("ioctl(-1, LOOP_CTL_GET_FREE) = -1 EBADF (%m)\n");
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
diff --git a/tests/ioctl_loop.test b/tests/ioctl_loop.test
new file mode 100755
index 0000000..112cd63
--- /dev/null
+++ b/tests/ioctl_loop.test
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# Check decoding of LOOP_* ioctls.
+
+. "${srcdir=.}/init.sh"
+
+run_prog > /dev/null
+run_strace -a22 -eioctl $args > "$EXP"
+check_prog grep
+grep -v '^ioctl([012],' < "$LOG" > "$OUT"
+match_diff "$OUT" "$EXP"
+rm -f "$EXP" "$OUT"
diff --git a/tests/ioctl_mtd.c b/tests/ioctl_mtd.c
index b761da8..a37d5d0 100644
--- a/tests/ioctl_mtd.c
+++ b/tests/ioctl_mtd.c
@@ -42,18 +42,7 @@
 # include <mtd/mtd-abi.h>
 #endif
 
-static const unsigned int magic = 0xdeadbeef;
-static const unsigned long lmagic = (unsigned long) 0xdeadbeefbadc0ded;
-
-static void
-init_magic(void *addr, const unsigned int size)
-{
-	unsigned int *p = addr;
-	const unsigned int *end = addr + size - sizeof(int);
-
-	for (; p <= end; ++p)
-		*(unsigned int *) p = magic;
-}
+static const unsigned long lmagic = (unsigned long) 0xdeadbeefbadc0dedULL;
 
 #define TEST_NULL_ARG(cmd) \
 	do { \
@@ -113,7 +102,7 @@
 	       " = -1 EBADF (%m)\n", (unsigned int) _IOC_NR(OTPSELECT));
 
 	uint64_t *const v64 = tail_alloc(sizeof(*v64));
-	init_magic(v64, sizeof(*v64));
+	fill_memory(v64, sizeof(*v64));
 
 	ioctl(-1, MEMGETBADBLOCK, v64);
 	printf("ioctl(-1, MIXER_WRITE(%u) or MEMGETBADBLOCK, [%" PRIu64 "])"
@@ -126,7 +115,7 @@
 	       (unsigned int) _IOC_NR(MEMSETBADBLOCK), *v64);
 
 	struct region_info_user *const riu = tail_alloc(sizeof(*riu));
-	init_magic(riu, sizeof(*riu));
+	fill_memory(riu, sizeof(*riu));
 	ioctl(-1, MEMGETREGIONINFO, riu);
 	printf("ioctl(-1, %s, {regionindex=%#x}) = -1 EBADF (%m)\n",
 	       "MEMGETREGIONINFO"
@@ -136,7 +125,7 @@
 	       , riu->regionindex);
 
 	struct erase_info_user *const eiu = tail_alloc(sizeof(*eiu));
-	init_magic(eiu, sizeof(*eiu));
+	fill_memory(eiu, sizeof(*eiu));
 
 	TEST_erase_info_user(MEMERASE, eiu);
 	TEST_erase_info_user(MEMLOCK, eiu);
@@ -144,7 +133,7 @@
 	TEST_erase_info_user(MEMISLOCKED, eiu);
 
 	struct erase_info_user64 *const eiu64 = tail_alloc(sizeof(*eiu64));
-	init_magic(eiu64, sizeof(*eiu64));
+	fill_memory(eiu64, sizeof(*eiu64));
 	ioctl(-1, MEMERASE64, eiu64);
 	printf("ioctl(-1, MIXER_WRITE(%u) or %s, {start=%#llx, length=%#llx})"
 	       " = -1 EBADF (%m)\n",
@@ -153,7 +142,7 @@
 	       (unsigned long long) eiu64->length);
 
 	struct mtd_oob_buf *const oob = tail_alloc(sizeof(*oob));
-	init_magic(oob, sizeof(*oob));
+	fill_memory(oob, sizeof(*oob));
 
 	ioctl(-1, MEMWRITEOOB, oob);
 	printf("ioctl(-1, MEMWRITEOOB, {start=%#x, length=%#x, ptr=%p})"
@@ -164,7 +153,7 @@
 	       " = -1 EBADF (%m)\n", oob->start, oob->length, oob->ptr);
 
 	struct mtd_oob_buf64 *const oob64 = tail_alloc(sizeof(*oob64));
-	init_magic(oob64, sizeof(*oob64));
+	fill_memory(oob64, sizeof(*oob64));
 
 	ioctl(-1, MEMWRITEOOB64, oob64);
 	printf("ioctl(-1, MEMWRITEOOB64"
@@ -180,14 +169,14 @@
 
 
 	struct otp_info *const oi = tail_alloc(sizeof(*oi));
-	init_magic(oi, sizeof(*oi));
+	fill_memory(oi, sizeof(*oi));
 	ioctl(-1, OTPLOCK, oi);
 	printf("ioctl(-1, MIXER_READ(%u) or OTPLOCK"
 	       ", {start=%#x, length=%#x, locked=%u}) = -1 EBADF (%m)\n",
 	       (unsigned int) _IOC_NR(OTPLOCK),  oi->start, oi->length, oi->locked);
 
 	struct mtd_write_req *const wr = tail_alloc(sizeof(*wr));
-	init_magic(wr, sizeof(*wr));
+	fill_memory(wr, sizeof(*wr));
 	wr->mode = MTD_OPS_PLACE_OOB;
 	ioctl(-1, MEMWRITE, wr);
 	printf("ioctl(-1, MEMWRITE, {start=%#llx, len=%#llx, ooblen=%#llx"
diff --git a/tests/ioctl_rtc.c b/tests/ioctl_rtc.c
index ac96763..49d7ec7 100644
--- a/tests/ioctl_rtc.c
+++ b/tests/ioctl_rtc.c
@@ -36,18 +36,7 @@
 #include <linux/rtc.h>
 #include "xlat.h"
 
-static const unsigned int magic = 0xdeadbeef;
-static const unsigned long lmagic = (unsigned long) 0xdeadbeefbadc0ded;
-
-static void
-init_magic(void *addr, const unsigned int size)
-{
-	unsigned int *p = addr;
-	const unsigned int *end = addr + size - sizeof(int);
-
-	for (; p <= end; ++p)
-		*(unsigned int *) p = magic;
-}
+static const unsigned long lmagic = (unsigned long) 0xdeadbeefbadc0dedULL;
 
 static void
 print_rtc_time(const struct rtc_time *rt)
@@ -82,16 +71,16 @@
 	const unsigned int size = get_page_size();
 
 	void *const page = tail_alloc(size);
-	init_magic(page, size);
+	fill_memory(page, size);
 
 	struct rtc_time *rt = tail_alloc(sizeof(*rt));
-	init_magic(rt, sizeof(*rt));
+	fill_memory(rt, sizeof(*rt));
 
 	struct rtc_wkalrm *wk = tail_alloc(sizeof(*wk));
-	init_magic(wk, sizeof(*wk));
+	fill_memory(wk, sizeof(*wk));
 
 	struct rtc_pll_info *pll = tail_alloc(sizeof(*pll));
-	init_magic(pll, sizeof(*pll));
+	fill_memory(pll, sizeof(*pll));
 
 	/* RTC_ALM_READ */
 	ioctl(-1, RTC_ALM_READ, 0);
diff --git a/tests/ioctl_scsi.c b/tests/ioctl_scsi.c
new file mode 100644
index 0000000..0db94d8
--- /dev/null
+++ b/tests/ioctl_scsi.c
@@ -0,0 +1,156 @@
+/*
+ * Check decoding of SCSI ioctl commands.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#ifdef HAVE_SCSI_SG_H
+
+# include <stdio.h>
+# include <sys/ioctl.h>
+# include <scsi/sg.h>
+# include "xlat/scsi_sg_commands.h"
+
+# define TEST_NO_ARG(cmd)							\
+	do {									\
+		ioctl(-1, cmd, 0xdeadbeef);					\
+		printf("ioctl(-1, %s) = -1 EBADF (%m)\n", #cmd);		\
+	} while (0)
+
+# define TEST_NULL_ARG(cmd)							\
+	do {									\
+		ioctl(-1, cmd, 0);						\
+		printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd);		\
+	} while (0)
+
+# define TEST_TAKES_INT_BY_VAL(cmd, val)					\
+	do {									\
+		ioctl(-1, cmd, val);						\
+		printf("ioctl(-1, %s, %#x) = -1 EBADF (%m)\n", #cmd, val);	\
+	} while (0)
+
+# define TEST_TAKES_INT_BY_PTR(cmd, pint)					\
+	do {									\
+		ioctl(-1, cmd, pint);						\
+		printf("ioctl(-1, %s, [%d]) = -1 EBADF (%m)\n", #cmd, *(pint));	\
+	} while (0)
+
+# define TEST_RETURNS_INT_BY_PTR(cmd, pint)					\
+	do {									\
+		ioctl(-1, cmd, pint);						\
+		printf("ioctl(-1, %s, %p) = -1 EBADF (%m)\n", #cmd, pint);	\
+	} while (0)
+
+int
+main(void)
+{
+	int *const pint = tail_alloc(sizeof(*pint));
+	*pint = (int) 0xfacefeed;
+
+	TEST_NO_ARG(SG_GET_TIMEOUT);
+
+	TEST_NULL_ARG(SG_SET_TIMEOUT);
+	TEST_NULL_ARG(SG_EMULATED_HOST);
+	TEST_NULL_ARG(SG_GET_TRANSFORM);
+	TEST_NULL_ARG(SG_GET_COMMAND_Q);
+	TEST_NULL_ARG(SG_SET_COMMAND_Q);
+	TEST_NULL_ARG(SG_GET_RESERVED_SIZE);
+	TEST_NULL_ARG(SG_SET_RESERVED_SIZE);
+	TEST_NULL_ARG(SG_GET_SCSI_ID);
+	TEST_NULL_ARG(SG_SET_FORCE_LOW_DMA);
+	TEST_NULL_ARG(SG_GET_LOW_DMA);
+	TEST_NULL_ARG(SG_SET_FORCE_PACK_ID);
+	TEST_NULL_ARG(SG_GET_PACK_ID);
+	TEST_NULL_ARG(SG_GET_NUM_WAITING);
+	TEST_NULL_ARG(SG_SET_DEBUG);
+	TEST_NULL_ARG(SG_GET_SG_TABLESIZE);
+	TEST_NULL_ARG(SG_GET_VERSION_NUM);
+	TEST_NULL_ARG(SG_NEXT_CMD_LEN);
+	TEST_NULL_ARG(SG_SCSI_RESET);
+	TEST_NULL_ARG(SG_IO);
+	TEST_NULL_ARG(SG_GET_REQUEST_TABLE);
+	TEST_NULL_ARG(SG_SET_KEEP_ORPHAN);
+	TEST_NULL_ARG(SG_GET_KEEP_ORPHAN);
+	TEST_NULL_ARG(SG_GET_ACCESS_COUNT);
+
+	TEST_TAKES_INT_BY_VAL(SG_SET_TRANSFORM, 0);
+	TEST_TAKES_INT_BY_VAL(SG_SET_TRANSFORM, *pint);
+
+	TEST_TAKES_INT_BY_PTR(SG_NEXT_CMD_LEN, pint);
+	TEST_TAKES_INT_BY_PTR(SG_SET_COMMAND_Q, pint);
+	TEST_TAKES_INT_BY_PTR(SG_SET_DEBUG, pint);
+	TEST_TAKES_INT_BY_PTR(SG_SET_FORCE_LOW_DMA, pint);
+	TEST_TAKES_INT_BY_PTR(SG_SET_FORCE_PACK_ID, pint);
+	TEST_TAKES_INT_BY_PTR(SG_SET_KEEP_ORPHAN, pint);
+	TEST_TAKES_INT_BY_PTR(SG_SET_RESERVED_SIZE, pint);
+	TEST_TAKES_INT_BY_PTR(SG_SET_TIMEOUT, pint);
+
+	TEST_RETURNS_INT_BY_PTR(SG_EMULATED_HOST, pint);
+	TEST_RETURNS_INT_BY_PTR(SG_GET_ACCESS_COUNT, pint);
+	TEST_RETURNS_INT_BY_PTR(SG_GET_COMMAND_Q, pint);
+	TEST_RETURNS_INT_BY_PTR(SG_GET_KEEP_ORPHAN, pint);
+	TEST_RETURNS_INT_BY_PTR(SG_GET_LOW_DMA, pint);
+	TEST_RETURNS_INT_BY_PTR(SG_GET_NUM_WAITING, pint);
+	TEST_RETURNS_INT_BY_PTR(SG_GET_PACK_ID, pint);
+	TEST_RETURNS_INT_BY_PTR(SG_GET_RESERVED_SIZE, pint);
+	TEST_RETURNS_INT_BY_PTR(SG_GET_SG_TABLESIZE, pint);
+	TEST_RETURNS_INT_BY_PTR(SG_GET_TRANSFORM, pint);
+	TEST_RETURNS_INT_BY_PTR(SG_GET_VERSION_NUM, pint);
+
+	ioctl(-1, SG_SCSI_RESET, pint);
+	printf("ioctl(-1, %s, [%#x /* %s_??? */]) = -1 EBADF (%m)\n",
+	       "SG_SCSI_RESET", *pint, "SG_SCSI_RESET");
+
+	*pint = 0x100;
+	ioctl(-1, SG_SCSI_RESET, pint);
+	printf("ioctl(-1, %s, [SG_SCSI_RESET_NO_ESCALATE|SG_SCSI_RESET_NOTHING])"
+	       " = -1 EBADF (%m)\n", "SG_SCSI_RESET");
+
+	*pint = 1;
+	ioctl(-1, SG_SCSI_RESET, pint);
+	printf("ioctl(-1, %s, [SG_SCSI_RESET_DEVICE]) = -1 EBADF (%m)\n",
+	       "SG_SCSI_RESET");
+
+	ioctl(-1, 0x22ff, 0);
+	printf("ioctl(-1, _IOC(0, 0x22, 0xff, 0), 0) = -1 EBADF (%m)\n");
+
+	static const unsigned long magic =
+		(unsigned long) 0xdeadbeeffacefeedULL;
+	ioctl(-1, 0x22ff, magic);
+	printf("ioctl(-1, _IOC(0, 0x22, 0xff, 0), %#lx) = -1 EBADF (%m)\n",
+	       magic);
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("HAVE_SCSI_SG_H")
+
+#endif
diff --git a/tests/ioctl_scsi.test b/tests/ioctl_scsi.test
new file mode 100755
index 0000000..2710f12
--- /dev/null
+++ b/tests/ioctl_scsi.test
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Check decoding of SCSI ioctl commands.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests/ioctl_sg_io_v3.c b/tests/ioctl_sg_io_v3.c
new file mode 100644
index 0000000..ef25795
--- /dev/null
+++ b/tests/ioctl_sg_io_v3.c
@@ -0,0 +1,418 @@
+/*
+ * Check decoding of ioctl SG_IO v3 commands.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#ifdef HAVE_SCSI_SG_H
+
+# include <inttypes.h>
+# include <stdio.h>
+# include <sys/ioctl.h>
+# include <sys/uio.h>
+# include <scsi/sg.h>
+
+int
+main(void)
+{
+	ioctl(-1, SG_IO, 0);
+	printf("ioctl(-1, SG_IO, NULL) = -1 EBADF (%m)\n");
+
+	struct sg_io_hdr *const sg_io = tail_alloc(sizeof(*sg_io));
+	fill_memory(sg_io, sizeof(*sg_io));
+
+	const void *const efault = sg_io + 1;
+	ioctl(-1, SG_IO, efault);
+	printf("ioctl(-1, SG_IO, %p) = -1 EBADF (%m)\n", efault);
+
+	ioctl(-1, SG_IO, sg_io);
+	printf("ioctl(-1, SG_IO, [%u]) = -1 EBADF (%m)\n", sg_io->interface_id);
+
+	unsigned int *const piid = tail_alloc(sizeof(*piid));
+	*piid = (unsigned char) 'S';
+	ioctl(-1, SG_IO, piid);
+	printf("ioctl(-1, SG_IO, {interface_id='S', %p}) = -1 EBADF (%m)\n", piid + 1);
+
+	sg_io->interface_id = (unsigned char) 'S';
+	sg_io->dxfer_direction = -2;
+	sg_io->flags = -1U;
+	sg_io->info = -1U;
+	sg_io->dxferp = (void *) (unsigned long) 0xfacefeedfffffff1ULL;
+	sg_io->cmdp = (void *) (unsigned long) 0xfacefeedfffffff2ULL;
+	sg_io->sbp = (void *) (unsigned long) 0xfacefeedfffffff3ULL;
+
+	ioctl(-1, SG_IO, sg_io);
+	printf("ioctl(-1, SG_IO, {interface_id='S'"
+	       ", dxfer_direction=SG_DXFER_TO_DEV"
+	       ", cmd_len=%u"
+	       ", cmdp=%p"
+	       ", mx_sb_len=%u"
+	       ", iovec_count=%u"
+	       ", dxfer_len=%u"
+	       ", timeout=%u"
+	       ", flags=SG_FLAG_DIRECT_IO|SG_FLAG_UNUSED_LUN_INHIBIT"
+	       "|SG_FLAG_MMAP_IO|SG_FLAG_NO_DXFER"
+	       "|SG_FLAG_Q_AT_TAIL|SG_FLAG_Q_AT_HEAD|0xfffeffc8"
+	       ", dxferp=%p"
+	       ", status=%#x"
+	       ", masked_status=%#x"
+	       ", msg_status=%#x"
+	       ", sb_len_wr=%u"
+	       ", sbp=%p"
+	       ", host_status=%#x"
+	       ", driver_status=%#x"
+	       ", resid=%d"
+	       ", duration=%u"
+	       ", info=SG_INFO_CHECK|SG_INFO_DIRECT_IO|SG_INFO_MIXED_IO|0xfffffff8"
+	       "}) = -1 EBADF (%m)\n",
+	       sg_io->cmd_len,
+	       sg_io->cmdp,
+	       sg_io->mx_sb_len,
+	       sg_io->iovec_count,
+	       sg_io->dxfer_len,
+	       sg_io->timeout,
+	       sg_io->dxferp,
+	       sg_io->status,
+	       sg_io->masked_status,
+	       sg_io->msg_status,
+	       sg_io->sb_len_wr,
+	       sg_io->sbp,
+	       sg_io->host_status,
+	       sg_io->driver_status,
+	       sg_io->resid,
+	       sg_io->duration);
+
+	sg_io->dxfer_direction = -3;
+
+	ioctl(-1, SG_IO, sg_io);
+	printf("ioctl(-1, SG_IO, {interface_id='S'"
+	       ", dxfer_direction=SG_DXFER_FROM_DEV"
+	       ", cmd_len=%u"
+	       ", cmdp=%p"
+	       ", mx_sb_len=%u"
+	       ", iovec_count=%u"
+	       ", dxfer_len=%u"
+	       ", timeout=%u"
+	       ", flags=SG_FLAG_DIRECT_IO|SG_FLAG_UNUSED_LUN_INHIBIT"
+	       "|SG_FLAG_MMAP_IO|SG_FLAG_NO_DXFER"
+	       "|SG_FLAG_Q_AT_TAIL|SG_FLAG_Q_AT_HEAD|0xfffeffc8"
+	       ", dxferp=%p"
+	       ", status=%#x"
+	       ", masked_status=%#x"
+	       ", msg_status=%#x"
+	       ", sb_len_wr=%u"
+	       ", sbp=%p"
+	       ", host_status=%#x"
+	       ", driver_status=%#x"
+	       ", resid=%d"
+	       ", duration=%u"
+	       ", info=SG_INFO_CHECK|SG_INFO_DIRECT_IO|SG_INFO_MIXED_IO|0xfffffff8"
+	       "}) = -1 EBADF (%m)\n",
+	       sg_io->cmd_len,
+	       sg_io->cmdp,
+	       sg_io->mx_sb_len,
+	       sg_io->iovec_count,
+	       sg_io->dxfer_len,
+	       sg_io->timeout,
+	       sg_io->dxferp,
+	       sg_io->status,
+	       sg_io->masked_status,
+	       sg_io->msg_status,
+	       sg_io->sb_len_wr,
+	       sg_io->sbp,
+	       sg_io->host_status,
+	       sg_io->driver_status,
+	       sg_io->resid,
+	       sg_io->duration);
+
+	const struct iovec iov[] = {
+		{
+			.iov_base = (void *) efault - 2,
+			.iov_len = 2
+		}, {
+			.iov_base = (void *) efault - 3,
+			.iov_len = 4
+		}
+	};
+	struct iovec *const t_iov = tail_memdup(iov, sizeof(iov));
+
+	sg_io->flags = 0x24;
+	sg_io->info = 1;
+	sg_io->dxfer_direction = -2;
+
+	sg_io->iovec_count = ARRAY_SIZE(iov);
+	sg_io->dxfer_len = iov[0].iov_len + iov[1].iov_len - 1;
+	sg_io->dxferp = t_iov;
+
+	ioctl(-1, SG_IO, sg_io);
+	printf("ioctl(-1, SG_IO, {interface_id='S'"
+	       ", dxfer_direction=SG_DXFER_TO_DEV"
+	       ", cmd_len=%u"
+	       ", cmdp=%p"
+	       ", mx_sb_len=%u"
+	       ", iovec_count=%u"
+	       ", dxfer_len=%u"
+	       ", timeout=%u"
+	       ", flags=SG_FLAG_MMAP_IO|SG_FLAG_Q_AT_HEAD"
+	       ", dxferp=[{iov_base=\"\\%o\\%o\", iov_len=%u}"
+	       ", {iov_base=\"\\%o\\%o\\%o\", iov_len=%u}]"
+	       ", status=%#x"
+	       ", masked_status=%#x"
+	       ", msg_status=%#x"
+	       ", sb_len_wr=%u"
+	       ", sbp=%p"
+	       ", host_status=%#x"
+	       ", driver_status=%#x"
+	       ", resid=%d"
+	       ", duration=%u"
+	       ", info=SG_INFO_CHECK"
+	       "}) = -1 EBADF (%m)\n",
+	       sg_io->cmd_len,
+	       sg_io->cmdp,
+	       sg_io->mx_sb_len,
+	       sg_io->iovec_count,
+	       sg_io->dxfer_len,
+	       sg_io->timeout,
+	       * (unsigned char *) (iov[0].iov_base + 0),
+	       * (unsigned char *) (iov[0].iov_base + 1),
+	       (unsigned int) iov[0].iov_len,
+	       * (unsigned char *) (iov[1].iov_base + 0),
+	       * (unsigned char *) (iov[1].iov_base + 1),
+	       * (unsigned char *) (iov[1].iov_base + 2),
+	       (unsigned int) iov[1].iov_len,
+	       sg_io->status,
+	       sg_io->masked_status,
+	       sg_io->msg_status,
+	       sg_io->sb_len_wr,
+	       sg_io->sbp,
+	       sg_io->host_status,
+	       sg_io->driver_status,
+	       sg_io->resid,
+	       sg_io->duration);
+
+	sg_io->flags = 0x11;
+	sg_io->dxfer_direction = -3;
+	sg_io->resid = sg_io->dxfer_len + 1;
+
+	ioctl(-1, SG_IO, sg_io);
+	printf("ioctl(-1, SG_IO, {interface_id='S'"
+	       ", dxfer_direction=SG_DXFER_FROM_DEV"
+	       ", cmd_len=%u"
+	       ", cmdp=%p"
+	       ", mx_sb_len=%u"
+	       ", iovec_count=%u"
+	       ", dxfer_len=%u"
+	       ", timeout=%u"
+	       ", flags=SG_FLAG_DIRECT_IO|SG_FLAG_Q_AT_TAIL"
+	       ", dxferp=[{iov_base=\"\\%o\\%o\", iov_len=%u}"
+	       ", {iov_base=\"\\%o\\%o\\%o\", iov_len=%u}]"
+	       ", status=%#x"
+	       ", masked_status=%#x"
+	       ", msg_status=%#x"
+	       ", sb_len_wr=%u"
+	       ", sbp=%p"
+	       ", host_status=%#x"
+	       ", driver_status=%#x"
+	       ", resid=%d"
+	       ", duration=%u"
+	       ", info=SG_INFO_CHECK"
+	       "}) = -1 EBADF (%m)\n",
+	       sg_io->cmd_len,
+	       sg_io->cmdp,
+	       sg_io->mx_sb_len,
+	       sg_io->iovec_count,
+	       sg_io->dxfer_len,
+	       sg_io->timeout,
+	       * (unsigned char *) (iov[0].iov_base + 0),
+	       * (unsigned char *) (iov[0].iov_base + 1),
+	       (unsigned int) iov[0].iov_len,
+	       * (unsigned char *) (iov[1].iov_base + 0),
+	       * (unsigned char *) (iov[1].iov_base + 1),
+	       * (unsigned char *) (iov[1].iov_base + 2),
+	       (unsigned int) iov[1].iov_len,
+	       sg_io->status,
+	       sg_io->masked_status,
+	       sg_io->msg_status,
+	       sg_io->sb_len_wr,
+	       sg_io->sbp,
+	       sg_io->host_status,
+	       sg_io->driver_status,
+	       sg_io->resid,
+	       sg_io->duration);
+
+	sg_io->flags = 0x10000;
+	sg_io->info = 0xdeadbeef;
+	sg_io->iovec_count = 0;
+	sg_io->dxfer_len = 5;
+	sg_io->resid = 1;
+	sg_io->dxferp = (void *) efault - (sg_io->dxfer_len - sg_io->resid);
+
+	ioctl(-1, SG_IO, sg_io);
+	printf("ioctl(-1, SG_IO, {interface_id='S'"
+	       ", dxfer_direction=SG_DXFER_FROM_DEV"
+	       ", cmd_len=%u"
+	       ", cmdp=%p"
+	       ", mx_sb_len=%u"
+	       ", iovec_count=%u"
+	       ", dxfer_len=%u"
+	       ", timeout=%u"
+	       ", flags=SG_FLAG_NO_DXFER"
+	       ", dxferp=\"\\x%x\\x%x\\x%x\\x%x\""
+	       ", status=%#x"
+	       ", masked_status=%#x"
+	       ", msg_status=%#x"
+	       ", sb_len_wr=%u"
+	       ", sbp=%p"
+	       ", host_status=%#x"
+	       ", driver_status=%#x"
+	       ", resid=%d"
+	       ", duration=%u"
+	       ", info=SG_INFO_CHECK|SG_INFO_DIRECT_IO|SG_INFO_MIXED_IO|0xdeadbee8"
+	       "}) = -1 EBADF (%m)\n",
+	       sg_io->cmd_len,
+	       sg_io->cmdp,
+	       sg_io->mx_sb_len,
+	       sg_io->iovec_count,
+	       sg_io->dxfer_len,
+	       sg_io->timeout,
+	       * (unsigned char *) (sg_io->dxferp + 0),
+	       * (unsigned char *) (sg_io->dxferp + 1),
+	       * (unsigned char *) (sg_io->dxferp + 2),
+	       * (unsigned char *) (sg_io->dxferp + 3),
+	       sg_io->status,
+	       sg_io->masked_status,
+	       sg_io->msg_status,
+	       sg_io->sb_len_wr,
+	       sg_io->sbp,
+	       sg_io->host_status,
+	       sg_io->driver_status,
+	       sg_io->resid,
+	       sg_io->duration);
+
+	sg_io->flags = 2;
+	sg_io->dxfer_direction = -4;
+	sg_io->dxfer_len = 3;
+	sg_io->resid = 1;
+	sg_io->dxferp = (void *) efault - sg_io->dxfer_len;
+
+	ioctl(-1, SG_IO, sg_io);
+	printf("ioctl(-1, SG_IO, {interface_id='S'"
+	       ", dxfer_direction=SG_DXFER_TO_FROM_DEV"
+	       ", cmd_len=%u"
+	       ", cmdp=%p"
+	       ", mx_sb_len=%u"
+	       ", iovec_count=%u"
+	       ", dxfer_len=%u"
+	       ", timeout=%u"
+	       ", flags=SG_FLAG_UNUSED_LUN_INHIBIT"
+	       ", dxferp=\"\\x%x\\x%x\\x%x\" => dxferp=\"\\x%x\\x%x\""
+	       ", status=%#x"
+	       ", masked_status=%#x"
+	       ", msg_status=%#x"
+	       ", sb_len_wr=%u"
+	       ", sbp=%p"
+	       ", host_status=%#x"
+	       ", driver_status=%#x"
+	       ", resid=%d"
+	       ", duration=%u"
+	       ", info=SG_INFO_CHECK|SG_INFO_DIRECT_IO|SG_INFO_MIXED_IO|0xdeadbee8"
+	       "}) = -1 EBADF (%m)\n",
+	       sg_io->cmd_len,
+	       sg_io->cmdp,
+	       sg_io->mx_sb_len,
+	       sg_io->iovec_count,
+	       sg_io->dxfer_len,
+	       sg_io->timeout,
+	       * (unsigned char *) (sg_io->dxferp + 0),
+	       * (unsigned char *) (sg_io->dxferp + 1),
+	       * (unsigned char *) (sg_io->dxferp + 2),
+	       * (unsigned char *) (sg_io->dxferp + 0),
+	       * (unsigned char *) (sg_io->dxferp + 1),
+	       sg_io->status,
+	       sg_io->masked_status,
+	       sg_io->msg_status,
+	       sg_io->sb_len_wr,
+	       sg_io->sbp,
+	       sg_io->host_status,
+	       sg_io->driver_status,
+	       sg_io->resid,
+	       sg_io->duration);
+
+	sg_io->flags = 0;
+	sg_io->resid = sg_io->dxfer_len;
+
+	ioctl(-1, SG_IO, sg_io);
+	printf("ioctl(-1, SG_IO, {interface_id='S'"
+	       ", dxfer_direction=SG_DXFER_TO_FROM_DEV"
+	       ", cmd_len=%u"
+	       ", cmdp=%p"
+	       ", mx_sb_len=%u"
+	       ", iovec_count=%u"
+	       ", dxfer_len=%u"
+	       ", timeout=%u"
+	       ", flags=0"
+	       ", dxferp=\"\\x%x\\x%x\\x%x\""
+	       ", status=%#x"
+	       ", masked_status=%#x"
+	       ", msg_status=%#x"
+	       ", sb_len_wr=%u"
+	       ", sbp=%p"
+	       ", host_status=%#x"
+	       ", driver_status=%#x"
+	       ", resid=%d"
+	       ", duration=%u"
+	       ", info=SG_INFO_CHECK|SG_INFO_DIRECT_IO|SG_INFO_MIXED_IO|0xdeadbee8"
+	       "}) = -1 EBADF (%m)\n",
+	       sg_io->cmd_len,
+	       sg_io->cmdp,
+	       sg_io->mx_sb_len,
+	       sg_io->iovec_count,
+	       sg_io->dxfer_len,
+	       sg_io->timeout,
+	       * (unsigned char *) (sg_io->dxferp + 0),
+	       * (unsigned char *) (sg_io->dxferp + 1),
+	       * (unsigned char *) (sg_io->dxferp + 2),
+	       sg_io->status,
+	       sg_io->masked_status,
+	       sg_io->msg_status,
+	       sg_io->sb_len_wr,
+	       sg_io->sbp,
+	       sg_io->host_status,
+	       sg_io->driver_status,
+	       sg_io->resid,
+	       sg_io->duration);
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("HAVE_SCSI_SG_H")
+
+#endif
diff --git a/tests/ioctl_sg_io_v3.test b/tests/ioctl_sg_io_v3.test
new file mode 100755
index 0000000..dacacdf
--- /dev/null
+++ b/tests/ioctl_sg_io_v3.test
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Check decoding of ioctl SG_IO v3 commands.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests/ioctl_sg_io_v4.c b/tests/ioctl_sg_io_v4.c
new file mode 100644
index 0000000..5f899ee
--- /dev/null
+++ b/tests/ioctl_sg_io_v4.c
@@ -0,0 +1,238 @@
+/*
+ * Check decoding of ioctl SG_IO v4 commands.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#ifdef HAVE_LINUX_BSG_H
+
+# include <inttypes.h>
+# include <stdio.h>
+# include <sys/ioctl.h>
+# include <sys/uio.h>
+# include <linux/bsg.h>
+
+# include "xlat/scsi_sg_commands.h"
+
+int
+main(void)
+{
+	ioctl(-1, SG_IO, 0);
+	printf("ioctl(-1, SG_IO, NULL) = -1 EBADF (%m)\n");
+
+	struct sg_io_v4 *const sg_io = tail_alloc(sizeof(*sg_io));
+	fill_memory(sg_io, sizeof(*sg_io));
+
+	const void *const efault = sg_io + 1;
+	ioctl(-1, SG_IO, efault);
+	printf("ioctl(-1, SG_IO, %p) = -1 EBADF (%m)\n", efault);
+
+	ioctl(-1, SG_IO, sg_io);
+	printf("ioctl(-1, SG_IO, [%u]) = -1 EBADF (%m)\n", sg_io->guard);
+
+	unsigned int *const pguard = tail_alloc(sizeof(*pguard));
+	*pguard = (unsigned char) 'Q';
+	ioctl(-1, SG_IO, pguard);
+	printf("ioctl(-1, SG_IO, {guard='Q', %p}) = -1 EBADF (%m)\n", pguard + 1);
+
+	sg_io->guard = (unsigned char) 'Q';
+	sg_io->protocol = 0;
+	sg_io->subprotocol = 1;
+	sg_io->flags = -1U;
+	sg_io->info = -1U;
+	sg_io->request = (kernel_ulong_t) 0xfacefeedfffffff1ULL;
+	sg_io->response = (kernel_ulong_t) 0xfacefeedfffffff2ULL;
+	sg_io->dout_xferp = (kernel_ulong_t) 0xfacefeedfffffff3ULL;
+	sg_io->din_xferp = (kernel_ulong_t) 0xfacefeedfffffff4ULL;
+	ioctl(-1, SG_IO, sg_io);
+	printf("ioctl(-1, SG_IO, {guard='Q'"
+	       ", protocol=BSG_PROTOCOL_SCSI"
+	       ", subprotocol=BSG_SUB_PROTOCOL_SCSI_TMF"
+	       ", request_len=%u"
+	       ", request=%#llx"
+	       ", request_tag=%#" PRI__x64
+	       ", request_attr=%u"
+	       ", request_priority=%u"
+	       ", request_extra=%u"
+	       ", max_response_len=%u"
+	       ", dout_iovec_count=%u"
+	       ", dout_xfer_len=%u"
+	       ", din_iovec_count=%u"
+	       ", din_xfer_len=%u"
+	       ", dout_xferp=%#llx"
+	       ", timeout=%u"
+	       ", flags=BSG_FLAG_Q_AT_TAIL|BSG_FLAG_Q_AT_HEAD|0xffffffcf"
+	       ", usr_ptr=%#" PRI__x64
+	       ", response_len=%u"
+	       ", response=%#llx"
+	       ", din_xferp=%#llx"
+	       ", driver_status=%#x"
+	       ", transport_status=%#x"
+	       ", device_status=%#x"
+	       ", retry_delay=%u"
+	       ", info=SG_INFO_CHECK|SG_INFO_DIRECT_IO|SG_INFO_MIXED_IO|0xfffffff8"
+	       ", duration=%u"
+	       ", response_len=%u"
+	       ", din_resid=%d"
+	       ", dout_resid=%d"
+	       ", generated_tag=%#" PRI__x64 "}) = -1 EBADF (%m)\n",
+	       sg_io->request_len,
+	       (unsigned long long) (kernel_ulong_t) sg_io->request,
+	       sg_io->request_tag,
+	       sg_io->request_attr,
+	       sg_io->request_priority,
+	       sg_io->request_extra,
+	       sg_io->max_response_len,
+	       sg_io->dout_iovec_count,
+	       sg_io->dout_xfer_len,
+	       sg_io->din_iovec_count,
+	       sg_io->din_xfer_len,
+	       (unsigned long long) (kernel_ulong_t) sg_io->dout_xferp,
+	       sg_io->timeout,
+	       sg_io->usr_ptr,
+	       sg_io->response_len,
+	       (unsigned long long) (kernel_ulong_t) sg_io->response,
+	       (unsigned long long) (kernel_ulong_t) sg_io->din_xferp,
+	       sg_io->driver_status,
+	       sg_io->transport_status,
+	       sg_io->device_status,
+	       sg_io->retry_delay,
+	       sg_io->duration,
+	       sg_io->response_len,
+	       sg_io->din_resid,
+	       sg_io->dout_resid,
+	       sg_io->generated_tag);
+
+	const struct iovec iov[] = {
+		{
+			.iov_base = (void *) efault - 2,
+			.iov_len = 2
+		}, {
+			.iov_base = (void *) efault - 3,
+			.iov_len = 4
+		}
+	};
+	const struct iovec *const t_iov = tail_memdup(iov, sizeof(iov));
+	sg_io->dout_iovec_count = ARRAY_SIZE(iov);
+	sg_io->dout_xfer_len = iov[0].iov_len + iov[1].iov_len - 1;
+	sg_io->dout_xferp = (unsigned long) t_iov;
+
+	sg_io->din_iovec_count = 0;
+	sg_io->din_xfer_len = 5;
+	sg_io->din_resid = 1;
+	sg_io->din_xferp = (unsigned long) efault -
+		(sg_io->dout_xfer_len - sg_io->din_resid);
+
+	sg_io->request_len = 3;
+	sg_io->request = (unsigned long) efault - sg_io->request_len;
+	sg_io->response_len = 2;
+	sg_io->response = (unsigned long) efault - sg_io->response_len;
+
+	sg_io->flags = 0x20;
+	sg_io->info = 1;
+
+	ioctl(-1, SG_IO, sg_io);
+	printf("ioctl(-1, SG_IO, {guard='Q'"
+	       ", protocol=BSG_PROTOCOL_SCSI"
+	       ", subprotocol=BSG_SUB_PROTOCOL_SCSI_TMF"
+	       ", request_len=%u"
+	       ", request=\"\\x%x\\x%x\\x%x\""
+	       ", request_tag=%#" PRI__x64
+	       ", request_attr=%u"
+	       ", request_priority=%u"
+	       ", request_extra=%u"
+	       ", max_response_len=%u"
+	       ", dout_iovec_count=%u"
+	       ", dout_xfer_len=%u"
+	       ", din_iovec_count=%u"
+	       ", din_xfer_len=%u"
+	       ", dout_xferp=[{iov_base=\"\\%o\\%o\", iov_len=%u}"
+	       ", {iov_base=\"\\%o\\%o\\%o\", iov_len=%u}]"
+	       ", timeout=%u, flags=BSG_FLAG_Q_AT_HEAD"
+	       ", usr_ptr=%#" PRI__x64
+	       ", response_len=%u"
+	       ", response=\"\\x%x\\x%x\""
+	       ", din_xferp=\"\\x%x\\x%x\\x%x\\x%x\""
+	       ", driver_status=%#x"
+	       ", transport_status=%#x"
+	       ", device_status=%#x"
+	       ", retry_delay=%u"
+	       ", info=SG_INFO_CHECK"
+	       ", duration=%u"
+	       ", response_len=%u"
+	       ", din_resid=%d"
+	       ", dout_resid=%d"
+	       ", generated_tag=%#" PRI__x64 "}) = -1 EBADF (%m)\n",
+	       sg_io->request_len,
+	       * (unsigned char *) ((unsigned long) sg_io->request + 0),
+	       * (unsigned char *) ((unsigned long) sg_io->request + 1),
+	       * (unsigned char *) ((unsigned long) sg_io->request + 2),
+	       sg_io->request_tag,
+	       sg_io->request_attr,
+	       sg_io->request_priority,
+	       sg_io->request_extra,
+	       sg_io->max_response_len,
+	       sg_io->dout_iovec_count,
+	       sg_io->dout_xfer_len,
+	       sg_io->din_iovec_count,
+	       sg_io->din_xfer_len,
+	       * (unsigned char *) (iov[0].iov_base + 0),
+	       * (unsigned char *) (iov[0].iov_base + 1),
+	       (unsigned int) iov[0].iov_len,
+	       * (unsigned char *) (iov[1].iov_base + 0),
+	       * (unsigned char *) (iov[1].iov_base + 1),
+	       * (unsigned char *) (iov[1].iov_base + 2),
+	       (unsigned int) iov[1].iov_len,
+	       sg_io->timeout,
+	       sg_io->usr_ptr,
+	       sg_io->response_len,
+	       * (unsigned char *) ((unsigned long) sg_io->response + 0),
+	       * (unsigned char *) ((unsigned long) sg_io->response + 1),
+	       * (unsigned char *) ((unsigned long) sg_io->din_xferp + 0),
+	       * (unsigned char *) ((unsigned long) sg_io->din_xferp + 1),
+	       * (unsigned char *) ((unsigned long) sg_io->din_xferp + 2),
+	       * (unsigned char *) ((unsigned long) sg_io->din_xferp + 3),
+	       sg_io->driver_status,
+	       sg_io->transport_status,
+	       sg_io->device_status,
+	       sg_io->retry_delay,
+	       sg_io->duration,
+	       sg_io->response_len,
+	       sg_io->din_resid,
+	       sg_io->dout_resid,
+	       sg_io->generated_tag);
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("HAVE_LINUX_BSG_H")
+
+#endif
diff --git a/tests/ioctl_sg_io_v4.test b/tests/ioctl_sg_io_v4.test
new file mode 100755
index 0000000..2556722
--- /dev/null
+++ b/tests/ioctl_sg_io_v4.test
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# Check decoding of ioctl SG_IO v4 commands.
+. "${srcdir=.}/ioctl.test"
diff --git a/tests/ioctl_sock_gifconf.c b/tests/ioctl_sock_gifconf.c
new file mode 100644
index 0000000..ae0bea4
--- /dev/null
+++ b/tests/ioctl_sock_gifconf.c
@@ -0,0 +1,182 @@
+/*
+ * Check decoding of SIOCGIFCONF command of ioctl syscall.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#include <stdbool.h>
+#include <stdio.h>
+#include <string.h>
+
+#include <arpa/inet.h>
+#include <net/if.h>
+#include <sys/ioctl.h>
+#include <sys/socket.h>
+
+#define MAX_STRLEN 1
+
+static void
+print_ifc_len(int val)
+{
+	if (val % (int) sizeof(struct ifreq))
+		printf("%d", val);
+	else
+		printf("%d * sizeof(struct ifreq)",
+		       val / (int) sizeof(struct ifreq));
+}
+
+static void
+print_ifconf(struct ifconf *ifc, int in_len, char *in_buf, long rc)
+{
+	if (in_buf) {
+		printf("{ifc_len=");
+		print_ifc_len(in_len);
+
+		if (in_len != ifc->ifc_len) {
+			printf(" => ");
+			print_ifc_len(ifc->ifc_len);
+		}
+	} else {
+		printf("{ifc_len=");
+		print_ifc_len(ifc->ifc_len);
+	}
+
+	printf(", ifc_buf=");
+
+	if ((rc < 0) || !in_buf) {
+		if (in_buf)
+			printf("%p", in_buf);
+		else
+			printf("NULL");
+	} else {
+		int i;
+
+		printf("[");
+		for (i = 0; i < (ifc->ifc_len) &&
+		    i < (int) (MAX_STRLEN * sizeof(struct ifreq));
+		    i += sizeof(struct ifreq)) {
+			struct ifreq *ifr = (struct ifreq *) (ifc->ifc_buf + i);
+			struct sockaddr_in *const sa_in =
+				(struct sockaddr_in *) &(ifr->ifr_addr);
+
+			if (i)
+				printf(", ");
+			printf("{ifr_name=\"%s\", ifr_addr={sa_family=AF_INET, "
+			       "sin_port=htons(%u), sin_addr=inet_addr(\"%s\")}"
+			       "}", ifr->ifr_name, ntohs(sa_in->sin_port),
+			       inet_ntoa(sa_in->sin_addr));
+		}
+
+		if ((size_t) (ifc->ifc_len - i) >= sizeof(struct ifreq))
+			printf(", ...");
+
+		printf("]");
+	}
+
+	printf("}");
+}
+
+static void
+gifconf_ioctl(int fd, struct ifconf *ifc, bool ifc_valid)
+{
+	const char * errstr;
+	int in_len;
+	char *in_buf;
+	long rc;
+
+	if (ifc_valid) {
+		in_len = ifc->ifc_len;
+		in_buf = ifc->ifc_buf;
+	}
+
+	rc = ioctl(fd, SIOCGIFCONF, ifc);
+	errstr = sprintrc(rc);
+
+	printf("ioctl(%d, SIOCGIFCONF, ", fd);
+	if (ifc_valid) {
+		print_ifconf(ifc, in_len, in_buf, rc);
+	} else {
+		if (ifc)
+			printf("%p", ifc);
+		else
+			printf("NULL");
+	}
+
+	printf(") = %s\n", errstr);
+}
+
+int
+main(int argc, char *argv[])
+{
+	struct ifreq *ifr = tail_alloc(2 * sizeof(*ifr));
+	struct ifconf *ifc = tail_alloc(sizeof(*ifc));
+
+	struct sockaddr_in addr;
+	int fd;
+
+	memset(&addr, 0, sizeof(addr));
+	addr.sin_family = AF_INET;
+	addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
+
+	if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
+		perror_msg_and_skip("socket AF_INET");
+
+	gifconf_ioctl(fd, NULL, false);
+	gifconf_ioctl(fd, ifc + 1, false);
+
+	ifc->ifc_len = 3141592653U;
+	ifc->ifc_buf = NULL;
+	gifconf_ioctl(fd, ifc, true);
+
+	ifc->ifc_len = 0;
+	ifc->ifc_buf = (char *) (ifr + 2);
+	gifconf_ioctl(fd, ifc, true);
+
+	ifc->ifc_len = 1;
+	ifc->ifc_buf = (char *) (ifr + 1);
+	gifconf_ioctl(fd, ifc, true);
+
+	ifc->ifc_len = 1 * sizeof(*ifr);
+	ifc->ifc_buf = (char *) (ifr + 1);
+	gifconf_ioctl(fd, ifc, true);
+
+	ifc->ifc_len = 2 * sizeof(*ifr);
+	ifc->ifc_buf = (char *) (ifr + 1);
+	gifconf_ioctl(fd, ifc, true);
+
+	ifc->ifc_len = 2 * sizeof(*ifr) + 2;
+	ifc->ifc_buf = (char *) ifr;
+	gifconf_ioctl(fd, ifc, true);
+
+	ifc->ifc_len = 3 * sizeof(*ifr) + 4;
+	ifc->ifc_buf = (char *) ifr;
+	gifconf_ioctl(fd, ifc, true);
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
diff --git a/tests/ioctl_sock_gifconf.test b/tests/ioctl_sock_gifconf.test
new file mode 100755
index 0000000..2e2fc01
--- /dev/null
+++ b/tests/ioctl_sock_gifconf.test
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# Check decoding of SIOCGIFCONF ioctl.
+
+. "${srcdir=.}/init.sh"
+
+run_prog > /dev/null
+run_strace -a28 -s1 -eioctl $args > "$EXP"
+check_prog grep
+grep -v '^ioctl([012],' < "$LOG" > "$OUT"
+match_diff "$OUT" "$EXP"
+rm -f "$EXP" "$OUT"
diff --git a/tests/ioctl_v4l2.c b/tests/ioctl_v4l2.c
index 850783d..af8c341 100644
--- a/tests/ioctl_v4l2.c
+++ b/tests/ioctl_v4l2.c
@@ -32,40 +32,38 @@
 #include <linux/types.h>
 #include <linux/videodev2.h>
 
+#if WORDS_BIGENDIAN
+# define cc0(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 24))
+# define cc1(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 16))
+# define cc2(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 8))
+# define cc3(arg) ((unsigned int) (unsigned char) (arg))
+# define fourcc(a0, a1, a2, a3) \
+	((unsigned int)(a3) | \
+	 ((unsigned int)(a2) << 8) | \
+	 ((unsigned int)(a1) << 16) | \
+	 ((unsigned int)(a0) << 24))
+#else
+# define cc0(arg) ((unsigned int) (unsigned char) (arg))
+# define cc1(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 8))
+# define cc2(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 16))
+# define cc3(arg) ((unsigned int) (unsigned char) ((unsigned int) (arg) >> 24))
+# define fourcc(a0, a1, a2, a3) \
+	((unsigned int)(a0) | \
+	 ((unsigned int)(a1) << 8) | \
+	 ((unsigned int)(a2) << 16) | \
+	 ((unsigned int)(a3) << 24))
+#endif
+
 static const unsigned int magic = 0xdeadbeef;
 
-static void
-init_magic(void *addr, const unsigned int size)
-{
-	unsigned int *p = addr;
-	const unsigned int *end = addr + size;
-
-	for (; p < end; ++p)
-		*(unsigned int *) p = magic;
-}
-
 int
 main(void )
 {
 	const unsigned int size = get_page_size();
 	void *const page = tail_alloc(size);
-	init_magic(page, size);
+	fill_memory(page, size);
 
-	const union u_pixel_format {
-		unsigned int pixelformat;
-		unsigned char cc[sizeof(int)];
-	} u = {
-#if WORDS_BIGENDIAN
-		.cc = {
-			(unsigned char) (magic >> 24),
-			(unsigned char) (magic >> 16),
-			(unsigned char) (magic >> 8),
-			(unsigned char) magic
-		}
-#else
-		.pixelformat = magic
-#endif
-	};
+	unsigned char cc[sizeof(int)] = { 'A', '\'', '\\', '\xfa' };
 
 	/* VIDIOC_QUERYCAP */
 	ioctl(-1, VIDIOC_QUERYCAP, 0);
@@ -83,14 +81,14 @@
 	p_fmtdesc->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
 	ioctl(-1, VIDIOC_ENUM_FMT, p_fmtdesc);
 	printf("ioctl(-1, VIDIOC_ENUM_FMT, {index=%u"
-	       ", type=V4L2_BUF_TYPE_VIDEO_CAPTURE}) = -1 EBADF (%m)\n", magic);
+	       ", type=V4L2_BUF_TYPE_VIDEO_CAPTURE}) = -1 EBADF (%m)\n",
+	       p_fmtdesc->index);
 
 	/* VIDIOC_G_FMT */
 	ioctl(-1, VIDIOC_G_FMT, 0);
 	printf("ioctl(-1, VIDIOC_G_FMT, NULL) = -1 EBADF (%m)\n");
 
-	struct v4l2_format *const p_format =
-		tail_alloc(sizeof(*p_format));
+	struct v4l2_format *const p_format = tail_alloc(sizeof(*p_format));
 	p_format->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
 
 	ioctl(-1, VIDIOC_G_FMT, p_format);
@@ -104,7 +102,7 @@
 	p_format->type = V4L2_BUF_TYPE_VIDEO_OUTPUT;
 	p_format->fmt.pix.width = 0xdad1beaf;
 	p_format->fmt.pix.height = 0xdad2beaf;
-	p_format->fmt.pix.pixelformat = 0xdeadbeef;
+	p_format->fmt.pix.pixelformat = magic;
 	p_format->fmt.pix.field = V4L2_FIELD_NONE;
 	p_format->fmt.pix.bytesperline = 0xdad3beaf;
 	p_format->fmt.pix.sizeimage = 0xdad4beaf;
@@ -117,7 +115,7 @@
 	       ", field=V4L2_FIELD_NONE, bytesperline=%u, sizeimage=%u"
 	       ", colorspace=V4L2_COLORSPACE_JPEG}}) = -1 EBADF (%m)\n",
 	       p_format->fmt.pix.width, p_format->fmt.pix.height,
-	       u.cc[0], u.cc[1], u.cc[2], u.cc[3],
+	       cc0(magic), cc1(magic), cc2(magic), cc3(magic),
 	       p_format->fmt.pix.bytesperline, p_format->fmt.pix.sizeimage);
 
 	/* VIDIOC_TRY_FMT */
@@ -129,7 +127,7 @@
 	p_format->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
 	p_format->fmt.pix_mp.width = 0xdad1beaf;
 	p_format->fmt.pix_mp.height = 0xdad2beaf;
-	p_format->fmt.pix_mp.pixelformat = 0xdeadbeef;
+	p_format->fmt.pix_mp.pixelformat = magic;
 	p_format->fmt.pix_mp.field = V4L2_FIELD_NONE;
 	p_format->fmt.pix_mp.colorspace = V4L2_COLORSPACE_JPEG;
 	unsigned int i;
@@ -145,7 +143,7 @@
 	       ", field=V4L2_FIELD_NONE, colorspace=V4L2_COLORSPACE_JPEG"
 	       ", plane_fmt=[",
 	       p_format->fmt.pix_mp.width, p_format->fmt.pix_mp.height,
-	       u.cc[0], u.cc[1], u.cc[2], u.cc[3]);
+	       cc0(magic), cc1(magic), cc2(magic), cc3(magic));
 	for (i = 0; i < ARRAY_SIZE(p_format->fmt.pix_mp.plane_fmt); ++i) {
 		if (i)
 			printf(", ");
@@ -156,44 +154,55 @@
 	printf("], num_planes=%u}}) = -1 EBADF (%m)\n",
 	       p_format->fmt.pix_mp.num_planes);
 #else
-	ioctl(-1, VIDIOC_TRY_FMT, page);
+	struct v4l2_format *const p_v4l2_format =
+		page + size - sizeof(*p_v4l2_format);
+	ioctl(-1, VIDIOC_TRY_FMT, p_v4l2_format);
 	printf("ioctl(-1, VIDIOC_TRY_FMT, {type=%#x /* V4L2_BUF_TYPE_??? */})"
-	       " = -1 EBADF (%m)\n", magic);
+	       " = -1 EBADF (%m)\n", p_v4l2_format->type);
 #endif
 
 	/* VIDIOC_REQBUFS */
 	ioctl(-1, VIDIOC_REQBUFS, 0);
 	printf("ioctl(-1, VIDIOC_REQBUFS, NULL) = -1 EBADF (%m)\n");
 
-	ioctl(-1, VIDIOC_REQBUFS,
-	      page + size - sizeof(struct v4l2_requestbuffers));
+	struct v4l2_requestbuffers *const p_v4l2_requestbuffers =
+		page + size - sizeof(*p_v4l2_requestbuffers);
+	ioctl(-1, VIDIOC_REQBUFS, p_v4l2_requestbuffers);
 	printf("ioctl(-1, VIDIOC_REQBUFS, {count=%u, type=%#x"
 	       " /* V4L2_BUF_TYPE_??? */, memory=%#x /* V4L2_MEMORY_??? */})"
-	       " = -1 EBADF (%m)\n", magic, magic, magic);
+	       " = -1 EBADF (%m)\n",
+	       p_v4l2_requestbuffers->count,
+	       p_v4l2_requestbuffers->type,
+	       p_v4l2_requestbuffers->memory);
 
 	/* VIDIOC_QUERYBUF */
 	ioctl(-1, VIDIOC_QUERYBUF, 0);
 	printf("ioctl(-1, VIDIOC_QUERYBUF, NULL) = -1 EBADF (%m)\n");
 
-	ioctl(-1, VIDIOC_QUERYBUF, page + size - sizeof(struct v4l2_buffer));
+	struct v4l2_buffer *const p_v4l2_buffer =
+		page + size - sizeof(*p_v4l2_buffer);
+	ioctl(-1, VIDIOC_QUERYBUF, p_v4l2_buffer);
 	printf("ioctl(-1, VIDIOC_QUERYBUF, {type=%#x /* V4L2_BUF_TYPE_??? */"
-	       ", index=%u}) = -1 EBADF (%m)\n", magic, magic);
+	       ", index=%u}) = -1 EBADF (%m)\n",
+	       p_v4l2_buffer->type, p_v4l2_buffer->index);
 
 	/* VIDIOC_QBUF */
 	ioctl(-1, VIDIOC_QBUF, 0);
 	printf("ioctl(-1, VIDIOC_QBUF, NULL) = -1 EBADF (%m)\n");
 
-	ioctl(-1, VIDIOC_QBUF, page + size - sizeof(struct v4l2_buffer));
+	ioctl(-1, VIDIOC_QBUF, p_v4l2_buffer);
 	printf("ioctl(-1, VIDIOC_QBUF, {type=%#x /* V4L2_BUF_TYPE_??? */"
-	       ", index=%u}) = -1 EBADF (%m)\n", magic, magic);
+	       ", index=%u}) = -1 EBADF (%m)\n",
+	       p_v4l2_buffer->type, p_v4l2_buffer->index);
 
 	/* VIDIOC_DQBUF */
 	ioctl(-1, VIDIOC_DQBUF, 0);
 	printf("ioctl(-1, VIDIOC_DQBUF, NULL) = -1 EBADF (%m)\n");
 
-	ioctl(-1, VIDIOC_DQBUF, page + size - sizeof(struct v4l2_buffer));
+	ioctl(-1, VIDIOC_DQBUF, p_v4l2_buffer);
 	printf("ioctl(-1, VIDIOC_DQBUF, {type=%#x"
-	       " /* V4L2_BUF_TYPE_??? */}) = -1 EBADF (%m)\n", magic);
+	       " /* V4L2_BUF_TYPE_??? */}) = -1 EBADF (%m)\n",
+	       p_v4l2_buffer->type);
 
 	/* VIDIOC_G_FBUF */
 	ioctl(-1, VIDIOC_G_FBUF, 0);
@@ -206,42 +215,49 @@
 	ioctl(-1, VIDIOC_S_FBUF, 0);
 	printf("ioctl(-1, VIDIOC_S_FBUF, NULL) = -1 EBADF (%m)\n");
 
-	ioctl(-1, VIDIOC_S_FBUF, page + size - sizeof(struct v4l2_framebuffer));
+	struct v4l2_framebuffer *const p_v4l2_framebuffer =
+		page + size - sizeof(*p_v4l2_framebuffer);
+	ioctl(-1, VIDIOC_S_FBUF, p_v4l2_framebuffer);
 	printf("ioctl(-1, VIDIOC_S_FBUF, {capability=%#x"
-	       ", flags=%#x, base=%#lx}) = -1 EBADF (%m)\n",
-	       magic, magic, *(unsigned long *) page);
+	       ", flags=%#x, base=%p}) = -1 EBADF (%m)\n",
+	       p_v4l2_framebuffer->capability,
+	       p_v4l2_framebuffer->flags,
+	       p_v4l2_framebuffer->base);
 
 	/* VIDIOC_STREAMON */
 	ioctl(-1, VIDIOC_STREAMON, 0);
 	printf("ioctl(-1, VIDIOC_STREAMON, NULL) = -1 EBADF (%m)\n");
 
-	ioctl(-1, VIDIOC_STREAMON, page + size - sizeof(int));
+	int *const p_int = page + size - sizeof(int);
+	ioctl(-1, VIDIOC_STREAMON, p_int);
 	printf("ioctl(-1, VIDIOC_STREAMON, [%#x /* V4L2_BUF_TYPE_??? */])"
-	       " = -1 EBADF (%m)\n", magic);
+	       " = -1 EBADF (%m)\n", *p_int);
 
 	/* VIDIOC_STREAMOFF */
 	ioctl(-1, VIDIOC_STREAMOFF, 0);
 	printf("ioctl(-1, VIDIOC_STREAMOFF, NULL) = -1 EBADF (%m)\n");
 
-	ioctl(-1, VIDIOC_STREAMOFF, page + size - sizeof(int));
+	ioctl(-1, VIDIOC_STREAMOFF, p_int);
 	printf("ioctl(-1, VIDIOC_STREAMOFF, [%#x /* V4L2_BUF_TYPE_??? */])"
-	       " = -1 EBADF (%m)\n", magic);
+	       " = -1 EBADF (%m)\n", *p_int);
 
 	/* VIDIOC_G_PARM */
 	ioctl(-1, VIDIOC_G_PARM, 0);
 	printf("ioctl(-1, VIDIOC_G_PARM, NULL) = -1 EBADF (%m)\n");
 
-	ioctl(-1, VIDIOC_G_PARM, page + size - sizeof(struct v4l2_streamparm));
+	struct v4l2_streamparm *const p_v4l2_streamparm =
+		page + size - sizeof(*p_v4l2_streamparm);
+	ioctl(-1, VIDIOC_G_PARM, p_v4l2_streamparm);
 	printf("ioctl(-1, VIDIOC_G_PARM, {type=%#x /* V4L2_BUF_TYPE_??? */})"
-	       " = -1 EBADF (%m)\n", magic);
+	       " = -1 EBADF (%m)\n", p_v4l2_streamparm->type);
 
 	/* VIDIOC_S_PARM */
 	ioctl(-1, VIDIOC_S_PARM, 0);
 	printf("ioctl(-1, VIDIOC_S_PARM, NULL) = -1 EBADF (%m)\n");
 
-	ioctl(-1, VIDIOC_S_PARM, page);
+	ioctl(-1, VIDIOC_S_PARM, p_v4l2_streamparm);
 	printf("ioctl(-1, VIDIOC_S_PARM, {type=%#x /* V4L2_BUF_TYPE_??? */})"
-	       " = -1 EBADF (%m)\n", magic);
+	       " = -1 EBADF (%m)\n", p_v4l2_streamparm->type);
 
 	struct v4l2_streamparm *const p_streamparm =
 		tail_alloc(sizeof(*p_streamparm));
@@ -279,58 +295,64 @@
 	ioctl(-1, VIDIOC_S_STD, 0);
 	printf("ioctl(-1, VIDIOC_S_STD, NULL) = -1 EBADF (%m)\n");
 
-	ioctl(-1, VIDIOC_S_STD, page + size - sizeof(long long));
+	long long *const p_longlong = page + size - sizeof(*p_longlong);
+	ioctl(-1, VIDIOC_S_STD, p_longlong);
 	printf("ioctl(-1, VIDIOC_S_STD, [%#llx]) = -1 EBADF (%m)\n",
-	       *(unsigned long long *) page);
+	       *p_longlong);
 
 	/* VIDIOC_ENUMSTD */
 	ioctl(-1, VIDIOC_ENUMSTD, 0);
 	printf("ioctl(-1, VIDIOC_ENUMSTD, NULL) = -1 EBADF (%m)\n");
 
-	struct v4l2_standard *const p_standard =
-		tail_alloc(sizeof(*p_standard));
-	p_standard->index = magic;
-	ioctl(-1, VIDIOC_ENUMSTD, p_standard);
+	struct v4l2_standard *const p_v4l2_standard =
+		page + size - sizeof(*p_v4l2_standard);
+	ioctl(-1, VIDIOC_ENUMSTD, p_v4l2_standard);
 	printf("ioctl(-1, VIDIOC_ENUMSTD, {index=%u}) = -1 EBADF (%m)\n",
-	       magic);
+	       p_v4l2_standard->index);
 
 	/* VIDIOC_ENUMINPUT */
 	ioctl(-1, VIDIOC_ENUMINPUT, 0);
 	printf("ioctl(-1, VIDIOC_ENUMINPUT, NULL) = -1 EBADF (%m)\n");
 
-	ioctl(-1, VIDIOC_ENUMINPUT, page);
+	struct v4l2_input *const p_v4l2_input =
+		page + size - sizeof(*p_v4l2_input);
+	ioctl(-1, VIDIOC_ENUMINPUT, p_v4l2_input);
 	printf("ioctl(-1, VIDIOC_ENUMINPUT, {index=%u}) = -1 EBADF (%m)\n",
-	       magic);
+	       p_v4l2_input->index);
 
 	/* VIDIOC_G_CTRL */
 	ioctl(-1, VIDIOC_G_CTRL, 0);
 	printf("ioctl(-1, VIDIOC_G_CTRL, NULL) = -1 EBADF (%m)\n");
 
-	ioctl(-1, VIDIOC_G_CTRL, page + size - sizeof(struct v4l2_control));
+	struct v4l2_control *const p_v4l2_control =
+		page + size - sizeof(*p_v4l2_control);
+	ioctl(-1, VIDIOC_G_CTRL, p_v4l2_control);
 	printf("ioctl(-1, VIDIOC_G_CTRL, {id=%#x /* V4L2_CID_??? */})"
-	       " = -1 EBADF (%m)\n", magic);
+	       " = -1 EBADF (%m)\n", p_v4l2_control->id);
 
 	/* VIDIOC_S_CTRL */
 	ioctl(-1, VIDIOC_S_CTRL, 0);
 	printf("ioctl(-1, VIDIOC_S_CTRL, NULL) = -1 EBADF (%m)\n");
 
-	ioctl(-1, VIDIOC_S_CTRL, page + size - sizeof(struct v4l2_control));
+	ioctl(-1, VIDIOC_S_CTRL, p_v4l2_control);
 	printf("ioctl(-1, VIDIOC_S_CTRL, {id=%#x /* V4L2_CID_??? */"
-	       ", value=%d}) = -1 EBADF (%m)\n", magic, magic);
+	       ", value=%d}) = -1 EBADF (%m)\n",
+	       p_v4l2_control->id, p_v4l2_control->value);
 
 	/* VIDIOC_QUERYCTRL */
 	ioctl(-1, VIDIOC_QUERYCTRL, 0);
 	printf("ioctl(-1, VIDIOC_QUERYCTRL, NULL) = -1 EBADF (%m)\n");
 
-	ioctl(-1, VIDIOC_QUERYCTRL,
-	      page + size - sizeof(struct v4l2_queryctrl));
+	struct v4l2_queryctrl *const p_v4l2_queryctrl =
+		page + size - sizeof(*p_v4l2_queryctrl);
+	ioctl(-1, VIDIOC_QUERYCTRL, p_v4l2_queryctrl);
 # ifdef V4L2_CTRL_FLAG_NEXT_CTRL
 	printf("ioctl(-1, VIDIOC_QUERYCTRL, {id=V4L2_CTRL_FLAG_NEXT_CTRL"
 	       "|%#x /* V4L2_CID_??? */}) = -1 EBADF (%m)\n",
-	       magic & ~V4L2_CTRL_FLAG_NEXT_CTRL);
+	       p_v4l2_queryctrl->id & ~V4L2_CTRL_FLAG_NEXT_CTRL);
 # else
 	printf("ioctl(-1, VIDIOC_QUERYCTRL, {id=%#x /* V4L2_CID_??? */})"
-	       " = -1 EBADF (%m)\n", magic);
+	       " = -1 EBADF (%m)\n", p_v4l2_queryctrl->id);
 # endif
 
 	struct v4l2_queryctrl *const p_queryctrl =
@@ -351,33 +373,41 @@
 	ioctl(-1, VIDIOC_S_INPUT, 0);
 	printf("ioctl(-1, VIDIOC_S_INPUT, NULL) = -1 EBADF (%m)\n");
 
-	ioctl(-1, VIDIOC_S_INPUT, page + size - sizeof(int));
-	printf("ioctl(-1, VIDIOC_S_INPUT, [%u]) = -1 EBADF (%m)\n", magic);
+	ioctl(-1, VIDIOC_S_INPUT, p_int);
+	printf("ioctl(-1, VIDIOC_S_INPUT, [%u]) = -1 EBADF (%m)\n", *p_int);
 
 	/* VIDIOC_CROPCAP */
 	ioctl(-1, VIDIOC_CROPCAP, 0);
 	printf("ioctl(-1, VIDIOC_CROPCAP, NULL) = -1 EBADF (%m)\n");
 
-	ioctl(-1, VIDIOC_CROPCAP, page + size - sizeof(struct v4l2_cropcap));
+	struct v4l2_cropcap *const p_v4l2_cropcap =
+		page + size - sizeof(*p_v4l2_cropcap);
+	ioctl(-1, VIDIOC_CROPCAP, p_v4l2_cropcap);
 	printf("ioctl(-1, VIDIOC_CROPCAP, {type=%#x /* V4L2_BUF_TYPE_??? */})"
-	       " = -1 EBADF (%m)\n", magic);
+	       " = -1 EBADF (%m)\n", p_v4l2_cropcap->type);
 
 	/* VIDIOC_G_CROP */
 	ioctl(-1, VIDIOC_G_CROP, 0);
 	printf("ioctl(-1, VIDIOC_G_CROP, NULL) = -1 EBADF (%m)\n");
 
-	ioctl(-1, VIDIOC_G_CROP, page + size - sizeof(struct v4l2_crop));
+	struct v4l2_crop *const p_v4l2_crop =
+		page + size - sizeof(*p_v4l2_crop);
+	ioctl(-1, VIDIOC_G_CROP, p_v4l2_crop);
 	printf("ioctl(-1, VIDIOC_G_CROP, {type=%#x /* V4L2_BUF_TYPE_??? */})"
-	       " = -1 EBADF (%m)\n", magic);
+	       " = -1 EBADF (%m)\n", p_v4l2_crop->type);
 
 	/* VIDIOC_S_CROP */
 	ioctl(-1, VIDIOC_S_CROP, 0);
 	printf("ioctl(-1, VIDIOC_S_CROP, NULL) = -1 EBADF (%m)\n");
 
-	ioctl(-1, VIDIOC_S_CROP, page + size - sizeof(struct v4l2_crop));
+	ioctl(-1, VIDIOC_S_CROP, p_v4l2_crop);
 	printf("ioctl(-1, VIDIOC_S_CROP, {type=%#x /* V4L2_BUF_TYPE_??? */"
 	       ", c={left=%d, top=%d, width=%u, height=%u}}) = -1 EBADF (%m)\n",
-	       magic, magic, magic, magic, magic);
+	       p_v4l2_crop->type,
+	       p_v4l2_crop->c.left,
+	       p_v4l2_crop->c.top,
+	       p_v4l2_crop->c.width,
+	       p_v4l2_crop->c.height);
 
 #ifdef VIDIOC_S_EXT_CTRLS
 	/* VIDIOC_S_EXT_CTRLS */
@@ -406,7 +436,7 @@
 		tail_alloc(sizeof(*p_ext_controls->controls) * p_ext_controls->count);
 	p_ext_controls->controls[0].id = V4L2_CID_BRIGHTNESS;
 	p_ext_controls->controls[0].size = 0;
-	p_ext_controls->controls[0].value64 = 0xfacefeeddeadbeef;
+	p_ext_controls->controls[0].value64 = 0xfacefeeddeadbeefULL;
 	p_ext_controls->controls[1].id = V4L2_CID_CONTRAST;
 	p_ext_controls->controls[1].size = 2;
 	p_ext_controls->controls[1].string =
@@ -473,48 +503,47 @@
 	struct v4l2_frmsizeenum *const p_frmsizeenum =
 		tail_alloc(sizeof(*p_frmsizeenum));
 	p_frmsizeenum->index = magic;
-	const union u_pixel_format u_frmsizeenum = {
-		.cc = { 'A', '\'', '\\', '\xfa' }
-	};
-#if WORDS_BIGENDIAN
-	p_frmsizeenum->pixel_format =
-		(unsigned) u_frmsizeenum.cc[0] << 24 |
-		(unsigned) u_frmsizeenum.cc[1] << 16 |
-		(unsigned) u_frmsizeenum.cc[2] << 8 |
-		(unsigned) u_frmsizeenum.cc[3];
-#else
-	p_frmsizeenum->pixel_format = u_frmsizeenum.pixelformat;
-#endif
+	p_frmsizeenum->pixel_format = fourcc(cc[0], cc[1], cc[2], cc[3]);
 
 	ioctl(-1, VIDIOC_ENUM_FRAMESIZES, p_frmsizeenum);
 	printf("ioctl(-1, VIDIOC_ENUM_FRAMESIZES, {index=%u"
 	       ", pixel_format=v4l2_fourcc('%c', '\\%c', '\\%c', '\\x%x')})"
 	       " = -1 EBADF (%m)\n", p_frmsizeenum->index,
-	       u_frmsizeenum.cc[0], u_frmsizeenum.cc[1],
-	       u_frmsizeenum.cc[2], u_frmsizeenum.cc[3]);
+	       cc[0], cc[1], cc[2], cc[3]);
 #endif /* VIDIOC_ENUM_FRAMESIZES */
 
 #ifdef VIDIOC_ENUM_FRAMEINTERVALS
 	ioctl(-1, VIDIOC_ENUM_FRAMEINTERVALS, 0);
 	printf("ioctl(-1, VIDIOC_ENUM_FRAMEINTERVALS, NULL) = -1 EBADF (%m)\n");
 
-	ioctl(-1, VIDIOC_ENUM_FRAMEINTERVALS, page);
+	struct v4l2_frmivalenum *const p_v4l2_frmivalenum =
+		page + size - sizeof(*p_v4l2_frmivalenum);
+	ioctl(-1, VIDIOC_ENUM_FRAMEINTERVALS, p_v4l2_frmivalenum);
 	printf("ioctl(-1, VIDIOC_ENUM_FRAMEINTERVALS, {index=%u"
 	       ", pixel_format=v4l2_fourcc('\\x%x', '\\x%x', '\\x%x', '\\x%x')"
 	       ", width=%u, height=%u}) = -1 EBADF (%m)\n",
-	       magic, u.cc[0], u.cc[1], u.cc[2], u.cc[3], magic, magic);
+	       p_v4l2_frmivalenum->index,
+	       cc0(p_v4l2_frmivalenum->pixel_format),
+	       cc1(p_v4l2_frmivalenum->pixel_format),
+	       cc2(p_v4l2_frmivalenum->pixel_format),
+	       cc3(p_v4l2_frmivalenum->pixel_format),
+	       p_v4l2_frmivalenum->width,
+	       p_v4l2_frmivalenum->height);
 #endif /* VIDIOC_ENUM_FRAMEINTERVALS */
 
 #ifdef VIDIOC_CREATE_BUFS
 	ioctl(-1, VIDIOC_CREATE_BUFS, 0);
 	printf("ioctl(-1, VIDIOC_CREATE_BUFS, NULL) = -1 EBADF (%m)\n");
 
-	ioctl(-1, VIDIOC_CREATE_BUFS,
-	      page + size - sizeof(struct v4l2_create_buffers));
+	struct v4l2_create_buffers *const p_v4l2_create_buffers =
+		page + size - sizeof(*p_v4l2_create_buffers);
+	ioctl(-1, VIDIOC_CREATE_BUFS, p_v4l2_create_buffers);
 	printf("ioctl(-1, VIDIOC_CREATE_BUFS, {count=%u, memory=%#x"
 	       " /* V4L2_MEMORY_??? */, format={type=%#x"
 	       " /* V4L2_BUF_TYPE_??? */}}) = -1 EBADF (%m)\n",
-	       magic, magic, magic);
+	       p_v4l2_create_buffers->count,
+	       p_v4l2_create_buffers->memory,
+	       p_v4l2_create_buffers->format.type);
 #endif /* VIDIOC_CREATE_BUFS */
 
 	puts("+++ exited with 0 +++");
diff --git a/tests/ioperm.c b/tests/ioperm.c
index 12342f3..2f02b52 100644
--- a/tests/ioperm.c
+++ b/tests/ioperm.c
@@ -9,7 +9,7 @@
 int
 main(void)
 {
-	const unsigned long port = (unsigned long) 0xdeafbeefffffffff;
+	const unsigned long port = (unsigned long) 0xdeafbeefffffffffULL;
 
 	long rc = syscall(__NR_ioperm, port, 1, 0);
 	printf("ioperm(%#lx, %#lx, %d) = %ld %s (%m)\n",
diff --git a/tests/ioprio.c b/tests/ioprio.c
new file mode 100644
index 0000000..44ace6c
--- /dev/null
+++ b/tests/ioprio.c
@@ -0,0 +1,102 @@
+/*
+ * Check decoding of ioprio_get and ioprio_set syscalls.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#include <asm/unistd.h>
+
+#if defined(__NR_ioprio_get) && defined(__NR_ioprio_set)
+
+# include <stdio.h>
+# include <unistd.h>
+
+enum {
+	IOPRIO_CLASS_NONE,
+	IOPRIO_CLASS_RT,
+	IOPRIO_CLASS_BE,
+	IOPRIO_CLASS_IDLE
+};
+
+# include "xlat.h"
+# include "xlat/ioprio_class.h"
+
+void
+print_ioprio(unsigned long val)
+{
+	printf(" (IOPRIO_PRIO_VALUE(");
+	printxval(ioprio_class, val >> 13, "IOPRIO_CLASS_???");
+	printf(", %d))", (int) (val & 0x1fff));
+}
+
+int
+main(void)
+{
+	static const kernel_ulong_t bogus_which =
+		(kernel_ulong_t) 0xdeadfacefa57beefULL;
+	static const kernel_ulong_t bogus_who =
+		(kernel_ulong_t) 0xbadc0dedda7a1057ULL;
+	static const kernel_ulong_t bogus_ioprio =
+		(kernel_ulong_t) 0xdec0ded1facefeedULL;
+	static const char * const bogus_ioprio_str =
+		"IOPRIO_PRIO_VALUE(0x7d677 /* IOPRIO_CLASS_??? */, 7917)";
+
+	long rc;
+
+	rc = syscall(__NR_ioprio_get, bogus_which, bogus_who);
+	printf("ioprio_get(%#x /* IOPRIO_WHO_??? */, %d) = %s\n",
+	       (int) bogus_which, (int) bogus_who, sprintrc(rc));
+
+	rc = syscall(__NR_ioprio_get, 1, 0);
+	printf("ioprio_get(IOPRIO_WHO_PROCESS, 0) = %s", sprintrc(rc));
+
+	if (rc >= -1)
+		print_ioprio(rc);
+
+	puts("");
+
+	rc = syscall(__NR_ioprio_set, 2, 0, 8191);
+	printf("ioprio_set(IOPRIO_WHO_PGRP, 0, "
+	       "IOPRIO_PRIO_VALUE(IOPRIO_CLASS_NONE, 8191)) = %s\n",
+	       sprintrc(rc));
+
+	rc = syscall(__NR_ioprio_set, bogus_which, bogus_who, bogus_ioprio);
+	printf("ioprio_set(%#x /* IOPRIO_WHO_??? */, %d, %s) = %s\n",
+	       (int) bogus_which, (int) bogus_who, bogus_ioprio_str,
+	       sprintrc(rc));
+
+	puts("+++ exited with 0 +++");
+
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_ioprio_get && __NR_ioprio_set");
+
+#endif
diff --git a/tests/ioprio.test b/tests/ioprio.test
new file mode 100755
index 0000000..e79310b
--- /dev/null
+++ b/tests/ioprio.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check iprio_get and iprio_set syscalls decoding.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a18 -e trace=ioprio_get,ioprio_set
diff --git a/tests/ip_mreq.c b/tests/ip_mreq.c
index 86cd2bc..fa0c504 100644
--- a/tests/ip_mreq.c
+++ b/tests/ip_mreq.c
@@ -31,7 +31,6 @@
 #if defined IP_ADD_MEMBERSHIP && defined IPV6_ADD_MEMBERSHIP \
  && defined IPV6_JOIN_ANYCAST && defined HAVE_IF_INDEXTONAME
 
-# include <assert.h>
 # include <stdio.h>
 # include <unistd.h>
 # include <sys/socket.h>
@@ -45,85 +44,106 @@
 	static const char multi6addr[] = "ff01::c";
 	static const char interface[] = "127.0.0.1";
 
-	struct ip_mreq m4;
-	struct ipv6_mreq m6;
+	struct ip_mreq *const m4 = tail_alloc(sizeof(*m4));
+	struct ipv6_mreq *const m6 = tail_alloc(sizeof(*m6));
+	unsigned int i;
+	int rc;
 
-	inet_pton(AF_INET, multi4addr, &m4.imr_multiaddr);
-	inet_pton(AF_INET, interface, &m4.imr_interface);
-	inet_pton(AF_INET6, multi6addr, &m6.ipv6mr_multiaddr);
+	inet_pton(AF_INET, multi4addr, &m4->imr_multiaddr);
+	inet_pton(AF_INET, interface, &m4->imr_interface);
+	inet_pton(AF_INET6, multi6addr, &m6->ipv6mr_multiaddr);
 
-	m6.ipv6mr_interface = if_nametoindex("lo");
-	if (!m6.ipv6mr_interface)
+	m6->ipv6mr_interface = if_nametoindex("lo");
+	if (!m6->ipv6mr_interface)
 		perror_msg_and_skip("lo");
 
 	(void) close(0);
 	if (socket(AF_INET, SOCK_DGRAM, 0))
 		perror_msg_and_skip("socket");
 
-	if (setsockopt(0, SOL_IP, IP_ADD_MEMBERSHIP, &m4, sizeof(m4)) ||
-	    setsockopt(0, SOL_IP, IP_DROP_MEMBERSHIP, &m4, sizeof(m4)))
-		perror_msg_and_skip("setsockopt");
-	printf("setsockopt(0, SOL_IP, IP_ADD_MEMBERSHIP"
-	       ", {imr_multiaddr=inet_addr(\"%s\")"
-	       ", imr_interface=inet_addr(\"%s\")}, %u) = 0\n",
-	       multi4addr, interface, (unsigned) sizeof(m4));
-	printf("setsockopt(0, SOL_IP, IP_DROP_MEMBERSHIP"
-	       ", {imr_multiaddr=inet_addr(\"%s\")"
-	       ", imr_interface=inet_addr(\"%s\")}, %u) = 0\n",
-	       multi4addr, interface, (unsigned) sizeof(m4));
+	struct {
+		int level;
+		const char *str_level;
+		int optname;
+		const char *str_optname;
+		void *optval;
+		unsigned int optsize;
+	} short_any[] = {
+		{
+			ARG_STR(SOL_IP), ARG_STR(IP_ADD_MEMBERSHIP),
+			m4, sizeof(*m4)
+		},
+		{
+			ARG_STR(SOL_IP), ARG_STR(IP_DROP_MEMBERSHIP),
+			m4, sizeof(*m4)
+		},
+		{
+			ARG_STR(SOL_IPV6), ARG_STR(IPV6_ADD_MEMBERSHIP),
+			m6, sizeof(*m6)
+		},
+		{
+			ARG_STR(SOL_IPV6), ARG_STR(IPV6_DROP_MEMBERSHIP),
+			m6, sizeof(*m6)
+		},
+		{
+			ARG_STR(SOL_IPV6), ARG_STR(IPV6_JOIN_ANYCAST),
+			m6, sizeof(*m6)
+		},
+		{
+			ARG_STR(SOL_IPV6), ARG_STR(IPV6_LEAVE_ANYCAST),
+			m6, sizeof(*m6)
+		}
+	};
 
-	assert(setsockopt(0, SOL_IP, IP_ADD_MEMBERSHIP, &m4, 1) == -1);
-	printf("setsockopt(0, SOL_IP, IP_ADD_MEMBERSHIP, \"\\%hho\", 1)"
-	       " = -1 %s (%m)\n",
-	       * (unsigned char *) (void *) &m4, errno2name());
+	for (i = 0; i < ARRAY_SIZE(short_any); ++i) {
+		rc = setsockopt(0, short_any[i].level, short_any[i].optname,
+				short_any[i].optval, 1);
+		printf("setsockopt(0, %s, %s, \"\\%hho\", 1) = %s\n",
+		       short_any[i].str_level, short_any[i].str_optname,
+		       * (unsigned char *) short_any[i].optval,
+		       sprintrc(rc));
 
-	assert(setsockopt(0, SOL_IP, IP_DROP_MEMBERSHIP, &m4, 1) == -1);
-	printf("setsockopt(0, SOL_IP, IP_DROP_MEMBERSHIP, \"\\%hho\", 1)"
-	       " = -1 %s (%m)\n",
-	       * (unsigned char *) (void *) &m4, errno2name());
+		rc = setsockopt(0, short_any[i].level, short_any[i].optname,
+				short_any[i].optval + 1, short_any[i].optsize);
+		printf("setsockopt(0, %s, %s, %p, %u) = %s\n",
+		       short_any[i].str_level, short_any[i].str_optname,
+		       short_any[i].optval + 1, short_any[i].optsize,
+		       sprintrc(rc));
+	}
 
-	assert(setsockopt(0, SOL_IPV6, IPV6_ADD_MEMBERSHIP, &m6, 1) == -1);
-	printf("setsockopt(0, SOL_IPV6, IPV6_ADD_MEMBERSHIP, \"\\%hho\", 1)"
-	       " = -1 %s (%m)\n",
-	       * (unsigned char *) (void *) &m6, errno2name());
-	assert(setsockopt(0, SOL_IPV6, IPV6_DROP_MEMBERSHIP, &m6, 1) == -1);
-	printf("setsockopt(0, SOL_IPV6, IPV6_DROP_MEMBERSHIP, \"\\%hho\", 1)"
-	       " = -1 %s (%m)\n",
-	       * (unsigned char *) (void *) &m6, errno2name());
+	struct {
+		int optname;
+		const char *str_optname;
+	} long_ip[] = {
+		{ ARG_STR(IP_ADD_MEMBERSHIP) },
+		{ ARG_STR(IP_DROP_MEMBERSHIP) }
+	}, long_ipv6[] = {
+		{ ARG_STR(IPV6_ADD_MEMBERSHIP) },
+		{ ARG_STR(IPV6_DROP_MEMBERSHIP) },
+		{ ARG_STR(IPV6_JOIN_ANYCAST) },
+		{ ARG_STR(IPV6_LEAVE_ANYCAST) }
+	};
 
-	assert(setsockopt(0, SOL_IPV6, IPV6_ADD_MEMBERSHIP, &m6, sizeof(m6)) == -1);
-	printf("setsockopt(0, SOL_IPV6, IPV6_ADD_MEMBERSHIP"
-	       ", {ipv6mr_multiaddr=inet_pton(\"%s\")"
-	       ", ipv6mr_interface=if_nametoindex(\"lo\")}, 20) = -1 %s (%m)\n",
-	       multi6addr, errno2name());
+	for (i = 0; i < ARRAY_SIZE(long_ip); ++i) {
+		rc = setsockopt(0, SOL_IP, long_ip[i].optname,
+				m4, sizeof(*m4));
+		printf("setsockopt(0, SOL_IP, %s"
+		       ", {imr_multiaddr=inet_addr(\"%s\")"
+		       ", imr_interface=inet_addr(\"%s\")}, %u) = %s\n",
+		       long_ip[i].str_optname, multi4addr,
+		       interface, (unsigned) sizeof(*m4), sprintrc(rc));
+	}
 
-	assert(setsockopt(0, SOL_IPV6, IPV6_DROP_MEMBERSHIP, &m6, sizeof(m6)) == -1);
-	printf("setsockopt(0, SOL_IPV6, IPV6_DROP_MEMBERSHIP"
-	       ", {ipv6mr_multiaddr=inet_pton(\"%s\")"
-	       ", ipv6mr_interface=if_nametoindex(\"lo\")}, 20) = -1 %s (%m)\n",
-	       multi6addr, errno2name());
-
-	assert(setsockopt(0, SOL_IPV6, IPV6_JOIN_ANYCAST, &m6, 1) == -1);
-	printf("setsockopt(0, SOL_IPV6, IPV6_JOIN_ANYCAST, \"\\%hho\", 1)"
-	       " = -1 %s (%m)\n",
-	       * (unsigned char *) (void *) &m6, errno2name());
-
-	assert(setsockopt(0, SOL_IPV6, IPV6_LEAVE_ANYCAST, &m6, 1) == -1);
-	printf("setsockopt(0, SOL_IPV6, IPV6_LEAVE_ANYCAST, \"\\%hho\", 1)"
-	       " = -1 %s (%m)\n",
-	       * (unsigned char *) (void *) &m6, errno2name());
-
-	assert(setsockopt(0, SOL_IPV6, IPV6_JOIN_ANYCAST, &m6, sizeof(m6)) == -1);
-	printf("setsockopt(0, SOL_IPV6, IPV6_JOIN_ANYCAST"
-	       ", {ipv6mr_multiaddr=inet_pton(\"%s\")"
-	       ", ipv6mr_interface=if_nametoindex(\"lo\")}, 20) = -1 %s (%m)\n",
-	       multi6addr, errno2name());
-
-	assert(setsockopt(0, SOL_IPV6, IPV6_LEAVE_ANYCAST, &m6, sizeof(m6)) == -1);
-	printf("setsockopt(0, SOL_IPV6, IPV6_LEAVE_ANYCAST"
-	       ", {ipv6mr_multiaddr=inet_pton(\"%s\")"
-	       ", ipv6mr_interface=if_nametoindex(\"lo\")}, 20) = -1 %s (%m)\n",
-	       multi6addr, errno2name());
+	for (i = 0; i < ARRAY_SIZE(long_ipv6); ++i) {
+		rc = setsockopt(0, SOL_IPV6, long_ipv6[i].optname,
+				m6, sizeof(*m6));
+		printf("setsockopt(0, SOL_IPV6, %s"
+		       ", {ipv6mr_multiaddr=inet_pton(\"%s\")"
+		       ", ipv6mr_interface=if_nametoindex(\"lo\")}"
+		       ", %u) = %s\n",
+		       long_ipv6[i].str_optname, multi6addr,
+		       (unsigned) sizeof(*m6), sprintrc(rc));
+	}
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests/ipc.c b/tests/ipc.c
index f5b9ef5..c64d371 100644
--- a/tests/ipc.c
+++ b/tests/ipc.c
@@ -49,7 +49,7 @@
 	 long a1, long a2, long a3, long a4, long a5)
 {
 	const unsigned long val =
-		(unsigned long) 0xfacefeed00000000 |
+		(unsigned long) 0xfacefeed00000000ULL |
 		(unsigned int) version << 16 |
 		call;
 
diff --git a/tests/ipc_msgbuf.c b/tests/ipc_msgbuf.c
index 2c90d26..1c34494 100644
--- a/tests/ipc_msgbuf.c
+++ b/tests/ipc_msgbuf.c
@@ -31,7 +31,6 @@
 #include <sys/ipc.h>
 #include <sys/msg.h>
 #include <sys/stat.h>
-#include "kernel_types.h"
 
 #define text_string "STRACE_STRING"
 #define msgsz sizeof(text_string)
diff --git a/tests/ipc_sem.c b/tests/ipc_sem.c
index 926fa89..8f6382c 100644
--- a/tests/ipc_sem.c
+++ b/tests/ipc_sem.c
@@ -49,7 +49,8 @@
 cleanup(void)
 {
 	semctl(id, 0, IPC_RMID, 0);
-	printf("semctl\\(%d, 0, (IPC_64\\|)?IPC_RMID, \\[?0\\]?\\) += 0\n", id);
+	printf("semctl\\(%d, 0, (IPC_64\\|)?IPC_RMID, \\[?NULL\\]?\\) += 0\n",
+	       id);
 	id = -1;
 }
 
@@ -88,11 +89,7 @@
 	atexit(cleanup);
 
 	rc = semctl(bogus_semid, bogus_semnum, bogus_cmd, bogus_arg);
-#ifdef __GLIBC__
-# define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|0)\\])"
-#else
-# define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|0)\\]|0)"
-#endif
+#define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|NULL)\\]|NULL)"
 	printf("semctl\\(%d, %d, (IPC_64\\|)?%#x /\\* SEM_\\?\\?\\? \\*/"
 	       ", " SEMCTL_BOGUS_ARG_FMT "\\) += %s\n",
 	       bogus_semid, bogus_semnum, bogus_cmd,
diff --git a/tests/kcmp.c b/tests/kcmp.c
new file mode 100644
index 0000000..cb497c9
--- /dev/null
+++ b/tests/kcmp.c
@@ -0,0 +1,103 @@
+/*
+ * Check decoding of kcmp syscall.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#include <asm/unistd.h>
+#include "scno.h"
+
+#ifdef __NR_kcmp
+
+# include <stdio.h>
+# include <unistd.h>
+
+# define KCMP_FILE     0
+# define KCMP_SYSVSEM  6
+
+static void
+do_kcmp(kernel_ulong_t pid1, kernel_ulong_t pid2, kernel_ulong_t type,
+	const char *type_str, kernel_ulong_t idx1, kernel_ulong_t idx2)
+{
+	long rc;
+	const char *errstr;
+
+	rc = syscall(__NR_kcmp, pid1, pid2, type, idx1, idx2);
+	errstr = sprintrc(rc);
+
+	printf("kcmp(%d, %d, ", (int) pid1, (int) pid2);
+
+	if (type_str)
+		printf("%s", type_str);
+	else
+		printf("%#x /* KCMP_??? */", (int) type);
+
+	if (type == KCMP_FILE)
+		printf(", %u, %u", (unsigned) idx1, (unsigned) idx2);
+	else if (type > KCMP_SYSVSEM)
+		printf(", %#llx, %#llx",
+		       (unsigned long long) idx1, (unsigned long long) idx2);
+
+	printf(") = %s\n", errstr);
+}
+
+int
+main(void)
+{
+	static const kernel_ulong_t bogus_pid1 =
+		(kernel_ulong_t) 0xdeadca75face1057ULL;
+	static const kernel_ulong_t bogus_pid2 =
+		(kernel_ulong_t) 0xdefaced1defaced2ULL;
+	static const kernel_ulong_t bogus_type =
+		(kernel_ulong_t) 0xbadc0dedda7adeadULL;
+	static const kernel_ulong_t bogus_idx1 =
+		(kernel_ulong_t) 0xdec0ded3dec0ded4ULL;
+	static const kernel_ulong_t bogus_idx2 =
+		(kernel_ulong_t) 0xba5e1e55deadc0deULL;
+
+	/* Invalid values */
+	do_kcmp(bogus_pid1, bogus_pid2, bogus_type, NULL, bogus_idx1,
+		bogus_idx2);
+	do_kcmp(0, 0, KCMP_SYSVSEM + 1, NULL, 0, 0);
+
+	/* KCMP_FILE is the only type which has additional args */
+	do_kcmp(3141592653U, 2718281828U, ARG_STR(KCMP_FILE), bogus_idx1,
+		bogus_idx2);
+	/* Some type without additional args */
+	do_kcmp(-1, -1, ARG_STR(KCMP_SYSVSEM), bogus_idx1, bogus_idx2);
+
+	puts("+++ exited with 0 +++");
+
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_kcmp");
+
+#endif
diff --git a/tests/kcmp.test b/tests/kcmp.test
new file mode 100755
index 0000000..d022aeb
--- /dev/null
+++ b/tests/kcmp.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of kcmp syscall.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests/kexec_file_load.c b/tests/kexec_file_load.c
new file mode 100644
index 0000000..be90a37
--- /dev/null
+++ b/tests/kexec_file_load.c
@@ -0,0 +1,127 @@
+/*
+ * Check decoding of kexec_file_load syscall.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+#include "scno.h"
+
+#ifdef __NR_kexec_file_load
+
+# include <inttypes.h>
+# include <stdio.h>
+# include <unistd.h>
+
+struct strval {
+	kernel_ulong_t val;
+	const char *str64;
+	const char *str32;
+	const char *str;
+};
+
+#define CMDLINE_STR "deadcodebaddatadefaced";
+
+int
+main(void)
+{
+	static const kernel_ulong_t bogus_kernel_fd =
+		(kernel_ulong_t) 0xdeadca57badda7a1ULL;
+	static const kernel_ulong_t bogus_initrd_fd =
+		(kernel_ulong_t) 0xdec0ded1defaced2ULL;
+	static const char cmdline_str[] = CMDLINE_STR;
+	static const char cmdline_short_str[] = "abcdef";
+
+	static const kernel_ulong_t cmdline_lens[] = {
+		0,
+		(kernel_ulong_t) 0xcaffeeeddeadbeefULL,
+		sizeof(cmdline_str),
+		sizeof(cmdline_str) - 1,
+		sizeof(cmdline_short_str),
+		sizeof(cmdline_short_str) - 1,
+		sizeof(cmdline_short_str) + 1,
+	};
+	static const struct strval flags[] = {
+		{ (kernel_ulong_t) 0xbadc0dedda7a1058ULL,
+			"0xbadc0ded", "0x",
+			"da7a1058 /* KEXEC_FILE_??? */" },
+		{ 0, "", "", "0" },
+		{ 0xdeadbeef, "", "", "KEXEC_FILE_UNLOAD|KEXEC_FILE_ON_CRASH|"
+			"KEXEC_FILE_NO_INITRAMFS|0xdeadbee8" },
+	};
+
+
+	long rc;
+	char *cmdline = tail_memdup(cmdline_str, sizeof(cmdline_str));
+	char *cmdline_short =
+		tail_memdup(cmdline_short_str, sizeof(cmdline_short_str));
+	char cmdline_ptr[sizeof("0x") + sizeof(void *) * 2];
+	char cmdline_short_ptr[sizeof("0x") + sizeof(void *) * 2];
+	unsigned int i;
+	unsigned int j;
+
+	struct strval cmdlines[] = {
+		{ (uintptr_t) NULL, "", "", "NULL" },
+		{ (uintptr_t) (cmdline + sizeof(cmdline_str)), "", "",
+			cmdline_ptr },
+		{ (uintptr_t) cmdline, "", "", "\"deadcodeb\"..." },
+		{ (uintptr_t) cmdline, "", "", "\"deadcodeb\"..." },
+		{ (uintptr_t) cmdline_short, "", "", "\"abcdef\\0\"" },
+		{ (uintptr_t) cmdline_short, "", "", "\"abcdef\"" },
+		{ (uintptr_t) cmdline_short, "", "", cmdline_short_ptr },
+	};
+
+
+	snprintf(cmdline_ptr, sizeof(cmdline_ptr), "%p",
+		cmdline + sizeof(cmdline_str));
+	snprintf(cmdline_short_ptr, sizeof(cmdline_short_ptr), "%p",
+		cmdline_short);
+
+	for (i = 0; i < ARRAY_SIZE(flags); i++) {
+		for (j = 0; j < ARRAY_SIZE(cmdlines); j++) {
+			rc = syscall(__NR_kexec_file_load, bogus_kernel_fd,
+				     bogus_initrd_fd, cmdline_lens[j],
+				     cmdlines[j].val, flags[i].val);
+			printf("kexec_file_load(%d, %d, %llu, %s, %s%s) = %s\n",
+			       (int) bogus_kernel_fd, (int) bogus_initrd_fd,
+			       (unsigned long long) cmdline_lens[j],
+			       cmdlines[j].str,
+			       sizeof(kernel_ulong_t) == 8 ? flags[i].str64 :
+			       flags[i].str32, flags[i].str, sprintrc(rc));
+		}
+	}
+
+	puts("+++ exited with 0 +++");
+
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_kexec_file_load");
+
+#endif
diff --git a/tests/kexec_file_load.test b/tests/kexec_file_load.test
new file mode 100755
index 0000000..c95e123
--- /dev/null
+++ b/tests/kexec_file_load.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of kexec_file_load syscall.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s9
diff --git a/tests/kexec_load.c b/tests/kexec_load.c
new file mode 100644
index 0000000..330238d
--- /dev/null
+++ b/tests/kexec_load.c
@@ -0,0 +1,170 @@
+/*
+ * Check decoding of kexec_load syscall.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#include <asm/unistd.h>
+
+#ifdef __NR_kexec_load
+
+# include <stdio.h>
+# include <unistd.h>
+
+struct strval {
+	kernel_ulong_t val;
+	const char *str64;
+	const char *str32;
+	const char *str;
+};
+
+struct segm {
+	void *buf;
+	size_t bufsz;
+	void *mem;
+	size_t memsz;
+};
+
+int
+main(void)
+{
+	enum {
+		NUM_SEGMS = 17,
+		NUM_SEGMS_UNCUT = 5,
+		NUM_SEGMS_UNCUT_MAX = 9,
+		NUM_SEGMS_CUT = 12,
+		SEGMS_ARRAY_SIZE = sizeof(struct segm) * NUM_SEGMS,
+	};
+
+	static const kernel_ulong_t bogus_zero =
+		sizeof(long) < sizeof(kernel_long_t) ?
+			(kernel_ulong_t) 0xffffffff00000000ULL : 0;
+	static const kernel_ulong_t bogus_entry =
+		(kernel_ulong_t) 0xdeadca57badda7a1ULL;
+	static const kernel_ulong_t bogus_nsegs =
+		(kernel_ulong_t) 0xdec0ded1defaced2ULL;
+
+	static const struct strval flags[] = {
+		{ (kernel_ulong_t) 0xbadc0dedda7a1054ULL,
+			"0xda7a0000 /* KEXEC_ARCH_??? */|0xbadc0ded0000",
+			"0xda7a0000 /* KEXEC_ARCH_??? */|0x",
+			"1054 /* KEXEC_??? */" },
+		{ 0, "", "", "KEXEC_ARCH_DEFAULT" },
+		{ 0x2a0003, "", "",
+			"KEXEC_ARCH_SH|KEXEC_ON_CRASH|KEXEC_PRESERVE_CONTEXT" },
+		{ 0xdead0000, "", "", "0xdead0000 /* KEXEC_ARCH_??? */" },
+	};
+
+	const char *errstr;
+	long rc;
+	struct segm *segms = tail_alloc(SEGMS_ARRAY_SIZE);
+	unsigned int i;
+
+	fill_memory(segms, SEGMS_ARRAY_SIZE);
+	segms[0].buf = segms[0].mem = NULL;
+
+	rc = syscall(__NR_kexec_load, bogus_zero, bogus_zero, bogus_zero,
+		flags[0].val);
+	printf("kexec_load(NULL, 0, NULL, %s%s) = %s\n",
+	       sizeof(long) == 8 ? flags[0].str64 : flags[0].str32,
+	       flags[0].str, sprintrc(rc));
+
+	rc = syscall(__NR_kexec_load, bogus_entry, bogus_nsegs,
+		     segms + SEGMS_ARRAY_SIZE, flags[1].val);
+	printf("kexec_load(%#lx, %lu, %p, %s) = %s\n",
+	       (unsigned long) bogus_entry, (unsigned long) bogus_nsegs,
+	       segms + SEGMS_ARRAY_SIZE, flags[1].str, sprintrc(rc));
+
+	rc = syscall(__NR_kexec_load, bogus_entry, NUM_SEGMS,
+		     segms, flags[2].val);
+	printf("kexec_load(%#lx, %lu, %p, %s) = %s\n",
+	       (unsigned long) bogus_entry, (unsigned long) NUM_SEGMS,
+	       segms, flags[2].str, sprintrc(rc));
+
+	rc = syscall(__NR_kexec_load, bogus_entry, NUM_SEGMS_CUT,
+		     segms, flags[3].val);
+	errstr = sprintrc(rc);
+	printf("kexec_load(%#lx, %lu, [{buf=NULL, bufsz=%zu, mem=NULL, "
+	       "memsz=%zu}, ",
+	       (unsigned long) bogus_entry, (unsigned long) NUM_SEGMS_CUT,
+	       segms[0].bufsz, segms[0].memsz);
+	for (i = 1; i < NUM_SEGMS_UNCUT_MAX; i++)
+		printf("{buf=%p, bufsz=%zu, mem=%p, memsz=%zu}, ",
+		       segms[i].buf, segms[i].bufsz,
+		       segms[i].mem, segms[i].memsz);
+	printf("...], %s) = %s\n", flags[3].str, errstr);
+
+	rc = syscall(__NR_kexec_load, bogus_entry, NUM_SEGMS_CUT,
+		     segms + (NUM_SEGMS - NUM_SEGMS_UNCUT_MAX),
+		     flags[0].val);
+	errstr = sprintrc(rc);
+	printf("kexec_load(%#lx, %lu, [",
+	       (unsigned long) bogus_entry, (unsigned long) NUM_SEGMS_CUT);
+	for (i = NUM_SEGMS - NUM_SEGMS_UNCUT_MAX; i < NUM_SEGMS; i++)
+		printf("{buf=%p, bufsz=%zu, mem=%p, memsz=%zu}, ",
+		       segms[i].buf, segms[i].bufsz,
+		       segms[i].mem, segms[i].memsz);
+	printf("%p], %s%s) = %s\n",
+	       segms + NUM_SEGMS,
+	       sizeof(long) == 8 ? flags[0].str64 : flags[0].str32,
+	       flags[0].str, errstr);
+
+	rc = syscall(__NR_kexec_load, bogus_entry, NUM_SEGMS_UNCUT,
+		     segms + (NUM_SEGMS - NUM_SEGMS_UNCUT),
+		     flags[1].val);
+	errstr = sprintrc(rc);
+	printf("kexec_load(%#lx, %lu, [",
+	       (unsigned long) bogus_entry, (unsigned long) NUM_SEGMS_UNCUT);
+	for (i = NUM_SEGMS - NUM_SEGMS_UNCUT; i < NUM_SEGMS; i++)
+		printf("{buf=%p, bufsz=%zu, mem=%p, memsz=%zu}%s",
+		       segms[i].buf, segms[i].bufsz,
+		       segms[i].mem, segms[i].memsz,
+		       (i == NUM_SEGMS - 1) ? "" : ", ");
+	printf("], %s) = %s\n", flags[1].str, errstr);
+
+	rc = syscall(__NR_kexec_load, bogus_entry, NUM_SEGMS_CUT,
+		     segms + 1, flags[2].val);
+	errstr = sprintrc(rc);
+	printf("kexec_load(%#lx, %lu, [",
+	       (unsigned long) bogus_entry, (unsigned long) NUM_SEGMS_CUT);
+	for (i = 1; i < NUM_SEGMS_UNCUT_MAX + 1; i++)
+		printf("{buf=%p, bufsz=%zu, mem=%p, memsz=%zu}, ",
+		       segms[i].buf, segms[i].bufsz,
+		       segms[i].mem, segms[i].memsz);
+	printf("...], %s) = %s\n", flags[2].str, errstr);
+
+	puts("+++ exited with 0 +++");
+
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_kexec_load");
+
+#endif
diff --git a/tests/kexec_load.test b/tests/kexec_load.test
new file mode 100755
index 0000000..4b1511e
--- /dev/null
+++ b/tests/kexec_load.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of kexec_load syscall.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s9
diff --git a/tests/keyctl.c b/tests/keyctl.c
index b580981..2e26076 100644
--- a/tests/keyctl.c
+++ b/tests/keyctl.c
@@ -1,7 +1,7 @@
 /*
  * Check decoding of keyctl syscall.
  *
- * Copyright (c) 2016 Eugene Syromiatnikov <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -44,11 +44,8 @@
 # include <stdlib.h>
 # include <string.h>
 # include <unistd.h>
-
 # include <sys/uio.h>
 
-# include "kernel_types.h"
-
 /* This check should be before #include "xlat/keyctl_commands.h" */
 # ifndef KEYCTL_DH_COMPUTE
 struct keyctl_dh_params {
@@ -128,7 +125,8 @@
 		else if (size == sizeof(uint32_t))
 			printf(fmt, (uint32_t)arg);
 		else
-			print_quoted_string_limit((void *)arg, size, rc);
+			print_quoted_string_limit((void *) (uintptr_t) arg,
+						  size, rc);
 	}
 }
 
@@ -190,8 +188,6 @@
 	printf(") = %s\n", errstr);
 }
 
-# define ARG_STR(_arg) (_arg), #_arg
-
 int
 main(void)
 {
diff --git a/tests/kill.c b/tests/kill.c
index 0e07e1f..cb884aa 100644
--- a/tests/kill.c
+++ b/tests/kill.c
@@ -56,16 +56,16 @@
 		perror_msg_and_fail("sigprocmask");
 
 	const int pid = getpid();
-	long rc = syscall(__NR_kill, pid, (long) 0xdefaced00000000 | SIGALRM);
+	long rc = syscall(__NR_kill, pid, (long) 0xdefaced00000000ULL | SIGALRM);
 	printf("kill(%d, SIGALRM) = %ld\n", pid, rc);
 
-	const long big_pid = (long) 0xfacefeedbadc0ded;
-	const long big_sig = (long) 0xdeadbeefcafef00d;
+	const long big_pid = (long) 0xfacefeedbadc0dedULL;
+	const long big_sig = (long) 0xdeadbeefcafef00dULL;
 	rc = syscall(__NR_kill, big_pid, big_sig);
 	printf("kill(%d, %d) = %ld %s (%m)\n",
 	       (int) big_pid, (int) big_sig, rc, errno2name());
 
-	rc = syscall(__NR_kill, (long) 0xdefaced00000000 | pid, 0);
+	rc = syscall(__NR_kill, (long) 0xdefaced00000000ULL | pid, 0);
 	printf("kill(%d, SIG_0) = %ld\n", pid, rc);
 
 	puts("+++ exited with 0 +++");
diff --git a/tests/ksysent.c b/tests/ksysent.c
index 66b4ffb..8cac93c 100644
--- a/tests/ksysent.c
+++ b/tests/ksysent.c
@@ -1,5 +1,7 @@
 /*
- * Copyright (c) 2015 Dmitry V. Levin <[email protected]>
+ * Validate syscallent.h file.
+ *
+ * Copyright (c) 2015-2016 Dmitry V. Levin <[email protected]>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,8 +27,11 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include "defs.h"
-#include "syscall.h"
+#include "tests.h"
+#include "sysent.h"
+#include <stdio.h>
+#include <string.h>
+#include <asm/unistd.h>
 
 #define TD 0
 #define TF 0
@@ -39,6 +44,7 @@
 #define MA 0
 #define SI 0
 #define SE 0
+#define CST 0
 #define SEN(arg) 0,0
 
 static const struct_sysent syscallent[] = {
diff --git a/tests/linkat.c b/tests/linkat.c
index 2c3b8ba..64b900e 100644
--- a/tests/linkat.c
+++ b/tests/linkat.c
@@ -11,8 +11,8 @@
 {
 	static const char sample_1[] = "linkat_sample_old";
 	static const char sample_2[] = "linkat_sample_new";
-	const long fd_old = (long) 0xdeadbeefffffffff;
-	const long fd_new = (long) 0xdeadbeeffffffffe;
+	const long fd_old = (long) 0xdeadbeefffffffffULL;
+	const long fd_new = (long) 0xdeadbeeffffffffeULL;
 
 	long rc = syscall(__NR_linkat, fd_old, sample_1, fd_new, sample_2, 0);
 	printf("linkat(%d, \"%s\", %d, \"%s\", 0) = %ld %s (%m)\n",
diff --git a/tests/lookup_dcookie.c b/tests/lookup_dcookie.c
new file mode 100644
index 0000000..986180c
--- /dev/null
+++ b/tests/lookup_dcookie.c
@@ -0,0 +1,96 @@
+/*
+ * Check decoding of lookup_dcookie syscall.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#include <asm/unistd.h>
+
+#ifdef __NR_lookup_dcookie
+
+# include <inttypes.h>
+# include <limits.h>
+# include <stdio.h>
+# include <unistd.h>
+
+static void
+do_lookup_cookie(uint64_t cookie, char *buf, kernel_ulong_t len)
+{
+	long rc;
+	const char *errstr;
+
+# if (LONG_MAX > INT_MAX) \
+  || (defined __x86_64__ && defined __ILP32__) \
+  || defined LINUX_MIPSN32
+	rc = syscall(__NR_lookup_dcookie, cookie, buf, len);
+# else
+	rc = syscall(__NR_lookup_dcookie, LL_VAL_TO_PAIR(cookie), buf, len);
+# endif
+
+	errstr = sprintrc(rc);
+	printf("lookup_dcookie(%" PRIu64 ", ", cookie);
+
+	/* Here, we trust successful return code */
+	if ((rc >= 0) && (rc < (long) INT_MAX)) {
+		printf("%.*s, ", (int) rc, buf);
+	} else {
+		if (buf != NULL)
+			printf("%p, ", buf);
+		else
+			printf("NULL, ");
+	}
+
+	printf("%" PRIu64 ") = %s\n", (uint64_t) len, errstr);
+}
+
+int
+main(void)
+{
+	enum { BUF_SIZE = 4096 };
+
+	static const uint64_t bogus_cookie =
+		(uint64_t) 0xf157feeddeadfaceULL;
+	static const kernel_ulong_t bogus_len =
+		(kernel_ulong_t) 0xbadc0dedda7a1057ULL;
+
+	char *buf = tail_alloc(BUF_SIZE);
+
+	do_lookup_cookie(0, NULL, 0);
+	do_lookup_cookie(bogus_cookie, buf + BUF_SIZE, bogus_len);
+	do_lookup_cookie(bogus_cookie, buf, BUF_SIZE);
+
+	puts("+++ exited with 0 +++");
+
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_lookup_dcookie");
+
+#endif
diff --git a/tests/lookup_dcookie.test b/tests/lookup_dcookie.test
new file mode 100755
index 0000000..47e1c2d
--- /dev/null
+++ b/tests/lookup_dcookie.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of lookup_cookie syscall.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a27
diff --git a/tests/lseek.c b/tests/lseek.c
index 84b2752..4428c4e 100644
--- a/tests/lseek.c
+++ b/tests/lseek.c
@@ -32,7 +32,6 @@
 
 # include <stdio.h>
 # include <unistd.h>
-# include "kernel_types.h"
 
 int
 main(void)
diff --git a/tests/lstat.c b/tests/lstat.c
index 76cb8a2..3754f76 100644
--- a/tests/lstat.c
+++ b/tests/lstat.c
@@ -32,7 +32,7 @@
 
 # define TEST_SYSCALL_NR __NR_lstat
 # define TEST_SYSCALL_STR "lstat"
-# define SAMPLE_SIZE ((kernel_ulong_t) 43147718418)
+# define SAMPLE_SIZE ((libc_off_t) (kernel_ulong_t) 43147718418ULL)
 # include "lstatx.c"
 
 #else
diff --git a/tests/lstat64.c b/tests/lstat64.c
index 68ef638..da06609 100644
--- a/tests/lstat64.c
+++ b/tests/lstat64.c
@@ -35,7 +35,6 @@
 # define STRUCT_STAT struct stat64
 # define STRUCT_STAT_STR "struct stat64"
 # define STRUCT_STAT_IS_STAT64 1
-# define SAMPLE_SIZE ((libc_off_t) 43147718418)
 # include "lstatx.c"
 
 #else
diff --git a/tests/lstatx.c b/tests/lstatx.c
index 2bd4e9f..cdd1124 100644
--- a/tests/lstatx.c
+++ b/tests/lstatx.c
@@ -28,10 +28,12 @@
 #define TEST_SYSCALL_INVOKE(sample, pst) \
 	syscall(TEST_SYSCALL_NR, sample, pst)
 #define PRINT_SYSCALL_HEADER(sample) \
-	printf("%s(\"%s\", ", TEST_SYSCALL_STR, sample)
-#define PRINT_SYSCALL_FOOTER \
-	puts(") = 0")
-
-#define USE_ASM_STAT
+	do { \
+		int saved_errno = errno; \
+		printf("%s(\"%s\", ", TEST_SYSCALL_STR, sample)
+#define PRINT_SYSCALL_FOOTER(rc) \
+		errno = saved_errno; \
+		printf(") = %s\n", sprintrc(rc)); \
+	} while (0)
 
 #include "xstatx.c"
diff --git a/tests/mbind.c b/tests/mbind.c
index 94d4553..b054426 100644
--- a/tests/mbind.c
+++ b/tests/mbind.c
@@ -38,10 +38,10 @@
 int
 main(void)
 {
-	const unsigned long len = (unsigned long) 0xcafef00dbadc0ded;
+	const unsigned long len = (unsigned long) 0xcafef00dbadc0dedULL;
 	const unsigned long mode = 3;
-	const unsigned long nodemask = (unsigned long) 0xfacefeedfffffff1;
-	const unsigned long maxnode = (unsigned long) 0xdeadbeeffffffff2;
+	const unsigned long nodemask = (unsigned long) 0xfacefeedfffffff1ULL;
+	const unsigned long maxnode = (unsigned long) 0xdeadbeeffffffff2ULL;
 	const unsigned long flags = -1UL;
 
 	long rc = syscall(__NR_mbind, 0, len, mode, nodemask, maxnode, flags);
diff --git a/tests/membarrier.c b/tests/membarrier.c
index adf24ef..330893b 100644
--- a/tests/membarrier.c
+++ b/tests/membarrier.c
@@ -27,6 +27,7 @@
 
 #include "tests.h"
 #include <asm/unistd.h>
+#include "scno.h"
 
 #ifdef __NR_membarrier
 
@@ -39,9 +40,10 @@
 main(void)
 {
 	assert(syscall(__NR_membarrier, 3, 255) == -1);
-	printf("membarrier(0x3 /* MEMBARRIER_CMD_??? */, 255) = -1 %s (%m)\n",
-	       errno2name());
-	if (errno != ENOSYS) {
+	int saved_errno = errno;
+	printf("membarrier(0x3 /* MEMBARRIER_CMD_??? */, 255) = %s\n",
+	       sprintrc(-1));
+	if (saved_errno != ENOSYS) {
 		/* the test needs to be updated? */
 		assert(syscall(__NR_membarrier, 0, 0) == 1);
 		puts("membarrier(MEMBARRIER_CMD_QUERY, 0)"
diff --git a/tests/memfd_create.c b/tests/memfd_create.c
index ef49bed..480fd17 100644
--- a/tests/memfd_create.c
+++ b/tests/memfd_create.c
@@ -1,5 +1,6 @@
 #include "tests.h"
 #include <asm/unistd.h>
+#include "scno.h"
 
 #ifdef __NR_memfd_create
 
diff --git a/tests/migrate_pages.c b/tests/migrate_pages.c
index 9f71b52..4c303e3 100644
--- a/tests/migrate_pages.c
+++ b/tests/migrate_pages.c
@@ -38,7 +38,7 @@
 int
 main(void)
 {
-	const long pid = (long) 0xfacefeedffffffff;
+	const long pid = (long) 0xfacefeedffffffffULL;
 	long rc = syscall(__NR_migrate_pages, pid, 0, 0, 0);
 	printf("migrate_pages(%d, 0, NULL, NULL) = %ld %s (%m)\n",
 	       (int) pid, rc, errno2name());
diff --git a/tests/mincore.c b/tests/mincore.c
index ff2922a..ea2b49e 100644
--- a/tests/mincore.c
+++ b/tests/mincore.c
@@ -42,6 +42,8 @@
 
 	printf("mincore(%p, %zu, [", addr, size);
 	for (i = 0; i < pages; ++i) {
+		if (i)
+			printf(", ");
 		if (i >= DEFAULT_STRLEN) {
 			printf("...");
 			break;
diff --git a/tests/mkdirat.c b/tests/mkdirat.c
index ce2e9c1..6bfe4a5 100644
--- a/tests/mkdirat.c
+++ b/tests/mkdirat.c
@@ -5,7 +5,7 @@
 
 # define TEST_SYSCALL_NR		__NR_mkdirat
 # define TEST_SYSCALL_STR		"mkdirat"
-# define TEST_SYSCALL_PREFIX_ARGS	(long int) 0xdeadbeefffffffff,
+# define TEST_SYSCALL_PREFIX_ARGS	(long int) 0xdeadbeefffffffffULL,
 # define TEST_SYSCALL_PREFIX_STR	"-1, "
 # include "umode_t.c"
 
diff --git a/tests/mknod.c b/tests/mknod.c
index 2d42874..4cc1c5c 100644
--- a/tests/mknod.c
+++ b/tests/mknod.c
@@ -13,14 +13,14 @@
 static long
 call_mknod(unsigned short mode, unsigned long dev)
 {
-	unsigned long lmode = (unsigned long) 0xffffffffffff0000 | mode;
+	unsigned long lmode = (unsigned long) 0xffffffffffff0000ULL | mode;
 	return syscall(__NR_mknod, sample, lmode, dev);
 }
 
 int
 main(void)
 {
-	unsigned long dev = (unsigned long) 0xdeadbeefbadc0ded;
+	unsigned long dev = (unsigned long) 0xdeadbeefbadc0dedULL;
 
 	long rc = call_mknod(0, dev);
 	printf("mknod(\"%s\", 000) = %ld %s (%m)\n",
@@ -46,14 +46,14 @@
 	printf("mknod(\"%s\", S_IFIFO|0600) = %ld %s (%m)\n",
 	       sample, rc, errno2name());
 
-	dev = (unsigned long) 0xdeadbeef00000000 | makedev(1, 7);
+	dev = (unsigned long) 0xdeadbeef00000000ULL | makedev(1, 7);
 
 	rc = call_mknod(S_IFCHR | 024, dev);
 	printf("mknod(\"%s\", S_IFCHR|024, makedev(1, 7)) = %ld %s (%m)\n",
 	       sample, rc, errno2name());
 
 	const unsigned short mode = (0xffff & ~S_IFMT) | S_IFBLK;
-	dev = (unsigned long) 0xdeadbeefbadc0ded;
+	dev = (unsigned long) 0xdeadbeefbadc0dedULL;
 
 	rc = call_mknod(mode, dev);
 	printf("mknod(\"%s\", S_IFBLK|S_ISUID|S_ISGID|S_ISVTX|%#03ho"
diff --git a/tests/mknodat.c b/tests/mknodat.c
index 614513e..756e277 100644
--- a/tests/mknodat.c
+++ b/tests/mknodat.c
@@ -9,19 +9,19 @@
 # include <unistd.h>
 
 static const char sample[] = "mknodat_sample";
-static const long int fd = (long int) 0xdeadbeefffffffff;
+static const long int fd = (long int) 0xdeadbeefffffffffULL;
 
 static long
 call_mknodat(unsigned short mode, unsigned long dev)
 {
-	unsigned long lmode = (unsigned long) 0xffffffffffff0000 | mode;
+	unsigned long lmode = (unsigned long) 0xffffffffffff0000ULL | mode;
 	return syscall(__NR_mknodat, fd, sample, lmode, dev);
 }
 
 int
 main(void)
 {
-	unsigned long dev = (unsigned long) 0xdeadbeefbadc0ded;
+	unsigned long dev = (unsigned long) 0xdeadbeefbadc0dedULL;
 
 	long rc = call_mknodat(0, dev);
 	printf("mknodat(-1, \"%s\", 000) = %ld %s (%m)\n",
@@ -47,14 +47,14 @@
 	printf("mknodat(-1, \"%s\", S_IFIFO|0600) = %ld %s (%m)\n",
 	       sample, rc, errno2name());
 
-	dev = (unsigned long) 0xdeadbeef00000000 | makedev(1, 7);
+	dev = (unsigned long) 0xdeadbeef00000000ULL | makedev(1, 7);
 
 	rc = call_mknodat(S_IFCHR | 024, dev);
 	printf("mknodat(-1, \"%s\", S_IFCHR|024, makedev(1, 7)) = %ld %s (%m)\n",
 	       sample, rc, errno2name());
 
 	const unsigned short mode = (0xffff & ~S_IFMT) | S_IFBLK;
-	dev = (unsigned long) 0xdeadbeefbadc0ded;
+	dev = (unsigned long) 0xdeadbeefbadc0dedULL;
 
 	rc = call_mknodat(mode, dev);
 	printf("mknodat(-1, \"%s\", S_IFBLK|S_ISUID|S_ISGID|S_ISVTX|%#03ho"
diff --git a/tests/mlock.c b/tests/mlock.c
index be962e2..8e9806b 100644
--- a/tests/mlock.c
+++ b/tests/mlock.c
@@ -24,6 +24,6 @@
 
 #else
 
-SKIP_MAIN_DEFINED("__NR_mlock && __NR_munlock")
+SKIP_MAIN_UNDEFINED("__NR_mlock && __NR_munlock")
 
 #endif
diff --git a/tests/mlock2.c b/tests/mlock2.c
index e557042..71a2003 100644
--- a/tests/mlock2.c
+++ b/tests/mlock2.c
@@ -27,6 +27,7 @@
 
 #include "tests.h"
 #include <asm/unistd.h>
+#include "scno.h"
 
 #ifdef __NR_mlock2
 
diff --git a/tests/mmap.c b/tests/mmap.c
index e2ff716..f726f63 100644
--- a/tests/mmap.c
+++ b/tests/mmap.c
@@ -45,10 +45,10 @@
 	void *addr, *p;
 
 #if ULONG_MAX > 4294967295UL
-	offset = 0xcafedeadbeef000 & -pagesize;
+	offset = 0xcafedeadbeef000ULL & -pagesize;
 	addr = (void *) (uintmax_t) (0xfacefeed000 & -pagesize);
 #else
-	offset = 0xdeadbeef000 & -pagesize;
+	offset = 0xdeadbeef000ULL & -pagesize;
 	addr = (void *) (unsigned int) (0xfaced000 & -pagesize);
 #endif
 	const uintmax_t uoffset =
diff --git a/tests/move_pages.c b/tests/move_pages.c
index 3be7446..f4ccafa 100644
--- a/tests/move_pages.c
+++ b/tests/move_pages.c
@@ -136,7 +136,7 @@
 print_stat_pages(const unsigned long pid, const unsigned long count,
 		 const void **const pages, int *const status)
 {
-	const unsigned long flags = (unsigned long) 0xfacefeed00000002;
+	const unsigned long flags = (unsigned long) 0xfacefeed00000002ULL;
 
 	long rc = syscall(__NR_move_pages,
 			  pid, count, pages, NULL, status, flags);
@@ -163,7 +163,7 @@
 		 int *const nodes,
 		 int *const status)
 {
-	const unsigned long flags = (unsigned long) 0xfacefeed00000004;
+	const unsigned long flags = (unsigned long) 0xfacefeed00000004ULL;
 	count += offset;
 
 	long rc = syscall(__NR_move_pages,
@@ -185,7 +185,7 @@
 main(void)
 {
 	const unsigned long pid =
-		(unsigned long) 0xfacefeed00000000 | getpid();
+		(unsigned long) 0xfacefeed00000000ULL | getpid();
 	unsigned long count = 1;
 	const unsigned page_size = get_page_size();
 	const void *const page = tail_alloc(page_size);
diff --git a/tests/mq.c b/tests/mq.c
index d80f927..9c2ffc8 100644
--- a/tests/mq.c
+++ b/tests/mq.c
@@ -32,23 +32,42 @@
 
 # include <fcntl.h>
 # include <mqueue.h>
+# include <stdio.h>
 # include <stdlib.h>
 # include <unistd.h>
 # include <sys/stat.h>
 
+# define NAME "strace-mq.test"
+
 int
 main (void)
 {
 	struct mq_attr attr;
 	(void) close(0);
-	if (mq_open("/strace-mq.test", O_CREAT, S_IRWXU, 0))
+
+	if (mq_open("/" NAME, O_CREAT, 0700, NULL))
 		perror_msg_and_skip("mq_open");
+	printf("mq_open(\"%s\", O_RDONLY|O_CREAT, 0700, NULL) = 0\n", NAME);
+
 	if (mq_getattr(0, &attr))
 		perror_msg_and_skip("mq_getattr");
-	if (mq_setattr(0, &attr, 0))
+	printf("mq_getsetattr(0, NULL, {mq_flags=0, mq_maxmsg=%lld"
+	       ", mq_msgsize=%lld, mq_curmsgs=0}) = 0\n",
+	       (long long) attr.mq_maxmsg,
+	       (long long) attr.mq_msgsize);
+
+	if (mq_setattr(0, &attr, NULL))
 		perror_msg_and_skip("mq_setattr");
-	if (mq_unlink("/strace-mq.test"))
+	printf("mq_getsetattr(0, {mq_flags=0, mq_maxmsg=%lld"
+	       ", mq_msgsize=%lld, mq_curmsgs=0}, NULL) = 0\n",
+	       (long long) attr.mq_maxmsg,
+	       (long long) attr.mq_msgsize);
+
+	if (mq_unlink("/" NAME))
 		perror_msg_and_skip("mq_unlink");
+	printf("mq_unlink(\"%s\") = 0\n", NAME);
+
+	puts("+++ exited with 0 +++");
 	return 0;
 }
 
diff --git a/tests/mq.expected b/tests/mq.expected
deleted file mode 100644
index 40b8eee..0000000
--- a/tests/mq.expected
+++ /dev/null
@@ -1,4 +0,0 @@
-mq_open\("strace-mq.test", O_RDONLY\|O_CREAT, 0700, NULL\) += 0
-mq_getsetattr\(0, NULL, \{mq_flags=O_RDONLY, mq_maxmsg=[1-9][0-9]*, mq_msgsize=[1-9][0-9]*, mq_curmsg=0\}\) += 0
-mq_getsetattr\(0, \{mq_flags=O_RDONLY, mq_maxmsg=[1-9][0-9]*, mq_msgsize=[1-9][0-9]*, mq_curmsg=0\}, NULL\) += 0
-mq_unlink\("strace-mq.test"\) += 0
diff --git a/tests/mq.test b/tests/mq.test
index e900591..746b07b 100755
--- a/tests/mq.test
+++ b/tests/mq.test
@@ -1,11 +1,6 @@
 #!/bin/sh
 
-# Check mq_open, mq_getsetattr, mq_unlink syscalls decoding.
-
+# Check decoding of mq_open, mq_getsetattr, and mq_unlink syscalls.
 . "${srcdir=.}/init.sh"
 
-run_prog
-run_strace -v -e mq_getsetattr,mq_open,mq_unlink $args
-match_grep
-
-exit 0
+run_strace_match_diff -a28 -e trace=mq_getsetattr,mq_open,mq_unlink
diff --git a/tests/mq_sendrecv-read.c b/tests/mq_sendrecv-read.c
new file mode 100644
index 0000000..cc9867b
--- /dev/null
+++ b/tests/mq_sendrecv-read.c
@@ -0,0 +1,3 @@
+#define DUMPIO_READ 1
+#define MQ_NAME "mq_sendrecv-read.sample"
+#include "mq_sendrecv.c"
diff --git a/tests/mq_sendrecv-read.test b/tests/mq_sendrecv-read.test
new file mode 100755
index 0000000..eb4ad75
--- /dev/null
+++ b/tests/mq_sendrecv-read.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of mq_open, mq_notify, mq_timedsend, mq_timedreceive syscalls.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink -eread=0 -a14
diff --git a/tests/mq_sendrecv-write.c b/tests/mq_sendrecv-write.c
new file mode 100644
index 0000000..ae34ee1
--- /dev/null
+++ b/tests/mq_sendrecv-write.c
@@ -0,0 +1,3 @@
+#define DUMPIO_WRITE 1
+#define MQ_NAME "mq_sendrecv-write.sample"
+#include "mq_sendrecv.c"
diff --git a/tests/mq_sendrecv-write.test b/tests/mq_sendrecv-write.test
new file mode 100755
index 0000000..38277ec
--- /dev/null
+++ b/tests/mq_sendrecv-write.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of mq_open, mq_notify, mq_timedsend, mq_timedreceive syscalls.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink -ewrite=0 -a14
diff --git a/tests/mq_sendrecv.c b/tests/mq_sendrecv.c
new file mode 100644
index 0000000..c151542
--- /dev/null
+++ b/tests/mq_sendrecv.c
@@ -0,0 +1,480 @@
+/*
+ * Check decoding of mq_open, mq_timedsend, mq_notify, mq_timedreceive and
+ * mq_unlink syscalls.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#include <asm/unistd.h>
+
+#if defined __NR_mq_open && __NR_mq_timedsend && __NR_mq_timedreceive && \
+	__NR_mq_notify && __NR_mq_unlink
+
+# include <assert.h>
+# include <errno.h>
+# include <fcntl.h>
+# include <inttypes.h>
+# include <signal.h>
+# include <stdbool.h>
+# include <stdio.h>
+# include <stdlib.h>
+# include <string.h>
+# include <time.h>
+# include <unistd.h>
+
+# include "sigevent.h"
+
+# ifndef MQ_NAME
+#  define MQ_NAME "mq_sendrecv.sample"
+# endif
+
+# ifndef DUMPIO_READ
+#  define DUMPIO_READ 0
+# endif
+
+# ifndef DUMPIO_WRITE
+#  define DUMPIO_WRITE 0
+# endif
+
+
+enum {
+	NUM_ATTRS = 8,
+	MSG_CUT = 8,
+	MSG_MAX_UNCUT = 32,
+	MSG_SIZE = 64,
+	MSG_START = 0x80,
+};
+
+
+static void
+printstr(unsigned char start, unsigned int count)
+{
+	unsigned int i;
+
+	printf("\"");
+	for (i = 0; i < count; i++) {
+		printf("\\%hho", (unsigned char) (start + i));
+	}
+	printf("\"");
+}
+
+#if DUMPIO_READ || DUMPIO_WRITE
+static void
+dumpstr(unsigned char start, unsigned int count)
+{
+	unsigned int i;
+	unsigned int j;
+
+	for (i = 0; i < count; i++) {
+		if (i < count) {
+			if (!(i % 16))
+				printf(" | %05x ", i);
+			if (!(i % 8))
+				printf(" ");
+
+			printf("%02hhx ", (unsigned char) (start + i));
+		}
+
+		if ((i % 16 == 15) || (i == (count - 1))) {
+			if (i % 16 != 15)
+				printf("%*s", 3 * (15 - i % 16) +
+				       ((i + 8) % 16) / 8, " ");
+
+			printf(" ");
+
+			for (j = 0; j <= (i % 16); j++)
+				printf(".");
+			for (j = i % 16; j < 15; j++)
+				printf(" ");
+
+			printf(" |\n");
+
+		}
+	}
+}
+#endif /* DUMPIO_READ || DUMPIO_WRITE */
+
+static void
+cleanup(void)
+{
+	long rc;
+
+	rc = syscall(__NR_mq_unlink, MQ_NAME);
+	printf("mq_unlink(\"" MQ_NAME "\") = %s\n", sprintrc(rc));
+
+	puts("+++ exited with 0 +++");
+}
+
+static void
+do_send(int fd, char *msg, unsigned int msg_size, struct timespec *tmout,
+	bool cropped)
+{
+	long rc;
+	long saved_errno;
+
+	do {
+		rc = syscall(__NR_mq_timedsend, fd, msg, msg_size, 42,
+			     tmout);
+		saved_errno = errno;
+		printf("mq_timedsend(%d, ", fd);
+		printstr(MSG_START, msg_size > MSG_MAX_UNCUT ? MSG_MAX_UNCUT :
+			 msg_size);
+		if (cropped)
+			printf("...");
+		errno = saved_errno;
+		printf(", %u, 42, {tv_sec=%jd, tv_nsec=%jd}) = %s\n", msg_size,
+		       (intmax_t) tmout->tv_sec, (intmax_t) tmout->tv_nsec,
+		       sprintrc(rc));
+		errno = saved_errno;
+
+		if (rc == -1) {
+			if (errno == EINTR)
+				continue;
+			perror_msg_and_skip("mq_timedsend");
+		}
+# if DUMPIO_WRITE
+		dumpstr(MSG_START, msg_size);
+# endif
+	} while (rc);
+}
+
+static void
+do_recv(int fd, char *msg, unsigned int msg_size, struct timespec *tmout,
+	bool cropped)
+{
+	long rc;
+	long saved_errno;
+	unsigned prio;
+
+	do {
+		rc = syscall(__NR_mq_timedreceive, fd, msg, MSG_SIZE, &prio,
+			     tmout);
+		saved_errno = errno;
+		printf("mq_timedreceive(%d, ", fd);
+		if (rc >= 0) {
+			printstr(MSG_START, rc > MSG_MAX_UNCUT ? MSG_MAX_UNCUT :
+				 rc);
+			if (cropped)
+				printf("...");
+		} else {
+			printf("%p", msg);
+		}
+		errno = saved_errno;
+		printf(", %u, [42], {tv_sec=%jd, tv_nsec=%jd}) = %s\n", MSG_SIZE,
+		       (intmax_t) tmout->tv_sec,
+		       (intmax_t) tmout->tv_nsec, sprintrc(rc));
+		errno = saved_errno;
+
+		if (rc == -1) {
+			if (errno == EINTR)
+				continue;
+			perror_msg_and_skip("mq_timedreceive");
+		}
+		if ((rc >= 0) && ((unsigned long) rc != msg_size))
+			error_msg_and_skip("mq_timedreceive size mismatch"
+					   ": expected %u, got %ld",
+					   msg_size, rc);
+# if DUMPIO_READ
+		dumpstr(MSG_START, rc);
+# endif
+	} while (rc < 0);
+}
+
+int
+main(void)
+{
+	static const kernel_ulong_t bogus_zero =
+		(kernel_ulong_t) 0x8765432100000000ULL;
+	static const kernel_ulong_t bogus_oflags =
+		(kernel_ulong_t) 0xdefaced100000003ULL;
+	static const kernel_ulong_t bogus_mode =
+		(kernel_ulong_t) 0xdec0deadfacefeedULL;
+	static const kernel_ulong_t bogus_fd =
+		(kernel_ulong_t) 0xfeedfacedeadba5eULL;
+	static const kernel_ulong_t bogus_zero_size =
+		(sizeof(kernel_ulong_t) > sizeof(int)) ? (kernel_ulong_t) 0 :
+			(kernel_ulong_t) 0xface1e5500000000ULL;
+	static const kernel_ulong_t bogus_size =
+		(kernel_ulong_t) 0xbadc0dedda7a1057ULL;
+	static const kernel_ulong_t bogus_prio =
+		(kernel_ulong_t) 0xdec0ded1defaced3ULL;
+	static const struct timespec bogus_tmout_data = {
+		.tv_sec = (time_t) 0xdeadfacebeeff00dLL,
+		.tv_nsec = (long) 0xfacefee1deadfeedLL,
+	};
+	static const struct timespec future_tmout_data = {
+		.tv_sec = (time_t) 0x7ea1fade7e57faceLL,
+		.tv_nsec = 999999999,
+	};;
+	struct_sigevent bogus_sev_data = {
+		.sigev_notify = 0xdefaced,
+		.sigev_signo = 0xfacefeed,
+		.sigev_value.sival_ptr = (unsigned long) 0xdeadbeefbadc0dedULL
+	};
+
+	const char *errstr;
+	long rc;
+	kernel_long_t *bogus_attrs = tail_alloc(sizeof(*bogus_attrs) *
+		NUM_ATTRS);
+	char *msg = tail_alloc(MSG_SIZE);
+	unsigned *bogus_prio_ptr = tail_alloc(sizeof(*bogus_prio_ptr));
+	struct timespec *bogus_tmout = tail_memdup(&bogus_tmout_data,
+		sizeof(*bogus_tmout));
+	struct timespec *future_tmout = tail_memdup(&future_tmout_data,
+		sizeof(*future_tmout));
+	struct_sigevent *bogus_sev = tail_memdup(&bogus_sev_data,
+		sizeof(*bogus_sev));
+	int fd = -1;
+
+
+	fill_memory_ex(msg, MSG_SIZE, MSG_START, MSG_SIZE);
+	fill_memory_ex(bogus_attrs, sizeof(*bogus_attrs) * NUM_ATTRS,
+		       0xbb, 0x70);
+
+
+	/* mq_open */
+
+	/* Zero values, non-O_CREAT mode */
+	rc = syscall(__NR_mq_open, NULL, bogus_zero, bogus_mode, NULL);
+	printf("mq_open(NULL, O_RDONLY) = %s\n", sprintrc(rc));
+
+	/* O_CREAT parsing, other flags, bogs values */
+	rc = syscall(__NR_mq_open, msg, O_CREAT | bogus_oflags, bogus_mode,
+		     NULL);
+	printf("mq_open(%p, O_ACCMODE|O_CREAT, %#o, NULL) = %s\n",
+	       msg, (unsigned short) bogus_mode, sprintrc(rc));
+
+	/* Partially invalid attributes structure */
+	rc = syscall(__NR_mq_open, msg, O_CREAT | bogus_oflags, bogus_mode,
+		     bogus_attrs + 1);
+	printf("mq_open(%p, O_ACCMODE|O_CREAT, %#o, %p) = %s\n",
+	       msg, (unsigned short) bogus_mode, bogus_attrs + 1, sprintrc(rc));
+
+	/* Valid attributes structure */
+	rc = syscall(__NR_mq_open, msg, O_CREAT | bogus_oflags, bogus_mode,
+		     bogus_attrs);
+	printf("mq_open(%p, O_ACCMODE|O_CREAT, %#o, {mq_flags=%#llx, "
+	       "mq_maxmsg=%lld, mq_msgsize=%lld, mq_curmsgs=%lld}) = %s\n",
+	       msg, (unsigned short) bogus_mode,
+	       (unsigned long long) (kernel_ulong_t) bogus_attrs[0],
+	       (long long) bogus_attrs[1],
+	       (long long) bogus_attrs[2],
+	       (long long) bogus_attrs[3], sprintrc(rc));
+
+
+	/* mq_timedsend */
+
+	/* Zero values*/
+	rc = syscall(__NR_mq_timedsend, bogus_zero, NULL, bogus_zero_size,
+		     bogus_zero, NULL);
+	printf("mq_timedsend(0, NULL, 0, 0, NULL) = %s\n", sprintrc(rc));
+
+	/* Invalid pointers */
+	rc = syscall(__NR_mq_timedsend, bogus_fd, msg + MSG_SIZE, bogus_size,
+		     bogus_prio, bogus_tmout + 1);
+	printf("mq_timedsend(%d, %p, %llu, %u, %p) = %s\n",
+	       (int) bogus_fd, msg + MSG_SIZE, (unsigned long long) bogus_size,
+	       (unsigned) bogus_prio, bogus_tmout + 1, sprintrc(rc));
+
+	/* Partially invalid message (memory only partially available) */
+	rc = syscall(__NR_mq_timedsend, bogus_fd, msg + MSG_SIZE - MSG_CUT,
+		     MSG_SIZE, bogus_prio, bogus_tmout);
+	printf("mq_timedsend(%d, %p, %llu, %u, {tv_sec=%jd, tv_nsec=%jd}) = "
+	       "%s\n",
+	       (int) bogus_fd, msg + MSG_SIZE - MSG_CUT,
+	       (unsigned long long) MSG_SIZE, (unsigned) bogus_prio,
+	       (intmax_t) bogus_tmout->tv_sec, (intmax_t) bogus_tmout->tv_nsec,
+	       sprintrc(rc));
+
+	/* Fully valid message, uncut */
+	rc = syscall(__NR_mq_timedsend, bogus_fd, msg + MSG_SIZE - MSG_CUT,
+		     MSG_CUT, bogus_prio, bogus_tmout);
+	errstr = sprintrc(rc);
+	printf("mq_timedsend(%d, ", (int) bogus_fd);
+	printstr(MSG_START + MSG_SIZE - MSG_CUT, MSG_CUT);
+	printf(", %llu, %u, {tv_sec=%jd, tv_nsec=%jd}) = %s\n",
+	       (unsigned long long) MSG_CUT, (unsigned) bogus_prio,
+	       (intmax_t) bogus_tmout->tv_sec, (intmax_t) bogus_tmout->tv_nsec,
+	       errstr);
+
+	/* Partially invalid message, cut at maxstrlen */
+	rc = syscall(__NR_mq_timedsend, bogus_fd, msg + MSG_CUT, MSG_SIZE,
+		     bogus_prio, bogus_tmout);
+	errstr = sprintrc(rc);
+	printf("mq_timedsend(%d, ", (int) bogus_fd);
+	printstr(MSG_START + MSG_CUT, MSG_MAX_UNCUT);
+	printf("..., %llu, %u, {tv_sec=%jd, tv_nsec=%jd}) = %s\n",
+	       (unsigned long long) MSG_SIZE, (unsigned) bogus_prio,
+	       (intmax_t) bogus_tmout->tv_sec, (intmax_t) bogus_tmout->tv_nsec,
+	       errstr);
+
+
+	/* mq_timedreceive */
+
+	/* Zero values */
+	rc = syscall(__NR_mq_timedreceive, bogus_zero, NULL, bogus_zero_size,
+		     NULL, NULL);
+	printf("mq_timedreceive(0, NULL, 0, NULL, NULL) = %s\n", sprintrc(rc));
+
+	/* Invalid addresses */
+	rc = syscall(__NR_mq_timedreceive, bogus_fd, msg + MSG_SIZE, bogus_size,
+		     bogus_prio_ptr + 1, bogus_tmout + 1);
+	printf("mq_timedreceive(%d, %p, %llu, %p, %p) = %s\n",
+	       (int) bogus_fd, msg + MSG_SIZE, (unsigned long long) bogus_size,
+	       bogus_prio_ptr + 1, bogus_tmout + 1, sprintrc(rc));
+
+	/* Invalid fd, valid msg pointer */
+	rc = syscall(__NR_mq_timedreceive, bogus_fd, msg, bogus_size,
+		     bogus_prio_ptr, bogus_tmout);
+	printf("mq_timedreceive(%d, %p, %llu, %p, {tv_sec=%jd, tv_nsec=%jd}) = "
+	       "%s\n",
+	       (int) bogus_fd, msg, (unsigned long long) bogus_size,
+	       bogus_prio_ptr, (intmax_t) bogus_tmout->tv_sec,
+	       (intmax_t) bogus_tmout->tv_nsec, sprintrc(rc));
+
+
+	/* mq_notify */
+
+	/* Zero values */
+	rc = syscall(__NR_mq_notify, bogus_zero, NULL);
+	printf("mq_notify(0, NULL) = %s\n", sprintrc(rc));
+
+	/* Invalid pointer */
+	rc = syscall(__NR_mq_notify, bogus_fd, bogus_sev + 1);
+	printf("mq_notify(%d, %p) = %s\n",
+	       (int) bogus_fd, bogus_sev + 1, sprintrc(rc));
+
+	/* Invalid SIGEV_* */
+	rc = syscall(__NR_mq_notify, bogus_fd, bogus_sev);
+	printf("mq_notify(%d, {sigev_value={sival_int=%d, sival_ptr=%#lx}"
+	       ", sigev_signo=%u, sigev_notify=%#x /* SIGEV_??? */}) = %s\n",
+	       (int) bogus_fd, bogus_sev->sigev_value.sival_int,
+	       bogus_sev->sigev_value.sival_ptr,
+	       bogus_sev->sigev_signo, bogus_sev->sigev_notify,
+	       sprintrc(rc));
+
+	/* SIGEV_NONE */
+	bogus_sev->sigev_notify = SIGEV_NONE;
+	rc = syscall(__NR_mq_notify, bogus_fd, bogus_sev);
+	printf("mq_notify(%d, {sigev_value={sival_int=%d, sival_ptr=%#lx}, "
+	       "sigev_signo=%u, sigev_notify=SIGEV_NONE}) = %s\n",
+	       (int) bogus_fd, bogus_sev->sigev_value.sival_int,
+	       bogus_sev->sigev_value.sival_ptr,
+	       bogus_sev->sigev_signo, sprintrc(rc));
+
+	/* SIGEV_SIGNAL */
+	bogus_sev->sigev_notify = SIGEV_SIGNAL;
+	bogus_sev->sigev_signo = SIGALRM;
+	rc = syscall(__NR_mq_notify, bogus_fd, bogus_sev);
+	printf("mq_notify(%d, {sigev_value={sival_int=%d, sival_ptr=%#lx}, "
+	       "sigev_signo=SIGALRM, sigev_notify=SIGEV_SIGNAL}) = %s\n",
+	       (int) bogus_fd, bogus_sev->sigev_value.sival_int,
+	       bogus_sev->sigev_value.sival_ptr, sprintrc(rc));
+
+	/* SIGEV_THREAD */
+	bogus_sev->sigev_notify = SIGEV_THREAD;
+	bogus_sev->sigev_un.sigev_thread.function =
+		(unsigned long) 0xdeadbeefbadc0dedULL;
+	bogus_sev->sigev_un.sigev_thread.attribute =
+		(unsigned long) 0xcafef00dfacefeedULL;
+	rc = syscall(__NR_mq_notify, bogus_fd, bogus_sev);
+	printf("mq_notify(%d, {sigev_value={sival_int=%d, sival_ptr=%#lx}, "
+	       "sigev_signo=SIGALRM, sigev_notify=SIGEV_THREAD, "
+	       "sigev_notify_function=%#lx, sigev_notify_attributes=%#lx}) = "
+	       "%s\n",
+	       (int) bogus_fd, bogus_sev->sigev_value.sival_int,
+	       bogus_sev->sigev_value.sival_ptr,
+	       bogus_sev->sigev_un.sigev_thread.function,
+	       bogus_sev->sigev_un.sigev_thread.attribute, sprintrc(rc));
+
+	/* mq_unlink */
+
+	/* Zero values */
+	rc = syscall(__NR_mq_unlink, NULL);
+	printf("mq_unlink(NULL) = %s\n", sprintrc(rc));
+
+	/* Invalid ptr */
+	rc = syscall(__NR_mq_unlink, msg + MSG_SIZE);
+	printf("mq_unlink(%p) = %s\n", msg + MSG_SIZE, sprintrc(rc));
+
+	/* Long unterminated string */
+	rc = syscall(__NR_mq_unlink, msg);
+	errstr = sprintrc(rc);
+	printf("mq_unlink(%p) = %s\n", msg, errstr);
+
+
+	/* Sending and receiving test */
+
+# if DUMPIO_READ || DUMPIO_WRITE
+	close(0);
+# endif
+	bogus_attrs[1] = 2;
+	bogus_attrs[2] = MSG_SIZE;
+	fd = rc = syscall(__NR_mq_open, MQ_NAME,
+		          O_CREAT|O_RDWR|O_NONBLOCK, S_IRWXU, bogus_attrs);
+	errstr = sprintrc(rc);
+	if (rc < 0)
+		perror_msg_and_skip("mq_open");
+	else
+		atexit(cleanup);
+# if DUMPIO_READ || DUMPIO_WRITE
+	if (fd != 0)
+		error_msg_and_skip("mq_open returned fd other than 0");
+# endif
+	fill_memory_ex(bogus_attrs, sizeof(*bogus_attrs) * NUM_ATTRS,
+		       0xbb, 0x70);
+	printf("mq_open(\"" MQ_NAME "\", O_RDWR|O_CREAT|O_NONBLOCK, "
+	       "0700, {mq_flags=%#llx, mq_maxmsg=2, mq_msgsize=%u, "
+	       "mq_curmsgs=%lld}) = %s\n",
+	       (unsigned long long) (kernel_ulong_t) bogus_attrs[0], MSG_SIZE,
+	       (long long) bogus_attrs[3], errstr);
+
+	rc = syscall(__NR_mq_getsetattr, fd, NULL, bogus_attrs);
+	if (rc < 0)
+		perror_msg_and_skip("mq_getsetattr");
+	if ((bogus_attrs[1] < 2) || (bogus_attrs[2] < MSG_SIZE))
+		error_msg_and_skip("mq too small");
+
+	do_send(fd, msg, MSG_CUT, future_tmout, false);
+	do_send(fd, msg, MSG_SIZE, future_tmout, true);
+
+	memset(msg, '\0', MSG_SIZE);
+	do_recv(fd, msg, MSG_CUT, future_tmout, false);
+
+	memset(msg, '\0', MSG_SIZE);
+	do_recv(fd, msg, MSG_SIZE, future_tmout, true);
+
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_mq_open && __NR_mq_timedsend && "
+	"__NR_mq_timedreceive && __NR_mq_notify && __NR_mq_unlink");
+
+#endif
diff --git a/tests/mq_sendrecv.test b/tests/mq_sendrecv.test
new file mode 100755
index 0000000..67f4d63
--- /dev/null
+++ b/tests/mq_sendrecv.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of mq_open, mq_notify, mq_timedsend, mq_timedreceive syscalls.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink -a14
diff --git a/tests/msg_control.c b/tests/msg_control.c
index 7540c3d..709a307 100644
--- a/tests/msg_control.c
+++ b/tests/msg_control.c
@@ -53,8 +53,6 @@
 #define MIN_SIZE_OF(type, member) \
 	(offsetof(type, member) + sizeof(((type *) 0)->member))
 
-#define VAL_STR(val) val, #val
-
 static struct cmsghdr *
 get_cmsghdr(void *const page, const size_t len)
 {
@@ -371,7 +369,7 @@
 		     cmsg_len++) {
 			test_scm_security(mh, msg_controllen,
 					  page, text, cmsg_len,
-					  VAL_STR(SOL_SOCKET));
+					  ARG_STR(SOL_SOCKET));
 		}
 	}
 
@@ -379,7 +377,7 @@
 	test_scm_rights3(mh, page, DEFAULT_STRLEN);
 	test_scm_rights3(mh, page, DEFAULT_STRLEN + 1);
 
-	test_unknown_type(mh, page, VAL_STR(SOL_SOCKET), "SCM_???");
+	test_unknown_type(mh, page, ARG_STR(SOL_SOCKET), "SCM_???");
 }
 
 static void
@@ -604,32 +602,32 @@
 static void
 test_sol_ip(struct msghdr *const mh, void *const page)
 {
-	test_ip_pktinfo(mh, page, VAL_STR(IP_PKTINFO));
-	test_ip_uint(mh, page, VAL_STR(IP_TTL));
-	test_ip_uint8_t(mh, page, VAL_STR(IP_TOS));
-	test_ip_opts(mh, page, VAL_STR(IP_RECVOPTS), 1);
-	test_ip_opts(mh, page, VAL_STR(IP_RECVOPTS), 2);
-	test_ip_opts(mh, page, VAL_STR(IP_RECVOPTS), 3);
-	test_ip_opts(mh, page, VAL_STR(IP_RECVOPTS), 4);
-	test_ip_opts(mh, page, VAL_STR(IP_RETOPTS), 5);
-	test_ip_opts(mh, page, VAL_STR(IP_RETOPTS), 6);
-	test_ip_opts(mh, page, VAL_STR(IP_RETOPTS), 7);
-	test_ip_opts(mh, page, VAL_STR(IP_RETOPTS), 8);
-	test_ip_opts(mh, page, VAL_STR(IP_RETOPTS), DEFAULT_STRLEN - 1);
-	test_ip_opts(mh, page, VAL_STR(IP_RETOPTS), DEFAULT_STRLEN);
-	test_ip_opts(mh, page, VAL_STR(IP_RETOPTS), DEFAULT_STRLEN + 1);
+	test_ip_pktinfo(mh, page, ARG_STR(IP_PKTINFO));
+	test_ip_uint(mh, page, ARG_STR(IP_TTL));
+	test_ip_uint8_t(mh, page, ARG_STR(IP_TOS));
+	test_ip_opts(mh, page, ARG_STR(IP_RECVOPTS), 1);
+	test_ip_opts(mh, page, ARG_STR(IP_RECVOPTS), 2);
+	test_ip_opts(mh, page, ARG_STR(IP_RECVOPTS), 3);
+	test_ip_opts(mh, page, ARG_STR(IP_RECVOPTS), 4);
+	test_ip_opts(mh, page, ARG_STR(IP_RETOPTS), 5);
+	test_ip_opts(mh, page, ARG_STR(IP_RETOPTS), 6);
+	test_ip_opts(mh, page, ARG_STR(IP_RETOPTS), 7);
+	test_ip_opts(mh, page, ARG_STR(IP_RETOPTS), 8);
+	test_ip_opts(mh, page, ARG_STR(IP_RETOPTS), DEFAULT_STRLEN - 1);
+	test_ip_opts(mh, page, ARG_STR(IP_RETOPTS), DEFAULT_STRLEN);
+	test_ip_opts(mh, page, ARG_STR(IP_RETOPTS), DEFAULT_STRLEN + 1);
 #ifdef IP_CHECKSUM
-	test_ip_recverr(mh, page, VAL_STR(IP_RECVERR));
+	test_ip_recverr(mh, page, ARG_STR(IP_RECVERR));
 #endif
 #ifdef IP_ORIGDSTADDR
-	test_ip_origdstaddr(mh, page, VAL_STR(IP_ORIGDSTADDR));
+	test_ip_origdstaddr(mh, page, ARG_STR(IP_ORIGDSTADDR));
 #endif
 #ifdef IP_CHECKSUM
-	test_ip_uint(mh, page, VAL_STR(IP_CHECKSUM));
+	test_ip_uint(mh, page, ARG_STR(IP_CHECKSUM));
 #endif
 	test_scm_security(mh, CMSG_LEN(0), page, 0, CMSG_LEN(0),
-			  VAL_STR(SOL_IP));
-	test_unknown_type(mh, page, VAL_STR(SOL_IP), "IP_???");
+			  ARG_STR(SOL_IP));
+	test_unknown_type(mh, page, ARG_STR(SOL_IP), "IP_???");
 }
 
 static void
diff --git a/tests/nanosleep.c b/tests/nanosleep.c
index db430e5..9f0e626 100644
--- a/tests/nanosleep.c
+++ b/tests/nanosleep.c
@@ -57,7 +57,7 @@
 
 	if (nanosleep(&req.ts, NULL))
 		perror_msg_and_fail("nanosleep");
-	printf("nanosleep({%jd, %jd}, NULL) = 0\n",
+	printf("nanosleep({tv_sec=%jd, tv_nsec=%jd}, NULL) = 0\n",
 	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec);
 
 	assert(nanosleep(NULL, &rem.ts) == -1);
@@ -65,12 +65,12 @@
 
 	if (nanosleep(&req.ts, &rem.ts))
 		perror_msg_and_fail("nanosleep");
-	printf("nanosleep({%jd, %jd}, %p) = 0\n",
+	printf("nanosleep({tv_sec=%jd, tv_nsec=%jd}, %p) = 0\n",
 	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec, &rem.ts);
 
 	req.ts.tv_nsec = 1000000000;
 	assert(nanosleep(&req.ts, &rem.ts) == -1);
-	printf("nanosleep({%jd, %jd}, %p) = -1 EINVAL (%m)\n",
+	printf("nanosleep({tv_sec=%jd, tv_nsec=%jd}, %p) = -1 EINVAL (%m)\n",
 	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec, &rem.ts);
 
 	assert(sigaction(SIGALRM, &act, NULL) == 0);
@@ -78,8 +78,8 @@
 
 	if (setitimer(ITIMER_REAL, &itv, NULL))
 		perror_msg_and_skip("setitimer");
-	printf("setitimer(ITIMER_REAL, {it_interval={%jd, %jd}"
-	       ", it_value={%jd, %jd}}, NULL) = 0\n",
+	printf("setitimer(ITIMER_REAL, {it_interval={tv_sec=%jd, tv_usec=%jd}"
+	       ", it_value={tv_sec=%jd, tv_usec=%jd}}, NULL) = 0\n",
 	       (intmax_t) itv.it_interval.tv_sec,
 	       (intmax_t) itv.it_interval.tv_usec,
 	       (intmax_t) itv.it_value.tv_sec,
@@ -87,7 +87,7 @@
 
 	req.ts.tv_nsec = 999999999;
 	assert(nanosleep(&req.ts, &rem.ts) == -1);
-	printf("nanosleep({%jd, %jd}, {%jd, %jd})"
+	printf("nanosleep({tv_sec=%jd, tv_nsec=%jd}, {tv_sec=%jd, tv_nsec=%jd})"
 	       " = ? ERESTART_RESTARTBLOCK (Interrupted by signal)\n",
 	       (intmax_t) req.ts.tv_sec, (intmax_t) req.ts.tv_nsec,
 	       (intmax_t) rem.ts.tv_sec, (intmax_t) rem.ts.tv_nsec);
diff --git a/tests/nsyscalls.c b/tests/nsyscalls.c
index 8e09acb..aecf7aa 100644
--- a/tests/nsyscalls.c
+++ b/tests/nsyscalls.c
@@ -27,9 +27,12 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include "defs.h"
-#include "kernel_types.h"
-#include "syscall.h"
+#include "tests.h"
+#include "sysent.h"
+#include <errno.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <asm/unistd.h>
 
 #define TD 0
 #define TF 0
@@ -42,14 +45,13 @@
 #define MA 0
 #define SI 0
 #define SE 0
+#define CST 0
 #define SEN(arg) 0,0
 
 static const struct_sysent syscallent[] = {
 #include "syscallent.h"
 };
 
-#include <asm/unistd.h>
-
 #if defined __X32_SYSCALL_BIT && defined __NR_read \
  && (__X32_SYSCALL_BIT & __NR_read) != 0
 # define SYSCALL_BIT __X32_SYSCALL_BIT
@@ -61,12 +63,12 @@
 test_syscall(const unsigned long nr)
 {
 	static const kernel_ulong_t a[] = {
-		(kernel_ulong_t) 0xface0fedbadc0ded,
-		(kernel_ulong_t) 0xface1fedbadc1ded,
-		(kernel_ulong_t) 0xface2fedbadc2ded,
-		(kernel_ulong_t) 0xface3fedbadc3ded,
-		(kernel_ulong_t) 0xface4fedbadc4ded,
-		(kernel_ulong_t) 0xface5fedbadc5ded
+		(kernel_ulong_t) 0xface0fedbadc0dedULL,
+		(kernel_ulong_t) 0xface1fedbadc1dedULL,
+		(kernel_ulong_t) 0xface2fedbadc2dedULL,
+		(kernel_ulong_t) 0xface3fedbadc3dedULL,
+		(kernel_ulong_t) 0xface4fedbadc4dedULL,
+		(kernel_ulong_t) 0xface5fedbadc5dedULL
 	};
 
 	long rc = syscall(nr | SYSCALL_BIT,
diff --git a/tests/old_mmap.c b/tests/old_mmap.c
index de1bafb..2725fb7 100644
--- a/tests/old_mmap.c
+++ b/tests/old_mmap.c
@@ -31,7 +31,7 @@
 #include <asm/unistd.h>
 
 /*
- * On s390x, this is the mmap syscall used by glibc, so,
+ * On s390x and m68k, this is the mmap syscall used by glibc, so,
  * from one side, it's already covered by another test, and, from another side,
  * it would require additional efforts to filter out mmap calls made by glibc.
  */
@@ -39,7 +39,6 @@
 #if defined __NR_mmap && \
 (   defined __arm__ \
  || defined __i386__ \
- || defined __m68k__ \
  || (defined __s390__ && !defined __s390x__) \
 )
 
@@ -96,7 +95,7 @@
 
 #else
 
-SKIP_MAIN_UNDEFINED("__NR_mmap && (__arm__ || __i386__ || __m68k__"
+SKIP_MAIN_UNDEFINED("__NR_mmap && (__arm__ || __i386__"
 		    " || (__s390__ && !__s390x__))")
 
 #endif
diff --git a/tests/oldfstat.c b/tests/oldfstat.c
new file mode 100644
index 0000000..f5a9441
--- /dev/null
+++ b/tests/oldfstat.c
@@ -0,0 +1,49 @@
+/*
+ * Check decoding of oldfstat syscall.
+ *
+ * Copyright (c) 2015-2016 Dmitry V. Levin <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+
+#if defined __NR_oldfstat && HAVE_STRUCT___OLD_KERNEL_STAT
+
+# define OLD_STAT 1
+# define TEST_SYSCALL_NR __NR_oldfstat
+# define TEST_SYSCALL_STR "oldfstat"
+# define STRUCT_STAT struct __old_kernel_stat
+# define STRUCT_STAT_STR "struct __old_kernel_stat"
+# define STRUCT_STAT_IS_STAT64 0
+# define SAMPLE_SIZE ((libc_off_t) (kernel_ulong_t) 23147718418U)
+# include "fstatx.c"
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_oldfstat && HAVE_STRUCT___OLD_KERNEL_STAT")
+
+#endif
diff --git a/tests/oldfstat.test b/tests/oldfstat.test
new file mode 100755
index 0000000..66a1056
--- /dev/null
+++ b/tests/oldfstat.test
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+# Check oldfstat syscall decoding.
+
+. "${srcdir=.}/init.sh"
+
+# strace -P is implemented using /proc/self/fd
+[ -d /proc/self/fd/ ] ||
+	framework_skip_ '/proc/self/fd/ is not available'
+
+syscall=$NAME
+run_prog > /dev/null
+sample=$syscall.sample
+> "$sample"
+run_strace -ve$syscall -P$sample -a21 $args > "$OUT"
+match_diff "$LOG" "$OUT"
+rm -f "$OUT"
+
+exit 0
diff --git a/tests/oldlstat.c b/tests/oldlstat.c
new file mode 100644
index 0000000..6613237
--- /dev/null
+++ b/tests/oldlstat.c
@@ -0,0 +1,49 @@
+/*
+ * Check decoding of oldlstat syscall.
+ *
+ * Copyright (c) 2015-2016 Dmitry V. Levin <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+
+#if defined __NR_oldlstat && HAVE_STRUCT___OLD_KERNEL_STAT
+
+# define OLD_STAT 1
+# define TEST_SYSCALL_NR __NR_oldlstat
+# define TEST_SYSCALL_STR "oldlstat"
+# define STRUCT_STAT struct __old_kernel_stat
+# define STRUCT_STAT_STR "struct __old_kernel_stat"
+# define STRUCT_STAT_IS_STAT64 0
+# define SAMPLE_SIZE ((libc_off_t) (kernel_ulong_t) 23147718418U)
+# include "lstatx.c"
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_oldlstat && HAVE_STRUCT___OLD_KERNEL_STAT")
+
+#endif
diff --git a/tests/oldlstat.test b/tests/oldlstat.test
new file mode 100755
index 0000000..a0f9ab9
--- /dev/null
+++ b/tests/oldlstat.test
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# Check oldlstat syscall decoding.
+
+. "${srcdir=.}/statx.sh"
diff --git a/tests/oldselect.expected b/tests/oldselect.expected
index c0426f4..d6e7f3c 100644
--- a/tests/oldselect.expected
+++ b/tests/oldselect.expected
@@ -1,2 +1,2 @@
-select(2, [1], [0], NULL, {0, 42}) = 0 (Timeout)
+select(2, [1], [0], NULL, {tv_sec=0, tv_usec=42}) = 0 (Timeout)
 +++ exited with 0 +++
diff --git a/tests/oldstat.c b/tests/oldstat.c
new file mode 100644
index 0000000..d06e2bc
--- /dev/null
+++ b/tests/oldstat.c
@@ -0,0 +1,49 @@
+/*
+ * Check decoding of oldstat syscall.
+ *
+ * Copyright (c) 2015-2016 Dmitry V. Levin <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+
+#if defined __NR_oldstat && HAVE_STRUCT___OLD_KERNEL_STAT
+
+# define OLD_STAT 1
+# define TEST_SYSCALL_NR __NR_oldstat
+# define TEST_SYSCALL_STR "oldstat"
+# define STRUCT_STAT struct __old_kernel_stat
+# define STRUCT_STAT_STR "struct __old_kernel_stat"
+# define STRUCT_STAT_IS_STAT64 0
+# define SAMPLE_SIZE ((libc_off_t) (kernel_ulong_t) 131478418U)
+# include "lstatx.c"
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_oldstat && HAVE_STRUCT___OLD_KERNEL_STAT")
+
+#endif
diff --git a/tests/oldstat.test b/tests/oldstat.test
new file mode 100755
index 0000000..42d70f7
--- /dev/null
+++ b/tests/oldstat.test
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# Check oldstat syscall decoding.
+
+. "${srcdir=.}/statx.sh"
diff --git a/tests/options-syntax.test b/tests/options-syntax.test
new file mode 100755
index 0000000..592b0e0
--- /dev/null
+++ b/tests/options-syntax.test
@@ -0,0 +1,148 @@
+#!/bin/sh
+#
+# Check strace options syntax.
+#
+# Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+# 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"
+
+check_exit_status_and_stderr()
+{
+	$STRACE "$@" 2> "$LOG" &&
+		dump_log_and_fail_with \
+			"strace $* failed to handle the error properly"
+	match_diff "$LOG" "$EXP" ||
+		dump_log_and_fail_with \
+			"strace $* failed to print expected diagnostics"
+}
+
+strace_exp="${STRACE##* }"
+
+check_e()
+{
+	local pattern="$1"; shift
+	cat > "$EXP" << __EOF__
+$strace_exp: $pattern
+__EOF__
+	check_exit_status_and_stderr "$@"
+}
+
+check_h()
+{
+	local pattern="$1"; shift
+	cat > "$EXP" << __EOF__
+$strace_exp: $pattern
+Try '$strace_exp -h' for more information.
+__EOF__
+	check_exit_status_and_stderr "$@"
+}
+
+check_e "Invalid process id: '0'" -p 0
+check_e "Invalid process id: '-42'" -p -42
+check_e "Invalid process id: '$$.'" -p $$.
+check_e "Invalid process id: 'a'" -p 1,a
+check_e "Syscall 'chdir' for -b isn't supported" -b chdir
+check_e "Syscall 'chdir' for -b isn't supported" -b execve -b chdir
+
+check_e "invalid system call '-1'" -e-1
+check_e "invalid system call '-2'" -e -2
+check_e "invalid system call '-3'" -etrace=-3
+check_e "invalid system call '-4'" -e trace=-4
+check_e "invalid system call '-5'" -e trace=1,-5
+check_e "invalid system call '2147483647'" -e 2147483647
+check_e "invalid system call '2147483648'" -e 2147483648
+check_e "invalid system call '4294967295'" -e 4294967295
+check_e "invalid system call '4294967296'" -e 4294967296
+
+check_e "invalid descriptor '-1'" -eread=-1
+check_e "invalid descriptor '-42'" -ewrite=-42
+check_e "invalid descriptor '2147483648'" -eread=2147483648
+check_e "invalid descriptor '4294967296'" -ewrite=4294967296
+check_e "invalid descriptor 'foo'" -eread=foo
+check_e "invalid descriptor ''" -ewrite=
+check_e "invalid descriptor ','" -eread=,
+check_e "invalid descriptor '!'" -ewrite='!'
+check_e "invalid descriptor '!'" -eread='0,!'
+check_e "invalid descriptor '!,'" -ewrite='!,'
+
+check_h 'must have PROG [ARGS] or -p PID'
+check_h 'PROG [ARGS] must be specified with -D' -D -p $$
+check_h '-c and -C are mutually exclusive' -c -C true
+check_h '-c and -C are mutually exclusive' -C -c true
+check_h '(-c or -C) and -ff are mutually exclusive' -c -ff true
+check_h '(-c or -C) and -ff are mutually exclusive' -C -ff true
+check_h '-w must be given with (-c or -C)' -w true
+check_h 'piping the output and -ff are mutually exclusive' -o '|' -ff true
+check_h 'piping the output and -ff are mutually exclusive' -o '!' -ff true
+check_h "invalid -a argument: '-42'" -a -42
+check_h "invalid -O argument: '-42'" -O -42
+check_h "invalid -s argument: '-42'" -s -42
+check_h "invalid -I argument: '5'" -I 5
+
+if [ -n "${UID-}" ]; then
+	if [ "${UID-}" = 0 ]; then
+		umsg="Cannot find user ':nosuchuser:'"
+	else
+		umsg='You must be root to use the -u option'
+	fi
+
+	check_e "$umsg" -u :nosuchuser: true
+
+	for c in i r t T y; do
+		check_e "-$c has no effect with -c
+$strace_exp: $umsg" -u :nosuchuser: -c -$c true
+	done
+		check_e "-i has no effect with -c
+$strace_exp: -r has no effect with -c
+$strace_exp: -t has no effect with -c
+$strace_exp: -T has no effect with -c
+$strace_exp: -y has no effect with -c
+$strace_exp: $umsg" -u :nosuchuser: -cirtTy true
+
+	check_e "-tt has no effect with -r
+$strace_exp: $umsg" -u :nosuchuser: -r -tt true
+fi
+
+args='-p 2147483647'
+$STRACE $args 2> "$LOG" &&
+	dump_log_and_fail_with \
+		"strace $args failed to handle the error properly"
+
+for cmd in PTRACE_SEIZE PTRACE_ATTACH; do
+	cat > "$EXP" << __EOF__
+$strace_exp: attach: ptrace($cmd, 2147483647): No such process
+__EOF__
+	diff -- "$EXP" "$LOG" ||
+		continue
+	args=
+	break
+done
+
+[ -z "$args" ] ||
+	dump_log_and_fail_with \
+		"strace $args failed to print expected diagnostics"
+
+rm -f "$EXP"
diff --git a/tests/perf_event_open.c b/tests/perf_event_open.c
index 72f5d3c..0ffea29 100644
--- a/tests/perf_event_open.c
+++ b/tests/perf_event_open.c
@@ -1,7 +1,7 @@
 /*
- * Check decoding of perf_event_open syscall.
+ * Check verbose decoding of perf_event_open syscall.
  *
- * Copyright (c) 2016 Eugene Syromiatnikov <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -32,22 +32,80 @@
 
 #if defined(__NR_perf_event_open) && defined(HAVE_LINUX_PERF_EVENT_H)
 
+# include <inttypes.h>
 # include <limits.h>
+# include <stdbool.h>
+# include <stddef.h>
 # include <stdio.h>
+# include <stdlib.h>
+# include <string.h>
 # include <unistd.h>
 
 # include <linux/perf_event.h>
 
 # include "xlat.h"
 # include "xlat/perf_event_open_flags.h"
+# include "xlat/perf_attr_size.h"
 
-#if ULONG_MAX > UINT_MAX
-#define LONG_STR_PREFIX "ffffffff"
-#else
-#define LONG_STR_PREFIX ""
-#endif
+# if ULONG_MAX > UINT_MAX /* Poor man's "whether long is 8 bytes?" */
+#  define LONG_STR_PREFIX "ffffffff"
+# else /* !(ULONG_MAX > UINT_MAX) */
+#  define LONG_STR_PREFIX ""
+# endif /* ULONG_MAX > UINT_MAX */
 
-static const char *printaddr(void *ptr)
+# ifndef PERF_TYPE_BREAKPOINT
+#  define PERF_TYPE_BREAKPOINT 5
+# endif
+
+struct s32_val_str {
+	int32_t val;
+	const char *str;
+};
+
+struct u32_val_str {
+	uint32_t val;
+	const char *str;
+};
+
+struct u64_val_str {
+	uint64_t val;
+	const char *str;
+};
+
+/* In order to avoid endianess-specific hackery */
+struct pea_flags {
+	uint64_t disabled                 :1,
+	         inherit                  :1,
+	         pinned                   :1,
+	         exclusive                :1,
+	         exclude_user             :1,
+	         exclude_kernel           :1,
+	         exclude_hv               :1,
+	         exclude_idle             :1,
+	         mmap                     :1,
+	         comm                     :1,
+	         freq                     :1,
+	         inherit_stat             :1,
+	         enable_on_exec           :1,
+	         task                     :1,
+	         watermark                :1,
+	         precise_ip               :2,
+	         mmap_data                :1,
+	         sample_id_all            :1,
+	         exclude_host             :1,
+	         exclude_guest            :1,
+	         exclude_callchain_kernel :1,
+	         exclude_callchain_user   :1,
+	         mmap2                    :1,
+	         comm_exec                :1,
+	         use_clockid              :1,
+	         context_switch           :1,
+	         write_backward           :1,
+	         __reserved_1             :36;
+};
+
+static const char *
+printaddr(void *ptr)
 {
 	static char buf[sizeof("0x") + sizeof(void *) * 2];
 
@@ -59,13 +117,571 @@
 	return buf;
 }
 
+/*
+ * Checklist:
+ *
+ * type - 8 IDs
+ * config - 13 IDs (0..11 + random), depends on type
+ * sample type - bitmask, up to 20 bits
+ * read_format - 5 IDs
+ * bp_type - 6, weird semantics (invalid/unknown)
+ * branch_sample_type - bitmask, 16 bits
+ * clockid - 13 values
+ *
+ * Unions:
+ * sample_period/sample_freq
+ * wakeup_event/wakeup_watermark
+ * bp_addr/config1
+ * bp_len/config2
+ */
+
+/*
+ * The main idea behind all those numerous ifdefs is checking against version of
+ * structure provided in kernel headers and not use one defined in strace
+ * headers (assume the case when suddenly we add flag without proper update of
+ * __reserved_1 field or something like this).
+ */
+static void
+print_event_attr(struct perf_event_attr *attr_ptr, size_t size,
+	const char *type, const char *config, const char *sample_type,
+	const char *read_format, const char *precise_ip_desc,
+	const char *bp_type, const char *branch_sample_type,
+	const char *clockid, uint32_t available_size)
+{
+	/*
+	 * Currently, strace supports version 5 of the structure, which is
+	 * 112 bytes in size.
+	 */
+	enum {
+		STRACE_PEA_ABBREV_SIZE =
+			offsetof(struct perf_event_attr, config) +
+			sizeof(attr_ptr->config),
+		STRACE_PEA_SIZE = 112,
+	};
+
+	uint32_t read_size;
+	struct perf_event_attr *attr;
+# if VERBOSE
+	uint32_t cutoff;
+	uint64_t val;
+	uint64_t use_clockid;
+	union {
+		struct pea_flags flags;
+		uint64_t raw;
+	} flags_data;
+# endif
+
+	read_size =
+# if !VERBOSE
+		STRACE_PEA_ABBREV_SIZE;
+# else
+		size < STRACE_PEA_SIZE ?
+			(size ? size : PERF_ATTR_SIZE_VER0) : STRACE_PEA_SIZE;
+# endif
+
+	if (read_size > available_size) {
+		printf("%s", printaddr(attr_ptr));
+		return;
+	}
+
+	/*
+	 * Replicate kernel's behaviour regarding copying structure from
+	 * userspace.
+	 */
+	attr = calloc(1, STRACE_PEA_SIZE);
+
+	if (!attr)
+		error_msg_and_fail("calloc");
+
+
+	memcpy(attr, attr_ptr, read_size);
+
+	if (size && (size < PERF_ATTR_SIZE_VER0)) {
+		printf("%s", printaddr(attr_ptr));
+		free(attr);
+		return;
+	}
+
+	printf("{type=%s, size=", type);
+	if (size != attr->size) {
+		printxval(perf_attr_size, size, "PERF_ATTR_SIZE_???");
+		printf(" => ");
+	}
+	printxval(perf_attr_size, attr->size, "PERF_ATTR_SIZE_???");
+	printf(", config=%s, ", config);
+
+	if (!size)
+		size = PERF_ATTR_SIZE_VER0;
+
+# if !VERBOSE
+	printf("...}");
+# else /* !VERBOSE */
+	printf("%s=%" PRI__u64", sample_type=%s, read_format=%s",
+	       attr->freq ? "sample_freq" : "sample_period",
+	       attr->freq ? attr->sample_freq : attr->sample_period,
+	       sample_type, read_format);
+
+	printf(", disabled=%u"
+	       ", inherit=%u"
+	       ", pinned=%u"
+	       ", exclusive=%u"
+	       ", exclusive_user=%u"
+	       ", exclude_kernel=%u"
+	       ", exclude_hv=%u"
+	       ", exclude_idle=%u"
+	       ", mmap=%u"
+	       ", comm=%u"
+	       ", freq=%u"
+	       ", inherit_stat=%u"
+	       ", enable_on_exec=%u"
+	       ", task=%u"
+	       ", watermark=%u",
+	       attr->disabled,
+	       attr->inherit,
+	       attr->pinned,
+	       attr->exclusive,
+	       attr->exclude_user,
+	       attr->exclude_kernel,
+	       attr->exclude_hv,
+	       attr->exclude_idle,
+	       attr->mmap,
+	       attr->comm,
+	       attr->freq,
+	       attr->inherit_stat,
+	       attr->enable_on_exec,
+	       attr->task,
+	       attr->watermark);
+
+	flags_data.raw = ((uint64_t *) attr)[5];
+
+	val =
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_PRECISE_IP
+		attr->precise_ip;
+# else
+		flags_data.flags.precise_ip;
+# endif
+	printf(", precise_ip=%" PRIu64 " /* %s */", val, precise_ip_desc);
+
+	val =
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_MMAP_DATA
+		attr->mmap_data;
+# else
+		flags_data.flags.mmap_data;
+# endif
+	printf(", mmap_data=%" PRIu64, val);
+
+	val =
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_SAMPLE_ID_ALL
+		attr->sample_id_all;
+# else
+		flags_data.flags.sample_id_all;
+# endif
+	printf(", sample_id_all=%" PRIu64, val);
+
+	val =
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_EXCLUDE_HOST
+		attr->exclude_host;
+# else
+		flags_data.flags.exclude_host;
+# endif
+	printf(", exclude_host=%" PRIu64, val);
+
+	val =
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_EXCLUDE_GUEST
+		attr->exclude_guest;
+# else
+		flags_data.flags.exclude_guest;
+# endif
+	printf(", exclude_guest=%" PRIu64, val);
+
+	val =
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_EXCLUDE_CALLCHAIN_KERNEL
+		attr->exclude_callchain_kernel;
+# else
+		flags_data.flags.exclude_callchain_kernel;
+# endif
+	printf(", exclude_callchain_kernel=%" PRIu64, val);
+
+	val =
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_EXCLUDE_CALLCHAIN_USER
+		attr->exclude_callchain_user;
+# else
+		flags_data.flags.exclude_callchain_user;
+# endif
+	printf(", exclude_callchain_user=%" PRIu64, val);
+
+	val =
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_MMAP2
+		attr->mmap2;
+# else
+		flags_data.flags.mmap2;
+# endif
+	printf(", mmap2=%" PRIu64, val);
+
+	val =
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_COMM_EXEC
+		attr->comm_exec;
+# else
+		flags_data.flags.comm_exec;
+# endif
+	printf(", comm_exec=%" PRIu64, val);
+
+	use_clockid = val =
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_USE_CLOCKID
+		attr->use_clockid;
+# else
+		flags_data.flags.use_clockid;
+# endif
+	printf(", use_clockid=%" PRIu64, val);
+
+	val =
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_CONTEXT_SWITCH
+		attr->context_switch;
+# else
+		flags_data.flags.context_switch;
+# endif
+	printf(", context_switch=%" PRIu64, val);
+
+	val =
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_WRITE_BACKWARD
+		attr->write_backward;
+# else
+		flags_data.flags.write_backward;
+# endif
+	printf(", write_backward=%" PRIu64, val);
+
+	val = flags_data.flags.__reserved_1;
+	if (val)
+		printf(", __reserved_1=%#" PRIx64 " /* Bits 63..28 */", val);
+
+	printf(", %s=%u",
+		attr->watermark ? "wakeup_watermark" : "wakeup_events",
+		attr->watermark ? attr->wakeup_watermark : attr->wakeup_events);
+
+	if (attr->type == PERF_TYPE_BREAKPOINT)
+		printf(", bp_type=%s", bp_type);
+
+	val =
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_CONFIG1
+		attr->config1;
+# else
+		((uint64_t *) attr)[56 / sizeof(uint64_t)];
+# endif
+	printf(", %s=%#" PRIx64,
+	       attr->type == PERF_TYPE_BREAKPOINT ? "bp_addr" : "config1",
+	       val);
+
+	/* End of version 0 of the structure */
+	if (size <= 64) {
+		cutoff = 64;
+		goto end;
+	}
+
+	val =
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_CONFIG2
+		attr->config2;
+# else
+		((uint64_t *) attr)[64 / sizeof(uint64_t)];
+# endif
+	if (attr->type == PERF_TYPE_BREAKPOINT)
+		printf(", bp_len=%" PRIu64, val);
+	else
+		printf(", config2=%#" PRIx64, val);
+
+	/* End of version 1 of the structure */
+	if (size <= 72) {
+		cutoff = 72;
+		goto end;
+	}
+
+	/*
+	 * Print branch sample type only in case  PERF_SAMPLE_BRANCH_STACK
+	 * is set in the sample_type field.
+	 */
+	if (attr->sample_type & (1 << 11))
+		printf(", branch_sample_type=%s", branch_sample_type);
+
+	/* End of version 2 of the structure */
+	if (size <= 80) {
+		cutoff = 80;
+		goto end;
+	}
+
+	val =
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_SAMPLE_REGS_USER
+		attr->sample_regs_user;
+# else
+		((uint64_t *) attr)[80 / sizeof(uint64_t)];
+# endif
+	printf(", sample_regs_user=%#" PRIx64, val);
+
+	if (size <= 88) {
+		cutoff = 88;
+		goto end;
+	}
+
+	val =
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_SAMPLE_STACK_USER
+		attr->sample_stack_user;
+# else
+		((uint32_t *) attr)[88 / sizeof(uint32_t)];
+# endif
+	/*
+	 * Print branch sample type only in case PERF_SAMPLE_STACK_USER
+	 * is set in the sample_type field.
+	 */
+	if (attr->sample_type & (1 << 13))
+		printf(", sample_stack_user=%#" PRIx32, (uint32_t) val);
+
+	if (size <= 92) {
+		cutoff = 92;
+		goto end;
+	}
+
+	if (use_clockid)
+		printf(", clockid=%s", clockid);
+
+	/* End of version 3 of the structure */
+	if (size <= 96) {
+		cutoff = 96;
+		goto end;
+	}
+
+	val =
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_SAMPLE_REGS_INTR
+		attr->sample_regs_intr;
+# else
+		((uint64_t *) attr)[96 / sizeof(uint64_t)];
+# endif
+	printf(", sample_regs_intr=%#" PRIx64, val);
+
+	/* End of version 4 of the structure */
+	if (size <= 104) {
+		cutoff =104;
+		goto end;
+	}
+
+	val =
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_AUX_WATERMARK
+		attr->aux_watermark;
+# else
+		((uint32_t *) attr)[104 / sizeof(uint32_t)];
+# endif
+	printf(", aux_watermark=%" PRIu32, (uint32_t) val);
+
+	if (size <= 108) {
+		cutoff =108;
+		goto end;
+	}
+
+	val =
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_SAMPLE_MAX_STACK
+		attr->sample_max_stack;
+# else
+		((uint16_t *) attr)[108 / sizeof(uint16_t)];
+# endif
+	printf(", sample_max_stack=%" PRIu16, (uint16_t) val);
+
+	if (size <= 110) {
+		cutoff =110;
+		goto end;
+	}
+
+	cutoff = STRACE_PEA_SIZE;
+
+end:
+	if (size > cutoff)
+		printf(", ...");
+
+	printf("}");
+# endif /* !VERBOSE */
+
+	free(attr);
+}
+
+/* These require aligned access, so no byte-grain checks possible */
+# if defined SPARC || defined SPARC64 || defined POWERPC || defined POWERPC64
+#  define ATTR_REC(sz) { tail_alloc((sz + 7) & ~7), sz }
+# else
+#  define ATTR_REC(sz) { tail_alloc(sz), sz }
+# endif
+
+# define BRANCH_TYPE_ALL \
+	"PERF_SAMPLE_BRANCH_USER|" \
+	"PERF_SAMPLE_BRANCH_KERNEL|" \
+	"PERF_SAMPLE_BRANCH_HV|" \
+	"PERF_SAMPLE_BRANCH_ANY|" \
+	"PERF_SAMPLE_BRANCH_ANY_CALL|" \
+	"PERF_SAMPLE_BRANCH_ANY_RETURN|" \
+	"PERF_SAMPLE_BRANCH_IND_CALL|" \
+	"PERF_SAMPLE_BRANCH_ABORT_TX|" \
+	"PERF_SAMPLE_BRANCH_IN_TX|" \
+	"PERF_SAMPLE_BRANCH_NO_TX|" \
+	"PERF_SAMPLE_BRANCH_COND|" \
+	"PERF_SAMPLE_BRANCH_CALL_STACK|" \
+	"PERF_SAMPLE_BRANCH_IND_JUMP|" \
+	"PERF_SAMPLE_BRANCH_CALL|" \
+	"PERF_SAMPLE_BRANCH_NO_FLAGS|" \
+	"PERF_SAMPLE_BRANCH_NO_CYCLES"
+
 int
 main(void)
 {
-	struct perf_event_attr *attr = tail_alloc(sizeof(*attr));
+	static const size_t attr_small_size = PERF_ATTR_SIZE_VER0 - 8;
+	static const size_t attr_v0_size = PERF_ATTR_SIZE_VER0;
+	static const size_t attr_v1_size = PERF_ATTR_SIZE_VER1;
+	static const size_t attr_v2_size = PERF_ATTR_SIZE_VER2;
+	static const size_t attr_v2_5_size = PERF_ATTR_SIZE_VER2 + 8;
+	static const size_t attr_v2_75_size = PERF_ATTR_SIZE_VER2 + 12;
+	static const size_t attr_v3_size = PERF_ATTR_SIZE_VER3;
+	static const size_t attr_v4_size = PERF_ATTR_SIZE_VER4;
+	static const size_t attr_v4_5_size = PERF_ATTR_SIZE_VER4 + 4;
+	static const size_t attr_v4_625_size = PERF_ATTR_SIZE_VER4 + 5;
+	static const size_t attr_v4_875_size = PERF_ATTR_SIZE_VER4 + 7;
+	static const size_t attr_v5_size = PERF_ATTR_SIZE_VER5;
+	static const size_t attr_big_size = PERF_ATTR_SIZE_VER5 + 32;
 
-	attr->type = PERF_TYPE_HARDWARE;
-	attr->size = sizeof(*attr);
+	static const struct u64_val_str attr_types[] = {
+		{ ARG_STR(PERF_TYPE_HARDWARE) },
+		{ ARG_STR(PERF_TYPE_SOFTWARE) },
+		{ ARG_STR(PERF_TYPE_TRACEPOINT) },
+		{ ARG_STR(PERF_TYPE_HW_CACHE) },
+		{ ARG_STR(PERF_TYPE_RAW) },
+		{ ARG_STR(PERF_TYPE_BREAKPOINT) },
+		{ ARG_STR(0x6) " /* PERF_TYPE_??? */" },
+		{ ARG_STR(0xdeadc0de) " /* PERF_TYPE_??? */" },
+	};
+	static const struct u64_val_str
+	    attr_configs[ARRAY_SIZE(attr_types)][3] = {
+		/* PERF_TYPE_HARDWARE */ {
+			{ 9, "PERF_COUNT_HW_REF_CPU_CYCLES" },
+			{ 10, "0xa /* PERF_COUNT_HW_??? */" },
+			{ ARG_ULL_STR(0xfaceca75deadb0d4)
+				" /* PERF_COUNT_HW_??? */" },
+		},
+		/* PERF_TYPE_SOFTWARE */ {
+			{ 10, "PERF_COUNT_SW_BPF_OUTPUT" },
+			{ 11, "0xb /* PERF_COUNT_SW_??? */" },
+			{ ARG_ULL_STR(0xdec0ded1dec0ded2)
+				" /* PERF_COUNT_SW_??? */" },
+		},
+		/* PERF_TYPE_TRACEPOINT */ {
+			{ ARG_STR(0) },
+			{ 4207856245U, "4207856245" },
+			{ ARG_ULL_STR(16051074073505095380) },
+		},
+		/* PERF_TYPE_HW_CACHE */ {
+			{ 0, "PERF_COUNT_HW_CACHE_L1D|"
+				"PERF_COUNT_HW_CACHE_OP_READ<<8|"
+				"PERF_COUNT_HW_CACHE_RESULT_ACCESS<<16" },
+			{ 0x020207, "0x7 /* PERF_COUNT_HW_CACHE_??? */|"
+				"PERF_COUNT_HW_CACHE_OP_PREFETCH<<8|"
+				"0x2 /* PERF_COUNT_HW_CACHE_RESULT_??? */<<16" },
+			{ 0xdeadf157ed010306ULL, "PERF_COUNT_HW_CACHE_NODE|"
+				"0x3 /* PERF_COUNT_HW_CACHE_OP_??? */<<8|"
+				"PERF_COUNT_HW_CACHE_RESULT_MISS<<16|"
+				"0xdeadf157ed<<24 "
+				"/* PERF_COUNT_HW_CACHE_??? */" },
+		},
+		/* PERF_TYPE_RAW */ {
+			{ ARG_STR(0) },
+			{ ARG_STR(0xda7a1057) },
+			{ ARG_ULL_STR(0xdec0ded7dec0ded8) },
+		},
+		/* PERF_TYPE_BREAKPOINT */ {
+			{ ARG_STR(0) },
+			{ ARG_STR(0xbadc0ded) },
+			{ ARG_ULL_STR(0xdec0ded9dec0deda) },
+		},
+		/* invalid 1 */ {
+			{ ARG_STR(0) },
+			{ ARG_STR(0xbeeff00d) },
+			{ ARG_ULL_STR(0xdec0dedbdec0dedc) },
+		},
+		/* invalid 2 */ {
+			{ ARG_STR(0) },
+			{ ARG_STR(0xca75dead) },
+			{ ARG_ULL_STR(0xdec0dedddec0dede) },
+		},
+	};
+	static const struct u64_val_str sample_types[] = {
+		{ ARG_STR(0) },
+		{ 0x800, "PERF_SAMPLE_BRANCH_STACK" },
+		{ ARG_ULL_STR(0xdeadc0deda780000) " /* PERF_SAMPLE_??? */" },
+		{ 0xffffffffffffffffULL,
+			"PERF_SAMPLE_IP|PERF_SAMPLE_TID|PERF_SAMPLE_TIME|"
+			"PERF_SAMPLE_ADDR|PERF_SAMPLE_READ|"
+			"PERF_SAMPLE_CALLCHAIN|PERF_SAMPLE_ID|PERF_SAMPLE_CPU|"
+			"PERF_SAMPLE_PERIOD|PERF_SAMPLE_STREAM_ID|"
+			"PERF_SAMPLE_RAW|PERF_SAMPLE_BRANCH_STACK|"
+			"PERF_SAMPLE_REGS_USER|PERF_SAMPLE_STACK_USER|"
+			"PERF_SAMPLE_WEIGHT|PERF_SAMPLE_DATA_SRC|"
+			"PERF_SAMPLE_IDENTIFIER|PERF_SAMPLE_TRANSACTION|"
+			"PERF_SAMPLE_REGS_INTR|0xfffffffffff80000" },
+	};
+	static const struct u64_val_str read_formats[] = {
+		{ ARG_STR(0) },
+		{ ARG_STR(PERF_FORMAT_TOTAL_TIME_ENABLED) },
+		{ 0xf, "PERF_FORMAT_TOTAL_TIME_ENABLED|"
+			"PERF_FORMAT_TOTAL_TIME_RUNNING|"
+			"PERF_FORMAT_ID|PERF_FORMAT_GROUP" },
+		{ ARG_ULL_STR(0xdeadf157dec0ded0) " /* PERF_FORMAT_??? */" },
+		{ 0xffffffffffffffffULL,
+			"PERF_FORMAT_TOTAL_TIME_ENABLED|"
+			"PERF_FORMAT_TOTAL_TIME_RUNNING|"
+			"PERF_FORMAT_ID|PERF_FORMAT_GROUP|"
+			"0xfffffffffffffff0" },
+	};
+	static const char *precise_ip_descs[] = {
+		"arbitrary skid",
+		"constant skid",
+		"requested to have 0 skid",
+		"must have 0 skid",
+	};
+	static const struct u32_val_str bp_types[] = {
+		{ 0, "HW_BREAKPOINT_EMPTY" },
+		{ 1, "HW_BREAKPOINT_R" },
+		{ 3, "HW_BREAKPOINT_RW" },
+		{ 5, "0x5 /* HW_BREAKPOINT_INVALID */" },
+		{ 8, "0x8 /* HW_BREAKPOINT_??? */" },
+		{ ARG_STR(0xface1e55) " /* HW_BREAKPOINT_??? */" },
+	};
+	static const struct u64_val_str branch_sample_types[] = {
+		{ ARG_STR(0) },
+		{ 0x80, "PERF_SAMPLE_BRANCH_ABORT_TX" },
+		{ 0xffff, BRANCH_TYPE_ALL },
+		{ ARG_ULL_STR(0xdeadcaffeeed0000)
+			" /* PERF_SAMPLE_BRANCH_??? */" },
+		{ 0xffffffffffffffffULL,
+			BRANCH_TYPE_ALL "|0xffffffffffff0000" }
+	};
+	static const struct s32_val_str clockids[] = {
+		{ 11, "CLOCK_TAI" },
+		{ ARG_STR(0xc) " /* CLOCK_??? */" },
+		{ ARG_STR(0xbeeffeed) " /* CLOCK_??? */" },
+	};
+
+
+	struct {
+		struct perf_event_attr *ptr;
+		size_t size;
+	} attrs[] = {
+		ATTR_REC(sizeof(struct perf_event_attr)),
+		ATTR_REC(attr_v0_size),
+		ATTR_REC(attr_v1_size),
+		ATTR_REC(attr_v2_size),
+		ATTR_REC(attr_v2_5_size),
+		ATTR_REC(attr_v2_75_size),
+		ATTR_REC(attr_v3_size),
+		ATTR_REC(attr_v4_size),
+		ATTR_REC(attr_v4_5_size),
+		ATTR_REC(attr_v4_625_size),
+		ATTR_REC(attr_v4_875_size),
+		ATTR_REC(attr_v5_size),
+		ATTR_REC(attr_big_size),
+	};
+
+	struct perf_event_attr *small_attr = tail_alloc(sizeof(*small_attr));
 
 	struct {
 		struct perf_event_attr *attr;
@@ -75,31 +691,123 @@
 		unsigned long flags;
 		const char *flags_str;
 	} args[] = {
-		{ NULL,     0xfacef00d, 0xbadabba7, -1,
+		{ NULL,           0xfacef00d, 0xbadabba7, -1,
 			(unsigned long) 0xFFFFFFFFFFFFFFFFLLU,
 			"PERF_FLAG_FD_NO_GROUP|PERF_FLAG_FD_OUTPUT|"
 			"PERF_FLAG_PID_CGROUP|PERF_FLAG_FD_CLOEXEC|"
 			"0x" LONG_STR_PREFIX "fffffff0"
 			},
-		{ attr + 1, 0,          0,          0,
+		{ small_attr + 1, 0,          0,          0,
 			0, "0" },
-		{ attr,     -1,         -1,         1,
-			PERF_FLAG_FD_CLOEXEC, "PERF_FLAG_FD_CLOEXEC" },
-		{ attr - 1, -100,       100,        0xface1e55,
+		{ small_attr,     -1,         -1,         1,
 			PERF_FLAG_FD_NO_GROUP | PERF_FLAG_FD_OUTPUT |
 			PERF_FLAG_PID_CGROUP | PERF_FLAG_FD_CLOEXEC,
 			"PERF_FLAG_FD_NO_GROUP|PERF_FLAG_FD_OUTPUT|"
 			"PERF_FLAG_PID_CGROUP|PERF_FLAG_FD_CLOEXEC" },
+		{ (struct perf_event_attr *) (uintptr_t) 0xfffffacefffffeedULL,
+			          -100,       100,        0xface1e55,
+			PERF_FLAG_FD_CLOEXEC, "PERF_FLAG_FD_CLOEXEC" },
 	};
+
 	size_t i;
 	int rc;
 
+	fill_memory(small_attr, sizeof(*small_attr));
+	small_attr->size = attr_small_size;
+
 	for (i = 0; i < ARRAY_SIZE(args); i++) {
 		rc = syscall(__NR_perf_event_open, args[i].attr, args[i].pid,
-			args[i].cpu, args[i].group_fd, args[i].flags);
+		             args[i].cpu, args[i].group_fd, args[i].flags);
 		printf("perf_event_open(%s, %d, %d, %d, %s) = %s\n",
-			printaddr(args[i].attr), args[i].pid, args[i].cpu,
-			args[i].group_fd, args[i].flags_str, sprintrc(rc));
+		       printaddr(args[i].attr), args[i].pid, args[i].cpu,
+		       args[i].group_fd, args[i].flags_str, sprintrc(rc));
+	}
+
+	for (i = 0; i < ARRAY_SIZE(attrs) * ARRAY_SIZE(attr_types) *
+	    ARRAY_SIZE(attr_configs[0]) + 1; i++) {
+		struct perf_event_attr *attr = attrs[i % ARRAY_SIZE(attrs)].ptr;
+		uint32_t size = attrs[i % ARRAY_SIZE(attrs)].size;
+		unsigned char fill_start = 0x80 + i;
+		size_t type_idx = i % ARRAY_SIZE(attr_types);
+		size_t config_idx = i % ARRAY_SIZE(attr_configs[0]);
+		size_t sample_type_idx = i % ARRAY_SIZE(sample_types);
+		size_t read_format_idx = i % ARRAY_SIZE(read_formats);
+		size_t bp_type_idx = (i / ARRAY_SIZE(attr_configs[0])) %
+			ARRAY_SIZE(bp_types);
+		size_t branch_sample_type_idx = (i / ARRAY_SIZE(sample_types)) %
+			ARRAY_SIZE(branch_sample_types);
+		size_t clockid_idx = i % ARRAY_SIZE(clockids);
+		size_t args_idx = i % ARRAY_SIZE(args);
+		const char *ip_desc_str;
+
+		fill_memory_ex(attr, size, fill_start, 0xff);
+
+		attr->type = attr_types[type_idx].val;
+		attr->size = size;
+		attr->config = attr_configs[type_idx][config_idx].val;
+		attr->sample_type = sample_types[sample_type_idx].val;
+		attr->read_format = read_formats[read_format_idx].val;
+
+		if ((i % 11) == 5)
+			attr->__reserved_1 = 0;
+
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_BP_TYPE
+		attr->bp_type =
+# else
+		((uint32_t *) attr)[52 / sizeof(uint32_t)] =
+# endif
+			bp_types[bp_type_idx].val;
+
+		if (size >= 80)
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_BRANCH_SAMPLE_TYPE
+			attr->branch_sample_type =
+# else
+			((uint64_t *) attr)[72 / sizeof(uint64_t)] =
+# endif
+				branch_sample_types[branch_sample_type_idx].val;
+
+		if (size >= 96)
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_CLOCKID
+			attr->clockid =
+# else
+			((uint32_t *) attr)[92 / sizeof(uint32_t)] =
+# endif
+				clockids[clockid_idx].val;
+
+# ifdef HAVE_STRUCT_PERF_EVENT_ATTR_PRECISE_IP
+		ip_desc_str = precise_ip_descs[attr->precise_ip];
+# else
+		union {
+			struct pea_flags flags;
+			uint64_t raw;
+		} flags_data = { .raw = ((uint64_t *) attr)[5] };
+
+		ip_desc_str = precise_ip_descs[flags_data.flags.precise_ip];
+# endif
+
+		if (i == 0)
+			attr->size = size + 8;
+
+		if (i == 1)
+			attr->size = 0;
+
+		rc = syscall(__NR_perf_event_open, attr, args[args_idx].pid,
+		             args[args_idx].cpu, args[args_idx].group_fd,
+		             args[args_idx].flags);
+
+		printf("perf_event_open(");
+		print_event_attr(attr, i ? ((i == 1) ? 0 : size) : size + 8,
+		                 attr_types[type_idx].str,
+		                 attr_configs[type_idx][config_idx].str,
+		                 sample_types[sample_type_idx].str,
+		                 read_formats[read_format_idx].str,
+		                 ip_desc_str,
+		                 bp_types[bp_type_idx].str,
+		                 branch_sample_types[branch_sample_type_idx].str,
+		                 clockids[clockid_idx].str, size);
+		printf(", %d, %d, %d, %s) = %s\n", args[args_idx].pid,
+		       args[args_idx].cpu, args[args_idx].group_fd,
+		       args[args_idx].flags_str, sprintrc(rc));
 	}
 
 	puts("+++ exited with 0 +++");
diff --git a/tests/perf_event_open.test b/tests/perf_event_open.test
index 0e46556..499134b 100755
--- a/tests/perf_event_open.test
+++ b/tests/perf_event_open.test
@@ -1,6 +1,7 @@
 #!/bin/sh
 
-# Check decoding of perf_event_open syscall.
+# Check perf_event_open syscall decoding.
 
 . "${srcdir=.}/init.sh"
-run_strace_match_diff -a34
+
+run_strace_match_diff -a1
diff --git a/tests/perf_event_open_nonverbose.c b/tests/perf_event_open_nonverbose.c
new file mode 100644
index 0000000..45d7c8f
--- /dev/null
+++ b/tests/perf_event_open_nonverbose.c
@@ -0,0 +1,113 @@
+/*
+ * Check decoding of perf_event_open syscall.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+
+#if defined(__NR_perf_event_open) && defined(HAVE_LINUX_PERF_EVENT_H)
+
+# include <limits.h>
+# include <stdio.h>
+# include <unistd.h>
+
+# include <linux/perf_event.h>
+
+# include "xlat.h"
+# include "xlat/perf_event_open_flags.h"
+
+#if ULONG_MAX > UINT_MAX
+#define LONG_STR_PREFIX "ffffffff"
+#else
+#define LONG_STR_PREFIX ""
+#endif
+
+static const char *printaddr(void *ptr)
+{
+	static char buf[sizeof("0x") + sizeof(void *) * 2];
+
+	if (ptr == NULL)
+		return "NULL";
+
+	snprintf(buf, sizeof(buf), "%#lx", (unsigned long)ptr);
+
+	return buf;
+}
+
+int
+main(void)
+{
+	struct perf_event_attr *attr = tail_alloc(sizeof(*attr));
+
+	attr->type = PERF_TYPE_HARDWARE;
+	attr->size = sizeof(*attr);
+
+	struct {
+		struct perf_event_attr *attr;
+		pid_t pid;
+		int cpu;
+		int group_fd;
+		unsigned long flags;
+		const char *flags_str;
+	} args[] = {
+		{ NULL,     0xfacef00d, 0xbadabba7, -1,
+			(unsigned long) 0xFFFFFFFFFFFFFFFFLLU,
+			"PERF_FLAG_FD_NO_GROUP|PERF_FLAG_FD_OUTPUT|"
+			"PERF_FLAG_PID_CGROUP|PERF_FLAG_FD_CLOEXEC|"
+			"0x" LONG_STR_PREFIX "fffffff0"
+			},
+		{ attr + 1, 0,          0,          0,
+			0, "0" },
+		{ attr,     -1,         -1,         1,
+			PERF_FLAG_FD_CLOEXEC, "PERF_FLAG_FD_CLOEXEC" },
+		{ attr - 1, -100,       100,        0xface1e55,
+			PERF_FLAG_FD_NO_GROUP | PERF_FLAG_FD_OUTPUT |
+			PERF_FLAG_PID_CGROUP | PERF_FLAG_FD_CLOEXEC,
+			"PERF_FLAG_FD_NO_GROUP|PERF_FLAG_FD_OUTPUT|"
+			"PERF_FLAG_PID_CGROUP|PERF_FLAG_FD_CLOEXEC" },
+	};
+	size_t i;
+	int rc;
+
+	for (i = 0; i < ARRAY_SIZE(args); i++) {
+		rc = syscall(__NR_perf_event_open, args[i].attr, args[i].pid,
+			args[i].cpu, args[i].group_fd, args[i].flags);
+		printf("perf_event_open(%s, %d, %d, %d, %s) = %s\n",
+			printaddr(args[i].attr), args[i].pid, args[i].cpu,
+			args[i].group_fd, args[i].flags_str, sprintrc(rc));
+	}
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_perf_event_open && HAVE_LINUX_PERF_EVENT_H");
+
+#endif
diff --git a/tests/perf_event_open_nonverbose.test b/tests/perf_event_open_nonverbose.test
new file mode 100755
index 0000000..404827f
--- /dev/null
+++ b/tests/perf_event_open_nonverbose.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of perf_event_open syscall.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a34 -e verbose=none -e trace=perf_event_open
diff --git a/tests/perf_event_open_unabbrev.c b/tests/perf_event_open_unabbrev.c
new file mode 100644
index 0000000..c2f260d
--- /dev/null
+++ b/tests/perf_event_open_unabbrev.c
@@ -0,0 +1,2 @@
+#define VERBOSE 1
+#include "perf_event_open.c"
diff --git a/tests/perf_event_open_unabbrev.test b/tests/perf_event_open_unabbrev.test
new file mode 100755
index 0000000..f17fd17
--- /dev/null
+++ b/tests/perf_event_open_unabbrev.test
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+# Check perf_event_open syscall decoding.
+
+. "${srcdir=.}/init.sh"
+
+run_strace_match_diff -a1 -v -e trace=perf_event_open
diff --git a/tests/pipe.c b/tests/pipe.c
index 68217f2..41c7f21 100644
--- a/tests/pipe.c
+++ b/tests/pipe.c
@@ -1,4 +1,6 @@
 /*
+ * Check decoding of pipe syscall.
+ *
  * Copyright (c) 2015-2016 Dmitry V. Levin <[email protected]>
  * All rights reserved.
  *
@@ -26,8 +28,9 @@
  */
 
 #include "tests.h"
+#include <asm/unistd.h>
 
-#ifdef HAVE_PIPE2
+#ifdef __NR_pipe
 
 # include <stdio.h>
 # include <fcntl.h>
@@ -38,20 +41,15 @@
 {
 	(void) close(0);
 	(void) close(1);
-	int fds[2];
+	int *const fds = tail_alloc(sizeof(*fds) * 2);
 	if (pipe(fds))
 		perror_msg_and_fail("pipe");
 
-	(void) close(0);
-	(void) close(1);
-	if (pipe2(fds, O_NONBLOCK))
-		perror_msg_and_skip("pipe2");
-
 	return 0;
 }
 
 #else
 
-SKIP_MAIN_UNDEFINED("HAVE_PIPE2")
+SKIP_MAIN_UNDEFINED("__NR_pipe")
 
 #endif
diff --git a/tests/pipe.expected b/tests/pipe.expected
index 675cb85..2e46336 100644
--- a/tests/pipe.expected
+++ b/tests/pipe.expected
@@ -1,2 +1,2 @@
-pipe(\(\[0, 1\]|2\(\[0, 1\], 0)\) += 0
-pipe2\(\[0, 1\], O_NONBLOCK\) += 0
+pipe([0, 1]) = 0
++++ exited with 0 +++
diff --git a/tests/pipe.test b/tests/pipe.test
index a445f86..0ae414d 100755
--- a/tests/pipe.test
+++ b/tests/pipe.test
@@ -1,16 +1,13 @@
 #!/bin/sh
 
-# Check pipe/pipe2 syscalls decoding.
-
+# Check decoding of pipe syscall.
 . "${srcdir=.}/init.sh"
 
-syscall=pipe2
-for n in pipe; do
-	$STRACE -e$n -h > /dev/null && syscall=$syscall,$n
-done
-
 run_prog
-run_strace -e$syscall $args
-match_grep
+run_strace -a13 -epipe $args
 
-exit 0
+check_prog grep
+LC_ALL=C grep -x "pipe(.*" "$LOG" > /dev/null ||
+	skip_ 'test executable does not use pipe syscall'
+
+match_diff
diff --git a/tests/pipe2.c b/tests/pipe2.c
new file mode 100644
index 0000000..375ae74
--- /dev/null
+++ b/tests/pipe2.c
@@ -0,0 +1,71 @@
+/*
+ * Check decoding of pipe2 syscall.
+ *
+ * Copyright (c) 2015-2017 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_pipe2
+
+# include <fcntl.h>
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+	static const kernel_ulong_t bogus_zero =
+		(kernel_ulong_t) 0xffffffff00000000ULL;
+	int *const fds = tail_alloc(sizeof(*fds) * 2);
+	int *const efault = fds + 1;
+	long rc;
+
+	rc = syscall(__NR_pipe2, fds, bogus_zero | O_NONBLOCK);
+	if (rc)
+		perror_msg_and_skip("pipe2");
+	printf("pipe2([%d, %d], O_NONBLOCK) = 0\n", fds[0], fds[1]);
+
+	rc = syscall(__NR_pipe2, efault, bogus_zero);
+	printf("pipe2(%p, 0) = %s\n", efault, sprintrc(rc));
+
+	if (F8ILL_KULONG_SUPPORTED) {
+		const kernel_ulong_t ill = f8ill_ptr_to_kulong(fds);
+		rc = syscall(__NR_pipe2, ill, 0);
+		printf("pipe2(%#llx, 0) = %s\n",
+		       (unsigned long long) ill, sprintrc(rc));
+	}
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_pipe2")
+
+#endif
diff --git a/tests/pipe2.test b/tests/pipe2.test
new file mode 100755
index 0000000..aff6cd4
--- /dev/null
+++ b/tests/pipe2.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of pipe2 syscall.
+. "${srcdir=.}/init.sh"
+
+run_strace_match_diff -a15
diff --git a/tests/pipe_maxfd.c b/tests/pipe_maxfd.c
new file mode 100644
index 0000000..a1343f9
--- /dev/null
+++ b/tests/pipe_maxfd.c
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <limits.h>
+#include <unistd.h>
+#include <sys/resource.h>
+
+static void
+move_fd(int *from, int *to)
+{
+	for (; *to > *from; --*to) {
+		if (dup2(*from, *to) != *to)
+			continue;
+		close(*from);
+		*from = *to;
+		break;
+	}
+}
+
+void
+pipe_maxfd(int pipefd[2])
+{
+	struct rlimit rlim;
+	if (getrlimit(RLIMIT_NOFILE, &rlim))
+		perror_msg_and_fail("getrlimit");
+	if (rlim.rlim_cur < rlim.rlim_max) {
+		struct rlimit rlim_new;
+		rlim_new.rlim_cur = rlim_new.rlim_max = rlim.rlim_max;
+		if (!setrlimit(RLIMIT_NOFILE, &rlim_new))
+			rlim.rlim_cur = rlim.rlim_max;
+	}
+
+	if (pipe(pipefd))
+		perror_msg_and_fail("pipe");
+
+	int max_fd = (rlim.rlim_cur > 0 && rlim.rlim_cur < INT_MAX)
+		     ? rlim.rlim_cur - 1 : INT_MAX;
+
+	move_fd(&pipefd[1], &max_fd);
+	--max_fd;
+	move_fd(&pipefd[0], &max_fd);
+}
diff --git a/tests/pkey_alloc.c b/tests/pkey_alloc.c
new file mode 100644
index 0000000..4577278
--- /dev/null
+++ b/tests/pkey_alloc.c
@@ -0,0 +1,84 @@
+/*
+ * Check decoding of pkey_alloc syscall.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+#include "scno.h"
+
+#ifdef __NR_pkey_alloc
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+	static const kernel_ulong_t flags[] = {
+		0,
+		(kernel_ulong_t) 0xbadc0ded00000000ULL,
+		(kernel_ulong_t) 0xffff0000eeee1111ULL,
+		(kernel_ulong_t) 0x123456789abcdef0ULL,
+	};
+	static const struct {
+		kernel_ulong_t val;
+		const char *str;
+	} rights[] = {
+		{ (kernel_ulong_t) 0xbadc0ded00000002ULL,
+			sizeof(kernel_ulong_t) > sizeof(int) ?
+			"PKEY_DISABLE_WRITE|0xbadc0ded00000000" :
+			"PKEY_DISABLE_WRITE" },
+		{ 0xdec0ded, "PKEY_DISABLE_ACCESS|0xdec0dec" },
+		{ 0x3, "PKEY_DISABLE_ACCESS|PKEY_DISABLE_WRITE" },
+		{ ARG_STR(0) },
+		{ 0xbadc0dec, "0xbadc0dec /* PKEY_??? */" },
+	};
+
+	long rc;
+	unsigned int i;
+	unsigned int j;
+
+	for (i = 0; i < ARRAY_SIZE(flags); i++) {
+		for (j = 0; j < ARRAY_SIZE(rights); j++) {
+			rc = syscall(__NR_pkey_alloc, flags[i], rights[j].val);
+			printf("pkey_alloc(%#llx, %s) = %s\n",
+			       (unsigned long long) flags[i], rights[j].str,
+			       sprintrc(rc));
+		}
+	}
+
+	puts("+++ exited with 0 +++");
+
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_pkey_alloc");
+
+#endif
diff --git a/tests/pkey_alloc.test b/tests/pkey_alloc.test
new file mode 100755
index 0000000..f168c21
--- /dev/null
+++ b/tests/pkey_alloc.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of pkey_alloc syscall.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17
diff --git a/tests/pkey_free.c b/tests/pkey_free.c
new file mode 100644
index 0000000..95a2ad2
--- /dev/null
+++ b/tests/pkey_free.c
@@ -0,0 +1,67 @@
+/*
+ * Check decoding of pkey_free syscall.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+#include "scno.h"
+
+#ifdef __NR_pkey_free
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+	static const kernel_ulong_t keys[] = {
+		0,
+		3141592653U,
+		(kernel_ulong_t) 0xbadc0ded00000000ULL,
+		(kernel_ulong_t) 0xffff00001111eeeeULL,
+		(kernel_ulong_t) 0x123456789abcdef0ULL,
+	};
+
+	long rc;
+	unsigned int i;
+
+	for (i = 0; i < ARRAY_SIZE(keys); i++) {
+		rc = syscall(__NR_pkey_free, keys[i]);
+		printf("pkey_free(%d) = %s\n", (int) keys[i], sprintrc(rc));
+	}
+
+	puts("+++ exited with 0 +++");
+
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_pkey_free");
+
+#endif
diff --git a/tests/pkey_free.test b/tests/pkey_free.test
new file mode 100755
index 0000000..9c01c3e
--- /dev/null
+++ b/tests/pkey_free.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of pkey_free syscall.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a13
diff --git a/tests/pkey_mprotect.c b/tests/pkey_mprotect.c
new file mode 100644
index 0000000..529abd1
--- /dev/null
+++ b/tests/pkey_mprotect.c
@@ -0,0 +1,120 @@
+/*
+ * Check decoding of pkey_mprotect syscall.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+#include "scno.h"
+
+#ifdef __NR_pkey_mprotect
+
+# include <stdio.h>
+# include <unistd.h>
+# include <sys/mman.h>
+
+const char *
+sprintptr(kernel_ulong_t ptr)
+{
+	static char buf[sizeof(ptr) * 2 + sizeof("0x")];
+
+	if (ptr)
+		snprintf(buf, sizeof(buf), "%#llx", (unsigned long long) ptr);
+	else
+		return "NULL";
+
+	return buf;
+}
+
+int
+main(void)
+{
+	static const kernel_ulong_t ptrs[] = {
+		0,
+		(kernel_ulong_t) 0xfacebeef00000000ULL,
+		(kernel_ulong_t) 0xbadc0dedda7a1057ULL,
+	};
+	static const kernel_ulong_t sizes[] = {
+		0,
+		(kernel_ulong_t) 0xfacebeef00000000ULL,
+		(kernel_ulong_t) 0xfedcba9876543210ULL,
+		(kernel_ulong_t) 0x123456789abcdef0ULL,
+		(kernel_ulong_t) 0xbadc0dedda7a1057ULL,
+	};
+	static const struct {
+		kernel_ulong_t val;
+		const char *str;
+	} prots[] = {
+		{ ARG_STR(PROT_READ) },
+		/* For now, only 0x0300001f are used */
+		{ (kernel_ulong_t) 0xdeadfeed00ca7500ULL,
+			sizeof(kernel_ulong_t) > sizeof(int) ?
+			"0xdeadfeed00ca7500 /* PROT_??? */" :
+			"0xca7500 /* PROT_??? */" },
+		{ ARG_STR(PROT_READ|PROT_WRITE|0xface00) },
+	};
+	static const kernel_ulong_t pkeys[] = {
+		0,
+		-1LL,
+		(kernel_ulong_t) 0xface1e55,
+		(kernel_ulong_t) 0xbadc0ded00000001,
+	};
+
+	long rc;
+	unsigned int i;
+	unsigned int j;
+	unsigned int k;
+	unsigned int l;
+
+	for (i = 0; i < ARRAY_SIZE(ptrs); i++) {
+		for (j = 0; j < ARRAY_SIZE(sizes); j++) {
+			for (k = 0; k < ARRAY_SIZE(prots); k++) {
+				for (l = 0; l < ARRAY_SIZE(pkeys); l++) {
+					rc = syscall(__NR_pkey_mprotect,
+						     ptrs[i], sizes[j],
+						     prots[k].val, pkeys[l]);
+					printf("pkey_mprotect(%s, %llu, %s, %d)"
+					       " = %s\n",
+					       sprintptr(ptrs[i]),
+					       (unsigned long long) sizes[j],
+					       prots[k].str, (int) pkeys[l],
+					       sprintrc(rc));
+				}
+			}
+		}
+	}
+
+	puts("+++ exited with 0 +++");
+
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_pkey_mprotect");
+
+#endif
diff --git a/tests/pkey_mprotect.test b/tests/pkey_mprotect.test
new file mode 100755
index 0000000..922d491
--- /dev/null
+++ b/tests/pkey_mprotect.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of pkey_mprotect syscall.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a37
diff --git a/tests/ppoll-v.expected b/tests/ppoll-v.expected
index 5172717..31070ad 100644
--- a/tests/ppoll-v.expected
+++ b/tests/ppoll-v.expected
@@ -1,3 +1,3 @@
-ppoll\(\[\{fd=0, events=POLLIN\|POLLPRI\|POLLRDNORM\|POLLRDBAND\}, \{fd=1, events=POLLOUT(\|POLLWRNORM)?\|POLLWRBAND\}, \{fd=3, events=POLLIN\|POLLPRI\}, \{fd=4, events=POLLOUT\}\], 4, \{42, 999999999\}, \[(USR2 CHLD|CHLD USR2)\], (4|8|16)\) = 2 \(\[\{fd=1, revents=POLLOUT(\|POLLWRNORM)?\}, \{fd=4, revents=POLLOUT\}\], left \{42, 9[0-9]{8}\}\)
-ppoll\(\[\{fd=1, events=POLLIN\|POLLPRI\|POLLRDNORM\|POLLRDBAND\}, \{fd=0, events=POLLOUT(\|POLLWRNORM)?\|POLLWRBAND\}\], 2, \{0, 999\}, ~\[HUP KILL STOP[^]]*\], (4|8|16)\) = 0 \(Timeout\)
+ppoll\(\[\{fd=0, events=POLLIN\|POLLPRI\|POLLRDNORM\|POLLRDBAND\}, \{fd=1, events=POLLOUT(\|POLLWRNORM)?\|POLLWRBAND\}, \{fd=3, events=POLLIN\|POLLPRI\}, \{fd=4, events=POLLOUT\}\], 4, \{tv_sec=42, tv_nsec=999999999\}, \[(USR2 CHLD|CHLD USR2)\], (4|8|16)\) = 2 \(\[\{fd=1, revents=POLLOUT(\|POLLWRNORM)?\}, \{fd=4, revents=POLLOUT\}\], left \{tv_sec=42, tv_nsec=9[0-9]{8}\}\)
+ppoll\(\[\{fd=1, events=POLLIN\|POLLPRI\|POLLRDNORM\|POLLRDBAND\}, \{fd=0, events=POLLOUT(\|POLLWRNORM)?\|POLLWRBAND\}\], 2, \{tv_sec=0, tv_nsec=999\}, ~\[HUP KILL STOP[^]]*\], (4|8|16)\) = 0 \(Timeout\)
 ppoll\(NULL, 42, NULL, NULL, (4|8|16)\) = -1 EFAULT .*
diff --git a/tests/ppoll.expected b/tests/ppoll.expected
index 4dfc830..c38a206 100644
--- a/tests/ppoll.expected
+++ b/tests/ppoll.expected
@@ -1,3 +1,3 @@
-ppoll\(\[\{fd=0, events=POLLIN\|POLLPRI\|POLLRDNORM\|POLLRDBAND\}, \{fd=1, events=POLLOUT(\|POLLWRNORM)?\|POLLWRBAND\}, \.\.\.\], 4, \{42, 999999999\}, \[(USR2 CHLD|CHLD USR2)\], (4|8|16)\) = 2 \(\[\{fd=1, revents=POLLOUT(\|POLLWRNORM)?\}, \{fd=4, revents=POLLOUT\}\], left \{42, 9[0-9]{8}\}\)
-ppoll\(\[\{fd=1, events=POLLIN\|POLLPRI\|POLLRDNORM\|POLLRDBAND\}, \{fd=0, events=POLLOUT(\|POLLWRNORM)?\|POLLWRBAND\}\], 2, \{0, 999\}, ~\[HUP KILL STOP[^]]*\], (4|8|16)\) = 0 \(Timeout\)
+ppoll\(\[\{fd=0, events=POLLIN\|POLLPRI\|POLLRDNORM\|POLLRDBAND\}, \{fd=1, events=POLLOUT(\|POLLWRNORM)?\|POLLWRBAND\}, \.\.\.\], 4, \{tv_sec=42, tv_nsec=999999999\}, \[(USR2 CHLD|CHLD USR2)\], (4|8|16)\) = 2 \(\[\{fd=1, revents=POLLOUT(\|POLLWRNORM)?\}, \{fd=4, revents=POLLOUT\}\], left \{tv_sec=42, tv_nsec=9[0-9]{8}\}\)
+ppoll\(\[\{fd=1, events=POLLIN\|POLLPRI\|POLLRDNORM\|POLLRDBAND\}, \{fd=0, events=POLLOUT(\|POLLWRNORM)?\|POLLWRBAND\}\], 2, \{tv_sec=0, tv_nsec=999\}, ~\[HUP KILL STOP[^]]*\], (4|8|16)\) = 0 \(Timeout\)
 ppoll\(NULL, 42, NULL, NULL, (4|8|16)\) = -1 EFAULT .*
diff --git a/tests/prctl-arg2-intptr.c b/tests/prctl-arg2-intptr.c
new file mode 100644
index 0000000..ee000eb
--- /dev/null
+++ b/tests/prctl-arg2-intptr.c
@@ -0,0 +1,120 @@
+/*
+ * Check decoding of prctl operations which use arg2 as pointer to an integer
+ * value: PR_GET_CHILD_SUBREAPER, PR_GET_ENDIAN, PR_GET_FPEMU, and PR_GET_FPEXC.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+
+#if defined __NR_prctl
+
+# include <stdint.h>
+# include <stdio.h>
+# include <unistd.h>
+# include <linux/prctl.h>
+
+static const char *errstr;
+
+static long
+prctl(kernel_ulong_t arg1, kernel_ulong_t arg2)
+{
+	static const kernel_ulong_t bogus_arg =
+		(kernel_ulong_t) 0xdeadbeefbadc0dedULL;
+	long rc = syscall(__NR_prctl, arg1, arg2, bogus_arg);
+	errstr = sprintrc(rc);
+	return rc;
+}
+
+int
+main(void)
+{
+	static const kernel_ulong_t bogus_addr1 =
+		(kernel_ulong_t) 0x1e55c0de00000000ULL;
+	static const kernel_ulong_t bogus_addr2 =
+		(kernel_ulong_t) 0xfffffffffffffffdULL;
+	static const kernel_ulong_t bogus_op_bits =
+		(kernel_ulong_t) 0xbadc0ded00000000ULL;
+	static const struct {
+		kernel_ulong_t val;
+		const char *str;
+	} options[] = {
+		{ 37, "PR_GET_CHILD_SUBREAPER" },
+		{ 19, "PR_GET_ENDIAN" },
+		{  9, "PR_GET_FPEMU" },
+		{ 11, "PR_GET_FPEXC" },
+	};
+
+	unsigned int *ptr = tail_alloc(sizeof(*ptr));
+	long rc;
+	unsigned int i;
+
+	for (i = 0; i < ARRAY_SIZE(options); ++i) {
+		prctl(options[i].val | bogus_op_bits, 0);
+		printf("prctl(%s, NULL) = %s\n", options[i].str, errstr);
+
+		if (bogus_addr1) {
+			prctl(options[i].val | bogus_op_bits, bogus_addr1);
+			printf("prctl(%s, %#llx) = %s\n", options[i].str,
+			       (unsigned long long) bogus_addr1, errstr);
+		}
+
+		prctl(options[i].val | bogus_op_bits, bogus_addr2);
+		printf("prctl(%s, %#llx) = %s\n", options[i].str,
+		       (unsigned long long) bogus_addr2, errstr);
+
+		prctl(options[i].val | bogus_op_bits, (uintptr_t) (ptr + 1));
+		printf("prctl(%s, %p) = %s\n", options[i].str,
+		       ptr + 1, errstr);
+
+		rc = prctl(options[i].val | bogus_op_bits, (uintptr_t) ptr);
+		if (!rc) {
+			printf("prctl(%s, [%u]) = %s\n",
+			       options[i].str, *ptr, errstr);
+		} else {
+			printf("prctl(%s, %p) = %s\n",
+			       options[i].str, ptr, errstr);
+		}
+
+		if (F8ILL_KULONG_SUPPORTED) {
+			kernel_ulong_t bogus_addr3 = f8ill_ptr_to_kulong(ptr);
+			prctl(options[i].val | bogus_op_bits, bogus_addr3);
+			printf("prctl(%s, %#llx) = %s\n", options[i].str,
+			       (unsigned long long) bogus_addr3, errstr);
+		}
+	}
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_prctl")
+
+#endif
diff --git a/tests/prctl-arg2-intptr.test b/tests/prctl-arg2-intptr.test
new file mode 100755
index 0000000..bcef806
--- /dev/null
+++ b/tests/prctl-arg2-intptr.test
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+# Check decoding of prctl PR_GET_CHILD_SUBREAPER, PR_GET_ENDIAN, PR_GET_FPEMU,
+# and PR_GET_FPEXC operations.
+. "${srcdir=.}/init.sh"
+
+check_prog grep
+run_prog > /dev/null
+run_strace -a25 -eprctl $args > "$EXP"
+LC_ALL=C grep -Ev '^prctl\(PR_[GS]ET_([^CEF]|.[^HNP]|..[^DEI])' \
+	< "$LOG" > "$OUT"
+match_diff "$OUT" "$EXP"
+
+rm -f "$EXP" "$OUT"
diff --git a/tests/prctl-dumpable.c b/tests/prctl-dumpable.c
new file mode 100644
index 0000000..1049bce
--- /dev/null
+++ b/tests/prctl-dumpable.c
@@ -0,0 +1,106 @@
+/*
+ * Check decoding of prctl PR_GET_DUMPABLE/PR_SET_DUMPABLE operations.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+#include <linux/prctl.h>
+
+#if defined __NR_prctl && defined PR_GET_DUMPABLE && defined PR_SET_DUMPABLE
+
+# include <stdio.h>
+# include <unistd.h>
+
+static const char *errstr;
+
+static long
+prctl(kernel_ulong_t arg1, kernel_ulong_t arg2)
+{
+	static const kernel_ulong_t bogus_arg =
+		(kernel_ulong_t) 0xdeadbeefbadc0dedULL;
+	long rc = syscall(__NR_prctl, arg1, arg2, bogus_arg);
+	errstr = sprintrc(rc);
+	return rc;
+}
+
+int
+main(void)
+{
+	static const kernel_ulong_t bogus_dumpable1 =
+		(kernel_ulong_t) 0xdeadc0de00000001ULL;
+	static const kernel_ulong_t bogus_dumpable2 =
+		(kernel_ulong_t) 0xdeadc0defacebeefULL;
+
+	static const char * const args[] = {
+		"SUID_DUMP_DISABLE",
+		"SUID_DUMP_USER",
+		"SUID_DUMP_ROOT",
+	};
+
+	unsigned int i;
+
+	prctl(PR_SET_DUMPABLE, 3);
+	printf("prctl(PR_SET_DUMPABLE, 0x3 /* SUID_DUMP_??? */) = %s\n",
+	       errstr);
+
+	prctl(PR_SET_DUMPABLE, bogus_dumpable1);
+	if (bogus_dumpable1 == 1) {
+		printf("prctl(PR_SET_DUMPABLE, SUID_DUMP_USER) = %s\n", errstr);
+	} else {
+		printf("prctl(PR_SET_DUMPABLE, %#llx /* SUID_DUMP_??? */)"
+		       " = %s\n",
+		       (unsigned long long) bogus_dumpable1, errstr);
+	}
+
+	prctl(PR_SET_DUMPABLE, bogus_dumpable2);
+	printf("prctl(PR_SET_DUMPABLE, %#llx /* SUID_DUMP_??? */) = %s\n",
+	       (unsigned long long) bogus_dumpable2, errstr);
+
+	for (i = 0; i < ARRAY_SIZE(args); ++i) {
+		prctl(PR_SET_DUMPABLE, i);
+		printf("prctl(PR_SET_DUMPABLE, %s) = %s\n", args[i], errstr);
+
+		long rc = prctl(PR_GET_DUMPABLE, bogus_dumpable2);
+		if (rc >= 0 && rc < (long) ARRAY_SIZE(args)) {
+			printf("prctl(PR_GET_DUMPABLE) = %s (%s)\n",
+			       errstr, args[rc]);
+		} else {
+			printf("prctl(PR_GET_DUMPABLE) = %s\n", errstr);
+		}
+	}
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_prctl && PR_GET_DUMPABLE && PR_SET_DUMPABLE")
+
+#endif
diff --git a/tests/prctl-dumpable.test b/tests/prctl-dumpable.test
new file mode 100755
index 0000000..08acb8b
--- /dev/null
+++ b/tests/prctl-dumpable.test
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# Check decoding of prctl PR_GET_DUMPABLE and PR_SET_DUMPABLE operations.
+. "${srcdir=.}/init.sh"
+
+check_prog grep
+run_prog > /dev/null
+run_strace -a23 -eprctl $args > "$EXP"
+grep -v '^prctl(PR_[GS]ET_[^D][^U]' < "$LOG" > "$OUT"
+match_diff "$OUT" "$EXP"
+
+rm -f "$EXP" "$OUT"
diff --git a/tests/prctl-name.c b/tests/prctl-name.c
new file mode 100644
index 0000000..308c275
--- /dev/null
+++ b/tests/prctl-name.c
@@ -0,0 +1,103 @@
+/*
+ * Check decoding of prctl PR_GET_NAME/PR_SET_NAME operations.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#ifdef HAVE_PRCTL
+# include <sys/prctl.h>
+#endif
+
+#if defined HAVE_PRCTL && defined PR_GET_NAME && defined PR_SET_NAME
+
+# include <stdio.h>
+# include <string.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+	static const char str[] = "0123456789abcdef";
+	static const int len = sizeof(str) - 1;
+	char *name = tail_memdup(str, sizeof(str));
+	int i;
+	int rc;
+
+	rc = prctl(PR_SET_NAME, NULL);
+	printf("prctl(PR_SET_NAME, NULL) = %s\n", sprintrc(rc));
+
+	for (i = 0; i <= len; ++i) {
+		rc = prctl(PR_SET_NAME, name + len - i);
+		printf("prctl(PR_SET_NAME, \"%.*s\"%s) = %s\n",
+		       i < len - 1 ? i : len - 1,
+		       str + len - i,
+		       i < len - 1 ? "" : "...",
+		       sprintrc(rc));
+	}
+
+	*name = -1;
+	++name;
+	memcpy(name, str, len);
+
+	for (i = 0; i <= len; ++i) {
+		rc = prctl(PR_SET_NAME, name + len - i);
+		if (i < len - 1)
+			printf("prctl(PR_SET_NAME, %p) = %s\n",
+			       name + len - i, sprintrc(rc));
+		else
+			printf("prctl(PR_SET_NAME, \"%.*s\"...) = %s\n",
+			       len - 1, str + len - i, sprintrc(rc));
+	}
+
+	rc = prctl(PR_GET_NAME, NULL);
+	printf("prctl(PR_GET_NAME, NULL) = %s\n", sprintrc(rc));
+
+	for (i = 0; i < len; ++i) {
+		rc = prctl(PR_GET_NAME, name + len - i);
+		printf("prctl(PR_GET_NAME, %p) = %s\n",
+		       name + len - i, sprintrc(rc));
+	}
+
+	rc = prctl(PR_GET_NAME, name);
+	if (rc)
+		printf("prctl(PR_GET_NAME, %p) = %s\n",
+		       name, sprintrc(rc));
+	else
+		printf("prctl(PR_GET_NAME, \"%.*s\") = %s\n",
+		       len - 1, name, sprintrc(rc));
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("HAVE_PRCTL && PR_GET_NAME && PR_SET_NAME")
+
+#endif
diff --git a/tests/prctl-name.test b/tests/prctl-name.test
new file mode 100755
index 0000000..071179c
--- /dev/null
+++ b/tests/prctl-name.test
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# Check decoding of prctl PR_GET_NAME/PR_SET_NAME operations.
+. "${srcdir=.}/init.sh"
+
+check_prog grep
+run_prog > /dev/null
+run_strace -a23 -eprctl $args > "$EXP"
+grep -v '^prctl(PR_GET_[^N][^A]' < "$LOG" > "$OUT"
+match_diff "$OUT" "$EXP"
+
+rm -f "$EXP" "$OUT"
diff --git a/tests/prctl-no-args.c b/tests/prctl-no-args.c
new file mode 100644
index 0000000..57e1b73
--- /dev/null
+++ b/tests/prctl-no-args.c
@@ -0,0 +1,77 @@
+/*
+ * Check decoding of prctl operations without arguments and return code parsing:
+ * PR_GET_KEEPCAPS, PR_GET_SECCOMP, PR_GET_TIMERSLACK, PR_GET_TIMING,
+ * PR_TASK_PERF_EVENTS_DISABLE, and PR_TASK_PERF_EVENTS_ENABLE.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+
+#if defined __NR_prctl
+
+# include <stdio.h>
+# include <unistd.h>
+# include <linux/prctl.h>
+
+int
+main(void)
+{
+	static const kernel_ulong_t bogus_op_bits =
+		(kernel_ulong_t) 0xbadc0ded00000000ULL;
+	static const kernel_ulong_t bogus_arg =
+		(kernel_ulong_t) 0xfacefeeddeadbeefULL;
+	static const struct {
+		kernel_ulong_t val;
+		const char *str;
+	} options[] = {
+		{  7, "PR_GET_KEEPCAPS" },
+		{ 13, "PR_GET_TIMING" },
+		{ 21, "PR_GET_SECCOMP" },
+		{ 30, "PR_GET_TIMERSLACK" },
+		{ 31, "PR_TASK_PERF_EVENTS_DISABLE" },
+		{ 32, "PR_TASK_PERF_EVENTS_ENABLE" },
+	};
+
+	unsigned int *ptr = tail_alloc(sizeof(*ptr));
+	unsigned int i;
+
+	for (i = 0; i < ARRAY_SIZE(options); i++) {
+		long rc = syscall(__NR_prctl, options[i].val | bogus_op_bits,
+				  bogus_arg);
+		printf("prctl(%s) = %s\n", options[i].str, sprintrc(rc));
+	}
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_prctl")
+
+#endif
diff --git a/tests/prctl-no-args.test b/tests/prctl-no-args.test
new file mode 100755
index 0000000..ce8ca67
--- /dev/null
+++ b/tests/prctl-no-args.test
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+# Check decoding of prctl PR_GET_KEEPCAPS, PR_GET_SECCOMP, PR_GET_TIMERSLACK,
+# PR_GET_TIMING, PR_TASK_PERF_EVENTS_DISABLE, and PR_TASK_PERF_EVENTS_ENABLE
+# operations.
+. "${srcdir=.}/init.sh"
+
+check_prog grep
+run_prog > /dev/null
+run_strace -a21 -eprctl $args > "$EXP"
+grep -v '^prctl(PR_[GS]ET_[^KST][^EI][^CEM]' < "$LOG" > "$OUT"
+match_diff "$OUT" "$EXP"
+
+rm -f "$EXP" "$OUT"
diff --git a/tests/prctl-pdeathsig.c b/tests/prctl-pdeathsig.c
new file mode 100644
index 0000000..c176030
--- /dev/null
+++ b/tests/prctl-pdeathsig.c
@@ -0,0 +1,81 @@
+/*
+ * Check decoding of prctl PR_GET_PDEATHSIG/PR_SET_PDEATHSIG operations.
+ *
+ * Copyright (c) 2016 JingPiao Chen <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+#include <linux/prctl.h>
+
+#if defined __NR_prctl && defined PR_GET_PDEATHSIG && defined PR_SET_PDEATHSIG
+
+# include <stdio.h>
+# include <unistd.h>
+# include <sys/signal.h>
+
+int
+main(void)
+{
+	static const kernel_ulong_t bogus_signal =
+		(kernel_ulong_t) 0xbadc0deddeadfeedULL;
+
+	int *pdeathsig = tail_alloc(sizeof(*pdeathsig));
+	long rc;
+
+	rc = syscall(__NR_prctl, PR_SET_PDEATHSIG, bogus_signal);
+	printf("prctl(PR_SET_PDEATHSIG, %llu) = %s\n",
+	       (unsigned long long) bogus_signal, sprintrc(rc));
+
+	rc = syscall(__NR_prctl, PR_SET_PDEATHSIG, SIGINT);
+	printf("prctl(PR_SET_PDEATHSIG, SIGINT) = %s\n", sprintrc(rc));
+
+	rc = syscall(__NR_prctl, PR_GET_PDEATHSIG, NULL);
+	printf("prctl(PR_GET_PDEATHSIG, NULL) = %s\n", sprintrc(rc));
+
+	rc = syscall(__NR_prctl, PR_GET_PDEATHSIG, pdeathsig + 1);
+	printf("prctl(PR_GET_PDEATHSIG, %p) = %s\n",
+	       pdeathsig + 1, sprintrc(rc));
+
+	rc = syscall(__NR_prctl, PR_GET_PDEATHSIG, pdeathsig);
+	if (rc) {
+		printf("prctl(PR_GET_PDEATHSIG, %p) = %s\n",
+		       pdeathsig, sprintrc(rc));
+	} else {
+		printf("prctl(PR_GET_PDEATHSIG, [SIGINT]) = %s\n",
+		       sprintrc(rc));
+	}
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_prctl && PR_GET_PDEATHSIG && PR_SET_PDEATHSIG")
+
+#endif
diff --git a/tests/prctl-pdeathsig.test b/tests/prctl-pdeathsig.test
new file mode 100755
index 0000000..2777503
--- /dev/null
+++ b/tests/prctl-pdeathsig.test
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# Check prctl PR_GET_PDEATHSIG PR_SET_PDEATHSIG decoding.
+
+. "${srcdir=.}/init.sh"
+
+check_prog grep
+run_prog > /dev/null
+run_strace -a30 -eprctl $args > "$EXP"
+grep -v '^prctl(PR_[GS]ET_[^P][^D]' < "$LOG" > "$OUT"
+match_diff "$OUT" "$EXP"
+
+rm -f "$EXP" "$OUT"
diff --git a/tests/prctl-securebits.c b/tests/prctl-securebits.c
new file mode 100644
index 0000000..741973a
--- /dev/null
+++ b/tests/prctl-securebits.c
@@ -0,0 +1,106 @@
+/*
+ * Check decoding of prctl PR_GET_SECUREBITS/PR_SET_SECUREBITS operations.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+#include <linux/prctl.h>
+
+#if defined __NR_prctl && defined PR_GET_SECUREBITS && defined PR_SET_SECUREBITS
+
+# include <stdio.h>
+# include <unistd.h>
+
+# include "xlat.h"
+# include "xlat/secbits.h"
+
+static const char *errstr;
+
+static long
+prctl(kernel_ulong_t arg1, kernel_ulong_t arg2)
+{
+	static const kernel_ulong_t bogus_arg =
+		(kernel_ulong_t) 0xdeadbeefbadc0dedULL;
+	long rc = syscall(__NR_prctl, arg1, arg2, bogus_arg);
+	errstr = sprintrc(rc);
+	return rc;
+}
+
+int
+main(void)
+{
+	static const kernel_ulong_t bits1 =
+		(kernel_ulong_t) 0xdeadc0defacebeefULL;
+	static const kernel_ulong_t bits2 =
+		(kernel_ulong_t) 0xbadc0ded00000000ULL;
+	static const kernel_ulong_t bits3 =
+		(kernel_ulong_t) 0xffULL;
+
+	prctl(PR_SET_SECUREBITS, 0);
+	printf("prctl(PR_SET_SECUREBITS, 0) = %s\n", errstr);
+
+	prctl(PR_SET_SECUREBITS, bits1);
+	printf("prctl(PR_SET_SECUREBITS, SECBIT_NOROOT|SECBIT_NOROOT_LOCKED|"
+	       "SECBIT_NO_SETUID_FIXUP|SECBIT_NO_SETUID_FIXUP_LOCKED|"
+	       "SECBIT_KEEP_CAPS_LOCKED|SECBIT_NO_CAP_AMBIENT_RAISE|"
+	       "SECBIT_NO_CAP_AMBIENT_RAISE_LOCKED|%#llx) = %s\n",
+	       (unsigned long long) bits1 & ~0xffULL, errstr);
+
+	if (bits2) {
+		prctl(PR_SET_SECUREBITS, bits2);
+		printf("prctl(PR_SET_SECUREBITS, %#llx /* SECBIT_??? */)"
+		       " = %s\n", (unsigned long long) bits2, errstr);
+	}
+
+	prctl(PR_SET_SECUREBITS, bits3);
+	printf("prctl(PR_SET_SECUREBITS, SECBIT_NOROOT|SECBIT_NOROOT_LOCKED|"
+	       "SECBIT_NO_SETUID_FIXUP|SECBIT_NO_SETUID_FIXUP_LOCKED|"
+	       "SECBIT_KEEP_CAPS|SECBIT_KEEP_CAPS_LOCKED|"
+	       "SECBIT_NO_CAP_AMBIENT_RAISE|SECBIT_NO_CAP_AMBIENT_RAISE_LOCKED)"
+	       " = %s\n", errstr);
+
+	long rc = prctl(PR_GET_SECUREBITS, bits1);
+	printf("prctl(PR_GET_SECUREBITS) = %s", errstr);
+	if (rc > 0) {
+		printf(" (");
+		printflags(secbits, rc, NULL);
+		printf(")");
+	}
+
+	puts("");
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_prctl && PR_GET_SECUREBITS && PR_SET_SECUREBITS")
+
+#endif
diff --git a/tests/prctl-securebits.test b/tests/prctl-securebits.test
new file mode 100755
index 0000000..c91e62a
--- /dev/null
+++ b/tests/prctl-securebits.test
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# Check decoding of prctl PR_GET_SECUREBITS/PR_SET_SECUREBITS operations.
+. "${srcdir=.}/init.sh"
+
+check_prog grep
+run_prog > /dev/null
+run_strace -a25 -eprctl $args > "$EXP"
+grep -v '^prctl(PR_[GS]ET_[^S][^E][^C][^U]' < "$LOG" > "$OUT"
+match_diff "$OUT" "$EXP"
+
+rm -f "$EXP" "$OUT"
diff --git a/tests/prctl-tid_address.c b/tests/prctl-tid_address.c
new file mode 100644
index 0000000..24e4503
--- /dev/null
+++ b/tests/prctl-tid_address.c
@@ -0,0 +1,103 @@
+/*
+ * Check decoding of prctl PR_GET_TID_ADDRESS operation.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+#include <linux/prctl.h>
+
+#if defined __NR_prctl && defined __NR_set_tid_address && \
+	defined PR_GET_TID_ADDRESS
+
+# include <inttypes.h>
+# include <stdio.h>
+# include <unistd.h>
+
+static const char *
+sprintaddr(kernel_ulong_t addr)
+{
+	static char buf[sizeof("0x") + sizeof(addr) * 2];
+
+	if (addr) {
+		snprintf(buf, sizeof(buf), "%#llx", (unsigned long long) addr);
+
+		return buf;
+	}
+
+	return "NULL";
+}
+
+int
+main(void)
+{
+	static const kernel_ulong_t bogus_addr =
+		(kernel_ulong_t) 0xfffffffffffffffdULL;
+
+	/* Note that kernel puts kernel-sized pointer even on x32 */
+	kernel_ulong_t *ptr = tail_alloc(sizeof(*ptr));
+	long rc;
+	long set_ok;
+
+	*ptr = (kernel_ulong_t) 0xbadc0dedda7a1057ULL;
+
+	rc = syscall(__NR_prctl, PR_GET_TID_ADDRESS, NULL);
+	printf("prctl(PR_GET_TID_ADDRESS, NULL) = %s\n", sprintrc(rc));
+
+	rc = syscall(__NR_prctl, PR_GET_TID_ADDRESS, bogus_addr);
+	printf("prctl(PR_GET_TID_ADDRESS, %#llx) = %s\n",
+	       (unsigned long long) bogus_addr, sprintrc(rc));
+
+	rc = syscall(__NR_prctl, PR_GET_TID_ADDRESS, ptr);
+	if (rc) {
+		printf("prctl(PR_GET_TID_ADDRESS, %p) = %s\n",
+		       ptr, sprintrc(rc));
+	} else {
+		printf("prctl(PR_GET_TID_ADDRESS, [%s]) = %s\n",
+		       sprintaddr(*ptr), sprintrc(rc));
+	}
+
+	set_ok = syscall(__NR_set_tid_address, bogus_addr);
+
+	rc = syscall(__NR_prctl, PR_GET_TID_ADDRESS, ptr);
+	if (rc) {
+		printf("prctl(PR_GET_TID_ADDRESS, %p) = %s\n",
+		       ptr, sprintrc(rc));
+	} else {
+		printf("prctl(PR_GET_TID_ADDRESS, [%s]) = %s\n",
+		       sprintaddr(set_ok ? bogus_addr : *ptr), sprintrc(rc));
+	}
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_prctl && __NR_set_tid_address && PR_GET_TID_ADDRESS")
+
+#endif
diff --git a/tests/prctl-tid_address.test b/tests/prctl-tid_address.test
new file mode 100755
index 0000000..dc7b7c3
--- /dev/null
+++ b/tests/prctl-tid_address.test
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# Check decoding of prctl PR_GET_TID_ADDRESS operation.
+. "${srcdir=.}/init.sh"
+
+check_prog grep
+run_prog > /dev/null
+run_strace -a23 -eprctl $args > "$EXP"
+LC_ALL=C grep -Ev '^prctl\(PR_[GS]ET_([^T]|.[^I]|..[^D])' < "$LOG" > "$OUT"
+match_diff "$OUT" "$EXP"
+
+rm -f "$EXP" "$OUT"
diff --git a/tests/prctl-tsc.c b/tests/prctl-tsc.c
new file mode 100644
index 0000000..fd9362d
--- /dev/null
+++ b/tests/prctl-tsc.c
@@ -0,0 +1,80 @@
+/*
+ * Check decoding of prctl PR_GET_TSC/PR_SET_TSC operations.
+ *
+ * Copyright (c) 2016 JingPiao Chen <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+#include <linux/prctl.h>
+
+#if defined __NR_prctl && defined PR_GET_TSC && defined PR_SET_TSC
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+	static const kernel_ulong_t bogus_tsc =
+		(kernel_ulong_t) 0xdeadc0defacebeefULL;
+
+	int *tsc = tail_alloc(sizeof(*tsc));
+	long rc;
+
+	rc = syscall(__NR_prctl, PR_SET_TSC, 0);
+	printf("prctl(PR_SET_TSC, 0 /* PR_TSC_??? */) = %s\n", sprintrc(rc));
+
+	rc = syscall(__NR_prctl, PR_SET_TSC, bogus_tsc);
+	printf("prctl(PR_SET_TSC, %#x /* PR_TSC_??? */) = %s\n",
+	       (unsigned int) bogus_tsc, sprintrc(rc));
+
+	rc = syscall(__NR_prctl, PR_SET_TSC, PR_TSC_SIGSEGV);
+	printf("prctl(PR_SET_TSC, PR_TSC_SIGSEGV) = %s\n", sprintrc(rc));
+
+	rc = syscall(__NR_prctl, PR_GET_TSC, NULL);
+	printf("prctl(PR_GET_TSC, NULL) = %s\n", sprintrc(rc));
+
+	rc = syscall(__NR_prctl, PR_GET_TSC, tsc + 1);
+	printf("prctl(PR_GET_TSC, %p) = %s\n", tsc + 1, sprintrc(rc));
+
+	rc = syscall(__NR_prctl, PR_GET_TSC, tsc);
+	if (rc)
+		printf("prctl(PR_GET_TSC, %p) = %s\n", tsc, sprintrc(rc));
+	else
+		printf("prctl(PR_GET_TSC, [PR_TSC_SIGSEGV]) = %s\n",
+		       sprintrc(rc));
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_prctl && PR_GET_TSC && PR_SET_TSC")
+
+#endif
diff --git a/tests/prctl-tsc.test b/tests/prctl-tsc.test
new file mode 100755
index 0000000..a906ba8
--- /dev/null
+++ b/tests/prctl-tsc.test
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# Check prctl PR_GET_TSC PR_SET_TSC decoding.
+
+. "${srcdir=.}/init.sh"
+
+check_prog grep
+run_prog > /dev/null
+run_strace -a24 -eprctl $args > "$EXP"
+grep -v '^prctl(PR_[GS]ET_[^T][^S]' < "$LOG" > "$OUT"
+match_diff "$OUT" "$EXP"
+
+rm -f "$EXP" "$OUT"
diff --git a/tests/preadv-pwritev.c b/tests/preadv-pwritev.c
index 0770d69..b2d2a82 100644
--- a/tests/preadv-pwritev.c
+++ b/tests/preadv-pwritev.c
@@ -159,7 +159,7 @@
 	r_iov = tail_memdup(r1_iov_, sizeof(r1_iov_));
 
 	rc = preadv(0, r_iov, ARRAY_SIZE(r1_iov_), r_len);
-	if (rc != (int) w_len - r_len)
+	if (rc != (int) w_len - (int) r_len)
 		perror_msg_and_fail("preadv: expected %d, returned %ld",
 				    (int) w_len - r_len, rc);
 	tprintf("preadv(0, [{iov_base=\"%s\", iov_len=%u}"
diff --git a/tests/preadv.c b/tests/preadv.c
index eb53a5e..fb5d3ad 100644
--- a/tests/preadv.c
+++ b/tests/preadv.c
@@ -82,7 +82,8 @@
 
 	if (preadv(0, iov, 1, -1) != -1)
 		perror_msg_and_fail("preadv");
-	printf("preadv(0, %p, 1, -1) = -1 EINVAL (%m)\n", iov);
+	printf("preadv(0, [{iov_base=%p, iov_len=%zu}], 1, -1) = "
+	       "-1 EINVAL (%m)\n", iov->iov_base, iov->iov_len);
 
 	if (preadv(0, NULL, 1, -2) != -1)
 		perror_msg_and_fail("preadv");
@@ -140,7 +141,7 @@
 	r_iov = tail_memdup(r1_iov_, sizeof(r1_iov_));
 
 	rc = preadv(fd, r_iov, ARRAY_SIZE(r1_iov_), r_len);
-	if (rc != (int) LENGTH_OF(w) - r_len)
+	if (rc != (int) LENGTH_OF(w) - (int) r_len)
 		perror_msg_and_fail("preadv: expected %d, returned %ld",
 				    (int) LENGTH_OF(w) - r_len, rc);
 	printf("preadv(%d, [{iov_base=\"%s\", iov_len=%u}"
diff --git a/tests/preadv2-pwritev2.c b/tests/preadv2-pwritev2.c
index 032ac03..f7c46c0 100644
--- a/tests/preadv2-pwritev2.c
+++ b/tests/preadv2-pwritev2.c
@@ -29,6 +29,7 @@
 
 #include "tests.h"
 #include <asm/unistd.h>
+#include "scno.h"
 
 #if defined __NR_preadv2 && defined __NR_pwritev2
 
@@ -163,7 +164,7 @@
 	r_iov = tail_memdup(r1_iov_, sizeof(r1_iov_));
 
 	rc = pr(0, r_iov, ARRAY_SIZE(r1_iov_), r_len);
-	if (rc != (int) w_len - r_len)
+	if (rc != (int) w_len - (int) r_len)
 		perror_msg_and_fail("preadv2: expected %d, returned %ld",
 				    (int) w_len - r_len, rc);
 	tprintf("preadv2(0, [{iov_base=\"%s\", iov_len=%u}"
@@ -179,11 +180,12 @@
 int
 main(void)
 {
-	const unsigned long vlen = (unsigned long) 0xfac1fed2dad3bef4;
+	const kernel_ulong_t vlen = (kernel_ulong_t) 0xfac1fed2dad3bef4ULL;
 	const unsigned long long pos = 0xfac5fed6dad7bef8;
-	const unsigned long pos_l = (unsigned long) pos;
-	const unsigned long pos_h = (sizeof(long) == sizeof(long long)) ?
-		(unsigned long) 0xbadc0deddeadbeef : 0xfac5fed6UL;
+	const kernel_ulong_t pos_l = (kernel_ulong_t) pos;
+	const kernel_ulong_t pos_h =
+		(sizeof(kernel_ulong_t) == sizeof(long long)) ?
+		(kernel_ulong_t) 0xbadc0deddeadbeefULL : 0xfac5fed6UL;
 	int test_dumpio = 1;
 
 	tprintf("%s", "");
@@ -192,13 +194,13 @@
 	if (ENOSYS == errno)
 		test_dumpio = 0;
 	tprintf("preadv2(-1, NULL, %lu, %lld, RWF_HIPRI) = -1 %s (%m)\n",
-	       vlen, pos, errno2name());
+		(unsigned long) vlen, pos, errno2name());
 
 	syscall(__NR_pwritev2, -1, NULL, vlen, pos_l, pos_h, 1);
 	if (ENOSYS == errno)
 		test_dumpio = 0;
 	tprintf("pwritev2(-1, NULL, %lu, %lld, RWF_HIPRI) = -1 %s (%m)\n",
-	       vlen, pos, errno2name());
+		(unsigned long) vlen, pos, errno2name());
 
 	if (test_dumpio)
 		dumpio();
diff --git a/tests/print_maxfd.c b/tests/print_maxfd.c
new file mode 100644
index 0000000..c3d4ea8
--- /dev/null
+++ b/tests/print_maxfd.c
@@ -0,0 +1,41 @@
+/*
+ * Print the maximum descriptor number available.
+ *
+ * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <stdio.h>
+#include <sys/resource.h>
+
+int
+main(void)
+{
+	int fds[2];
+	pipe_maxfd(fds);
+	printf("%d\n", fds[1]);
+	return 0;
+}
diff --git a/tests/printstr.c b/tests/printstr.c
new file mode 100644
index 0000000..330234f
--- /dev/null
+++ b/tests/printstr.c
@@ -0,0 +1,69 @@
+/*
+ * Check decoding of non-NUL-terminated strings when len == -1.
+ *
+ * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/uio.h>
+
+#define DEFAULT_STRLEN 32
+
+int
+main(void)
+{
+	char *const buf = tail_alloc(DEFAULT_STRLEN + 1);
+	const struct iovec io = {
+		.iov_base = buf,
+		.iov_len = -1
+	};
+	int rc;
+
+	buf[0] = 0;
+
+	tprintf("%s", "");
+
+	memset(buf + 1, 'X', DEFAULT_STRLEN);
+	buf[DEFAULT_STRLEN - 1] = 0;
+
+	rc = writev(-1, &io, 1);
+	tprintf("writev(-1, [{iov_base=\"\\0%*s\\0\"..., iov_len=%lu}], 1)"
+		" = %s\n", DEFAULT_STRLEN - 2, buf + 1, -1UL, sprintrc(rc));
+
+	buf[DEFAULT_STRLEN - 1] = 'X';
+	buf[DEFAULT_STRLEN] = 0;
+
+	rc = writev(-1, &io, 1);
+	tprintf("writev(-1, [{iov_base=\"\\0%*s\"..., iov_len=%lu}], 1)"
+		" = %s\n", DEFAULT_STRLEN - 1, buf + 1, -1UL, sprintrc(rc));
+
+	tprintf("+++ exited with 0 +++\n");
+	return 0;
+}
diff --git a/tests/printstr.test b/tests/printstr.test
new file mode 100755
index 0000000..5f164eb
--- /dev/null
+++ b/tests/printstr.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of non-NUL-terminated strings when len == -1.
+. "${srcdir=.}/init.sh"
+
+run_strace_match_diff -e trace=writev
diff --git a/tests/prlimit64.c b/tests/prlimit64.c
index e62ea26..1e65116 100644
--- a/tests/prlimit64.c
+++ b/tests/prlimit64.c
@@ -62,12 +62,12 @@
 main(void)
 {
 	unsigned long pid =
-		(unsigned long) 0xdefaced00000000 | (unsigned) getpid();
+		(unsigned long) 0xdefaced00000000ULL | (unsigned) getpid();
 	uint64_t *const rlimit = tail_alloc(sizeof(*rlimit) * 2);
 	const struct xlat *xlat;
 
 	for (xlat = resources; xlat->str; ++xlat) {
-		unsigned long res = 0xfacefeed00000000 | xlat->val;
+		unsigned long res = 0xfacefeed00000000ULL | xlat->val;
 		long rc = syscall(__NR_prlimit64, pid, res, 0, rlimit);
 		if (rc)
 			printf("prlimit64(%d, %s, NULL, %p) = %ld %s (%m)\n",
diff --git a/tests/process_vm_readv.c b/tests/process_vm_readv.c
new file mode 100644
index 0000000..cfb8f78
--- /dev/null
+++ b/tests/process_vm_readv.c
@@ -0,0 +1,18 @@
+#include "tests.h"
+
+#include <asm/unistd.h>
+
+#ifdef __NR_process_vm_readv
+
+# define OP     process_vm_readv
+# define OP_NR  __NR_process_vm_readv
+# define OP_STR "process_vm_readv"
+# define OP_WR  0
+
+# include "process_vm_readv_writev.c"
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_process_vm_readv");
+
+#endif
diff --git a/tests/process_vm_readv.test b/tests/process_vm_readv.test
new file mode 100755
index 0000000..c092f5a
--- /dev/null
+++ b/tests/process_vm_readv.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of process_vm_readv syscall.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s5 -a37
diff --git a/tests/process_vm_readv_writev.c b/tests/process_vm_readv_writev.c
new file mode 100644
index 0000000..2a08939
--- /dev/null
+++ b/tests/process_vm_readv_writev.c
@@ -0,0 +1,306 @@
+/*
+ * Check decoding of process_vm_readv/process_vm_writev syscall.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include <inttypes.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <sys/uio.h>
+
+#if OP_WR
+# define in_iovec  rmt_iovec
+# define out_iovec lcl_iovec
+# define in_iov    rmt_iov
+# define out_iov   lcl_iov
+#else
+# define in_iovec  lcl_iovec
+# define out_iovec rmt_iovec
+# define in_iov    lcl_iov
+# define out_iov   rmt_iov
+#endif
+
+typedef void (*iov_print_fn)(const struct iovec *, const void *, long);
+
+enum { MAX_SEGM_COUNT = 2, MAX_STR_LEN = 5 };
+
+struct print_iov_arg {
+	uint32_t count;
+	uint32_t valid    :1,
+	         string   :1,
+		 addr_term:1,
+		 check_rc :1;
+	uint32_t str_segms;
+	uint8_t  str_base[MAX_SEGM_COUNT];
+	uint8_t  str_size[MAX_SEGM_COUNT];
+};
+
+static void
+print_iov(const struct iovec *iov, const void *arg_ptr, long rc)
+{
+	const struct print_iov_arg *arg = arg_ptr;
+	uint32_t i;
+	uint32_t num_segm = 0;
+	uint64_t segm_offs = 0;
+
+	if (!arg || !arg->valid) {
+		if (iov)
+			printf("%p", iov);
+		else
+			printf("NULL");
+
+		return;
+	}
+
+	printf("[");
+
+	for (i = 0; i < arg->count; i++) {
+		if (i)
+			printf(", ");
+
+		if (i >= MAX_STR_LEN) {
+			printf("...");
+			break;
+		}
+
+		printf("{iov_base=");
+		if (arg->string && (!arg->check_rc || (rc != -1))) {
+			uint64_t str_left = iov[i].iov_len;
+			uint64_t pr_count = 0;
+
+			printf("\"");
+
+			while (str_left--) {
+				static const char oct_str[] = "01234567";
+				uint8_t c = arg->str_base[num_segm] + segm_offs;
+
+				if ((num_segm >= arg->str_segms) ||
+				    (num_segm >= MAX_SEGM_COUNT))
+					error_msg_and_fail("print_iov: segment "
+							   "count overrun");
+
+				if (pr_count++ < MAX_STR_LEN)
+					printf("\\%.1s%.1s%d",
+					       (c >> 6) ?
+					       oct_str + (c >> 6) : "",
+					       (c >> 3) ?
+					       oct_str + ((c >> 3) & 7) : "",
+					       c & 7);
+
+				segm_offs++;
+
+				if (segm_offs >= arg->str_size[num_segm]) {
+					num_segm++;
+					segm_offs = 0;
+				}
+			}
+
+			printf("\"");
+
+			if (pr_count > MAX_STR_LEN)
+				printf("...");
+		} else {
+			if (iov[i].iov_base)
+				printf("%p", iov[i].iov_base);
+			else
+				printf("NULL");
+		}
+
+		printf(", iov_len=%zu}", iov[i].iov_len);
+	}
+
+	if (arg->addr_term)
+		printf(", %p", iov + arg->count);
+
+	printf("]");
+}
+
+static void
+do_call(kernel_ulong_t pid,
+	kernel_ulong_t local_iov, const char *local_arg,
+	kernel_ulong_t liovcnt,
+	kernel_ulong_t remote_iov, const char *remote_arg,
+	kernel_ulong_t riovcnt,
+	kernel_ulong_t flags, iov_print_fn pr_iov)
+{
+	long rc;
+	const char *errstr;
+
+	rc = syscall(OP_NR, pid, local_iov, liovcnt, remote_iov, riovcnt,
+		flags);
+	errstr = sprintrc(rc);
+
+	printf("%s(%d, ", OP_STR, (int) pid);
+
+	if (pr_iov)
+		pr_iov((const struct iovec *) (uintptr_t) local_iov, local_arg,
+			rc);
+	else
+		printf("%s", local_arg);
+
+	printf(", %lu, ", (unsigned long) liovcnt);
+
+	if (pr_iov)
+		pr_iov((const struct iovec *) (uintptr_t) remote_iov,
+		       remote_arg, rc);
+	else
+		printf("%s", remote_arg);
+
+	printf(", %lu, %lu) = %s\n", (unsigned long) riovcnt,
+		(unsigned long) flags, errstr);
+}
+
+kernel_ulong_t
+ptr_cast(void *ptr)
+{
+	return (kernel_ulong_t) (uintptr_t) ptr;
+}
+
+int
+main(void)
+{
+	enum {
+		SIZE_11 = 2,
+		SIZE_12 = 3,
+		SIZE_13 = 4,
+		SIZE_1 = SIZE_11 + SIZE_12 + SIZE_13,
+		SIZE_21 = 5,
+		SIZE_22 = 6,
+		SIZE_23 = 7,
+		SIZE_2 = SIZE_21 + SIZE_22 + SIZE_23,
+	};
+
+	enum {
+		SEGM1_BASE = 0x80,
+		SEGM2_BASE = 0xA0,
+	};
+
+	static const kernel_ulong_t bogus_pid =
+		(kernel_ulong_t) 0xbadfaceddeadca57ULL;
+	static const kernel_ulong_t bogus_iovcnt1 =
+		(kernel_ulong_t) 0xdec0ded1defaced2ULL;
+	static const kernel_ulong_t bogus_iovcnt2 =
+		(kernel_ulong_t) 0xdec0ded3defaced4ULL;
+	static const kernel_ulong_t bogus_flags =
+		(kernel_ulong_t) 0xdeadc0deda7adeadULL;
+
+	pid_t my_pid = getpid();
+	char *data1_out = tail_alloc(SIZE_1);
+	char *data2_out = tail_alloc(SIZE_2);
+	char *data1_in  = tail_alloc(SIZE_2);
+	char *data2_in  = tail_alloc(SIZE_1);
+
+	struct iovec bogus_iovec[] = {
+		{ data1_out + SIZE_1, (size_t) 0xdeadfaceca57beefULL },
+		{ data1_in  + SIZE_2, (size_t) 0xbadc0dedda7adeadULL },
+		{ data2_out + SIZE_2, (size_t) 0xf157facedec0ded1ULL },
+		{ data2_in  + SIZE_1, (size_t) 0xdefaced2bea7be57ULL },
+	};
+
+	struct iovec out_iovec[] = {
+		{ data1_out,  SIZE_11 },
+		{ data1_out + SIZE_11,  SIZE_12 },
+		{ data1_out + SIZE_11 + SIZE_12,  SIZE_13 },
+		{ data2_out,  SIZE_21 },
+		{ data2_out + SIZE_21,  SIZE_22 },
+		{ data2_out + SIZE_21 + SIZE_22,  SIZE_23 },
+	};
+	struct iovec in_iovec[] = {
+		{ data1_in,  SIZE_23 },
+		{ data1_in + SIZE_23,  SIZE_22 },
+		{ data1_in + SIZE_23 + SIZE_22,  SIZE_21 },
+		{ data2_in,  SIZE_13 },
+		{ data2_in + SIZE_13,  SIZE_12 },
+		{ data2_in + SIZE_13 + SIZE_12,  SIZE_11 },
+	};
+
+	struct iovec *bogus_iov = tail_memdup(bogus_iovec, sizeof(bogus_iovec));
+	struct iovec *lcl_iov   = tail_memdup(lcl_iovec,   sizeof(lcl_iovec));
+	struct iovec *rmt_iov   = tail_memdup(rmt_iovec,   sizeof(rmt_iovec));
+
+	struct print_iov_arg bogus_arg   = { ARRAY_SIZE(bogus_iovec), 1 };
+	struct print_iov_arg lcl_arg     = { ARRAY_SIZE(lcl_iovec), 1, 1, 0, 0,
+		2, {SEGM1_BASE, SEGM2_BASE}, {SIZE_1, SIZE_2} };
+	struct print_iov_arg rmt_arg     = { ARRAY_SIZE(rmt_iovec), 1 };
+
+	struct print_iov_arg bogus_arg_cut =
+		{ ARRAY_SIZE(bogus_iovec) - 2, 1, 0, 1 };
+	struct print_iov_arg lcl_arg_cut =
+		{ ARRAY_SIZE(lcl_iovec) - 2, 1, 1, 1, 0, 2,
+			{SEGM1_BASE + SIZE_11 + SIZE_12, SEGM2_BASE},
+			{SIZE_13, SIZE_2} };
+	struct print_iov_arg rmt_arg_cut =
+		{ ARRAY_SIZE(rmt_iovec) - 2, 1 };
+
+
+	fill_memory_ex(data1_out, SIZE_1, SEGM1_BASE, SIZE_1);
+	fill_memory_ex(data2_out, SIZE_2, SEGM2_BASE, SIZE_2);
+
+
+	do_call(bogus_pid, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL),
+		bogus_iovcnt1, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL),
+		bogus_iovcnt2, bogus_flags, NULL);
+
+	do_call(my_pid, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)),
+		"[]", 0, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)), "[]",
+		0, 0, NULL);
+	do_call(my_pid, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)), NULL,
+		bogus_iovcnt1, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)), NULL,
+		bogus_iovcnt2, 0, print_iov);
+
+	do_call(my_pid, ptr_cast(bogus_iov), (char *) &bogus_arg,
+		ARRAY_SIZE(bogus_iovec), ptr_cast(rmt_iov + 2),
+		(char *) &rmt_arg_cut, ARRAY_SIZE(rmt_iovec) - 2, 0, print_iov);
+
+#if !OP_WR
+	lcl_arg.check_rc = 1;
+	lcl_arg_cut.check_rc = 1;
+#endif
+
+	do_call(my_pid, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut,
+		ARRAY_SIZE(lcl_iovec) - 1, ptr_cast(bogus_iov + 2),
+		(char *) &bogus_arg_cut, ARRAY_SIZE(bogus_iovec) - 1, 0,
+		print_iov);
+
+	lcl_arg_cut.addr_term = 0;
+
+	rmt_arg_cut.addr_term = 1;
+	rmt_arg_cut.count = 5;
+
+	do_call(my_pid, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut,
+		ARRAY_SIZE(lcl_iovec) - 2, ptr_cast(rmt_iov + 1),
+		(char *) &rmt_arg_cut, ARRAY_SIZE(rmt_iovec), 0, print_iov);
+
+	/* Correct call */
+	do_call(my_pid, ptr_cast(lcl_iov), (char *) &lcl_arg,
+		ARRAY_SIZE(lcl_iovec), ptr_cast(rmt_iov), (char *) &rmt_arg,
+		ARRAY_SIZE(rmt_iovec), 0, print_iov);
+
+	puts("+++ exited with 0 +++");
+
+	return 0;
+}
diff --git a/tests/process_vm_writev.c b/tests/process_vm_writev.c
new file mode 100644
index 0000000..6271c01
--- /dev/null
+++ b/tests/process_vm_writev.c
@@ -0,0 +1,18 @@
+#include "tests.h"
+
+#include <asm/unistd.h>
+
+#ifdef __NR_process_vm_writev
+
+# define OP     process_vm_writev
+# define OP_NR  __NR_process_vm_writev
+# define OP_STR "process_vm_writev"
+# define OP_WR  1
+
+# include "process_vm_readv_writev.c"
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_process_vm_writev");
+
+#endif
diff --git a/tests/process_vm_writev.test b/tests/process_vm_writev.test
new file mode 100755
index 0000000..f690e6a
--- /dev/null
+++ b/tests/process_vm_writev.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of process_vm_writev syscall.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -s5 -a38
diff --git a/tests/pselect6.c b/tests/pselect6.c
index 7dbc06a..f264485 100644
--- a/tests/pselect6.c
+++ b/tests/pselect6.c
@@ -30,9 +30,9 @@
  */
 
 #include "tests.h"
+#include "nsig.h"
 #include <assert.h>
 #include <stdio.h>
-#include <signal.h>
 #include <unistd.h>
 #include <sys/select.h>
 #include <asm/unistd.h>
@@ -40,11 +40,6 @@
 
 #ifdef __NR_pselect6
 
-#ifndef NSIG
-# warning NSIG is not defined, using 32
-# define NSIG 32
-#endif
-
 static fd_set set[3][0x1000000 / sizeof(fd_set)];
 
 static void
@@ -90,7 +85,7 @@
 	       "= 1 (out [%d])\n",
 	       fds[1] + 1, fds[0], fds[1],
 	       fds[0], fds[1],
-	       NSIG / 8, fds[1]);
+	       NSIG_BYTES, fds[1]);
 
 	/*
 	 * Another simple one, with a timeout.
@@ -100,8 +95,9 @@
 	FD_SET(fds[0], set[1]);
 	FD_SET(fds[1], set[1]);
 	assert(syscall(__NR_pselect6, fds[1] + 1, NULL, set[1], NULL, &tm.ts, NULL) == 3);
-	printf("pselect6(%d, NULL, [1 2 %d %d], NULL, {%lld, %lld}, NULL)"
-	       " = 3 (out [1 2 %d], left {%lld, %lld})\n",
+	printf("pselect6(%d, NULL, [1 2 %d %d], NULL, "
+	       "{tv_sec=%lld, tv_nsec=%lld}, NULL) = 3 (out [1 2 %d], left "
+	       "{tv_sec=%lld, tv_nsec=%lld})\n",
 	       fds[1] + 1, fds[0], fds[1],
 	       (long long) tm_in.ts.tv_sec, (long long) tm_in.ts.tv_nsec,
 	       fds[1],
@@ -115,7 +111,7 @@
 	FD_SET(fds[1],set[0]);
 	assert(pselect(-1, NULL, set[0], NULL, NULL, &mask) == -1);
 	printf("pselect6(-1, NULL, %p, NULL, NULL, {[HUP CHLD], %u}) "
-	       "= -1 EINVAL (%m)\n", set[0], NSIG / 8);
+	       "= -1 EINVAL (%m)\n", set[0], NSIG_BYTES);
 
 	/*
 	 * Another variant, with nfds exceeding FD_SETSIZE limit.
@@ -126,8 +122,9 @@
 	tm.ts.tv_sec = 0;
 	tm.ts.tv_nsec = 123;
 	assert(pselect(FD_SETSIZE + 1, set[0], set[1], NULL, &tm.ts, &mask) == 0);
-	printf("pselect6(%d, [%d], [], NULL, {0, 123}, {[HUP CHLD], %u}) "
-	       "= 0 (Timeout)\n", FD_SETSIZE + 1, fds[0], NSIG / 8);
+	printf("pselect6(%d, [%d], [], NULL, {tv_sec=0, tv_nsec=123}, "
+	       "{[HUP CHLD], %u}) = 0 (Timeout)\n",
+	       FD_SETSIZE + 1, fds[0], NSIG_BYTES);
 
 	/*
 	 * See how timeouts are decoded.
@@ -137,9 +134,10 @@
 
 	tm.ts.tv_nsec = 222222222;
 	assert(pselect(0, NULL, NULL, NULL, &tm.ts, &mask) == -1);
-	printf("pselect6(0, NULL, NULL, NULL, {0, 222222222}, {[HUP CHLD], %u})"
-	       " = ? ERESTARTNOHAND (To be restarted if no handler)\n",
-	       NSIG / 8);
+	printf("pselect6(0, NULL, NULL, NULL, {tv_sec=0, tv_nsec=222222222}, "
+	       "{[HUP CHLD], %u}) = "
+	       "? ERESTARTNOHAND (To be restarted if no handler)\n",
+	       NSIG_BYTES);
 	puts("--- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} ---");
 
 	puts("+++ exited with 0 +++");
diff --git a/tests/ptrace.c b/tests/ptrace.c
index 1dcfec3..80ce8cb 100644
--- a/tests/ptrace.c
+++ b/tests/ptrace.c
@@ -345,10 +345,23 @@
 	do_ptrace(PTRACE_SETSIGINFO, pid, bad_request, (unsigned long) sip);
 	printf("ptrace(PTRACE_SETSIGINFO, %u, %#lx, {si_signo=SIGSYS"
 	       ", si_code=SYS_SECCOMP, si_errno=ENOENT, si_call_addr=%p"
-	       ", si_syscall=__NR_syscall_%u, si_arch=AUDIT_ARCH_X86_64})"
+	       ", si_syscall=%u, si_arch=AUDIT_ARCH_X86_64})"
 	       " = %s\n",
 	       (unsigned) pid, bad_request, sip->si_call_addr, sip->si_syscall,
 	       errstr);
+
+	sip->si_errno = 3141592653U;
+	sip->si_call_addr = NULL;
+	sip->si_syscall = __NR_read;
+	sip->si_arch = 0xda7a1057;
+
+	do_ptrace(PTRACE_SETSIGINFO, pid, bad_request, (unsigned long) sip);
+	printf("ptrace(PTRACE_SETSIGINFO, %u, %#lx, {si_signo=SIGSYS"
+	       ", si_code=SYS_SECCOMP, si_errno=%d, si_call_addr=NULL"
+	       ", si_syscall=__NR_read, si_arch=%#x /* AUDIT_ARCH_??? */})"
+	       " = %s\n",
+	       (unsigned) pid, bad_request, sip->si_errno, sip->si_arch,
+	       errstr);
 #endif
 
 #if defined HAVE_SIGINFO_T_SI_TIMERID && defined HAVE_SIGINFO_T_SI_OVERRUN
diff --git a/tests/qual_fault-exit_group.expected b/tests/qual_fault-exit_group.expected
new file mode 100644
index 0000000..dd9d4e4
--- /dev/null
+++ b/tests/qual_fault-exit_group.expected
@@ -0,0 +1,3 @@
+exit_group(42)                          = -1 ENOSYS (Function not implemented) (INJECTED)
+exit(42)                                = ?
++++ exited with 42 +++
diff --git a/tests/qual_fault-exit_group.test b/tests/qual_fault-exit_group.test
new file mode 100755
index 0000000..c98ffc6
--- /dev/null
+++ b/tests/qual_fault-exit_group.test
@@ -0,0 +1,53 @@
+#!/bin/sh
+#
+# Check decoding of fault injected exit_group syscall.
+#
+# Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+# 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=.}/scno_tampering.sh"
+
+test_with()
+{
+	> "$LOG" || fail_ "failed to write $LOG"
+
+	$STRACE -o "$LOG" "$@"
+	rc=$?
+	[ $rc -eq 42 ] ||
+		dump_log_and_fail_with "$STRACE $* failed with code $rc"
+
+	match_diff
+}
+
+test_with -eexit,exit_group -efault=exit_group:error=ENOSYS ./answer
+
+test_with -eexit,exit_group -efault=exit_group:error=ENOSYS \
+	  -efault=\!process:error=1 ./answer
+
+test_with -eexit,exit_group -efault=all:error=ENOSYS \
+	  -efault=exit:error=1:when=2+ ./answer
+
+test_with -eexit,exit_group -efault=exit_group:error=ENOSYS \
+	  -efault=\!desc,file,memory,process,signal,network,ipc:error=1 ./answer
diff --git a/tests/qual_fault-syntax.test b/tests/qual_fault-syntax.test
new file mode 100755
index 0000000..85093fc
--- /dev/null
+++ b/tests/qual_fault-syntax.test
@@ -0,0 +1,111 @@
+#!/bin/sh
+#
+# Check -e fault= syntax.
+#
+# Copyright (c) 2016=2017 Dmitry V. Levin <[email protected]>
+# 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"
+
+#
+# F
+# F+
+# F+S
+
+fail_with()
+{
+	dump_log_and_fail_with \
+		"strace -e fault=$* failed to handle an argument error properly"
+}
+
+for arg in '' , ,, ,,, : :: ::: \! \!, \!: \
+	   invalid_syscall_name \
+	   invalid_syscall_name:when=3 \
+	   -1 \!-1 \
+	   -1:when=4 \
+	   -2 \
+	   -2:when=5 \
+	   32767 \!32767 \
+	   32767:when=6 \
+	   chdir:42 \!chdir:42 \
+	   chdir:42:when=7 \
+	   chdir:invalid \
+	   chdir:invalid:when=8 \
+	   chdir:error= \
+	   chdir:error=:when=10 \
+	   chdir:error=invalid_error_name \
+	   chdir:error=invalid_error_name:when=11 \
+	   chdir:error=-1 \
+	   chdir:error=-1:when=12 \
+	   chdir:error=-2 \
+	   chdir:error=-2:when=13 \
+	   chdir:error=3+ \
+	   chdir:error=3+:when=14 \
+	   chdir:error=4096 \
+	   chdir:error=4096:when=15 \
+	   chdir:when=7:error=invalid_error_name \
+	   chdir:when= \
+	   chdir:when=:error=19 \
+	   chdir:when=0 \
+	   chdir:when=0:error=20 \
+	   chdir:when=-1 \
+	   chdir:when=-1:error=21 \
+	   chdir:when=-2+ \
+	   chdir:when=-2+:error=22 \
+	   chdir:when=-3+0 \
+	   chdir:when=-3+0:error=23 \
+	   chdir:when=4- \
+	   chdir:when=4-:error=24 \
+	   chdir:when=5+- \
+	   chdir:when=5+-:error=25 \
+	   chdir:when=6++ \
+	   chdir:when=6++:error=26 \
+	   chdir:when=7+0 \
+	   chdir:when=7+0:error=27 \
+	   chdir:when=8+-1 \
+	   chdir:when=8+-1:error=28 \
+	   chdir:when=9+1+ \
+	   chdir:when=9+1+:error=29 \
+	   chdir:when=65536 \
+	   chdir:when=65536:error=30 \
+	   chdir:when=1+65536 \
+	   chdir:when=1+65536:error=31 \
+	   file,nonsense \
+	   \!desc,nonsense \
+	   chdir,nonsense \
+	   \!chdir,nonsense \
+	   1,nonsense \
+	   \!1,nonsense \
+	   chdir:retval=0 \
+	   chdir:signal=1 \
+	   chdir:error=1:error=2 \
+	   ; do
+	$STRACE -e fault="$arg" true 2> "$LOG" &&
+		fail_with "$arg"
+	LC_ALL=C grep -F 'invalid fault argument' < "$LOG" > /dev/null ||
+		fail_with "$arg"
+done
+
+exit 0
diff --git a/tests/qual_fault.c b/tests/qual_fault.c
new file mode 100644
index 0000000..d26dc7c
--- /dev/null
+++ b/tests/qual_fault.c
@@ -0,0 +1,148 @@
+/*
+ * Check that fault injection works properly.
+ *
+ * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#include <assert.h>
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <sys/uio.h>
+
+static const int expfd = 4;
+static const int gotfd = 5;
+
+#define DEFAULT_ERRNO ENOSYS
+
+static const char *errstr;
+static int is_raw, err, first, step, iter, try;
+
+static void
+invoke(int fail)
+{
+	static char buf[sizeof(int) * 3 + 3];
+	const struct iovec io = {
+		.iov_base = buf,
+		.iov_len = sprintf(buf, "%d.", ++try)
+	};
+	int rc;
+
+	if (!fail) {
+		rc = write(expfd, io.iov_base, io.iov_len);
+		if (rc != (int) io.iov_len)
+			perror_msg_and_fail("write");
+	}
+
+	errno = 0;
+	rc = writev(gotfd, &io, 1);
+
+	if (fail) {
+		if (!(rc == -1 && errno == err))
+			perror_msg_and_fail("expected errno %d"
+					    ", got rc == %d, errno == %d",
+					    err, rc, errno);
+
+		if (is_raw)
+			tprintf("writev(%#x, %p, 0x1) = -1 (errno %d)"
+				" (INJECTED)\n", gotfd, &io, err);
+		else
+			tprintf("writev(%d, [{iov_base=\"%s\", iov_len=%d}], 1)"
+				" = -1 %s (%m) (INJECTED)\n",
+				gotfd, buf, (int) io.iov_len, errstr);
+	} else {
+		if (rc != (int) io.iov_len)
+			perror_msg_and_fail("expected %d"
+					    ", got rc == %d, errno == %d",
+					    (int) io.iov_len, rc, errno);
+
+		if (is_raw)
+			tprintf("writev(%#x, %p, 0x1) = %#x\n", gotfd, &io, rc);
+		else
+			tprintf("writev(%d, [{iov_base=\"%s\", iov_len=%d}], 1)"
+				" = %d\n",
+				gotfd, buf, (int) io.iov_len, (int) io.iov_len);
+	}
+}
+
+int
+main(int argc, char *argv[])
+{
+	struct stat st;
+
+	assert(fstat(expfd, &st) == 0);
+	assert(fstat(gotfd, &st) == 0);
+
+	assert(argc == 6);
+
+	is_raw = !strcmp("raw", argv[1]);
+
+	errstr = argv[2];
+	err = atoi(errstr);
+	assert(err >= 0);
+
+	if (!err) {
+		if (!*errstr)
+			err = DEFAULT_ERRNO;
+		else if (!strcasecmp(errstr, "EINVAL"))
+			err = EINVAL;
+		else
+			err = ENOSYS;
+	}
+
+	errno = err;
+	errstr = errno2name();
+
+	first = atoi(argv[3]);
+	step = atoi(argv[4]);
+	iter = atoi(argv[5]);
+
+	assert(first > 0);
+	assert(step >= 0);
+
+	tprintf("%s", "");
+
+	int i;
+	for (i = 1; i <= iter; ++i) {
+		int fail = 0;
+		if (first > 0) {
+			--first;
+			if (first == 0) {
+				fail = 1;
+				first = step;
+			}
+		}
+		invoke(fail);
+	}
+
+	tprintf("%s\n", "+++ exited with 0 +++");
+	return 0;
+}
diff --git a/tests/qual_fault.test b/tests/qual_fault.test
new file mode 100755
index 0000000..e194a78
--- /dev/null
+++ b/tests/qual_fault.test
@@ -0,0 +1,104 @@
+#!/bin/sh
+#
+# Check that fault injection works properly.
+#
+# Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+# 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=.}/scno_tampering.sh"
+
+#
+# F
+# F+
+# F+S
+
+N=16
+
+check_fault_injection()
+{
+	local trace fault err first step extra
+	trace=$1; shift
+	fault=$1; shift
+	err=$1; shift
+	first=$1; shift
+	step=$1; shift
+	extra="$*"
+
+	local when=
+	if [ -z "$first$step" ]; then
+		first=1
+		step=1
+	else
+		case "$step" in
+			'') when=":when=$first"; step=0 ;;
+			+) when=":when=$first+"; step=1 ;;
+			*) when=":when=$first+$step" ;;
+		esac
+	fi
+
+	local error=
+	local raw=reg
+	set --
+	case "$err" in
+		'') ;;
+		[123456789]*)
+			error=":error=$err"
+			raw=raw
+			set -- -e raw=all
+			;;
+		*) error=":error=$err" ;;
+	esac
+
+	outexp="$NAME.out.exp"
+	outgot="$NAME.out.got"
+
+	run_strace -a11 -e trace=$trace \
+		"$@" -e fault=$fault$when$error $extra \
+		./$NAME $raw "$err" "$first" "$step" $N \
+		> "$EXP" 4> "$outexp" 5> "$outgot"
+
+	match_diff "$EXP" "$LOG"
+	match_diff "$outexp" "$outgot"
+	rm -f "$EXP" "$outexp" "$outgot"
+}
+
+for err in '' ENOSYS 22 einval; do
+	for fault in writev desc,51; do
+		check_fault_injection \
+			writev $fault "$err" '' '' -efault=chdir
+		check_fault_injection \
+			writev $fault "$err" '' '' -efault=chdir -efault=none
+		for F in 1 2 3 5 7 11; do
+			check_fault_injection \
+				writev $fault "$err" $F ''
+			check_fault_injection \
+				writev $fault "$err" $F +
+			for S in 1 2 3 5 7 11; do
+				check_fault_injection \
+					writev $fault "$err" $F $S
+			done
+		done
+	done
+done
diff --git a/tests/qual_inject-error-signal.c b/tests/qual_inject-error-signal.c
new file mode 100644
index 0000000..f4ccd82
--- /dev/null
+++ b/tests/qual_inject-error-signal.c
@@ -0,0 +1,69 @@
+/*
+ * Check fault injection along with signal injection.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <signal.h>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <asm/unistd.h>
+
+static struct stat before, after;
+
+static void
+handler(int sig)
+{
+	if (stat(".", &after))
+		syscall(__NR_exit_group, 2);
+
+	if (before.st_dev != after.st_dev || before.st_ino != after.st_ino)
+		syscall(__NR_exit_group, 3);
+
+	syscall(__NR_exit_group, 0);
+}
+
+int
+main(void)
+{
+	const struct sigaction act = { .sa_handler = handler };
+	if (sigaction(SIGUSR1, &act, NULL))
+		perror_msg_and_fail("sigaction");
+
+	sigset_t mask;
+	sigemptyset(&mask);
+	sigaddset(&mask, SIGUSR1);
+	if (sigprocmask(SIG_UNBLOCK, &mask, NULL))
+		perror_msg_and_fail("sigprocmask");
+
+	if (stat(".", &before))
+		perror_msg_and_fail("stat");
+
+	syscall(__NR_chdir, ".");
+	syscall(__NR_exit_group, 1);
+	return 1;
+}
diff --git a/tests/qual_inject-error-signal.expected b/tests/qual_inject-error-signal.expected
new file mode 100644
index 0000000..24389b3
--- /dev/null
+++ b/tests/qual_inject-error-signal.expected
@@ -0,0 +1,4 @@
+chdir(".")  = -1 ENOENT (No such file or directory) (INJECTED)
+--- SIGUSR1 {si_signo=SIGUSR1, si_code=SI_KERNEL} ---
+exit_group(0) = ?
++++ exited with 0 +++
diff --git a/tests/qual_inject-error-signal.test b/tests/qual_inject-error-signal.test
new file mode 100755
index 0000000..fcbcc39
--- /dev/null
+++ b/tests/qual_inject-error-signal.test
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+# Check fault injection along with signal injection.
+. "${srcdir=.}/scno_tampering.sh"
+
+run_strace -a12 -echdir,exit_group -einject=chdir:error=ENOENT:signal=USR1 \
+	"./$NAME"
+match_diff
diff --git a/tests/qual_inject-retval.c b/tests/qual_inject-retval.c
new file mode 100644
index 0000000..ac9801e
--- /dev/null
+++ b/tests/qual_inject-retval.c
@@ -0,0 +1,73 @@
+/*
+ * Check success injection.
+ *
+ * Copyright (c) 2017 Elvira Khabirova <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_chdir
+
+# include <assert.h>
+# include <stdio.h>
+# include <stdlib.h>
+# include <unistd.h>
+# include <sys/stat.h>
+
+int
+main(int argc, char *argv[])
+{
+	assert(argc == 2);
+
+	static const char dir[] = "..";
+	struct stat before, after;
+
+	if (stat(".", &before))
+		perror_msg_and_fail("stat");
+
+	long rval = syscall(__NR_chdir, dir);
+
+	if (stat(".", &after))
+		perror_msg_and_fail("stat");
+
+	if (before.st_dev != after.st_dev || before.st_ino != after.st_ino)
+		error_msg_and_fail("syscall succeeded");
+	if (atol(argv[1]) != rval)
+		error_msg_and_fail("expected retval %s, got retval %ld",
+				   argv[1], rval);
+
+	printf("chdir(\"%s\") = %ld (INJECTED)\n", dir, rval);
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_chdir")
+
+#endif
diff --git a/tests/qual_inject-retval.test b/tests/qual_inject-retval.test
new file mode 100755
index 0000000..419030a
--- /dev/null
+++ b/tests/qual_inject-retval.test
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+# Check success injection.
+
+. "${srcdir=.}/scno_tampering.sh"
+
+check_injection()
+{
+	local syscall rval
+
+	syscall=chdir
+	rval="$1"; shift
+
+	run_strace -a12 -e$syscall -einject="$syscall:retval=$rval" "$@" \
+		./qual_inject-retval "$rval" > "$EXP"
+	match_diff "$LOG" "$EXP"
+	rm -f "$EXP"
+}
+
+check_injection 0
+check_injection 42
diff --git a/tests/qual_inject-signal.c b/tests/qual_inject-signal.c
new file mode 100644
index 0000000..ff56a28
--- /dev/null
+++ b/tests/qual_inject-signal.c
@@ -0,0 +1,57 @@
+/*
+ * Check that signal injection works properly.
+ *
+ * Copyright (c) 2017 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <signal.h>
+#include <unistd.h>
+#include <asm/unistd.h>
+
+static void
+handler(int sig)
+{
+	syscall(__NR_exit_group, 0);
+}
+
+int
+main(void)
+{
+	const struct sigaction act = { .sa_handler = handler };
+	if (sigaction(SIGUSR1, &act, NULL))
+		perror_msg_and_fail("sigaction");
+
+	sigset_t mask;
+	sigemptyset(&mask);
+	sigaddset(&mask, SIGUSR1);
+	if (sigprocmask(SIG_UNBLOCK, &mask, NULL))
+		perror_msg_and_fail("sigprocmask");
+
+	syscall(__NR_chdir, ".");
+	syscall(__NR_exit_group, 1);
+	return 1;
+}
diff --git a/tests/qual_inject-signal.expected b/tests/qual_inject-signal.expected
new file mode 100644
index 0000000..69a1d97
--- /dev/null
+++ b/tests/qual_inject-signal.expected
@@ -0,0 +1,4 @@
+chdir(".")  = 0
+--- SIGUSR1 {si_signo=SIGUSR1, si_code=SI_KERNEL} ---
+exit_group(0) = ?
++++ exited with 0 +++
diff --git a/tests/qual_inject-signal.test b/tests/qual_inject-signal.test
new file mode 100755
index 0000000..88002ce
--- /dev/null
+++ b/tests/qual_inject-signal.test
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+# Check signal injection.
+. "${srcdir=.}/init.sh"
+
+run_strace -a12 -echdir,exit_group -einject=chdir:signal=USR1 \
+	./$NAME
+match_diff
diff --git a/tests/qual_inject-syntax.test b/tests/qual_inject-syntax.test
new file mode 100755
index 0000000..a9e44d7
--- /dev/null
+++ b/tests/qual_inject-syntax.test
@@ -0,0 +1,118 @@
+#!/bin/sh
+#
+# Check -e inject= syntax.
+#
+# Copyright (c) 2016-2017 Dmitry V. Levin <[email protected]>
+# 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"
+
+#
+# F
+# F+
+# F+S
+
+fail_with()
+{
+	dump_log_and_fail_with \
+		"strace -e inject=$* failed to handle an argument error properly"
+}
+
+for arg in '' , ,, ,,, : :: ::: \! \!, \!: \
+	   invalid_syscall_name \
+	   invalid_syscall_name:when=3 \
+	   -1 \!-1 \
+	   -1:when=4 \
+	   -2 \
+	   -2:when=5 \
+	   32767 \!32767 \
+	   32767:when=6 \
+	   42 \
+	   chdir \
+	   chdir:42 \!chdir:42 \
+	   chdir:42:when=7 \
+	   chdir:invalid \
+	   chdir:invalid:when=8 \
+	   chdir:error= \
+	   chdir:error=:when=10 \
+	   chdir:error=invalid_error_name \
+	   chdir:error=invalid_error_name:when=11 \
+	   chdir:error=-1 \
+	   chdir:error=-1:when=12 \
+	   chdir:error=-2 \
+	   chdir:error=-2:when=13 \
+	   chdir:error=3+ \
+	   chdir:error=3+:when=14 \
+	   chdir:error=4096 \
+	   chdir:error=4096:when=15 \
+	   chdir:when=7:error=invalid_error_name \
+	   chdir:when= \
+	   chdir:when=:error=19 \
+	   chdir:when=0 \
+	   chdir:when=0:error=20 \
+	   chdir:when=-1 \
+	   chdir:when=-1:error=21 \
+	   chdir:when=-2+ \
+	   chdir:when=-2+:error=22 \
+	   chdir:when=-3+0 \
+	   chdir:when=-3+0:error=23 \
+	   chdir:when=4- \
+	   chdir:when=4-:error=24 \
+	   chdir:when=5+- \
+	   chdir:when=5+-:error=25 \
+	   chdir:when=6++ \
+	   chdir:when=6++:error=26 \
+	   chdir:when=7+0 \
+	   chdir:when=7+0:error=27 \
+	   chdir:when=8+-1 \
+	   chdir:when=8+-1:error=28 \
+	   chdir:when=9+1+ \
+	   chdir:when=9+1+:error=29 \
+	   chdir:when=65536 \
+	   chdir:when=65536:error=30 \
+	   chdir:when=1+65536 \
+	   chdir:when=1+65536:error=31 \
+	   file,nonsense \
+	   \!desc,nonsense \
+	   chdir,nonsense \
+	   \!chdir,nonsense \
+	   1,nonsense \
+	   \!1,nonsense \
+	   chdir:retval=-1 \
+	   chdir:signal=0 \
+	   chdir:signal=129 \
+	   chdir:retval=0:retval=1 \
+	   chdir:error=1:error=2 \
+	   chdir:retval=0:error=1 \
+	   chdir:error=1:retval=0 \
+	   chdir:retval=0:signal=1:error=1 \
+	   ; do
+	$STRACE -e inject="$arg" true 2> "$LOG" &&
+		fail_with "$arg"
+	LC_ALL=C grep -F 'invalid inject argument' < "$LOG" > /dev/null ||
+		fail_with "$arg"
+done
+
+exit 0
diff --git a/tests/qual_signal.c b/tests/qual_signal.c
new file mode 100644
index 0000000..106dabe
--- /dev/null
+++ b/tests/qual_signal.c
@@ -0,0 +1,82 @@
+/*
+ * Check how strace -e signal=set works.
+ *
+ * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <assert.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+static pid_t pid;
+static uid_t uid;
+
+static void
+handler(int sig)
+{
+}
+
+static void
+test_sig(int signo, const char *name)
+{
+	const struct sigaction act = { .sa_handler = handler };
+
+	if (sigaction(signo, &act, NULL))
+		perror_msg_and_fail("sigaction: %d", signo);
+
+	sigset_t mask;
+	sigemptyset(&mask);
+	sigaddset(&mask, signo);
+	if (sigprocmask(SIG_UNBLOCK, &mask, NULL))
+		perror_msg_and_fail("sigprocmask: %d", signo);
+
+	if (kill(pid, signo))
+		perror_msg_and_fail("kill(%d, %d)", pid, signo);
+
+	if (name && *name)
+		printf("--- %s {si_signo=%s, si_code=SI_USER"
+		       ", si_pid=%d, si_uid=%d} ---\n",
+		       name, name, pid, uid);
+}
+
+int
+main(int ac, const char **av)
+{
+	assert(ac & 1);
+
+	pid = getpid();
+	uid = geteuid();
+
+	int i;
+	for (i = 1; i < ac; i += 2)
+		test_sig(atoi(av[i]), av[i + 1]);
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
diff --git a/tests/qual_signal.test b/tests/qual_signal.test
new file mode 100755
index 0000000..54a37a3
--- /dev/null
+++ b/tests/qual_signal.test
@@ -0,0 +1,111 @@
+#!/bin/sh
+#
+# Check how strace -e signal=set works.
+#
+# Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+# 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"
+
+test_one_sig()
+{
+	local sigs
+	sigs="$1"; shift
+
+	run_prog "./$NAME" "$@" > /dev/null
+	run_strace -e trace=none -e signal="$sigs" "./$NAME" "$@" > "$EXP"
+	match_diff "$LOG" "$EXP"
+	rm -f "$EXP"
+}
+
+test_sigs()
+{
+	local first second sigs
+	first="$1"; shift
+	second="$1"; shift
+
+	for sigs; do
+		test_one_sig "$sigs" 2 "$first" 15 "$second"
+	done
+}
+
+test_sigs '' '' \
+	none '!all' \
+	CHLD SIGCHLD ALRM SIGALRM \
+	chld sigchld alrm sigalrm \
+	CHLD,SIGALRM ALRM,SIGCHLD \
+	chld,sigalrm alrm,sigchld \
+	9 9,4 9,4,11 \
+	4,CHLD,11,ALRM,9 \
+	'!2,15' '!INT,TERM' '!SIGINT,TERM' '!INT,SIGTERM' '!SIGTERM,SIGINT' \
+	'!2,INT,TERM' '!2,SIGTERM' '!SIGINT,15' '!INT,SIGTERM,15' \
+	'!2,4,15' '!15,9,2,11,4'
+
+test_sigs SIGINT '' \
+	2 INT SIGINT \
+	CHLD,SIGINT SIGINT,SIGALRM \
+	chld,sigint sigint,sigalrm \
+	ALRM,2,SIGCHLD \
+	'!15' '!TERM' '!SIGTERM' \
+	'!15,TERM' '!SIGTERM,15,TERM' \
+	'!SIGALRM,TERM' '!CHLD,SIGTERM' \
+	'!ALRM,15' '!SIGCHLD,ALRM,SIGTERM,KILL' \
+	'!4,15' '!15,9,11,4'
+
+test_sigs '' SIGTERM \
+	15 TERM SIGTERM \
+	CHLD,SIGTERM SIGTERM,SIGALRM \
+	chld,sigterm sigterm,sigalrm \
+	ALRM,15,SIGCHLD \
+	'!2' '!INT' '!SIGINT' \
+	'!2,INT' '!SIGINT,2,INT' \
+	'!SIGALRM,INT' '!CHLD,SIGINT' \
+	'!ALRM,2' '!SIGCHLD,ALRM,SIGINT,KILL' \
+	'!4,2' '!2,9,11,4'
+
+test_sigs SIGINT SIGTERM \
+	all '!none' \
+	INT,TERM SIGINT,TERM SIGTERM,INT SIGINT,SIGTERM \
+	int,term sigint,term sigterm,int sigint,sigterm \
+	2,15 2,TERM SIGTERM,2 TERM,15,SIGINT,2 \
+	'!CHLD' '!SIGCHLD' '!ALRM' '!SIGALRM' \
+	'!CHLD,SIGALRM' '!ALRM,SIGCHLD' \
+	'!9' '!9,4' '!9,4,11' '!4,CHLD,11,ALRM,9'
+
+fail_with()
+{
+	dump_log_and_fail_with \
+		"strace -e signal=$* failed to handle an argument error properly"
+}
+
+for arg in ' ' invalid_signal_name SIG -1 256 1-1 \
+	   1,2,4,8,16,32,64,128,256,512,1024 9,chdir; do
+	$STRACE -e signal="$arg" true 2> "$LOG" &&
+		fail_with "$arg"
+	LC_ALL=C grep -F 'invalid signal' < "$LOG" > /dev/null ||
+		fail_with "$arg"
+done
+
+exit 0
diff --git a/tests/quotactl-xfs.c b/tests/quotactl-xfs.c
index a08ccd2..e420d1c 100644
--- a/tests/quotactl-xfs.c
+++ b/tests/quotactl-xfs.c
@@ -1,7 +1,7 @@
 /*
  * Check decoding of quotactl xfs subcommands.
  *
- * Copyright (c) 2016 Eugene Syromiatnikov <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
  * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
  * All rights reserved.
  *
@@ -199,6 +199,9 @@
 int
 main(void)
 {
+	char *bogus_special = (char *) tail_alloc(1) + 1;
+	void *bogus_addr = (char *) tail_alloc(1) + 1;
+
 	char bogus_special_str[sizeof(void *) * 2 + sizeof("0x")];
 	char bogus_addr_str[sizeof(void *) * 2 + sizeof("0x")];
 	char unterminated_str[sizeof(void *) * 2 + sizeof("0x")];
@@ -280,7 +283,7 @@
 	check_quota(CQF_NONE, ARG_STR(QCMD(Q_XSETQLIM, PRJQUOTA)),
 		    bogus_special, bogus_special_str, 0, bogus_addr);
 
-	fill_memory_ex((char *) xdq, sizeof(*xdq), 0x8e);
+	fill_memory_ex(xdq, sizeof(*xdq), 0x8e, 0x80);
 
 	check_quota(CQF_ADDR_CB, ARG_STR(QCMD(Q_XSETQLIM, PRJQUOTA)),
 		    bogus_dev, bogus_dev_str, 3141592653U,
diff --git a/tests/quotactl.c b/tests/quotactl.c
index d68c4ec..3a7c113 100644
--- a/tests/quotactl.c
+++ b/tests/quotactl.c
@@ -1,7 +1,7 @@
 /*
  * Check decoding of quotactl syscall.
  *
- * Copyright (c) 2016 Eugene Syromiatnikov <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
  * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
  * All rights reserved.
  *
@@ -164,6 +164,9 @@
 int
 main(void)
 {
+	char *bogus_special = (char *) tail_alloc(1) + 1;
+	void *bogus_addr = (char *) tail_alloc(1) + 1;
+
 	char bogus_special_str[sizeof(void *) * 2 + sizeof("0x")];
 	char unterminated_str[sizeof(void *) * 2 + sizeof("0x")];
 
@@ -246,7 +249,7 @@
 
 	/* Q_SETQUOTA */
 
-	fill_memory((char *) dqblk, sizeof(*dqblk));
+	fill_memory(dqblk, sizeof(*dqblk));
 
 	check_quota(CQF_NONE, ARG_STR(QCMD(Q_SETQUOTA, PRJQUOTA)),
 		    bogus_special, bogus_special_str, 0, bogus_addr);
@@ -269,7 +272,7 @@
 
 	/* Q_SETINFO */
 
-	fill_memory((char *) dqinfo, sizeof(*dqinfo));
+	fill_memory(dqinfo, sizeof(*dqinfo));
 	/* In order to check flag printing correctness */
 	dqinfo->dqi_flags = 0xdeadabcd;
 
diff --git a/tests/quotactl.h b/tests/quotactl.h
index 49a6f87..31eaec5 100644
--- a/tests/quotactl.h
+++ b/tests/quotactl.h
@@ -1,7 +1,7 @@
 /*
  * Common definitions for Linux and XFS quota tests.
  *
- * Copyright (c) 2016 Eugene Syromiatnikov <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
  * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
  * All rights reserved.
  *
@@ -69,8 +69,6 @@
 	printf("%s%s=%#llx", (prefix), #field,	\
 	       zero_extend_signed_to_ull((where)->field))
 
-# define ARG_STR(_arg) (_arg), #_arg
-
 typedef void (*print_cb)(long rc, void *addr, void *arg);
 
 enum check_quotactl_flag_bits {
@@ -92,22 +90,6 @@
 
 
 static inline void
-fill_memory_ex(char *ptr, size_t size, unsigned char start)
-{
-	size_t i;
-
-	for (i = 0; i < size; i++) {
-		ptr[i] = start + i % 80;
-	}
-}
-
-static inline void
-fill_memory(char *ptr, size_t size)
-{
-	fill_memory_ex(ptr, size, 0x80);
-}
-
-static inline void
 check_quota(uint32_t flags, int cmd, const char *cmd_str,
 	const char *special, const char *special_str, ...)
 {
@@ -173,13 +155,9 @@
 
 
 static const int bogus_cmd = 0xbadc0ded;
-static const char * const bogus_special =
-	(const char *) (unsigned long) 0xfffffca7ffffc0deULL;
 static const int bogus_id = 0xca7faced;
-static void * const bogus_addr =
-	(void *) (unsigned long) 0xffffda7affffdeadULL;
 
-/* It is invalid anyway due to the flash in the end */
+/* It is invalid anyway due to the slash in the end */
 static const char *bogus_dev = "/dev/bogus/";
 static const char *bogus_dev_str = "\"/dev/bogus/\"";
 
diff --git a/tests/read-write.c b/tests/read-write.c
index 4d1e730..262e07b 100644
--- a/tests/read-write.c
+++ b/tests/read-write.c
@@ -33,6 +33,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
+#include <asm/unistd.h>
 
 static void
 dump_str(const char *str, const unsigned int len)
@@ -77,6 +78,20 @@
 	}
 }
 
+static long
+k_read(unsigned int fd, void *buf, size_t count)
+{
+	kernel_ulong_t kfd = (kernel_ulong_t) 0xfacefeed00000000ULL | fd;
+	return syscall(__NR_read, kfd, buf, count);
+}
+
+static long
+k_write(unsigned int fd, const void *buf, size_t count)
+{
+	kernel_ulong_t kfd = (kernel_ulong_t) 0xfacefeed00000000ULL | fd;
+	return syscall(__NR_write, kfd, buf, count);
+}
+
 static void
 test_dump(const unsigned int len)
 {
@@ -89,7 +104,7 @@
 		buf = tail_alloc(len);
 	}
 
-	long rc = read(0, buf, len);
+	long rc = k_read(0, buf, len);
 	if (rc != (int) len)
 		perror_msg_and_fail("read: expected %d, returned %ld",
 				    len, rc);
@@ -103,7 +118,7 @@
 	for (i = 0; i < len; ++i)
 		buf[i] = i;
 
-	rc = write(1, buf, len);
+	rc = k_write(1, buf, len);
 	if (rc != (int) len)
 		perror_msg_and_fail("write: expected %d, returned %ld",
 				    len, rc);
@@ -147,18 +162,18 @@
 
 	long rc;
 
-	rc = write(1, w, 0);
+	rc = k_write(1, w, 0);
 	if (rc)
 		perror_msg_and_fail("write: expected 0, returned %ld", rc);
 	tprintf("write(1, \"\", 0) = 0\n");
 
-	rc = write(1, efault, 1);
+	rc = k_write(1, efault, 1);
 	if (rc != -1)
 		perror_msg_and_fail("write: expected -1 EFAULT"
 				    ", returned %ld", rc);
 	tprintf("write(1, %p, 1) = -1 EFAULT (%m)\n", efault);
 
-	rc = write(1, w, w_len);
+	rc = k_write(1, w, w_len);
 	if (rc != (int) w_len)
 		perror_msg_and_fail("write: expected %u, returned %ld",
 				    w_len, rc);
@@ -167,17 +182,17 @@
 		w_c, w_len, rc, w_d, w_c);
 	close(1);
 
-	rc = read(0, r0, 0);
+	rc = k_read(0, r0, 0);
 	if (rc)
 		perror_msg_and_fail("read: expected 0, returned %ld", rc);
 	tprintf("read(0, \"\", 0) = 0\n");
 
-	rc = read(0, efault, 1);
+	rc = k_read(0, efault, 1);
 	if (rc != -1)
 		perror_msg_and_fail("read: expected -1, returned %ld", rc);
 	tprintf("read(0, %p, 1) = -1 EFAULT (%m)\n", efault);
 
-	rc = read(0, r0, r0_len);
+	rc = k_read(0, r0, r0_len);
 	if (rc != (int) r0_len)
 		perror_msg_and_fail("read: expected %u, returned %ld",
 				    r0_len, rc);
@@ -185,7 +200,7 @@
 		" | 00000 %-49s  %-16s |\n",
 		r0_c, r0_len, rc, r0_d, r0_c);
 
-	rc = read(0, r1, w_len);
+	rc = k_read(0, r1, w_len);
 	if (rc != (int) r1_len)
 		perror_msg_and_fail("read: expected %u, returned %ld",
 				    r1_len, rc);
diff --git a/tests/readahead.c b/tests/readahead.c
index 5677c1e..c11b577 100644
--- a/tests/readahead.c
+++ b/tests/readahead.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Eugene Syromiatnikov <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -29,15 +29,24 @@
 #include <asm/unistd.h>
 
 #ifdef HAVE_READAHEAD
+/* Check for glibc readahead argument passing bugs. */
 # ifdef __GLIBC__
 /*
- * Check for glibc readahead off64_t argument passing bug,
+ * glibc < 2.8 had an incorrect order of higher and lower parts of offset,
  * see https://sourceware.org/bugzilla/show_bug.cgi?id=5208
  */
 #  if !(defined __GLIBC_MINOR__ && \
         (__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 8)
 #   undef HAVE_READAHEAD
-#  endif
+#  endif /* glibc < 2.8 */
+/*
+ * glibc < 2.25 had an incorrect implementation on mips n64,
+ * see https://sourceware.org/bugzilla/show_bug.cgi?id=21026
+ */
+#  if defined LINUX_MIPSN64 && !(defined __GLIBC_MINOR__ && \
+        (__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 25)
+#   undef HAVE_READAHEAD
+#  endif /* LINUX_MIPSN64 && glibc < 2.25 */
 # endif /* __GLIBC__ */
 #endif /* HAVE_READAHEAD */
 
diff --git a/tests/readv.c b/tests/readv.c
index c134d72..0e5aab6 100644
--- a/tests/readv.c
+++ b/tests/readv.c
@@ -40,10 +40,7 @@
 	tprintf("%s", "");
 
 	int fds[2];
-	if (pipe(fds))
-		perror_msg_and_fail("pipe");
-	assert(0 == fds[0]);
-	assert(1 == fds[1]);
+	pipe_maxfd(fds);
 
 	static const char w0_c[] = "012";
 	const char *w0_d = hexdump_strdup(w0_c);
@@ -60,13 +57,13 @@
 	void *w2 = tail_memdup(w2_c, LENGTH_OF(w2_c));
 	long rc;
 
-	rc = writev(1, efault, 42);
-	tprintf("writev(1, %p, 42) = %ld %s (%m)\n",
-		efault, rc, errno2name());
+	rc = writev(fds[1], efault, 42);
+	tprintf("writev(%d, %p, 42) = %ld %s (%m)\n",
+		fds[1], efault, rc, errno2name());
 
-	rc = readv(0, efault, 42);
-	tprintf("readv(0, %p, 42) = %ld %s (%m)\n",
-		efault, rc, errno2name());
+	rc = readv(fds[0], efault, 42);
+	tprintf("readv(%d, %p, 42) = %ld %s (%m)\n",
+		fds[0], efault, rc, errno2name());
 
 	static const char r0_c[] = "01234567";
 	const char *r0_d = hexdump_strdup(r0_c);
@@ -87,21 +84,21 @@
 	};
 	const struct iovec *w_iov = tail_memdup(w_iov_, sizeof(w_iov_));
 
-	tprintf("writev(1, [], 0) = %ld\n",
-		(long) writev(1, w_iov, 0));
+	tprintf("writev(%d, [], 0) = %ld\n",
+		fds[1], (long) writev(fds[1], w_iov, 0));
 
-	rc = writev(1, w_iov + ARRAY_SIZE(w_iov_) - 1, 2);
-	tprintf("writev(1, [{iov_base=\"%s\", iov_len=%u}, %p], 2)"
+	rc = writev(fds[1], w_iov + ARRAY_SIZE(w_iov_) - 1, 2);
+	tprintf("writev(%d, [{iov_base=\"%s\", iov_len=%u}, %p], 2)"
 		" = %ld %s (%m)\n",
-		w2_c, LENGTH_OF(w2_c), w_iov + ARRAY_SIZE(w_iov_),
+		fds[1], w2_c, LENGTH_OF(w2_c), w_iov + ARRAY_SIZE(w_iov_),
 		rc, errno2name());
 
 	const unsigned int w_len =
 		LENGTH_OF(w0_c) + LENGTH_OF(w1_c) + LENGTH_OF(w2_c);
 
-	assert(writev(1, w_iov, ARRAY_SIZE(w_iov_)) == (int) w_len);
-	close(1);
-	tprintf("writev(1, [{iov_base=\"%s\", iov_len=%u}"
+	assert(writev(fds[1], w_iov, ARRAY_SIZE(w_iov_)) == (int) w_len);
+	close(fds[1]);
+	tprintf("writev(%d, [{iov_base=\"%s\", iov_len=%u}"
 		", {iov_base=\"%s\", iov_len=%u}"
 		", {iov_base=\"%s\", iov_len=%u}], %u) = %u\n"
 		" * %u bytes in buffer 0\n"
@@ -110,7 +107,7 @@
 		" | 00000 %-49s  %-16s |\n"
 		" * %u bytes in buffer 2\n"
 		" | 00000 %-49s  %-16s |\n",
-		w0_c, LENGTH_OF(w0_c), w1_c, LENGTH_OF(w1_c),
+		fds[1], w0_c, LENGTH_OF(w0_c), w1_c, LENGTH_OF(w1_c),
 		w2_c, LENGTH_OF(w2_c), ARRAY_SIZE(w_iov_), w_len,
 		LENGTH_OF(w0_c), w0_d, w0_c,
 		LENGTH_OF(w1_c), w1_d, w1_c, LENGTH_OF(w2_c), w2_d, w2_c);
@@ -125,10 +122,11 @@
 	};
 	const struct iovec *r_iov = tail_memdup(r0_iov_, sizeof(r0_iov_));
 
-	assert(readv(0, r_iov, ARRAY_SIZE(r0_iov_)) == (int) r_len);
-	tprintf("readv(0, [{iov_base=\"%s\", iov_len=%u}], %u) = %u\n"
+	assert(readv(fds[0], r_iov, ARRAY_SIZE(r0_iov_)) == (int) r_len);
+	tprintf("readv(%d, [{iov_base=\"%s\", iov_len=%u}], %u) = %u\n"
 		" * %u bytes in buffer 0\n"
 		" | 00000 %-49s  %-16s |\n",
+		fds[0],
 		r0_c, r_len, ARRAY_SIZE(r0_iov_), r_len, r_len, r0_d, r0_c);
 
 	void *r1 = tail_alloc(r_len);
@@ -145,14 +143,14 @@
 	};
 	r_iov = tail_memdup(r1_iov_, sizeof(r1_iov_));
 
-	assert(readv(0, r_iov, ARRAY_SIZE(r1_iov_)) == (int) w_len - r_len);
-	tprintf("readv(0, [{iov_base=\"%s\", iov_len=%u}"
+	assert(readv(fds[0], r_iov, ARRAY_SIZE(r1_iov_)) == (int) w_len - (int) r_len);
+	tprintf("readv(%d, [{iov_base=\"%s\", iov_len=%u}"
 		", {iov_base=\"\", iov_len=%u}], %u) = %u\n"
 		" * %u bytes in buffer 0\n"
 		" | 00000 %-49s  %-16s |\n",
-		r1_c, r_len, w_len, ARRAY_SIZE(r1_iov_), w_len - r_len,
+		fds[0], r1_c, r_len, w_len, ARRAY_SIZE(r1_iov_), w_len - r_len,
 		w_len - r_len, r1_d, r1_c);
-	close(0);
+	close(fds[0]);
 
 	tprintf("+++ exited with 0 +++\n");
 	return 0;
diff --git a/tests/readv.test b/tests/readv.test
index cbcffde..dc18799 100755
--- a/tests/readv.test
+++ b/tests/readv.test
@@ -1,6 +1,65 @@
 #!/bin/sh
-
-# Check decoding of readv and writev syscalls.
+#
+# Check decoding and dumping of readv and writev syscalls.
+#
+# Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+# 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"
-run_strace_match_diff -a16 -eread=0 -ewrite=1 -e trace=readv,writev
+
+run_strace_match_diff -a16 -e trace=readv,writev \
+	-eread=all -ewrite='!none'
+run_strace_match_diff -a16 -e trace=readv,writev \
+	-eread='!none' -ewrite=all
+run_strace_match_diff -a16 -e trace=readv,writev \
+	-eread=none -ewrite='!all' -eread='!0,1,2' -ewrite='!0,1,2'
+run_strace_match_diff -a16 -e trace=readv,writev \
+	-eread='!all' -ewrite=none -eread='!0,1,2' -ewrite='!0,1,2'
+
+wfd="$(./print_maxfd)"
+rfd="$(($wfd - 1))"
+run_strace_match_diff -a16 -e trace=readv,writev \
+	-eread="$rfd" -ewrite="$wfd"
+run_strace_match_diff -a16 -e trace=readv,writev \
+	-eread="!$rfd" -ewrite="!$wfd" -eread="$rfd" -ewrite="$wfd"
+
+rfds='!!!0'
+[ $rfd -lt 1023 ] || rfd=1023
+i=0
+while [ $i -lt $rfd ]; do
+	rfds="$rfds,$i"
+	i=$(($i + 1))
+done
+
+wfds='!!!0'
+[ $wfd -lt 1023 ] || wfd=1023
+i=0
+while [ $i -lt $wfd ]; do
+	wfds="$wfds,$i"
+	i=$(($i + 1))
+done
+
+run_strace_match_diff -a16 -e trace=readv,writev \
+	-eread="$rfds" -ewrite="$wfds"
diff --git a/tests/recvmmsg-timeout.c b/tests/recvmmsg-timeout.c
index 4afd8a6..7cf064d 100644
--- a/tests/recvmmsg-timeout.c
+++ b/tests/recvmmsg-timeout.c
@@ -53,7 +53,7 @@
 	struct timespec t = { .tv_sec = 0, .tv_nsec = 12345678 };
 
 	int rc = recv_mmsg(-1, &mh, 1, 0, &t);
-	printf("recvmmsg(-1, %p, 1, 0, {0, 12345678})"
+	printf("recvmmsg(-1, %p, 1, 0, {tv_sec=0, tv_nsec=12345678})"
 	       " = %d %s (%m)\n", &mh, rc, errno2name());
 
 	rc = recv_mmsg(fds[0], &mh, 1, 0, &t);
@@ -62,7 +62,8 @@
 	printf("recvmmsg(%d, [{msg_hdr={msg_name=NULL, msg_namelen=0"
 	       ", msg_iov=[{iov_base=\"A\", iov_len=1}], msg_iovlen=1"
 	       ", msg_controllen=0, msg_flags=0}, msg_len=1}], 1, 0"
-	       ", {0, 12345678}) = %d (left {0, %d})\n",
+	       ", {tv_sec=0, tv_nsec=12345678}) = "
+	       "%d (left {tv_sec=0, tv_nsec=%d})\n",
 	       fds[0], rc, (int) t.tv_nsec);
 
 	puts("+++ exited with 0 +++");
diff --git a/tests/recvmsg.c b/tests/recvmsg.c
index 19afe8f..fa41a9d 100644
--- a/tests/recvmsg.c
+++ b/tests/recvmsg.c
@@ -145,7 +145,7 @@
 	r_mh->msg_iov = r_iov;
 	r_mh->msg_iovlen = ARRAY_SIZE(r1_iov_);
 
-	assert(recvmsg(0, r_mh, 0) == (int) w_len - r_len);
+	assert(recvmsg(0, r_mh, 0) == (int) w_len - (int) r_len);
 	tprintf("recvmsg(0, {msg_name=NULL, msg_namelen=0, msg_iov="
 		"[{iov_base=\"%s\", iov_len=%u}, {iov_base=\"\", iov_len=%u}]"
 		", msg_iovlen=%u, msg_controllen=0, msg_flags=0}, 0) = %u\n"
diff --git a/tests/redirect-fds.test b/tests/redirect-fds.test
index a451917..ddef8fa 100755
--- a/tests/redirect-fds.test
+++ b/tests/redirect-fds.test
@@ -29,6 +29,11 @@
 
 . "${srcdir=.}/init.sh"
 
+case "$STRACE" in
+	*valgrind\ *--suppressions=*)
+		skip_ 'incompatible with valgrind' ;;
+esac
+
 fd0="$LOG.fd0"
 fd1="$LOG.fd1"
 fd2="$LOG.fd2"
diff --git a/tests/redirect.test b/tests/redirect.test
index 07fbcdf..fa0c536 100755
--- a/tests/redirect.test
+++ b/tests/redirect.test
@@ -35,35 +35,44 @@
 check_prog sleep
 check_prog yes
 
+> "$OUT"
 > "$LOG"
-
 (
+	while [ -f "$LOG" ]; do
+		:
+	done
 	$SLEEP_A_BIT &
 	yes
 	if kill -0 $! 2> /dev/null; then
 		wait
 	else
-		echo TIMEOUT >> $LOG
+		echo TIMEOUT >> "$OUT"
 	fi
 ) | $STRACE -qq -enone -esignal=none \
-	sh -c "exec <&- >&-; $SLEEP_A_BIT; $SLEEP_A_BIT"
+	sh -c "exec <&- >&-; rm -f -- $LOG; $SLEEP_A_BIT; $SLEEP_A_BIT"
 
-if [ -s "$LOG" ]; then
+if [ -s "$OUT" ]; then
 	fail_ "$STRACE failed to redirect standard input"
 fi
 
+> "$LOG"
 $STRACE -qq -enone -esignal=none \
-	sh -c "exec <&- >&-; $SLEEP_A_BIT; $SLEEP_A_BIT" |
+	sh -c "exec <&- >&-; rm -f -- $LOG; $SLEEP_A_BIT; $SLEEP_A_BIT" |
 (
+	while [ -f "$LOG" ]; do
+		:
+	done
 	$SLEEP_A_BIT &
 	cat > /dev/null
 	if kill -0 $! 2> /dev/null; then
 		wait
 	else
-		echo TIMEOUT >> $LOG
+		echo TIMEOUT >> "$OUT"
 	fi
 )
 
-if [ -s "$LOG" ]; then
+if [ -s "$OUT" ]; then
 	fail_ "$STRACE failed to redirect standard output"
 fi
+
+rm -f -- "$OUT"
diff --git a/tests/remap_file_pages.c b/tests/remap_file_pages.c
index 9298f28..452d2de 100644
--- a/tests/remap_file_pages.c
+++ b/tests/remap_file_pages.c
@@ -39,10 +39,10 @@
 int
 main(void)
 {
-	const unsigned long addr = (unsigned long) 0xfacefeeddeadbeef;
-	const unsigned long size = (unsigned long) 0xdefaced1bad2f00d;
+	const unsigned long addr = (unsigned long) 0xfacefeeddeadbeefULL;
+	const unsigned long size = (unsigned long) 0xdefaced1bad2f00dULL;
 	const unsigned long prot = PROT_READ|PROT_WRITE|PROT_EXEC;
-	const unsigned long pgoff = (unsigned long) 0xcaf3babebad4deed;
+	const unsigned long pgoff = (unsigned long) 0xcaf3babebad4deedULL;
 	const unsigned long flags = MAP_PRIVATE|MAP_ANONYMOUS;
 
 	long rc = syscall(__NR_remap_file_pages, addr, size, prot, pgoff, flags);
diff --git a/tests/renameat.c b/tests/renameat.c
index d201578..2b874ef 100644
--- a/tests/renameat.c
+++ b/tests/renameat.c
@@ -12,8 +12,8 @@
 int
 main(void)
 {
-	const long int fd_old = (long int) 0xdeadbeefffffffff;
-	const long int fd_new = (long int) 0xdeadbeeffffffffe;
+	const long int fd_old = (long int) 0xdeadbeefffffffffULL;
+	const long int fd_new = (long int) 0xdeadbeeffffffffeULL;
 
 	long rc = syscall(__NR_renameat, fd_old, OLD_FILE, fd_new, NEW_FILE);
 	printf("renameat(%d, \"%s\", %d, \"%s\") = %ld %s (%m)\n",
diff --git a/tests/renameat2.c b/tests/renameat2.c
index ea57185..33f8898 100644
--- a/tests/renameat2.c
+++ b/tests/renameat2.c
@@ -29,6 +29,7 @@
 
 #include "tests.h"
 #include <asm/unistd.h>
+#include "scno.h"
 
 #ifdef __NR_renameat2
 
diff --git a/tests/request_key.c b/tests/request_key.c
index 361bf52..fea977b 100644
--- a/tests/request_key.c
+++ b/tests/request_key.c
@@ -1,7 +1,7 @@
 /*
  * Check decoding of request_key syscall.
  *
- * Copyright (c) 2016 Eugene Syromiatnikov <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -64,9 +64,6 @@
 	printf(") = %s\n", errstr);
 }
 
-# define _STR(_arg) #_arg
-# define ARG_STR(_arg) (_arg), #_arg
-
 int
 main(void)
 {
@@ -89,7 +86,7 @@
 		const char *str;
 	} types[] = {
 		{ ARG_STR(NULL) },
-		{ (const char *) 0xfffffee1fffffbadULL, NULL },
+		{ bogus_type + sizeof(unterminated1), NULL },
 		{ bogus_type, NULL },
 		{ ARG_STR("\20\21\22\23\24") },
 		{ ARG_STR("user") },
@@ -100,7 +97,7 @@
 		const char *str;
 	} descs[] = {
 		{ ARG_STR(NULL) },
-		{ (const char *) 0xfffff00dfffffca7ULL, NULL },
+		{ bogus_desc + sizeof(unterminated2), NULL },
 		{ bogus_desc, NULL },
 		{ ARG_STR("\25\26\27\30\31") },
 		{ ARG_STR("desc") },
@@ -112,7 +109,7 @@
 		const char *str;
 	} infos[] = {
 		{ ARG_STR(NULL) },
-		{ (const char *) 0xfffffacefffff157ULL, NULL },
+		{ bogus_info + sizeof(unterminated3), NULL },
 		{ bogus_info, NULL },
 		{ ARG_STR("\32\33\34\35\36") },
 		{ ARG_STR("info") },
diff --git a/tests/restart_syscall.c b/tests/restart_syscall.c
index 3f07d78..e492e62 100644
--- a/tests/restart_syscall.c
+++ b/tests/restart_syscall.c
@@ -55,7 +55,8 @@
 	if (nanosleep(&req, &rem))
 		perror_msg_and_fail("nanosleep");
 
-	printf("nanosleep\\(\\{%jd, %jd\\}, \\{%jd, %jd\\}\\)"
+	printf("nanosleep\\(\\{tv_sec=%jd, tv_nsec=%jd\\}, "
+	       "\\{tv_sec=%jd, tv_nsec=%jd\\}\\)"
 	       " = \\? ERESTART_RESTARTBLOCK \\(Interrupted by signal\\)\n",
 	       (intmax_t) req.tv_sec, (intmax_t) req.tv_nsec,
 	       (intmax_t) rem.tv_sec, (intmax_t) rem.tv_nsec);
@@ -66,7 +67,8 @@
 #else
 # define ALTERNATIVE_NANOSLEEP_REQ ""
 #endif
-	printf("(nanosleep\\((%s\\{%jd, %jd\\}), %p|restart_syscall\\(<\\.\\.\\."
+	printf("(nanosleep\\((%s\\{tv_sec=%jd, tv_nsec=%jd\\}), "
+	       "%p|restart_syscall\\(<\\.\\.\\."
 	       " resuming interrupted nanosleep \\.\\.\\.>)\\) = 0\n",
 	       ALTERNATIVE_NANOSLEEP_REQ,
 	       (intmax_t) req.tv_sec, (intmax_t) req.tv_nsec, &rem);
diff --git a/tests/rt_sigqueueinfo.c b/tests/rt_sigqueueinfo.c
index 9ca860a..aba6776 100644
--- a/tests/rt_sigqueueinfo.c
+++ b/tests/rt_sigqueueinfo.c
@@ -38,7 +38,7 @@
 		.sa_handler = SIG_IGN
 	};
 	union sigval value = {
-		.sival_ptr = (void *) (unsigned long) 0xdeadbeefbadc0ded
+		.sival_ptr = (void *) (unsigned long) 0xdeadbeefbadc0dedULL
 	};
 	pid_t pid = getpid();
 
diff --git a/tests/rt_sigtimedwait.c b/tests/rt_sigtimedwait.c
index ee6d3b9..10311e6 100644
--- a/tests/rt_sigtimedwait.c
+++ b/tests/rt_sigtimedwait.c
@@ -54,19 +54,22 @@
 	for (;;) {
 		assert(k_sigtimedwait(set, NULL, timeout, size) == -1);
 		if (EINTR == errno) {
-			tprintf("rt_sigtimedwait(%s, NULL, {%jd, %jd}, %u)"
+			tprintf("rt_sigtimedwait(%s, NULL, "
+				"{tv_sec=%jd, tv_nsec=%jd}, %u)"
 				" = -1 EAGAIN (%m)\n", text,
 				(intmax_t) timeout->tv_sec,
 				(intmax_t) timeout->tv_nsec,
 				size);
 		} else {
 			if (size < sizeof(long))
-				tprintf("rt_sigtimedwait(%p, NULL, {%jd, %jd}"
+				tprintf("rt_sigtimedwait(%p, NULL, "
+					"{tv_sec=%jd, tv_nsec=%jd}"
 					", %u) = -1 EINVAL (%m)\n",
 					set, (intmax_t) timeout->tv_sec,
 					(intmax_t) timeout->tv_nsec, size);
 			else
-				tprintf("rt_sigtimedwait(%s, NULL, {%jd, %jd}"
+				tprintf("rt_sigtimedwait(%s, NULL, "
+					"{tv_sec=%jd, tv_nsec=%jd}"
 					", %u) = -1 EINVAL (%m)\n",
 					text, (intmax_t) timeout->tv_sec,
 					(intmax_t) timeout->tv_nsec, size);
@@ -97,14 +100,14 @@
 		assert(k_sigtimedwait(k_set, NULL, timeout, set_size) == -1);
 		if (EAGAIN == errno)
 			break;
-		tprintf("rt_sigtimedwait(%p, NULL, {%jd, %jd}, %u)"
+		tprintf("rt_sigtimedwait(%p, NULL, {tv_sec=%jd, tv_nsec=%jd}, %u)"
 			" = -1 EINVAL (%m)\n",
 			k_set, (intmax_t) timeout->tv_sec,
 			(intmax_t) timeout->tv_nsec, set_size);
 	}
 	if (!set_size)
 		perror_msg_and_fail("rt_sigtimedwait");
-	tprintf("rt_sigtimedwait([], NULL, {%jd, %jd}, %u) = -1 EAGAIN (%m)\n",
+	tprintf("rt_sigtimedwait([], NULL, {tv_sec=%jd, tv_nsec=%jd}, %u) = -1 EAGAIN (%m)\n",
 		(intmax_t) timeout->tv_sec, (intmax_t) timeout->tv_nsec,
 		set_size);
 
@@ -115,7 +118,7 @@
 
 	assert(k_sigtimedwait(k_set, info, timeout, set_size) == -1);
 	assert(EAGAIN == errno);
-	tprintf("rt_sigtimedwait([HUP], %p, {%jd, %jd}, %u) = -1 EAGAIN (%m)\n",
+	tprintf("rt_sigtimedwait([HUP], %p, {tv_sec=%jd, tv_nsec=%jd}, %u) = -1 EAGAIN (%m)\n",
 		info, (intmax_t) timeout->tv_sec,
 		(intmax_t) timeout->tv_nsec, set_size);
 
@@ -124,7 +127,7 @@
 
 	assert(k_sigtimedwait(k_set, info, timeout, set_size) == -1);
 	assert(EAGAIN == errno);
-	tprintf("rt_sigtimedwait([HUP INT], %p, {%jd, %jd}, %u)"
+	tprintf("rt_sigtimedwait([HUP INT], %p, {tv_sec=%jd, tv_nsec=%jd}, %u)"
 		" = -1 EAGAIN (%m)\n",
 		info, (intmax_t) timeout->tv_sec,
 		(intmax_t) timeout->tv_nsec, set_size);
@@ -136,7 +139,7 @@
 
 	assert(k_sigtimedwait(k_set, info, timeout, set_size) == -1);
 	assert(EAGAIN == errno);
-	tprintf("rt_sigtimedwait(%s, %p, {%jd, %jd}, %u) = -1 EAGAIN (%m)\n",
+	tprintf("rt_sigtimedwait(%s, %p, {tv_sec=%jd, tv_nsec=%jd}, %u) = -1 EAGAIN (%m)\n",
 		"[HUP INT QUIT ALRM TERM]",
 		info, (intmax_t) timeout->tv_sec,
 		(intmax_t) timeout->tv_nsec, set_size);
@@ -144,7 +147,7 @@
 	memset(k_set - set_size, -1, set_size);
 	assert(k_sigtimedwait(k_set - set_size, info, timeout, set_size) == -1);
 	assert(EAGAIN == errno);
-	tprintf("rt_sigtimedwait(~[], %p, {%jd, %jd}, %u) = -1 EAGAIN (%m)\n",
+	tprintf("rt_sigtimedwait(~[], %p, {tv_sec=%jd, tv_nsec=%jd}, %u) = -1 EAGAIN (%m)\n",
 		info, (intmax_t) timeout->tv_sec,
 		(intmax_t) timeout->tv_nsec, set_size);
 
@@ -161,7 +164,7 @@
 	raise(SIGALRM);
 	assert(k_sigtimedwait(k_set, info, timeout, set_size) == SIGALRM);
 	tprintf("rt_sigtimedwait(%s, {si_signo=%s, si_code=SI_TKILL"
-		", si_pid=%d, si_uid=%d}, {%jd, %jd}, %u) = %d (%s)\n",
+		", si_pid=%d, si_uid=%d}, {tv_sec=%jd, tv_nsec=%jd}, %u) = %d (%s)\n",
 		"[HUP INT QUIT ALRM TERM]", "SIGALRM", getpid(), getuid(),
 		(intmax_t) timeout->tv_sec, (intmax_t) timeout->tv_nsec,
 		set_size, SIGALRM, "SIGALRM");
diff --git a/tests/rt_tgsigqueueinfo.c b/tests/rt_tgsigqueueinfo.c
index ebfb719..ec09348 100644
--- a/tests/rt_tgsigqueueinfo.c
+++ b/tests/rt_tgsigqueueinfo.c
@@ -39,12 +39,12 @@
 # include <unistd.h>
 
 static long
-k_tgsigqueueinfo(const pid_t pid, const int sig, const void const *info)
+k_tgsigqueueinfo(const pid_t pid, const int sig, const void *const info)
 {
 	return syscall(__NR_rt_tgsigqueueinfo,
-		       (unsigned long) 0xffffffff00000000 | pid,
-		       (unsigned long) 0xffffffff00000000 | pid,
-		       (unsigned long) 0xffffffff00000000 | sig,
+		       (unsigned long) 0xffffffff00000000ULL | pid,
+		       (unsigned long) 0xffffffff00000000ULL | pid,
+		       (unsigned long) 0xffffffff00000000ULL | sig,
 		       info);
 }
 
@@ -64,7 +64,7 @@
 	info->si_code = SI_QUEUE;
 	info->si_pid = getpid();
 	info->si_uid = getuid();
-	info->si_value.sival_ptr = (void *) (unsigned long) 0xdeadbeeffacefeed;
+	info->si_value.sival_ptr = (void *) (unsigned long) 0xdeadbeeffacefeedULL;
 
 	if (k_tgsigqueueinfo(info->si_pid, SIGUSR1, info))
 		(errno == ENOSYS ? perror_msg_and_skip : perror_msg_and_fail)(
diff --git a/tests/sched_rr_get_interval.c b/tests/sched_rr_get_interval.c
index 99943e7..0aacd2b 100644
--- a/tests/sched_rr_get_interval.c
+++ b/tests/sched_rr_get_interval.c
@@ -25,8 +25,8 @@
 
 	rc = syscall(__NR_sched_rr_get_interval, 0, tp);
 	if (rc == 0)
-		printf("sched_rr_get_interval(0, {%jd, %jd}) = 0\n",
-			(intmax_t)tp->tv_sec, (intmax_t)tp->tv_nsec);
+		printf("sched_rr_get_interval(0, {tv_sec=%jd, tv_nsec=%jd}) = "
+		       "0\n", (intmax_t)tp->tv_sec, (intmax_t)tp->tv_nsec);
 	else
 		printf("sched_rr_get_interval(-1, %p) = %s\n", tp,
 			sprintrc(rc));
diff --git a/tests/sched_xetaffinity.c b/tests/sched_xetaffinity.c
index 195f3af..41a1820 100644
--- a/tests/sched_xetaffinity.c
+++ b/tests/sched_xetaffinity.c
@@ -39,16 +39,22 @@
 # include <stdio.h>
 # include <unistd.h>
 
+static const char *errstr;
+
 static int
 getaffinity(unsigned long pid, unsigned long size, void *set)
 {
-	return syscall(__NR_sched_getaffinity, pid, size, set);
+	int rc = syscall(__NR_sched_getaffinity, pid, size, set);
+	errstr = sprintrc(rc);
+	return rc;
 }
 
 static int
 setaffinity(unsigned long pid, unsigned long size, void *set)
 {
-	return syscall(__NR_sched_setaffinity, pid, size, set);
+	int rc = syscall(__NR_sched_setaffinity, pid, size, set);
+	errstr = sprintrc(rc);
+	return rc;
 }
 
 int
@@ -63,31 +69,36 @@
 			break;
 		if (EINVAL != errno)
 			perror_msg_and_skip("sched_getaffinity");
-		printf("sched_getaffinity(%d, %u, NULL) = -1 EINVAL (%m)\n",
-		       pid, cpuset_size);
+		printf("sched_getaffinity(%d, %u, NULL) = %s\n",
+		       pid, cpuset_size, errstr);
 		cpuset_size <<= 1;
 	}
 	assert(cpuset_size);
-	printf("sched_getaffinity(%d, %u, NULL) = -1 EFAULT (%m)\n",
-	       pid, cpuset_size);
+	printf("sched_getaffinity(%d, %u, NULL) = %s\n",
+	       pid, cpuset_size, errstr);
 
 	cpu_set_t *cpuset = tail_alloc(cpuset_size);
-	assert(getaffinity(pid, cpuset_size, cpuset + 1) == -1);
-	printf("sched_getaffinity(%d, %u, %p) = -1 EFAULT (%m)\n",
-		pid, cpuset_size, cpuset + 1);
+	getaffinity(pid, cpuset_size, cpuset + 1);
+	printf("sched_getaffinity(%d, %u, %p) = %s\n",
+	       pid, cpuset_size, cpuset + 1, errstr);
 
-	assert(getaffinity(pid, cpuset_size, cpuset) == (int) cpuset_size);
+	int ret_size = getaffinity(pid, cpuset_size, cpuset);
+	if (ret_size < 0)
+		perror_msg_and_fail("sched_getaffinity(%d, %u, %p) = %s\n",
+				    pid, (unsigned) cpuset_size, cpuset, errstr);
+	assert(ret_size <= (int) cpuset_size);
+
 	printf("sched_getaffinity(%d, %u, [", pid, cpuset_size);
 	const char *sep;
 	unsigned int i, cpu;
-	for (i = 0, cpu = 0, sep = ""; i < cpuset_size * 8; ++i) {
-		if (CPU_ISSET_S(i, cpuset_size, cpuset)) {
+	for (i = 0, cpu = 0, sep = ""; i < (unsigned) ret_size * 8; ++i) {
+		if (CPU_ISSET_S(i, (unsigned) ret_size, cpuset)) {
 			printf("%s%u", sep, i);
-			sep = " ";
+			sep = ", ";
 			cpu = i;
 		}
 	}
-	printf("]) = %u\n", cpuset_size);
+	printf("]) = %s\n", errstr);
 
 	CPU_ZERO_S(cpuset_size, cpuset);
 	CPU_SET_S(cpu, cpuset_size, cpuset);
@@ -98,16 +109,19 @@
 
 	const unsigned int big_size = cpuset_size < 128 ? 128 : cpuset_size * 2;
 	cpuset = tail_alloc(big_size);
-	const int ret_size = getaffinity(pid, big_size, cpuset);
-	assert(ret_size >= (int) cpuset_size && ret_size <= (int) big_size);
+	ret_size = getaffinity(pid, big_size, cpuset);
+	if (ret_size < 0)
+		perror_msg_and_fail("sched_getaffinity(%d, %u, %p) = %s\n",
+				    pid, big_size, cpuset, errstr);
+	assert(ret_size <= (int) big_size);
 	printf("sched_getaffinity(%d, %u, [", pid, big_size);
 	for (i = 0, sep = ""; i < (unsigned) ret_size * 8; ++i) {
 		if (CPU_ISSET_S(i, (unsigned) ret_size, cpuset)) {
 			printf("%s%u", sep, i);
-			sep = " ";
+			sep = ", ";
 		}
 	}
-	printf("]) = %d\n", ret_size);
+	printf("]) = %s\n", errstr);
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests/scno_tampering.sh b/tests/scno_tampering.sh
new file mode 100755
index 0000000..6aa7843
--- /dev/null
+++ b/tests/scno_tampering.sh
@@ -0,0 +1,58 @@
+#!/bin/sh
+#
+# Skip the test if arch+kernel combination is not supported.
+#
+# Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+# 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"
+
+uname_r="$(uname -r)"
+case "$STRACE_ARCH" in
+	arm)
+		# PTRACE_SET_SYSCALL is supported by linux kernel
+		# starting with commit v2.6.16-rc1~107^2.
+		require_min_kernel_version_or_skip 2.6.16 ;;
+	aarch64)
+		# NT_ARM_SYSTEM_CALL regset is supported by linux kernel
+		# starting with commit v3.19-rc1~59^2~16.
+		require_min_kernel_version_or_skip 3.19 ;;
+	hppa)
+		# Syscall number and return value modification did not work
+		# properly before commit v4.5-rc7~31^2~1.
+		require_min_kernel_version_or_skip 4.5 ;;
+	sparc*)
+		# Reloading the syscall number from %g1 register is supported
+		# by linux kernel starting with commit v4.5-rc7~35^2~3.
+		require_min_kernel_version_or_skip 4.5 ;;
+	mips)
+		# Only the native ABI is supported by the kernel properly, see
+		# https://sourceforge.net/p/strace/mailman/message/35587571/
+		uname_m="$(uname -m)"
+		case "$MIPS_ABI:$uname_m" in
+			o32:mips|n64:mips64) ;;
+			*) skip_ "$MIPS_ABI scno tampering does not work on $uname_m yet" ;;
+		esac ;;
+esac
diff --git a/tests/seccomp-strict.c b/tests/seccomp-strict.c
index 47d909d..237b0ec 100644
--- a/tests/seccomp-strict.c
+++ b/tests/seccomp-strict.c
@@ -41,18 +41,18 @@
 	static const char text1[] =
 		"seccomp(SECCOMP_SET_MODE_STRICT, 0, NULL) = 0\n";
 	static const char text2[] = "+++ exited with 0 +++\n";
-	const unsigned long addr = (unsigned long) 0xfacefeeddeadbeef;
+	const kernel_ulong_t addr = (kernel_ulong_t) 0xfacefeeddeadbeefULL;
 	long rc;
 
 	rc = syscall(__NR_seccomp, -1L, -1L, addr);
-	printf("seccomp(%#x /* SECCOMP_SET_MODE_??? */, %u, %#lx)"
-	       " = %ld %s (%m)\n", -1, -1, addr, rc, errno2name());
+	printf("seccomp(%#x /* SECCOMP_SET_MODE_??? */, %u, %#llx)"
+	       " = %s\n", -1, -1, (unsigned long long) addr, sprintrc(rc));
 	fflush(stdout);
 
 	rc = syscall(__NR_seccomp, 0, 0, 0);
 	if (rc) {
-		printf("seccomp(SECCOMP_SET_MODE_STRICT, 0, NULL)"
-		       " = %ld %s (%m)\n", rc, errno2name());
+		printf("seccomp(SECCOMP_SET_MODE_STRICT, 0, NULL) = %s\n",
+		       sprintrc(rc));
 		fflush(stdout);
 		rc = 0;
 	} else {
diff --git a/tests/semop.c b/tests/semop.c
index f9b7444..a2ff263 100644
--- a/tests/semop.c
+++ b/tests/semop.c
@@ -92,8 +92,8 @@
 		id, sem_b + 1, ts + 1, sprintrc(rc));
 
 	rc = semtimedop(bogus_semid, sem_b2, 2, ts);
-	printf("semtimedop(%d, [{%hu, %hd, %s%s%#hx}, %p], %u, {%jd, %jd}) = "
-		"%s\n",
+	printf("semtimedop(%d, [{%hu, %hd, %s%s%#hx}, %p], %u, "
+		"{tv_sec=%jd, tv_nsec=%jd}) = %s\n",
 		bogus_semid, sem_b2->sem_num, sem_b2->sem_op,
 		sem_b2->sem_flg & SEM_UNDO ? "SEM_UNDO|" : "",
 		sem_b2->sem_flg & IPC_NOWAIT ? "IPC_NOWAIT|" : "",
@@ -110,7 +110,8 @@
 	sem_b->sem_op = -1;
 	if (semtimedop(id, sem_b, 1, ts))
 		perror_msg_and_skip("semtimedop, -1");
-	printf("semtimedop(%d, [{0, -1, SEM_UNDO}], 1, {%jd, %jd}) = 0\n", id,
+	printf("semtimedop(%d, [{0, -1, SEM_UNDO}], 1, "
+		"{tv_sec=%jd, tv_nsec=%jd}) = 0\n", id,
 		(intmax_t) ts->tv_sec, (intmax_t) ts->tv_nsec);
 
 	puts("+++ exited with 0 +++");
diff --git a/tests/sendfile.c b/tests/sendfile.c
index 61f9212..23f096b 100644
--- a/tests/sendfile.c
+++ b/tests/sendfile.c
@@ -107,7 +107,7 @@
 
 	if (p_off != p) {
 		uint64_t *p_off64 = (uint64_t *) p_off;
-		*p_off64 = 0xcafef00dfacefeed;
+		*p_off64 = 0xcafef00dfacefeedULL;
 		assert(syscall(__NR_sendfile, sv[1], reg_in, p_off64, 1) == -1);
 		printf("sendfile(%d, %d, [14627392582579060461], 1)"
 		       " = -1 EINVAL (%m)\n", sv[1], reg_in);
diff --git a/tests/sendfile64.c b/tests/sendfile64.c
index f757963..7208c30 100644
--- a/tests/sendfile64.c
+++ b/tests/sendfile64.c
@@ -97,7 +97,7 @@
 	       (unsigned long) stb.st_size + 1,
 	       (unsigned long) blen);
 
-	*p_off = 0xcafef00dfacefeed;
+	*p_off = 0xcafef00dfacefeedULL;
 	assert(syscall(__NR_sendfile64, sv[1], reg_in, p_off, 1) == -1);
 	printf("sendfile64(%d, %d, [14627392582579060461], 1)"
 		" = -1 EINVAL (%m)\n", sv[1], reg_in);
diff --git a/tests/set_mempolicy.c b/tests/set_mempolicy.c
index 3802eaf..f3261a0 100644
--- a/tests/set_mempolicy.c
+++ b/tests/set_mempolicy.c
@@ -126,8 +126,8 @@
 		perror_msg_and_skip("set_mempolicy");
 	puts("set_mempolicy(MPOL_DEFAULT, NULL, 0) = 0");
 
-	const unsigned long *nodemask = (void *) 0xfacefeedfffffffe;
-	const unsigned long maxnode = (unsigned long) 0xcafef00dbadc0ded;
+	const unsigned long *nodemask = (void *) 0xfacefeedfffffffeULL;
+	const unsigned long maxnode = (unsigned long) 0xcafef00dbadc0dedULL;
 	long rc = syscall(__NR_set_mempolicy, 1, nodemask, maxnode);
 	printf("set_mempolicy(MPOL_PREFERRED, %p, %lu) = %s\n",
 	       nodemask, maxnode, sprintrc(rc));
diff --git a/tests/setfsugid.c b/tests/setfsugid.c
index 5b8f4fd..79ba34d 100644
--- a/tests/setfsugid.c
+++ b/tests/setfsugid.c
@@ -30,15 +30,24 @@
 #include <stdio.h>
 #include <unistd.h>
 
+void
+printuid(unsigned UGID_TYPE id)
+{
+	if (id == (unsigned UGID_TYPE) -1U)
+		printf("-1");
+	else
+		printf("%u", id);
+}
+
 int
 main(void)
 {
 	unsigned int ugid = GETUGID;
 
-	const long tests[] = {
+	const kernel_ulong_t tests[] = {
 		ugid,
 		0xffff0000U | ugid,
-		(unsigned long) 0xffffffff00000000ULL | ugid,
+		(kernel_ulong_t) 0xffffffff00000000ULL | ugid,
 		0xffffU,
 		-1U,
 		-1L,
@@ -54,7 +63,9 @@
 		unsigned int rc;
 
 		rc = syscall(SYSCALL_NR, tests[i]);
-		printf("%s(%u) = %u\n", SYSCALL_NAME, num, rc);
+		printf("%s(", SYSCALL_NAME);
+		printuid(num);
+		printf(") = %u\n", rc);
 
 		rc = syscall(SYSCALL_NR, ugid);
 		printf("%s(%u) = %u\n", SYSCALL_NAME, ugid, rc);
diff --git a/tests/setgroups.c b/tests/setgroups.c
index 5068ff4..1ec8333 100644
--- a/tests/setgroups.c
+++ b/tests/setgroups.c
@@ -57,9 +57,20 @@
 # include <stdio.h>
 # include <unistd.h>
 
+void
+printuid(GID_TYPE id)
+{
+	if (id == (GID_TYPE) -1U)
+		printf("-1");
+	else
+		printf("%u", id);
+}
+
 int
 main(void)
 {
+	const char *errstr;
+
 	/* check how the first argument is decoded */
 	long rc = syscall(SYSCALL_NR, 0, 0);
 	printf("%s(0, NULL) = %s\n", SYSCALL_NAME, sprintrc(rc));
@@ -74,10 +85,10 @@
 	printf("%s(1, NULL) = %s\n", SYSCALL_NAME, sprintrc(rc));
 
 	rc = syscall(SYSCALL_NR, -1U, 0);
-	printf("%s(%u, NULL) = %s\n", SYSCALL_NAME, -1U, sprintrc(rc));
+	printf("%s(%d, NULL) = %s\n", SYSCALL_NAME, -1, sprintrc(rc));
 
 	rc = syscall(SYSCALL_NR, -1L, 0);
-	printf("%s(%u, NULL) = %s\n", SYSCALL_NAME, -1U, sprintrc(rc));
+	printf("%s(%d, NULL) = %s\n", SYSCALL_NAME, -1, sprintrc(rc));
 
 	/* check how the second argument is decoded */
 	const GID_TYPE *const g1 = tail_alloc(sizeof(*g1));
@@ -88,8 +99,10 @@
 	printf("%s(0, []) = %s\n", SYSCALL_NAME, sprintrc(rc));
 
 	rc = syscall(SYSCALL_NR, 1, g1);
-	printf("%s(1, [%u]) = %s\n",
-	       SYSCALL_NAME, (unsigned) *g1, sprintrc(rc));
+	errstr = sprintrc(rc);
+	printf("%s(1, [", SYSCALL_NAME);
+	printuid(*g1);
+	printf("]) = %s\n", errstr);
 
 	rc = syscall(SYSCALL_NR, 1, g1 + 1);
 	printf("%s(1, %p) = %s\n", SYSCALL_NAME, g1 + 1, sprintrc(rc));
@@ -98,48 +111,71 @@
 	printf("%s(1, %#lx) = %s\n", SYSCALL_NAME, -1L, sprintrc(rc));
 
 	rc = syscall(SYSCALL_NR, 2, g1);
-	printf("%s(2, [%u, %p]) = %s\n",
-	       SYSCALL_NAME, (unsigned) *g1, g1 + 1, sprintrc(rc));
+	errstr = sprintrc(rc);
+	printf("%s(2, [", SYSCALL_NAME);
+	printuid(*g1);
+	printf(", %p]) = %s\n", g1 + 1, errstr);
 
 	g2[0] = -2;
 	g2[1] = -3;
 	rc = syscall(SYSCALL_NR, 2, g2);
-	printf("%s(2, [%u, %u]) = %s\n", SYSCALL_NAME,
-	       (unsigned) g2[0], (unsigned) g2[1], sprintrc(rc));
+	errstr = sprintrc(rc);
+	printf("%s(2, [", SYSCALL_NAME);
+	printuid(g2[0]);
+	printf(", ");
+	printuid(g2[1]);
+	printf("]) = %s\n", errstr);
 
 	rc = syscall(SYSCALL_NR, 3, g2);
-	printf("%s(3, [%u, %u, %p]) = %s\n", SYSCALL_NAME,
-	       (unsigned) g2[0], (unsigned) g2[1], g2 + 2, sprintrc(rc));
+	errstr = sprintrc(rc);
+	printf("%s(3, [", SYSCALL_NAME);
+	printuid(g2[0]);
+	printf(", ");
+	printuid(g2[1]);
+	printf(", %p]) = %s\n", g2 + 2, errstr);
 
 	g3[0] = 0;
 	g3[1] = 1;
 	rc = syscall(SYSCALL_NR, 3, g3);
-	printf("%s(3, [%u, %u%s]) = %s\n", SYSCALL_NAME,
-	       (unsigned) g3[0], (unsigned) g3[1], rc ? ", ..." : "",
-	       sprintrc(rc));
+	errstr = sprintrc(rc);
+	printf("%s(3, [", SYSCALL_NAME);
+	printuid(g3[0]);
+	printf(", ");
+	printuid(g3[1]);
+	printf(", ...]) = %s\n", errstr);
 
 	rc = syscall(SYSCALL_NR, 4, g3);
-	printf("%s(4, [%u, %u, ...]) = %s\n", SYSCALL_NAME,
-	       (unsigned) g3[0], (unsigned) g3[1], sprintrc(rc));
+	errstr = sprintrc(rc);
+	printf("%s(4, [", SYSCALL_NAME);
+	printuid(g3[0]);
+	printf(", ");
+	printuid(g3[1]);
+	printf(", ...]) = %s\n", errstr);
 
 	rc = sysconf(_SC_NGROUPS_MAX);
 	const unsigned ngroups_max = rc;
 
 	if ((unsigned long) rc == ngroups_max && (int) ngroups_max > 0) {
 		rc = syscall(SYSCALL_NR, ngroups_max, g3);
-		printf("%s(%u, [%u, %u, ...]) = %s\n", SYSCALL_NAME,
-		       ngroups_max, (unsigned) g3[0], (unsigned) g3[1],
-		       sprintrc(rc));
+		errstr = sprintrc(rc);
+		printf("%s(%d, [", SYSCALL_NAME, ngroups_max);
+		printuid(g3[0]);
+		printf(", ");
+		printuid(g3[1]);
+		printf(", ...]) = %s\n", errstr);
 
 		const unsigned long size =
 			(unsigned long) 0xffffffff00000000ULL | ngroups_max;
 		rc = syscall(SYSCALL_NR, size, g3);
-		printf("%s(%u, [%u, %u, ...]) = %s\n", SYSCALL_NAME,
-		       ngroups_max, (unsigned) g3[0], (unsigned) g3[1],
-		       sprintrc(rc));
+		errstr = sprintrc(rc);
+		printf("%s(%d, [", SYSCALL_NAME, ngroups_max);
+		printuid(g3[0]);
+		printf(", ");
+		printuid(g3[1]);
+		printf(", ...]) = %s\n", errstr);
 
 		rc = syscall(SYSCALL_NR, ngroups_max + 1, g3);
-		printf("%s(%u, %p) = %s\n", SYSCALL_NAME,
+		printf("%s(%d, %p) = %s\n", SYSCALL_NAME,
 		       ngroups_max + 1, g3, sprintrc(rc));
 	}
 
diff --git a/tests/sethostname.c b/tests/sethostname.c
index dfa9d1a..e1b2f06 100644
--- a/tests/sethostname.c
+++ b/tests/sethostname.c
@@ -1,3 +1,33 @@
+/*
+ * Check decoding of sethostname syscall.
+ *
+ * Copyright (c) 2016 Fei Jie <[email protected]>
+ * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
 #include "tests.h"
 #include <asm/unistd.h>
 
@@ -6,12 +36,37 @@
 # include <stdio.h>
 # include <unistd.h>
 
+#ifdef HAVE_LINUX_UTSNAME_H
+# include <linux/utsname.h>
+#endif
+
+#ifndef __NEW_UTS_LEN
+# define __NEW_UTS_LEN 64
+#endif
+
 int
 main(void)
 {
-	long rc = syscall(__NR_sethostname, 0, 63);
-	printf("sethostname(NULL, 63) = %ld %s (%m)\n",
-	       rc, errno2name());
+	kernel_ulong_t len;
+	long rc;
+
+	len = __NEW_UTS_LEN;
+	rc = syscall(__NR_sethostname, 0, len);
+	printf("sethostname(NULL, %u) = %s\n",
+	       (unsigned) len, sprintrc(rc));
+
+	if (F8ILL_KULONG_MASK) {
+		len |= F8ILL_KULONG_MASK;
+		rc = syscall(__NR_sethostname, 0, len);
+		printf("sethostname(NULL, %u) = %s\n",
+		       (unsigned) len, sprintrc(rc));
+	}
+
+	len = __NEW_UTS_LEN + 1;
+	void *const p = tail_alloc(len);
+	rc = syscall(__NR_sethostname, p, len);
+	printf("sethostname(%p, %u) = %s\n",
+	       p, (unsigned) len, sprintrc(rc));
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests/setns.c b/tests/setns.c
new file mode 100644
index 0000000..54a1531
--- /dev/null
+++ b/tests/setns.c
@@ -0,0 +1,73 @@
+/*
+ * Check decoding of setns syscall.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#include <asm/unistd.h>
+
+#ifdef __NR_setns
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+	static const kernel_ulong_t bogus_fd =
+		(kernel_ulong_t) 0xfeedfacedeadc0deULL;
+
+	static struct {
+		kernel_ulong_t val;
+		const char *str;
+	} nstypes[] = {
+		{ (kernel_ulong_t) 0xdefaced100000000ULL, "0" },
+		{ (kernel_ulong_t) 0xbadc0dedfeedfaceULL,
+			"0xfeedface /* CLONE_NEW??? */" },
+		{ (kernel_ulong_t) 0xca75f15702000000ULL, "CLONE_NEWCGROUP" },
+	};
+
+	long rc;
+	unsigned int i;
+
+	for (i = 0; i < ARRAY_SIZE(nstypes); i++) {
+		rc = syscall(__NR_setns, bogus_fd, nstypes[i].val);
+		printf("setns(%d, %s) = %s\n",
+			(int) bogus_fd, nstypes[i].str, sprintrc(rc));
+	}
+
+	puts("+++ exited with 0 +++");
+
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_setns");
+
+#endif
diff --git a/tests/setns.test b/tests/setns.test
new file mode 100755
index 0000000..e9a905a
--- /dev/null
+++ b/tests/setns.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of setns syscall.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21
diff --git a/tests/setrlimit.c b/tests/setrlimit.c
index 95dd898..e93c8e3 100644
--- a/tests/setrlimit.c
+++ b/tests/setrlimit.c
@@ -41,7 +41,7 @@
 	const struct xlat *xlat;
 
 	for (xlat = resources; xlat->str; ++xlat) {
-		unsigned long res = 0xfacefeed00000000 | xlat->val;
+		unsigned long res = 0xfacefeed00000000ULL | xlat->val;
 		long rc = syscall(__NR_setrlimit, res, 0);
 		printf("setrlimit(%s, NULL) = %s\n", xlat->str, sprintrc(rc));
 
diff --git a/tests/setugid.c b/tests/setugid.c
index dd6b921..aba277c 100644
--- a/tests/setugid.c
+++ b/tests/setugid.c
@@ -31,13 +31,13 @@
 #include <stdio.h>
 #include <unistd.h>
 
-static int
-ugid2int(const unsigned UGID_TYPE ugid)
+void
+printuid(unsigned UGID_TYPE id)
 {
-	if ((unsigned UGID_TYPE) -1U == ugid)
-		return -1;
+	if (id == (unsigned UGID_TYPE) -1U)
+		printf("-1");
 	else
-		return ugid;
+		printf("%u", id);
 }
 
 int
@@ -58,22 +58,23 @@
 	unsigned int i;
 
 	for (i = 0; i < ARRAY_SIZE(tests); ++i) {
-		const unsigned int num = ugid2int(tests[i]);
+		const unsigned int num = (unsigned UGID_TYPE) tests[i];
 		long expected;
 
 		if (num == ugid)
 			expected = 0;
-		else if (num == -1U)
+		else if ((UGID_TYPE) num == (UGID_TYPE) -1U)
 			expected = -1;
 		else
 			continue;
 
 		const long rc = syscall(SYSCALL_NR, tests[i]);
-		int saved_errno = errno;
+		const char *errstr = sprintrc(rc);
+
 		if (rc != expected) {
 			if (!i && ENOSYS == errno) {
-				printf("%s(%u) = -1 ENOSYS (%m)\n",
-				       SYSCALL_NAME, ugid);
+				printf("%s(%u) = %s\n",
+				       SYSCALL_NAME, ugid, errstr);
 				break;
 			}
 			perror_msg_and_fail("%s(%#lx) != %ld",
@@ -81,15 +82,8 @@
 		}
 
 		printf("%s(", SYSCALL_NAME);
-		if (num == -1U)
-			printf("-1");
-		else
-			printf("%u", num);
-		errno = saved_errno;
-		if (expected)
-			printf(") = -1 %s (%m)\n", errno2name());
-		else
-			printf(") = 0\n");
+		printuid(num);
+		printf(") = %s\n", errstr);
 	}
 
 	puts("+++ exited with 0 +++");
diff --git a/tests/sigaction.awk b/tests/sigaction.awk
index 5c6b6d0..9c3a9ed 100644
--- a/tests/sigaction.awk
+++ b/tests/sigaction.awk
@@ -1,6 +1,7 @@
 #!/bin/gawk
 #
 # Copyright (c) 2014-2015 Dmitry V. Levin <[email protected]>
+# Copyright (c) 2016 Elvira Khabirova <[email protected]>
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -26,23 +27,44 @@
 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 BEGIN {
-	n1[1] = "SIG_IGN, \\[HUP INT\\], SA_RESTORER\\|SA_RESTART, 0x[0-9a-f]+"
-	n2[1] = "SIG_IGN, \\[HUP INT\\], SA_RESTART"
+	n1[1][1] = n2[1][1] = "SIG_IGN"
+	n1[1][2] = n2[1][2] = "\\[HUP INT\\]"
+	n1[1][3] = "SA_RESTORER\\|SA_RESTART"
+	n2[1][3] = "SA_RESTART"
+	n1[1][4] = ", sa_restorer=0x[0-9a-f]+"
+	n2[1][4] = ""
 
-	n1[2] = "0x[0-9a-f]+, \\[QUIT TERM\\], SA_RESTORER\\|SA_SIGINFO, 0x[0-9a-f]+"
-	n2[2] = "0x[0-9a-f]+, \\[QUIT TERM\\], SA_SIGINFO"
+	n1[2][1] = n2[2][1] = "0x[0-9a-f]+"
+	n1[2][2] = n2[2][2] = "\\[QUIT TERM\\]"
+	n1[2][3] = "SA_RESTORER\\|SA_SIGINFO"
+	n2[2][3] = "SA_SIGINFO"
+	n1[2][4] = ", sa_restorer=0x[0-9a-f]+"
+	n2[2][4] = ""
 
-	n1[3] = "SIG_DFL, \\[\\], SA_RESTORER, 0x[0-9a-f]+"
-	n2[3] = "SIG_DFL, \\[\\], 0"
+	n1[3][1] = n2[3][1] = "SIG_DFL"
+	n1[3][2] = n2[3][2] = "\\[\\]"
+	n1[3][3] = "SA_RESTORER"
+	n2[3][3] = "0"
+	n1[3][4] = ", sa_restorer=0x[0-9a-f]+"
+	n2[3][4] = ""
 
-	n1[4] = "SIG_DFL, ~\\[HUP( ((RT|SIGRT)[^] ]+|[3-9][0-9]|1[0-9][0-9]))*\\], SA_RESTORER, 0x[0-9a-f]+"
-	n2[4] = "SIG_DFL, ~\\[HUP( ((RT|SIGRT)[^] ]+|[3-9][0-9]|1[0-9][0-9]))*\\], 0"
+	n1[4][1] = n2[4][1] = "SIG_DFL"
+	n1[4][2] = n2[4][2] = "~\\[HUP( ((RT|SIGRT)[^] ]+|[3-9][0-9]|1[0-9][0-9]))*\\]"
+	n1[4][3] = "SA_RESTORER"
+	n2[4][3] = "0"
+	n1[4][4] = ", sa_restorer=0x[0-9a-f]+"
+	n2[4][4] = ""
 
-	o1[1] = o2[1] = "SIG_DFL, \\[\\], 0"
+	o1[1][1] = o2[1][1] = "SIG_DFL"
+	o1[1][2] = o2[1][2] = "\\[\\]"
+	o1[1][3] = o2[1][3] = "0"
+	o1[1][4] = o2[1][4] = ""
 
 	for (i = 2; i < 5; i++) {
-		o1[i] = n1[i - 1]
-		o2[i] = n2[i - 1]
+		for (j = 1; j < 5; j++) {
+			o1[i][j] = n1[i - 1][j]
+			o2[i][j] = n2[i - 1][j]
+		}
 	}
 
 	a1 = "(0x[0-9a-f]+, )?(4|8|16)"
@@ -51,9 +73,18 @@
 
 	for (i = 1; i < 5; i++) {
 		r[i] = "^rt_sigaction\\(SIGUSR2, (" \
-			"\\{" n1[i] "\\}, \\{" o1[i] "\\}, " a1 "|" \
-			"\\{" n2[i] "\\}, \\{" o2[i] "\\}, " a2 "|" \
-			"\\{" n2[i] "\\}, \\{" o2[i] "\\}, " a3 ")\\) = 0$"
+			"\\{sa_handler=" n1[i][1] ", sa_mask=" n1[i][2] \
+			", sa_flags=" n1[i][3] n1[i][4] "\\}, \\{sa_handler=" \
+			o1[i][1] ", sa_mask=" o1[i][2] ", sa_flags=" o1[i][3] \
+			o1[i][4] "\\}, " a1 "|" \
+			"\\{sa_handler=" n2[i][1] ", sa_mask=" n2[i][2] \
+			", sa_flags=" n2[i][3] n2[i][4] "\\}, \\{sa_handler=" \
+			o2[i][1] ", sa_mask=" o2[i][2] ", sa_flags=" o2[i][3] \
+			o2[i][4] "\\}, " a2 "|" \
+			"\\{sa_handler=" n2[i][1] ", sa_mask=" n2[i][2] \
+			", sa_flags=" n2[i][3] n2[i][4] "\\}, \\{sa_handler=" \
+			o2[i][1] ", sa_mask=" o2[i][2] ", sa_flags=" o2[i][3] \
+			o2[i][4] "\\}, " a3 ")\\) = 0$"
 	}
 	s[5] = "+++ exited with 0 +++"
 
diff --git a/tests/socketcall.c b/tests/socketcall.c
index d2ec959..4fe1ea3 100644
--- a/tests/socketcall.c
+++ b/tests/socketcall.c
@@ -55,7 +55,7 @@
 test_socketcall(const int i, const void *const addr)
 {
 	const unsigned long call =
-		(unsigned long) 0xfacefeed00000000 | (unsigned int) i;
+		(unsigned long) 0xfacefeed00000000ULL | (unsigned int) i;
 
 	long rc = syscall(__NR_socketcall, call, addr);
 
diff --git a/tests/splice.c b/tests/splice.c
index 5a89910..b6f2525 100644
--- a/tests/splice.c
+++ b/tests/splice.c
@@ -38,12 +38,12 @@
 int
 main(void)
 {
-	const long int fd_in = (long int) 0xdeadbeefffffffff;
-	const long int fd_out = (long int) 0xdeadbeeffffffffe;
+	const long int fd_in = (long int) 0xdeadbeefffffffffULL;
+	const long int fd_out = (long int) 0xdeadbeeffffffffeULL;
 	long long int *const off_in = tail_alloc(sizeof(*off_in));
 	long long int *const off_out = tail_alloc(sizeof(*off_out));
-	*off_in = 0xdeadbef1facefed1;
-	*off_out = 0xdeadbef2facefed2;
+	*off_in = 0xdeadbef1facefed1ULL;
+	*off_out = 0xdeadbef2facefed2ULL;
 	const size_t len = (size_t) 0xdeadbef3facefed3ULL;
 	const unsigned int flags = 15;
 
diff --git a/tests/sprintrc.c b/tests/sprintrc.c
index a573a27..7423afb 100644
--- a/tests/sprintrc.c
+++ b/tests/sprintrc.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Eugene Syromiatnikov <[email protected]>
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
diff --git a/tests/stat.c b/tests/stat.c
index df6cab1..d4ca7b0 100644
--- a/tests/stat.c
+++ b/tests/stat.c
@@ -32,7 +32,7 @@
 
 # define TEST_SYSCALL_NR __NR_stat
 # define TEST_SYSCALL_STR "stat"
-# define SAMPLE_SIZE ((kernel_ulong_t) 43147718418)
+# define SAMPLE_SIZE ((libc_off_t) (kernel_ulong_t) 43147718418ULL)
 # include "lstatx.c"
 
 #else
diff --git a/tests/stat64.c b/tests/stat64.c
index 4c2101b..782de33 100644
--- a/tests/stat64.c
+++ b/tests/stat64.c
@@ -35,7 +35,6 @@
 # define STRUCT_STAT struct stat64
 # define STRUCT_STAT_STR "struct stat64"
 # define STRUCT_STAT_IS_STAT64 1
-# define SAMPLE_SIZE ((libc_off_t) 43147718418)
 # include "lstatx.c"
 
 #else
diff --git a/tests/statfs.expected b/tests/statfs.expected
index 0fa4510..11e9f0b 100644
--- a/tests/statfs.expected
+++ b/tests/statfs.expected
@@ -1 +1 @@
-statfs(64)?\("/proc/self/status"(, [1-9][0-9]*)?, \{f_type=PROC_SUPER_MAGIC, f_bsize=[1-9][0-9]*, f_blocks=[0-9]+, f_bfree=[0-9]+, f_bavail=[0-9]+, f_files=[0-9]+, f_ffree=[0-9]+, f_fsid=\{[0-9]+, [0-9]+\}, f_namelen=[1-9][0-9]*(, f_frsize=[0-9]+)?(, f_flags=ST_VALID(\|ST_[A-Z]+)*)?\}\) += 0
+statfs(64)?\("/proc/self/status"(, [1-9][0-9]*)?, \{f_type=PROC_SUPER_MAGIC, f_bsize=[1-9][0-9]*, f_blocks=[0-9]+, f_bfree=[0-9]+, f_bavail=[0-9]+, f_files=[0-9]+, f_ffree=[0-9]+, f_fsid=\{val=\[[0-9]+, [0-9]+\]\}, f_namelen=[1-9][0-9]*(, f_frsize=[0-9]+)?(, f_flags=ST_VALID(\|ST_[A-Z]+)*)?\}\) += 0
diff --git a/tests/statx.sh b/tests/statx.sh
index 830e5fc..a630193 100755
--- a/tests/statx.sh
+++ b/tests/statx.sh
@@ -3,4 +3,4 @@
 # Check decoding of stat family syscalls.
 
 . "${srcdir=.}/init.sh"
-run_strace_match_diff -v -P $NAME.sample
+run_strace_match_diff -v -P $NAME.sample -P /dev/full -a32
diff --git a/tests/strace-C.expected b/tests/strace-C.expected
new file mode 100644
index 0000000..832af1f
--- /dev/null
+++ b/tests/strace-C.expected
@@ -0,0 +1,3 @@
+nanosleep\(\{tv_sec=1, tv_nsec=0\}, NULL\) = 0
+\+\+\+ exited with 0 \+\+\+
+[ ]*[0-9][0-9]*[.][0-9][0-9]*  *0[.]0[0-9]*  *[0-9][0-9]*  *1  *nanosleep
diff --git a/tests/strace-C.test b/tests/strace-C.test
new file mode 100755
index 0000000..ccca9a0
--- /dev/null
+++ b/tests/strace-C.test
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+# Check -C option.
+
+. "${srcdir=.}/init.sh"
+
+run_prog ./sleep 0
+run_strace -a24 -C -enanosleep ./sleep 1
+match_grep
diff --git a/tests/strace-T.expected b/tests/strace-T.expected
index 809b7ea..1ea0204 100644
--- a/tests/strace-T.expected
+++ b/tests/strace-T.expected
@@ -1 +1 @@
-nanosleep\(\{1, 0\}, NULL\) = 0 <(1\.[01]|0\.9)[[:digit:]]{5}>
+nanosleep\(\{tv_sec=1, tv_nsec=0\}, NULL\) = 0 <(1\.[01]|0\.9)[[:digit:]]{5}>
diff --git a/tests/strace-V.test b/tests/strace-V.test
index d441371..9a051e0 100755
--- a/tests/strace-V.test
+++ b/tests/strace-V.test
@@ -1,9 +1,11 @@
 #!/bin/sh
 
 # Check -V option.
-
 . "${srcdir=.}/init.sh"
 
+run_prog_skip_if_failed date +%Y > /dev/null
+year="$(date +%Y)"
+
 run_strace -V > "$LOG"
 
 getval()
@@ -11,7 +13,12 @@
 	sed -r -n 's/#define[[:space:]]*'"$1"'[[:space:]]*"([^"]*)".*/\1/p' ../config.h
 }
 
-printf "%s -- version %s\n" "$(getval PACKAGE_NAME)" "$(getval VERSION)" > "$EXP"
+cat > "$EXP" << __EOF__
+$(getval PACKAGE_NAME) -- version $(getval PACKAGE_VERSION)
+Copyright (C) 1991-$year The strace developers <$(getval PACKAGE_URL)>.
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+__EOF__
 
 match_diff "$EXP" "$LOG"
 rm -f "$EXP"
diff --git a/tests/strace-tt.test b/tests/strace-tt.test
index 237646d..3f80001 100755
--- a/tests/strace-tt.test
+++ b/tests/strace-tt.test
@@ -4,17 +4,25 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog_skip_if_failed date +%T > /dev/null
+run_prog_skip_if_failed date +%s > "$LOG"
+run_prog_skip_if_failed date +%T --date "@$(cat "$LOG")" > /dev/null
 run_prog ./sleep 0
 
-t0="$(date +%T)"
+s0="$(date +%s)"
 run_strace -tt -eexecve $args
-t1="$(date +%T)"
+s1="$(date +%s)"
 
-EXPECTED="$LOG.expected"
-cat > "$EXPECTED" << __EOF__
-($t0|$t1)\\.[[:digit:]]{6} execve\\("\\./sleep", \\["\\./sleep", "0"\\], \\[/\\* [[:digit:]]+ vars \\*/\\]\\) = 0
+s="$s0"
+t_reg=
+while [ "$s" -le "$s1" ]; do
+	t="$(date +%T --date "@$s")"
+	[ -z "$t_reg" ] && t_reg="$t" || t_reg="$t_reg|$t"
+	s=$(($s + 1))
+done
+
+cat > "$EXP" << __EOF__
+($t_reg)\\.[[:digit:]]{6} execve\\("\\./sleep", \\["\\./sleep", "0"\\], \\[/\\* [[:digit:]]+ vars \\*/\\]\\) = 0
 __EOF__
 
-match_grep "$LOG" "$EXPECTED"
-rm -f "$EXPECTED"
+match_grep "$LOG" "$EXP"
+rm -f "$EXP"
diff --git a/tests/strace-ttt.test b/tests/strace-ttt.test
index 8b0032a..4439715 100755
--- a/tests/strace-ttt.test
+++ b/tests/strace-ttt.test
@@ -7,14 +7,20 @@
 run_prog_skip_if_failed date +%s > /dev/null
 run_prog ./sleep 0
 
-t0="$(date +%s)"
+s0="$(date +%s)"
 run_strace -ttt -eexecve $args
-t1="$(date +%s)"
+s1="$(date +%s)"
 
-EXPECTED="$LOG.expected"
-cat > "$EXPECTED" << __EOF__
-($t0|$t1)\\.[[:digit:]]{6} execve\\("\\./sleep", \\["\\./sleep", "0"\\], \\[/\\* [[:digit:]]+ vars \\*/\\]\\) = 0
+s="$s0"
+t_reg=
+while [ "$s" -le "$s1" ]; do
+	[ -z "$t_reg" ] && t_reg="$s" || t_reg="$t_reg|$s"
+	s=$(($s + 1))
+done
+
+cat > "$EXP" << __EOF__
+($t_reg)\\.[[:digit:]]{6} execve\\("\\./sleep", \\["\\./sleep", "0"\\], \\[/\\* [[:digit:]]+ vars \\*/\\]\\) = 0
 __EOF__
 
-match_grep "$LOG" "$EXPECTED"
-rm -f "$EXPECTED"
+match_grep "$LOG" "$EXP"
+rm -f "$EXP"
diff --git a/tests/strace.supp b/tests/strace.supp
new file mode 100644
index 0000000..578b0a2
--- /dev/null
+++ b/tests/strace.supp
@@ -0,0 +1,7 @@
+{
+   get_cpuset_size: sched_getaffinity with NULL mask
+   Memcheck:Param
+   sched_getaffinity(mask)
+   fun:sched_getaffinity*
+   fun:get_cpuset_size
+}
diff --git a/tests/struct_flock.c b/tests/struct_flock.c
index aae71a0..34cf58e 100644
--- a/tests/struct_flock.c
+++ b/tests/struct_flock.c
@@ -45,7 +45,7 @@
 static long
 invoke_test_syscall(const unsigned int cmd, void *const p)
 {
-	const unsigned long op = (unsigned long) 0xffffffff00000000 | cmd;
+	const unsigned long op = (unsigned long) 0xffffffff00000000ULL | cmd;
 
 	return syscall(TEST_SYSCALL_NR, 0, op, (unsigned long) p);
 }
@@ -55,8 +55,8 @@
 {
 	struct_kernel_flock fl = {
 		.l_type = F_RDLCK,
-		.l_start = (TYPEOF_FLOCK_OFF_T) 0xdefaced1facefeed,
-		.l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00d
+		.l_start = (TYPEOF_FLOCK_OFF_T) 0xdefaced1facefeedULL,
+		.l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL
 	};
 	invoke_test_syscall(cmd, &fl);
 	printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET"
diff --git a/tests/swap.c b/tests/swap.c
index ed8cec8..77b2505 100644
--- a/tests/swap.c
+++ b/tests/swap.c
@@ -23,7 +23,7 @@
 
 	rc = syscall(__NR_swapon, sample, SWAP_FLAG_PREFER);
 	printf("swapon(\"%s\", %s) = %ld %s (%m)\n",
-	       sample, "SWAP_FLAG_PREFER", rc, errno2name());
+	       sample, "SWAP_FLAG_PREFER|0", rc, errno2name());
 
 	rc = syscall(__NR_swapon, sample, SWAP_FLAG_PREFER | 42);
 	printf("swapon(\"%s\", %s) = %ld %s (%m)\n",
diff --git a/tests/symlinkat.c b/tests/symlinkat.c
index d0116d0..6e5d617 100644
--- a/tests/symlinkat.c
+++ b/tests/symlinkat.c
@@ -9,7 +9,7 @@
 int
 main(void)
 {
-	const long int fd = (long int) 0xdeadbeefffffffff;
+	const long int fd = (long int) 0xdeadbeefffffffffULL;
 	static const char oldpath[] = "symlink_old";
 	static const char newpath[] = "symlink_new";
 
diff --git a/tests/sync_file_range.c b/tests/sync_file_range.c
index aadef68..67d31a8 100644
--- a/tests/sync_file_range.c
+++ b/tests/sync_file_range.c
@@ -39,8 +39,8 @@
 main(void)
 {
 	const int fd = -1;
-	const off64_t offset = 0xdeadbeefbadc0ded;
-	const off64_t nbytes = 0xfacefeedcafef00d;
+	const off64_t offset = 0xdeadbeefbadc0dedULL;
+	const off64_t nbytes = 0xfacefeedcafef00dULL;
 	const unsigned int flags = -1;
 
 	int rc = sync_file_range(fd, offset, nbytes, flags);
diff --git a/tests/syslog.c b/tests/syslog.c
index d4d4a7b..5df96cb 100644
--- a/tests/syslog.c
+++ b/tests/syslog.c
@@ -11,7 +11,7 @@
 int
 main(void)
 {
-	const long addr = (long) 0xfacefeeddeadbeef;
+	const long addr = (long) 0xfacefeeddeadbeefULL;
 	int rc = syscall(__NR_syslog, SYSLOG_ACTION_READ, addr, -1);
 	printf("syslog(SYSLOG_ACTION_READ, %#lx, -1) = %d %s (%m)\n",
 	       addr, rc, errno2name());
diff --git a/tests/tee.c b/tests/tee.c
index eb562c7..66d1c94 100644
--- a/tests/tee.c
+++ b/tests/tee.c
@@ -38,8 +38,8 @@
 int
 main(void)
 {
-	const long int fd_in = (long int) 0xdeadbeefffffffff;
-	const long int fd_out = (long int) 0xdeadbeeffffffffe;
+	const long int fd_in = (long int) 0xdeadbeefffffffffULL;
+	const long int fd_out = (long int) 0xdeadbeeffffffffeULL;
 	const size_t len = (size_t) 0xdeadbef3facefed3ULL;
 	const unsigned int flags = 15;
 
diff --git a/tests/tests.h b/tests/tests.h
index f3ddc85..d4294de 100644
--- a/tests/tests.h
+++ b/tests/tests.h
@@ -33,6 +33,7 @@
 # endif
 
 # include <sys/types.h>
+# include "kernel_types.h"
 # include "gcc_compat.h"
 
 /* Tests of "strace -v" are expected to define VERBOSE to 1. */
@@ -67,6 +68,16 @@
 void *tail_memdup(const void *, const size_t)
 	ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE((2));
 
+/*
+ * Fill memory (pointed by ptr, having size bytes) with different bytes (with
+ * values starting with start and resetting every period) in order to catch
+ * sign, byte order and/or alignment errors.
+ */
+void fill_memory_ex(void *ptr, size_t size, unsigned char start,
+		    unsigned char period);
+/* Shortcut for fill_memory_ex(ptr, size, 0x80, 0x80) */
+void fill_memory(void *ptr, size_t size);
+
 /* Close stdin, move stdout to a non-standard descriptor, and print. */
 void tprintf(const char *, ...)
 	ATTRIBUTE_FORMAT((printf, 1, 2));
@@ -127,6 +138,25 @@
 int recv_mmsg(int, struct mmsghdr *, unsigned int, unsigned int, struct timespec *);
 int send_mmsg(int, struct mmsghdr *, unsigned int, unsigned int);
 
+/* Create a pipe with maximized descriptor numbers. */
+void pipe_maxfd(int pipefd[2]);
+
+#define F8ILL_KULONG_SUPPORTED	(sizeof(void *) < sizeof(kernel_ulong_t))
+#define F8ILL_KULONG_MASK	((kernel_ulong_t) 0xffffffff00000000ULL)
+
+/*
+ * For 64-bit kernel_ulong_t and 32-bit pointer,
+ * return a kernel_ulong_t value by filling higher bits.
+ * For other architertures, return the original pointer.
+ */
+static inline kernel_ulong_t
+f8ill_ptr_to_kulong(const void *const ptr)
+{
+	const unsigned long uptr = (unsigned long) ptr;
+	return F8ILL_KULONG_SUPPORTED
+	       ? F8ILL_KULONG_MASK | uptr : (kernel_ulong_t) uptr;
+}
+
 # define ARRAY_SIZE(arg) ((unsigned int) (sizeof(arg) / sizeof((arg)[0])))
 # define LENGTH_OF(arg) ((unsigned int) sizeof(arg) - 1)
 
@@ -169,4 +199,15 @@
 # define PRI__u64 PRI__64"u"
 # define PRI__x64 PRI__64"x"
 
+# if WORDS_BIGENDIAN
+#  define LL_PAIR(HI, LO) (HI), (LO)
+# else
+#  define LL_PAIR(HI, LO) (LO), (HI)
+# endif
+# define LL_VAL_TO_PAIR(llval) LL_PAIR((long) ((llval) >> 32), (long) (llval))
+
+# define _STR(_arg) #_arg
+# define ARG_STR(_arg) (_arg), #_arg
+# define ARG_ULL_STR(_arg) _arg##ULL, #_arg
+
 #endif /* !STRACE_TESTS_H */
diff --git a/tests/threads-execve.c b/tests/threads-execve.c
new file mode 100644
index 0000000..853645f
--- /dev/null
+++ b/tests/threads-execve.c
@@ -0,0 +1,246 @@
+/*
+ * Check decoding of threads when a non-leader thread invokes execve.
+ *
+ * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+#include <errno.h>
+#include <pthread.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <unistd.h>
+
+static pid_t leader;
+static pid_t tid;
+
+static void
+handler(int signo)
+{
+}
+
+static unsigned int sigsetsize;
+static long
+k_sigsuspend(const sigset_t *const set)
+{
+	return syscall(__NR_rt_sigsuspend, set, sigsetsize);
+}
+
+static pid_t
+k_gettid(void)
+{
+	return syscall(__NR_gettid);
+}
+
+static void
+get_sigsetsize(void)
+{
+	static const struct sigaction sa = { .sa_handler = handler };
+	if (sigaction(SIGUSR1, &sa, NULL))
+		perror_msg_and_fail("sigaction");
+
+	sigset_t mask;
+	sigemptyset(&mask);
+	sigaddset(&mask, SIGUSR1);
+	if (sigprocmask(SIG_BLOCK, &mask, NULL))
+		perror_msg_and_fail("sigprocmask");
+
+	raise(SIGUSR1);
+
+	sigemptyset(&mask);
+	for (sigsetsize = sizeof(mask) / sizeof(long);
+	     sigsetsize; sigsetsize >>= 1) {
+		long rc = k_sigsuspend(&mask);
+		if (!rc)
+			error_msg_and_fail("rt_sigsuspend");
+		if (EINTR == errno)
+			break;
+		printf("%-5d rt_sigsuspend(%p, %u) = %s\n",
+		       leader, &mask, sigsetsize, sprintrc(rc));
+	}
+	if (!sigsetsize)
+		perror_msg_and_fail("rt_sigsuspend");
+	printf("%-5d rt_sigsuspend([], %u) = ? ERESTARTNOHAND"
+	       " (To be restarted if no handler)\n", leader, sigsetsize);
+}
+
+enum {
+	ACTION_exit = 0,
+	ACTION_rt_sigsuspend,
+	ACTION_nanosleep,
+	NUMBER_OF_ACTIONS
+};
+
+static const unsigned int NUMBER_OF_ITERATIONS = 1;
+static unsigned int action;
+static int fds[2];
+
+static unsigned int
+arglen(char **args)
+{
+	char **p;
+
+	for (p = args; *p; ++p)
+		;
+
+	return p - args;
+}
+
+static void *
+thread(void *arg)
+{
+	tid = k_gettid();
+
+	static char buf[sizeof(action) * 3];
+	sprintf(buf, "%u", action + 1);
+
+	char **argv = arg;
+	argv[2] = buf;
+
+	if (read(fds[0], fds, sizeof(fds[0])))
+		perror_msg_and_fail("execve");
+
+	struct timespec ts = { .tv_nsec = 100000000 };
+	(void) clock_nanosleep(CLOCK_REALTIME, 0, &ts, NULL);
+
+	ts.tv_nsec = 12345;
+	printf("%-5d nanosleep({tv_sec=0, tv_nsec=%u}, NULL) = 0\n",
+	       tid, (unsigned int) ts.tv_nsec);
+
+	switch (action % NUMBER_OF_ACTIONS) {
+		case ACTION_exit:
+			printf("%-5d execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
+			       ", [/* %u vars */] <pid changed to %u ...>\n",
+			       tid, argv[0], argv[0], argv[1], argv[2],
+			       arglen(environ), leader);
+			break;
+		case ACTION_rt_sigsuspend:
+			printf("%-5d execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
+			       ", [/* %u vars */] <unfinished ...>\n"
+			       "%-5d <... rt_sigsuspend resumed>) = ?\n",
+			       tid, argv[0], argv[0], argv[1], argv[2],
+			       arglen(environ),
+			       leader);
+			break;
+		case ACTION_nanosleep:
+			printf("%-5d execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
+			       ", [/* %u vars */] <unfinished ...>\n"
+			       "%-5d <... nanosleep resumed> <unfinished ...>)"
+			       " = ?\n",
+			       tid, argv[0], argv[0], argv[1], argv[2],
+			       arglen(environ),
+			       leader);
+			break;
+	}
+
+	printf("%-5d +++ superseded by execve in pid %u +++\n"
+	       "%-5d <... execve resumed> ) = 0\n",
+	       leader, tid,
+	       leader);
+
+	(void) nanosleep(&ts, NULL);
+	execve(argv[0], argv, environ);
+	perror_msg_and_fail("execve");
+}
+
+int
+main(int ac, char **av)
+{
+	setvbuf(stdout, NULL, _IONBF, 0);
+	leader = getpid();
+
+	if (ac < 3) {
+		struct timespec ts = { .tv_nsec = 1 };
+		if (clock_nanosleep(CLOCK_REALTIME, 0, &ts, NULL))
+			perror_msg_and_skip("clock_nanosleep CLOCK_REALTIME");
+
+		printf("%-5d execve(\"%s\", [\"%s\"], [/* %u vars */]) = 0\n",
+		       leader, av[0], av[0], arglen(environ));
+
+		get_sigsetsize();
+		static char buf[sizeof(sigsetsize) * 3];
+		sprintf(buf, "%u", sigsetsize);
+
+		char *argv[] = { av[0], buf, (char *) "0", NULL };
+		printf("%-5d execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
+		       ", [/* %u vars */]) = 0\n",
+		       leader, argv[0], argv[0], argv[1], argv[2],
+		       arglen(environ));
+		execve(argv[0], argv, environ);
+		perror_msg_and_fail("execve");
+	}
+
+	sigsetsize = atoi(av[1]);
+	action = atoi(av[2]);
+
+	if (action >= NUMBER_OF_ACTIONS * NUMBER_OF_ITERATIONS) {
+		printf("%-5d +++ exited with 0 +++\n", leader);
+		return 0;
+	}
+
+	if (pipe(fds))
+		perror_msg_and_fail("pipe");
+
+	pthread_t t;
+	errno = pthread_create(&t, NULL, thread, av);
+	if (errno)
+		perror_msg_and_fail("pthread_create");
+
+	struct timespec ts = { .tv_sec = 123 };
+	sigset_t mask;
+	sigemptyset(&mask);
+
+	static char leader_str[sizeof(leader) * 3];
+	int leader_str_len =
+		snprintf(leader_str, sizeof(leader_str), "%-5d", leader);
+
+	switch (action % NUMBER_OF_ACTIONS) {
+		case ACTION_exit:
+			printf("%s exit(42)%*s= ?\n", leader_str,
+			       (int) sizeof(leader_str) - leader_str_len, " ");
+			close(fds[1]);
+			(void) syscall(__NR_exit, 42);
+			break;
+		case ACTION_rt_sigsuspend:
+			printf("%s rt_sigsuspend([], %u <unfinished ...>\n",
+			       leader_str, sigsetsize);
+			close(fds[1]);
+			(void) k_sigsuspend(&mask);
+			break;
+		case ACTION_nanosleep:
+			printf("%s nanosleep({tv_sec=%u, tv_nsec=0}"
+			       ",  <unfinished ...>\n",
+			       leader_str, (unsigned int) ts.tv_sec);
+			close(fds[1]);
+			(void) nanosleep(&ts, 0);
+			break;
+	}
+
+	return 1;
+}
diff --git a/tests/threads-execve.test b/tests/threads-execve.test
new file mode 100755
index 0000000..4a77146
--- /dev/null
+++ b/tests/threads-execve.test
@@ -0,0 +1,50 @@
+#!/bin/sh
+#
+# Check decoding of threads when a non-leader thread invokes execve.
+#
+# Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+# 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"
+
+# Check that PTRACE_EVENT_EXEC support in kernel is good enough.
+# The kernel before commit v3.1-rc1~308^2~7 reported 0 instead of old pid.
+require_min_kernel_version_or_skip 3.1
+
+check_prog diff
+run_prog > /dev/null
+
+set -- -a21 -f -esignal=none -e trace=execve,exit,nanosleep,rt_sigsuspend $args
+
+# Due to probabilistic nature of the test, try it several times.
+i=0
+while [ $i -le 9 ]; do
+	run_strace "$@" > "$EXP"
+	diff -- "$EXP" "$LOG" || continue
+	rm -f "$EXP"
+	exit 0
+done
+
+fail_ "$STRACE $* output mismatch"
diff --git a/tests/timer_create.c b/tests/timer_create.c
index 6f98f36..1a25962 100644
--- a/tests/timer_create.c
+++ b/tests/timer_create.c
@@ -49,13 +49,13 @@
 	struct_sigevent sev = {
 		.sigev_notify = 0xdefaced,
 		.sigev_signo = 0xfacefeed,
-		.sigev_value.sival_ptr = (unsigned long) 0xdeadbeefbadc0ded
+		.sigev_value.sival_ptr = (unsigned long) 0xdeadbeefbadc0dedULL
 	};
 
 	syscall(__NR_timer_create, CLOCK_REALTIME, &sev, NULL);
-	printf("timer_create(CLOCK_REALTIME, {sigev_value={int=%d, ptr=%#lx}"
-	       ", sigev_signo=%u, sigev_notify=%#x /* SIGEV_??? */}"
-	       ", NULL) = -1 %s (%m)\n",
+	printf("timer_create(CLOCK_REALTIME, {sigev_value={sival_int=%d, "
+	       "sival_ptr=%#lx}, sigev_signo=%u, "
+	       "sigev_notify=%#x /* SIGEV_??? */}, NULL) = -1 %s (%m)\n",
 	       sev.sigev_value.sival_int,
 	       sev.sigev_value.sival_ptr,
 	       sev.sigev_signo, sev.sigev_notify,
@@ -64,8 +64,9 @@
 	sev.sigev_notify = SIGEV_NONE;
 	if (syscall(__NR_timer_create, CLOCK_REALTIME, &sev, &tid[0]))
 		perror_msg_and_skip("timer_create CLOCK_REALTIME");
-	printf("timer_create(CLOCK_REALTIME, {sigev_value={int=%d, ptr=%#lx}"
-	       ", sigev_signo=%u, sigev_notify=SIGEV_NONE}, [%d]) = 0\n",
+	printf("timer_create(CLOCK_REALTIME, {sigev_value={sival_int=%d, "
+	       "sival_ptr=%#lx}, sigev_signo=%u, sigev_notify=SIGEV_NONE}, "
+	       "[%d]) = 0\n",
 	       sev.sigev_value.sival_int,
 	       sev.sigev_value.sival_ptr,
 	       sev.sigev_signo, tid[0]);
@@ -74,19 +75,21 @@
 	sev.sigev_signo = SIGALRM;
 	if (syscall(__NR_timer_create, CLOCK_MONOTONIC, &sev, &tid[1]))
 		perror_msg_and_skip("timer_create CLOCK_MONOTONIC");
-	printf("timer_create(CLOCK_MONOTONIC, {sigev_value={int=%d, ptr=%#lx}"
-	       ", sigev_signo=SIGALRM, sigev_notify=SIGEV_SIGNAL}"
-	       ", [%d]) = 0\n",
+	printf("timer_create(CLOCK_MONOTONIC, {sigev_value={sival_int=%d, "
+	       "sival_ptr=%#lx}, sigev_signo=SIGALRM, "
+	       "sigev_notify=SIGEV_SIGNAL}, [%d]) = 0\n",
 	       sev.sigev_value.sival_int,
 	       sev.sigev_value.sival_ptr, tid[1]);
 
 	sev.sigev_notify = SIGEV_THREAD;
-	sev.sigev_un.sigev_thread.function = (unsigned long) 0xdeadbeefbadc0ded;
-	sev.sigev_un.sigev_thread.attribute = (unsigned long) 0xcafef00dfacefeed;
+	sev.sigev_un.sigev_thread.function =
+		(unsigned long) 0xdeadbeefbadc0dedULL;
+	sev.sigev_un.sigev_thread.attribute =
+		(unsigned long) 0xcafef00dfacefeedULL;
 	if (syscall(__NR_timer_create, CLOCK_REALTIME, &sev, &tid[2]))
 		perror_msg_and_skip("timer_create CLOCK_REALTIME");
-	printf("timer_create(CLOCK_REALTIME, {sigev_value={int=%d, ptr=%#lx}"
-	       ", sigev_signo=SIGALRM, sigev_notify=SIGEV_THREAD"
+	printf("timer_create(CLOCK_REALTIME, {sigev_value={sival_int=%d, "
+	       "sival_ptr=%#lx}, sigev_signo=SIGALRM, sigev_notify=SIGEV_THREAD"
 	       ", sigev_notify_function=%#lx, sigev_notify_attributes=%#lx}"
 	       ", [%d]) = 0\n",
 	       sev.sigev_value.sival_int,
@@ -102,9 +105,9 @@
 	sev.sigev_un.tid = getpid();
 	if (syscall(__NR_timer_create, CLOCK_MONOTONIC, &sev, &tid[3]))
 		perror_msg_and_skip("timer_create CLOCK_MONOTONIC");
-	printf("timer_create(CLOCK_MONOTONIC, {sigev_value={int=%d, ptr=%#lx}"
-	       ", sigev_signo=SIGALRM, sigev_notify=SIGEV_THREAD_ID"
-	       ", sigev_notify_thread_id=%d}"
+	printf("timer_create(CLOCK_MONOTONIC, {sigev_value={sival_int=%d, "
+	       "sival_ptr=%#lx}, sigev_signo=SIGALRM, "
+	       "sigev_notify=SIGEV_THREAD_ID, sigev_notify_thread_id=%d}"
 	       ", [%d]) = 0\n",
 	       sev.sigev_value.sival_int,
 	       sev.sigev_value.sival_ptr,
diff --git a/tests/timer_xettime.c b/tests/timer_xettime.c
index 877f717..9eabbf0 100644
--- a/tests/timer_xettime.c
+++ b/tests/timer_xettime.c
@@ -75,8 +75,10 @@
 	if (syscall(__NR_timer_settime, tid, 0, &new.its, &old.its))
 		perror_msg_and_skip("timer_settime");
 	printf("timer_settime(%d, 0"
-	       ", {it_interval={%jd, %jd}, it_value={%jd, %jd}}"
-	       ", {it_interval={%jd, %jd}, it_value={%jd, %jd}}"
+	       ", {it_interval={tv_sec=%jd, tv_nsec=%jd}"
+	       ", it_value={tv_sec=%jd, tv_nsec=%jd}}"
+	       ", {it_interval={tv_sec=%jd, tv_nsec=%jd}"
+	       ", it_value={tv_sec=%jd, tv_nsec=%jd}}"
 	       ") = 0\n",
 	       tid,
 	       (intmax_t) new.its.it_interval.tv_sec,
@@ -91,8 +93,8 @@
 	if (syscall(__NR_timer_gettime, tid, &old.its))
 		perror_msg_and_skip("timer_gettime");
 	printf("timer_gettime(%d"
-	       ", {it_interval={%jd, %jd}, it_value={%jd, %jd}}"
-	       ") = 0\n",
+	       ", {it_interval={tv_sec=%jd, tv_nsec=%jd}"
+	       ", it_value={tv_sec=%jd, tv_nsec=%jd}}) = 0\n",
 	       tid,
 	       (intmax_t) old.its.it_interval.tv_sec,
 	       (intmax_t) old.its.it_interval.tv_nsec,
diff --git a/tests/timerfd_xettime.c b/tests/timerfd_xettime.c
index 2742ec2..ca7124e 100644
--- a/tests/timerfd_xettime.c
+++ b/tests/timerfd_xettime.c
@@ -67,8 +67,10 @@
 	if (syscall(__NR_timerfd_settime, 0, 0, &new.its, &old.its))
 		perror_msg_and_skip("timerfd_settime");
 	printf("timerfd_settime(0, 0"
-	       ", {it_interval={%jd, %jd}, it_value={%jd, %jd}}"
-	       ", {it_interval={%jd, %jd}, it_value={%jd, %jd}}"
+	       ", {it_interval={tv_sec=%jd, tv_nsec=%jd}"
+	       ", it_value={tv_sec=%jd, tv_nsec=%jd}}"
+	       ", {it_interval={tv_sec=%jd, tv_nsec=%jd}"
+	       ", it_value={tv_sec=%jd, tv_nsec=%jd}}"
 	       ") = 0\n",
 	       (intmax_t) new.its.it_interval.tv_sec,
 	       (intmax_t) new.its.it_interval.tv_nsec,
@@ -82,8 +84,8 @@
 	if (syscall(__NR_timerfd_gettime, 0, &old.its))
 		perror_msg_and_skip("timerfd_gettime");
 	printf("timerfd_gettime(0"
-	       ", {it_interval={%jd, %jd}, it_value={%jd, %jd}}"
-	       ") = 0\n",
+	       ", {it_interval={tv_sec=%jd, tv_nsec=%jd}"
+	       ", it_value={tv_sec=%jd, tv_nsec=%jd}}) = 0\n",
 	       (intmax_t) old.its.it_interval.tv_sec,
 	       (intmax_t) old.its.it_interval.tv_nsec,
 	       (intmax_t) old.its.it_value.tv_sec,
diff --git a/tests/times.c b/tests/times.c
index 18b209b..2c7b95e 100644
--- a/tests/times.c
+++ b/tests/times.c
@@ -53,7 +53,7 @@
 {
 	struct timespec ts;
 	volatile int dummy = 0;
-	int i;
+	int i = 0;
 
 	pid_t pid = fork();
 	if (pid < 0)
@@ -67,6 +67,9 @@
 		if (ts.tv_sec || ts.tv_nsec >= cputime_limit)
 			break;
 
+		if (i && !(ts.tv_sec || ts.tv_nsec))
+			error_msg_and_skip("clock_gettime(CLOCK_PROCESS_CPUTIME_ID, {0, 0})");
+
 		for (i = 0; i < NUM_USER_ITERS; ++i)
 			++dummy;
 	}
diff --git a/tests/truncate.c b/tests/truncate.c
index 3f16aef..d952933 100644
--- a/tests/truncate.c
+++ b/tests/truncate.c
@@ -32,7 +32,6 @@
 
 # include <stdio.h>
 # include <unistd.h>
-# include "kernel_types.h"
 
 int
 main(void)
diff --git a/tests/truncate64.c b/tests/truncate64.c
index c4a524d..8c29ea8 100644
--- a/tests/truncate64.c
+++ b/tests/truncate64.c
@@ -38,7 +38,7 @@
 {
 	static const char fname[] = "truncate64\nfilename";
 	static const char qname[] = "truncate64\\nfilename";
-	const off_t len = 0xdefaceddeadbeef;
+	const off_t len = 0xdefaceddeadbeefULL;
 
 	int rc = truncate(fname, len);
 	printf("truncate64(\"%s\", %llu) = %d %s (%m)\n",
diff --git a/tests/umode_t.c b/tests/umode_t.c
index 7ab27dc..5041638 100644
--- a/tests/umode_t.c
+++ b/tests/umode_t.c
@@ -43,7 +43,7 @@
 static void
 test_syscall(unsigned short mode)
 {
-	unsigned long lmode = (unsigned long) 0xffffffffffff0000 | mode;
+	unsigned long lmode = (unsigned long) 0xffffffffffff0000ULL | mode;
 	long rc = syscall(TEST_SYSCALL_NR, TEST_SYSCALL_PREFIX_ARGS
 			  sample, lmode);
 
diff --git a/tests/umoven-illptr.c b/tests/umoven-illptr.c
new file mode 100644
index 0000000..4deee16
--- /dev/null
+++ b/tests/umoven-illptr.c
@@ -0,0 +1,57 @@
+/*
+ * Check decoding of invalid pointer by umoven.
+ *
+ * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <stdio.h>
+#include <time.h>
+#include <unistd.h>
+#include <asm/unistd.h>
+
+int
+main(void)
+{
+	if (F8ILL_KULONG_SUPPORTED) {
+		struct timespec ts = { 0, 0 };
+		const void *const p = tail_memdup(&ts, sizeof(ts));
+
+		long rc = syscall(__NR_nanosleep, p, NULL);
+		printf("nanosleep({tv_sec=0, tv_nsec=0}, NULL) = %s\n",
+		       sprintrc(rc));
+
+		const kernel_ulong_t ill = f8ill_ptr_to_kulong(p);
+		rc = syscall(__NR_nanosleep, ill, NULL);
+		printf("nanosleep(%#llx, NULL) = %s\n",
+		       (unsigned long long) ill, sprintrc(rc));
+
+		puts("+++ exited with 0 +++");
+		return 0;
+	} else {
+		return 77;
+	}
+}
diff --git a/tests/umoven-illptr.test b/tests/umoven-illptr.test
new file mode 100755
index 0000000..7b8cb31
--- /dev/null
+++ b/tests/umoven-illptr.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of invalid pointer by umoven.
+. "${srcdir=.}/init.sh"
+
+run_strace_match_diff -a36 -e trace=nanosleep
diff --git a/tests/umovestr-illptr.c b/tests/umovestr-illptr.c
new file mode 100644
index 0000000..dea6885
--- /dev/null
+++ b/tests/umovestr-illptr.c
@@ -0,0 +1,53 @@
+/*
+ * Check decoding of invalid pointer by umovestr.
+ *
+ * Copyright (c) 2016 Dmitry V. Levin <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <stdio.h>
+#include <unistd.h>
+#include <asm/unistd.h>
+
+int
+main(void)
+{
+	if (F8ILL_KULONG_SUPPORTED) {
+		const void *const p = tail_memdup(".", 2);
+		long rc = syscall(__NR_chdir, p);
+		printf("chdir(\".\") = %s\n", sprintrc(rc));
+
+		const kernel_ulong_t ill = f8ill_ptr_to_kulong(p);
+		rc = syscall(__NR_chdir, ill);
+		printf("chdir(%#llx) = %s\n",
+		       (unsigned long long) ill, sprintrc(rc));
+
+		puts("+++ exited with 0 +++");
+		return 0;
+	} else {
+		return 77;
+	}
+}
diff --git a/tests/umovestr-illptr.test b/tests/umovestr-illptr.test
new file mode 100755
index 0000000..6f1cc86
--- /dev/null
+++ b/tests/umovestr-illptr.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of invalid pointer by umovestr.
+. "${srcdir=.}/init.sh"
+
+run_strace_match_diff -a11 -e trace=chdir
diff --git a/tests/unlinkat.c b/tests/unlinkat.c
index 0b69b03..22c3de3 100644
--- a/tests/unlinkat.c
+++ b/tests/unlinkat.c
@@ -10,7 +10,7 @@
 main(void)
 {
 	static const char sample[] = "unlinkat_sample";
-	const long fd = (long) 0xdeadbeefffffffff;
+	const long fd = (long) 0xdeadbeefffffffffULL;
 
 	long rc = syscall(__NR_unlinkat, fd, sample, 0);
 	printf("unlinkat(%d, \"%s\", 0) = %ld %s (%m)\n",
diff --git a/tests/unshare.c b/tests/unshare.c
new file mode 100644
index 0000000..5aedde4
--- /dev/null
+++ b/tests/unshare.c
@@ -0,0 +1,80 @@
+/*
+ * Check decoding of unshare syscall.
+ *
+ * Copyright (c) 2016 Eugene Syromyatnikov <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+
+#include <asm/unistd.h>
+
+#ifdef __NR_unshare
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+	static const kernel_ulong_t bogus_flags =
+		(kernel_ulong_t) 0xbadc0ded0000000fULL;
+
+	static struct {
+		kernel_ulong_t val;
+		const char *str;
+	} unshare_flags[] = {
+		{ ARG_STR(0) },
+		{ 0xdeadca75,
+			"CLONE_THREAD|CLONE_FS|CLONE_SIGHAND|CLONE_SYSVSEM|"
+			"CLONE_NEWUTS|CLONE_NEWIPC|CLONE_NEWNET|CLONE_NEWUSER|"
+			"CLONE_NEWCGROUP|0x80a8c075" },
+		{ 0x2000000, "CLONE_NEWCGROUP" },
+		{ ARG_STR(0x81f8f0ff) " /* CLONE_??? */" },
+	};
+
+	long rc;
+	unsigned int i;
+
+	rc = syscall(__NR_unshare, bogus_flags);
+	printf("unshare(%#llx /* CLONE_??? */) = %s\n",
+	       (unsigned long long) bogus_flags, sprintrc(rc));
+
+	for (i = 0; i < ARRAY_SIZE(unshare_flags); i++) {
+		rc = syscall(__NR_unshare, unshare_flags[i].val);
+		printf("unshare(%s) = %s\n",
+		       unshare_flags[i].str, sprintrc(rc));
+	}
+
+	puts("+++ exited with 0 +++");
+
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_unshare");
+
+#endif
diff --git a/tests/unshare.test b/tests/unshare.test
new file mode 100755
index 0000000..ccb9575
--- /dev/null
+++ b/tests/unshare.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check decoding of setns syscall.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a11
diff --git a/tests/userfaultfd.c b/tests/userfaultfd.c
index 254b84e..60432fa 100644
--- a/tests/userfaultfd.c
+++ b/tests/userfaultfd.c
@@ -28,6 +28,7 @@
 #include "tests.h"
 #include <fcntl.h>
 #include <asm/unistd.h>
+#include "scno.h"
 
 #if defined __NR_userfaultfd && defined O_CLOEXEC
 
diff --git a/tests/ustat.c b/tests/ustat.c
new file mode 100644
index 0000000..57bb29c
--- /dev/null
+++ b/tests/ustat.c
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2017 JingPiao Chen <[email protected]>
+ * 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.
+ */
+
+#include "tests.h"
+#include <asm/unistd.h>
+
+#ifdef __NR_ustat
+
+# include <stdio.h>
+# include <sys/stat.h>
+# include <sys/sysmacros.h>
+# include <unistd.h>
+# ifdef HAVE_USTAT_H
+#  include <ustat.h>
+# endif
+
+int
+main(void)
+{
+	const kernel_ulong_t magic = (kernel_ulong_t) 0xfacefeedffffffff;
+	unsigned long long buf[4];
+	unsigned int dev;
+	long rc;
+
+# ifdef HAVE_USTAT_H
+	struct ustat *const ust = tail_alloc(sizeof(*ust));
+	struct stat st;
+	if (stat(".", &st))
+		perror_msg_and_fail("stat");
+
+	dev = (unsigned int) st.st_dev;
+	rc = syscall(__NR_ustat, dev, ust);
+	if (rc)
+		printf("ustat(makedev(%u, %u), %p) = %s\n",
+		       major(dev), minor(dev), ust, sprintrc(rc));
+	else
+		printf("ustat(makedev(%u, %u)"
+		       ", {f_tfree=%llu, f_tinode=%llu}) = 0\n",
+		       major(dev), minor(dev),
+		       zero_extend_signed_to_ull(ust->f_tfree),
+		       zero_extend_signed_to_ull(ust->f_tinode));
+# endif /* HAVE_USTAT_H */
+
+	dev = (unsigned int) magic;
+	rc = syscall(__NR_ustat, magic, 0);
+	printf("ustat(makedev(%u, %u), NULL) = %s\n",
+	       major(dev), minor(dev), sprintrc(rc));
+
+	rc = syscall(__NR_ustat, magic, buf);
+	printf("ustat(makedev(%u, %u), %p) = %s\n",
+	       major(dev), minor(dev), buf, sprintrc(rc));
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_ustat")
+
+#endif
diff --git a/tests/ustat.test b/tests/ustat.test
new file mode 100755
index 0000000..60a88e0
--- /dev/null
+++ b/tests/ustat.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check ustat syscall decoding.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a33
diff --git a/tests/utime.c b/tests/utime.c
index ef40d1b..8fd594f 100644
--- a/tests/utime.c
+++ b/tests/utime.c
@@ -1,5 +1,5 @@
 /*
- * This file is part of utime strace test.
+ * Check decoding of utime syscall.
  *
  * Copyright (c) 2015-2016 Dmitry V. Levin <[email protected]>
  * All rights reserved.
@@ -28,38 +28,70 @@
  */
 
 #include "tests.h"
-#include <time.h>
-#include <utime.h>
-#include <errno.h>
-#include <stdio.h>
+#include <asm/unistd.h>
+
+#ifdef __NR_utime
+
+# include <time.h>
+# include <utime.h>
+# include <errno.h>
+# include <stdio.h>
+# include <unistd.h>
+
 
 static void
 print_tm(const struct tm * const p)
 {
-	printf("%02d/%02d/%02d-%02d:%02d:%02d",
-	       p->tm_year + 1900, p->tm_mon + 1, p->tm_mday,
-	       p->tm_hour, p->tm_min, p->tm_sec);
+	char buf[256];
+
+	strftime(buf, sizeof(buf), "%FT%T%z", p);
+
+	printf("%s", buf);
+}
+
+static long
+k_utime(const void *const filename, const void *const times)
+{
+	return syscall(__NR_utime, filename, times);
 }
 
 int
 main(void)
 {
-	int rc = utime("", NULL);
-	printf("utime(\"\", NULL) = %s\n", sprintrc(rc));
+	static const char *const dummy_str = "dummy filename";
 
 	const time_t t = time(NULL);
 	const struct tm * const p = localtime(&t);
 	const struct utimbuf u = { .actime = t, .modtime = t };
-	const struct utimbuf const *tail_u = tail_memdup(&u, sizeof(u));
+	const struct utimbuf *const tail_u = tail_memdup(&u, sizeof(u));
+	const char *const dummy_filename =
+		tail_memdup(dummy_str, sizeof(dummy_str) - 1);
 
-	rc = utime("utime\nfilename", tail_u);
+	long rc = k_utime("", NULL);
+	printf("utime(\"\", NULL) = %s\n", sprintrc(rc));
+
+	rc = k_utime(dummy_filename + sizeof(dummy_str), tail_u + 1);
+	printf("utime(%p, %p) = %s\n", dummy_filename + sizeof(dummy_str),
+	       tail_u + 1, sprintrc(rc));
+
+	rc = k_utime(dummy_filename, (struct tm *) tail_u + 1);
+	printf("utime(%p, %p) = %s\n",
+	       dummy_filename, (struct tm *) tail_u + 1, sprintrc(rc));
+
+	rc = k_utime("utime\nfilename", tail_u);
 	const char *errstr = sprintrc(rc);
-	printf("utime(\"utime\\nfilename\", [");
+	printf("utime(\"utime\\nfilename\", {actime=");
 	print_tm(p);
-	printf(", ");
+	printf(", modtime=");
 	print_tm(p);
-	printf("]) = %s\n", errstr);
+	printf("}) = %s\n", errstr);
 
 	puts("+++ exited with 0 +++");
 	return 0;
 }
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_utime")
+
+#endif
diff --git a/tests/utime.test b/tests/utime.test
index 4cb95ea..bd64c53 100755
--- a/tests/utime.test
+++ b/tests/utime.test
@@ -1,22 +1,6 @@
 #!/bin/sh
 
 # Check decoding of utime syscall.
-
 . "${srcdir=.}/init.sh"
 
-$STRACE -e utime -h > /dev/null ||
-	        skip_ 'utime syscall is not supported on this architecture'
-
-run_prog > /dev/null
-run_strace -a 16 -e utime $args > "$OUT"
-
-check_prog grep
-LC_ALL=C grep -x "utime(.*" "$LOG" > /dev/null || {
-	rm -f "$OUT"
-	skip_ 'test executable does not use utime syscall'
-}
-match_diff "$LOG" "$OUT"
-
-rm -f "$OUT"
-
-exit 0
+run_strace_match_diff -a 16 -e trace=utime
diff --git a/tests/utimensat.c b/tests/utimensat.c
index 24e9106..6d9faac 100644
--- a/tests/utimensat.c
+++ b/tests/utimensat.c
@@ -43,7 +43,8 @@
 static void
 print_ts(const struct timespec *ts)
 {
-	printf("{%ju, %ju}", (uintmax_t) ts->tv_sec, (uintmax_t) ts->tv_nsec);
+	printf("{tv_sec=%ju, tv_nsec=%ju}", (uintmax_t) ts->tv_sec,
+		(uintmax_t) ts->tv_nsec);
 }
 
 int
diff --git a/tests/utimes.c b/tests/utimes.c
index 401d18a..bbfa031 100644
--- a/tests/utimes.c
+++ b/tests/utimes.c
@@ -32,15 +32,11 @@
 
 #ifdef __NR_utimes
 
+# include <stdint.h>
 # include <stdio.h>
 # include <sys/time.h>
 # include <unistd.h>
 
-#define CAST_NUM(n)						\
-	(sizeof(n) == sizeof(long) ?				\
-		(unsigned long long) (unsigned long) (n) :	\
-		(unsigned long long) (n))
-
 int
 main(void)
 {
@@ -56,20 +52,25 @@
 
 	struct timeval *const ts = tail_alloc(sizeof(*ts) * 2);
 
-	rc = syscall(__NR_utimes, 0, ts + 1);
-	printf("utimes(NULL, %p) = %ld %s (%m)\n",
-	       ts + 1, rc, errno2name());
-
 	ts[0].tv_sec = tv.tv_sec;
 	ts[0].tv_usec = tv.tv_usec;
 	ts[1].tv_sec = tv.tv_sec - 1;
 	ts[1].tv_usec = tv.tv_usec + 1;
 
+	rc = syscall(__NR_utimes, 0, ts + 2);
+	printf("utimes(NULL, %p) = %ld %s (%m)\n", ts + 2, rc, errno2name());
+
+	rc = syscall(__NR_utimes, 0, ts + 1);
+	printf("utimes(NULL, [{tv_sec=%jd, tv_usec=%jd}, %p]) = "
+	       "%ld %s (%m)\n",
+	       (intmax_t) ts[1].tv_sec, (intmax_t) ts[1].tv_usec,
+	       ts + 2, rc, errno2name());
+
 	rc = syscall(__NR_utimes, "", ts);
-	printf("utimes(\"\", [{%llu, %llu}, {%llu, %llu}])"
-	       " = %ld %s (%m)\n",
-	       CAST_NUM(ts[0].tv_sec), CAST_NUM(ts[0].tv_usec),
-	       CAST_NUM(ts[1].tv_sec), CAST_NUM(ts[1].tv_usec),
+	printf("utimes(\"\", [{tv_sec=%jd, tv_usec=%jd}, "
+	       "{tv_sec=%jd, tv_usec=%jd}]) = %ld %s (%m)\n",
+	       (intmax_t) ts[0].tv_sec, (intmax_t) ts[0].tv_usec,
+	       (intmax_t) ts[1].tv_sec, (intmax_t) ts[1].tv_usec,
 	       rc, errno2name());
 
 	puts("+++ exited with 0 +++");
diff --git a/tests/wait4.c b/tests/wait4.c
index 2d316aa..ccb3ebb 100644
--- a/tests/wait4.c
+++ b/tests/wait4.c
@@ -40,8 +40,8 @@
 {
 	static char buf[1024];
 	snprintf(buf, sizeof(buf),
-		 "{ru_utime={%lu, %lu}"
-		 ", ru_stime={%lu, %lu}"
+		 "{ru_utime={tv_sec=%lu, tv_usec=%lu}"
+		 ", ru_stime={tv_sec=%lu, tv_usec=%lu}"
 #if VERBOSE
 		 ", ru_maxrss=%lu"
 		 ", ru_ixrss=%lu"
diff --git a/tests/waitid.c b/tests/waitid.c
index b379f1a..6a10299 100644
--- a/tests/waitid.c
+++ b/tests/waitid.c
@@ -42,8 +42,8 @@
 {
 	static char buf[1024];
 	snprintf(buf, sizeof(buf),
-		 "{ru_utime={%llu, %llu}"
-		 ", ru_stime={%llu, %llu}"
+		 "{ru_utime={tv_sec=%lld, tv_usec=%lld}"
+		 ", ru_stime={tv_sec=%lld, tv_usec=%lld}"
 #if VERBOSE
 		 ", ru_maxrss=%llu"
 		 ", ru_ixrss=%llu"
@@ -62,10 +62,10 @@
 #else
 		 ", ...}"
 #endif
-		 , zero_extend_signed_to_ull(ru->ru_utime.tv_sec)
-		 , zero_extend_signed_to_ull(ru->ru_utime.tv_usec)
-		 , zero_extend_signed_to_ull(ru->ru_stime.tv_sec)
-		 , zero_extend_signed_to_ull(ru->ru_stime.tv_usec)
+		 , (long long) ru->ru_utime.tv_sec
+		 , (long long) ru->ru_utime.tv_usec
+		 , (long long) ru->ru_stime.tv_sec
+		 , (long long) ru->ru_stime.tv_usec
 #if VERBOSE
 		 , zero_extend_signed_to_ull(ru->ru_maxrss)
 		 , zero_extend_signed_to_ull(ru->ru_ixrss)
@@ -138,13 +138,13 @@
 static unsigned long
 poison(unsigned int v)
 {
-	return (unsigned long) 0xfacefeed00000000 | v;
+	return (unsigned long) 0xfacefeed00000000ULL | v;
 }
 
 static long
 do_waitid(const unsigned int idtype,
 	  const unsigned int id,
-	  const siginfo_t const *infop,
+	  const siginfo_t *const infop,
 	  const unsigned int options,
 	  const struct rusage *const rusage)
 {
diff --git a/tests/waitpid.c b/tests/waitpid.c
index dbcdf87..2e22e24 100644
--- a/tests/waitpid.c
+++ b/tests/waitpid.c
@@ -40,7 +40,7 @@
 main(void)
 {
 	unsigned long pid =
-		(unsigned long) 0xdefaced00000000 | (unsigned) getpid();
+		(unsigned long) 0xdefaced00000000ULL | (unsigned) getpid();
 	long rc = syscall(__NR_waitpid, pid, 0L, (unsigned long) WNOHANG);
 	printf("waitpid(%d, NULL, WNOHANG) = %ld %s (%m)\n",
 	       (int) pid, rc, errno2name());
diff --git a/tests/xattr-strings.c b/tests/xattr-strings.c
new file mode 100644
index 0000000..310929a
--- /dev/null
+++ b/tests/xattr-strings.c
@@ -0,0 +1,30 @@
+#include "tests.h"
+
+#ifdef HAVE_SYS_XATTR_H
+
+# include <stdio.h>
+# include <sys/xattr.h>
+
+int
+main(void)
+{
+	static const char name[] = "strace.test";
+	static const char c_value[] = "foobar";
+
+	const char *const z_value = tail_memdup(c_value, sizeof(c_value));
+	long rc;
+
+	rc = fsetxattr(-1, name, z_value, sizeof(c_value), XATTR_REPLACE);
+	printf("fsetxattr(-1, \"%.*s\"..., \"%.*s\"..., %u, XATTR_REPLACE) = %s\n",
+	       4, name, 4, c_value, (unsigned) sizeof(c_value), sprintrc(rc));
+
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("HAVE_SYS_XATTR_H")
+
+#endif
diff --git a/tests/xattr-strings.test b/tests/xattr-strings.test
new file mode 100755
index 0000000..25ef360
--- /dev/null
+++ b/tests/xattr-strings.test
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+# Check *xattr syscalls decoding when limiting string size.
+
+. "${srcdir=.}/init.sh"
+
+run_strace_match_diff -a22 -s 4 -e trace=fsetxattr
diff --git a/tests/xattr.c b/tests/xattr.c
index 877552f..a772ece 100644
--- a/tests/xattr.c
+++ b/tests/xattr.c
@@ -36,6 +36,8 @@
 #  define XATTR_SIZE_MAX 65536
 # endif
 
+#define DEFAULT_STRLEN 32
+
 int
 main(void)
 {
@@ -110,9 +112,13 @@
 	if (rc < 0)
 		printf("%p", big);
 	else {
+		const int ellipsis = rc > DEFAULT_STRLEN;
+
 		putchar('"');
-		print_quoted_memory(big, rc);
+		print_quoted_memory(big, ellipsis ? DEFAULT_STRLEN : rc);
 		putchar('"');
+		if (ellipsis)
+			fputs("...", stdout);
 	}
 	printf(", %u) = %s\n", XATTR_SIZE_MAX + 1, errstr);
 
diff --git a/tests/xet_robust_list.c b/tests/xet_robust_list.c
index f834930..211dec4 100644
--- a/tests/xet_robust_list.c
+++ b/tests/xet_robust_list.c
@@ -33,6 +33,19 @@
 # include <stdio.h>
 # include <unistd.h>
 
+static const char *
+sprintaddr(void *addr)
+{
+	static char buf[sizeof(addr) * 2 + sizeof("0x")];
+
+	if (!addr)
+		return "NULL";
+	else
+		snprintf(buf, sizeof(buf), "%p", addr);
+
+	return buf;
+}
+
 int
 main(void)
 {
@@ -43,8 +56,8 @@
 
 	if (syscall(__NR_get_robust_list, long_pid, p_head, p_len))
 		perror_msg_and_skip("get_robust_list");
-	printf("get_robust_list(%d, [%#lx], [%lu]) = 0\n",
-	       (int) pid, (unsigned long) *p_head, (unsigned long) *p_len);
+	printf("get_robust_list(%d, [%s], [%lu]) = 0\n",
+	       (int) pid, sprintaddr(*p_head), (unsigned long) *p_len);
 
 	void *head = tail_alloc(*p_len);
 	if (syscall(__NR_set_robust_list, head, *p_len))
@@ -54,8 +67,8 @@
 
 	if (syscall(__NR_get_robust_list, long_pid, p_head, p_len))
 		perror_msg_and_skip("get_robust_list");
-	printf("get_robust_list(%d, [%#lx], [%lu]) = 0\n",
-	       (int) pid, (unsigned long) *p_head, (unsigned long) *p_len);
+	printf("get_robust_list(%d, [%s], [%lu]) = 0\n",
+	       (int) pid, sprintaddr(*p_head), (unsigned long) *p_len);
 
 	puts("+++ exited with 0 +++");
 	return 0;
diff --git a/tests/xetitimer.c b/tests/xetitimer.c
index 9c9fd99..4b17edd 100644
--- a/tests/xetitimer.c
+++ b/tests/xetitimer.c
@@ -49,9 +49,10 @@
 	if (setitimer(ITIMER_REAL, &new.itv, &old.itv))
 		perror_msg_and_skip("setitimer");
 	printf("setitimer(ITIMER_REAL"
-	       ", {it_interval={%jd, %jd}, it_value={%jd, %jd}}"
-	       ", {it_interval={%jd, %jd}, it_value={%jd, %jd}}"
-	       ") = 0\n",
+	       ", {it_interval={tv_sec=%jd, tv_usec=%jd}, "
+	       "it_value={tv_sec=%jd, tv_usec=%jd}}"
+	       ", {it_interval={tv_sec=%jd, tv_usec=%jd}, "
+	       "it_value={tv_sec=%jd, tv_usec=%jd}}) = 0\n",
 	       (intmax_t) new.itv.it_interval.tv_sec,
 	       (intmax_t) new.itv.it_interval.tv_usec,
 	       (intmax_t) new.itv.it_value.tv_sec,
@@ -64,8 +65,8 @@
 	if (getitimer(ITIMER_REAL, &old.itv))
 		perror_msg_and_skip("getitimer");
 	printf("getitimer(ITIMER_REAL"
-	       ", {it_interval={%jd, %jd}, it_value={%jd, %jd}}"
-	       ") = 0\n",
+	       ", {it_interval={tv_sec=%jd, tv_usec=%jd}, "
+	       "it_value={tv_sec=%jd, tv_usec=%jd}}) = 0\n",
 	       (intmax_t) old.itv.it_interval.tv_sec,
 	       (intmax_t) old.itv.it_interval.tv_usec,
 	       (intmax_t) old.itv.it_value.tv_sec,
diff --git a/tests/xetpgid.c b/tests/xetpgid.c
index d4d5545..24e0d7f 100644
--- a/tests/xetpgid.c
+++ b/tests/xetpgid.c
@@ -40,12 +40,12 @@
 {
 	const int pid = getpid();
 	long rc = syscall(__NR_getpgid,
-			  (unsigned long) 0xffffffff00000000 | pid);
+			  (unsigned long) 0xffffffff00000000ULL | pid);
 	printf("getpgid(%d) = %ld\n", pid, rc);
 
 	rc = syscall(__NR_setpgid,
-		     (unsigned long) 0xffffffff00000000,
-		     (unsigned long) 0xffffffff00000000 | pid);
+		     (unsigned long) 0xffffffff00000000ULL,
+		     (unsigned long) 0xffffffff00000000ULL | pid);
 	printf("setpgid(0, %d) = %ld\n", pid, rc);
 
 	puts("+++ exited with 0 +++");
diff --git a/tests/xetpriority.c b/tests/xetpriority.c
index dfd3264..ed55259 100644
--- a/tests/xetpriority.c
+++ b/tests/xetpriority.c
@@ -12,12 +12,12 @@
 {
 	const int pid = getpid();
 	long rc = syscall(__NR_getpriority, PRIO_PROCESS,
-			  (unsigned long) 0xffffffff00000000 | pid);
+			  (unsigned long) 0xffffffff00000000ULL | pid);
 	printf("getpriority(PRIO_PROCESS, %d) = %ld\n", pid, rc);
 
 	rc = syscall(__NR_setpriority, PRIO_PROCESS,
-		     (unsigned long) 0xffffffff00000000 | pid,
-		     (unsigned long) 0xffffffff00000000);
+		     (unsigned long) 0xffffffff00000000ULL | pid,
+		     (unsigned long) 0xffffffff00000000ULL);
 	printf("setpriority(PRIO_PROCESS, %d, 0) = %s\n", pid, sprintrc(rc));
 
 	puts("+++ exited with 0 +++");
diff --git a/tests/xettimeofday.c b/tests/xettimeofday.c
index dd05091..d36c57b 100644
--- a/tests/xettimeofday.c
+++ b/tests/xettimeofday.c
@@ -48,12 +48,12 @@
 
 	if (syscall(__NR_gettimeofday, &t.tv, NULL))
 		perror_msg_and_skip("gettimeofday");
-	printf("gettimeofday({%jd, %jd}, NULL) = 0\n",
+	printf("gettimeofday({tv_sec=%jd, tv_usec=%jd}, NULL) = 0\n",
 	       (intmax_t) t.tv.tv_sec, (intmax_t) t.tv.tv_usec);
 
 	if (syscall(__NR_gettimeofday, &t.tv, &t.tz))
 		perror_msg_and_skip("gettimeofday");
-	printf("gettimeofday({%jd, %jd}"
+	printf("gettimeofday({tv_sec=%jd, tv_usec=%jd}"
 	       ", {tz_minuteswest=%d, tz_dsttime=%d}) = 0\n",
 	       (intmax_t) t.tv.tv_sec, (intmax_t) t.tv.tv_usec,
 	       t.tz.tz_minuteswest, t.tz.tz_dsttime);
@@ -61,7 +61,7 @@
 	t.tv.tv_sec = -1;
 	t.tv.tv_usec = 1000000000;
 	assert(syscall(__NR_settimeofday, &t.tv, &t.tz) == -1);
-	printf("settimeofday({%jd, %jd}"
+	printf("settimeofday({tv_sec=%jd, tv_usec=%jd}"
 	       ", {tz_minuteswest=%d, tz_dsttime=%d})"
 	       " = -1 EINVAL (%m)\n",
 	       (intmax_t) t.tv.tv_sec, (intmax_t) t.tv.tv_usec,
diff --git a/tests/xgetrlimit.c b/tests/xgetrlimit.c
index d787ce3..78d9cb9 100644
--- a/tests/xgetrlimit.c
+++ b/tests/xgetrlimit.c
@@ -33,7 +33,6 @@
 #include <sys/resource.h>
 #include <unistd.h>
 
-#include "kernel_types.h"
 #include "xlat.h"
 #include "xlat/resources.h"
 
@@ -68,7 +67,7 @@
 	const struct xlat *xlat;
 
 	for (xlat = resources; xlat->str; ++xlat) {
-		unsigned long res = 0xfacefeed00000000 | xlat->val;
+		unsigned long res = 0xfacefeed00000000ULL | xlat->val;
 		long rc = syscall(NR_GETRLIMIT, res, 0);
 		if (rc && ENOSYS == errno)
 			perror_msg_and_skip(STR_GETRLIMIT);
diff --git a/tests/xselect.c b/tests/xselect.c
index 08e29e1..39e87ac 100644
--- a/tests/xselect.c
+++ b/tests/xselect.c
@@ -72,8 +72,8 @@
 	FD_SET(fds[0], set);
 	FD_SET(fds[1], set);
 	assert(syscall(TEST_SYSCALL_NR, fds[1] + 1, NULL, set, NULL, &tm.tv) == 3);
-	printf("%s(%d, NULL, [1 2 %d %d], NULL, {%lld, %lld})"
-	       " = 3 (out [1 2 %d], left {%lld, %lld})\n",
+	printf("%s(%d, NULL, [1 2 %d %d], NULL, {tv_sec=%lld, tv_usec=%lld})"
+	       " = 3 (out [1 2 %d], left {tv_sec=%lld, tv_usec=%lld})\n",
 	       TEST_SYSCALL_STR, fds[1] + 1, fds[0], fds[1],
 	       (long long) tm_in.tv.tv_sec, (long long) tm_in.tv.tv_usec,
 	       fds[1],
@@ -97,7 +97,7 @@
 	tm.tv.tv_sec = 0;
 	tm.tv.tv_usec = 123;
 	assert(syscall(TEST_SYSCALL_NR, FD_SETSIZE + 1, set, set + 1, NULL, &tm.tv) == 0);
-	printf("%s(%d, [%d], [], NULL, {0, 123}) = 0 (Timeout)\n",
+	printf("%s(%d, [%d], [], NULL, {tv_sec=0, tv_usec=123}) = 0 (Timeout)\n",
 	       TEST_SYSCALL_STR, FD_SETSIZE + 1, fds[0]);
 
 	puts("+++ exited with 0 +++");
diff --git a/tests/xstatfsx.c b/tests/xstatfsx.c
index c5c04be..d8288f1 100644
--- a/tests/xstatfsx.c
+++ b/tests/xstatfsx.c
@@ -81,7 +81,7 @@
 	PRINT_NUM(f_files);
 	PRINT_NUM(f_ffree);
 #ifdef PRINT_F_FSID
-	printf(", f_fsid={%u, %u}",
+	printf(", f_fsid={val=[%u, %u]}",
 	       (unsigned) b->PRINT_F_FSID[0], (unsigned) b->PRINT_F_FSID[1]);
 #endif
 	PRINT_NUM(f_namelen);
@@ -110,7 +110,7 @@
 	printf("NULL) = %s\n", errstr);
 
 #ifdef CHECK_ODD_SIZE
-	const unsigned long addr = (unsigned long) 0xfacefeeddeadbeef;
+	const unsigned long addr = (unsigned long) 0xfacefeeddeadbeefULL;
 	rc = SYSCALL_INVOKE("", -1, addr, sizeof(STRUCT_STATFS) + 1);
 	errstr = sprintrc(rc);
 	PRINT_SYSCALL_HEADER("", -1, sizeof(STRUCT_STATFS) + 1);
diff --git a/tests/xstatx.c b/tests/xstatx.c
index 2d0dac3..0d5fca8 100644
--- a/tests/xstatx.c
+++ b/tests/xstatx.c
@@ -40,6 +40,7 @@
 #  error PRINT_SYSCALL_FOOTER must be defined
 # endif
 
+# include <errno.h>
 # include <stdio.h>
 # include <stddef.h>
 # include <time.h>
@@ -56,12 +57,15 @@
 
 	struct tm *p = localtime(&t);
 
-	if (p)
-		printf("%02d/%02d/%02d-%02d:%02d:%02d",
-		       p->tm_year + 1900, p->tm_mon + 1, p->tm_mday,
-		       p->tm_hour, p->tm_min, p->tm_sec);
-	else
+	if (p) {
+		char buf[256];
+
+		strftime(buf, sizeof(buf), "%FT%T%z", p);
+
+		printf("%s", buf);
+	} else {
 		printf("%llu", zero_extend_signed_to_ull(t));
+	}
 }
 
 # ifndef STRUCT_STAT
@@ -70,66 +74,60 @@
 #  define STRUCT_STAT_IS_STAT64 0
 # endif
 # ifndef SAMPLE_SIZE
-#  define SAMPLE_SIZE 43147718418
+#  define SAMPLE_SIZE ((libc_off_t) 43147718418ULL)
 # endif
 
 typedef off_t libc_off_t;
 
-# ifdef USE_ASM_STAT
-#  define stat libc_stat
-#  define stat64 libc_stat64
-# endif
+# define stat libc_stat
+# define stat64 libc_stat64
 # include <fcntl.h>
 # include <sys/stat.h>
-# ifdef USE_ASM_STAT
-#  undef stat
-#  undef stat64
+# undef stat
+# undef stat64
+
+# undef st_atime
+# undef st_mtime
+# undef st_ctime
+# include "asm_stat.h"
+
+# if STRUCT_STAT_IS_STAT64
+#  undef HAVE_STRUCT_STAT_ST_MTIME_NSEC
+#  if defined MPERS_IS_m32
+#   ifdef HAVE_M32_STRUCT_STAT64_ST_MTIME_NSEC
+#    define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1
+#   endif
+#  elif defined MPERS_IS_mx32
+#   ifdef HAVE_MX32_STRUCT_STAT64_ST_MTIME_NSEC
+#    define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1
+#   endif
+#  elif defined HAVE_STRUCT_STAT64_ST_MTIME_NSEC
+#   define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1
+#  endif /* MPERS_IS_m32 || MPERS_IS_mx32 || HAVE_STRUCT_STAT64_ST_MTIME_NSEC */
+# else /* !STRUCT_STAT_IS_STAT64 */
+#  if defined MPERS_IS_m32
+#   undef HAVE_STRUCT_STAT_ST_MTIME_NSEC
+#   ifdef HAVE_M32_STRUCT_STAT_ST_MTIME_NSEC
+#    define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1
+#   endif
+#  elif defined MPERS_IS_mx32
+#   undef HAVE_STRUCT_STAT_ST_MTIME_NSEC
+#   ifdef HAVE_MX32_STRUCT_STAT_ST_MTIME_NSEC
+#    define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1
+#   endif
+#  endif /*  MPERS_IS_m32 || MPERS_IS_mx32 */
+# endif /* STRUCT_STAT_IS_STAT64 */
+
+# ifndef TEST_BOGUS_STRUCT_STAT
+#  define TEST_BOGUS_STRUCT_STAT 1
 # endif
 
-# ifdef USE_ASM_STAT
-#  undef st_atime
-#  undef st_mtime
-#  undef st_ctime
-#  include "asm_stat.h"
+# ifndef IS_FSTAT
+#  define IS_FSTAT 0
+# endif
 
-#  if STRUCT_STAT_IS_STAT64
-#   undef HAVE_STRUCT_STAT_ST_MTIME_NSEC
-#   if defined MPERS_IS_m32
-#    ifdef HAVE_M32_STRUCT_STAT64_ST_MTIME_NSEC
-#     define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1
-#    endif
-#   elif defined MPERS_IS_mx32
-#    ifdef HAVE_MX32_STRUCT_STAT64_ST_MTIME_NSEC
-#     define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1
-#    endif
-#   elif defined HAVE_STRUCT_STAT64_ST_MTIME_NSEC
-#    define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1
-#   endif /* MPERS_IS_m32 || MPERS_IS_mx32 || HAVE_STRUCT_STAT64_ST_MTIME_NSEC */
-#  else /* !STRUCT_STAT_IS_STAT64 */
-#   if defined MPERS_IS_m32
-#    undef HAVE_STRUCT_STAT_ST_MTIME_NSEC
-#    ifdef HAVE_M32_STRUCT_STAT_ST_MTIME_NSEC
-#     define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1
-#    endif
-#   elif defined MPERS_IS_mx32
-#    undef HAVE_STRUCT_STAT_ST_MTIME_NSEC
-#    ifdef HAVE_MX32_STRUCT_STAT_ST_MTIME_NSEC
-#     define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1
-#    endif
-#   endif /*  MPERS_IS_m32 || MPERS_IS_mx32 */
-#  endif /* STRUCT_STAT_IS_STAT64 */
-
-# else /* !USE_ASM_STAT */
-#  undef HAVE_STRUCT_STAT_ST_MTIME_NSEC
-#  ifdef HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC
-#   define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1
-#   undef st_atime_nsec
-#   define st_atime_nsec st_atim.tv_nsec
-#   undef st_ctime_nsec
-#   define st_ctime_nsec st_ctim.tv_nsec
-#   undef st_mtime_nsec
-#   define st_mtime_nsec st_mtim.tv_nsec
-#  endif /* HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC */
+# ifndef OLD_STAT
+#  define OLD_STAT 0
 # endif
 
 static void
@@ -167,8 +165,12 @@
 	printf(", st_nlink=%llu", zero_extend_signed_to_ull(st->st_nlink));
 	printf(", st_uid=%llu", zero_extend_signed_to_ull(st->st_uid));
 	printf(", st_gid=%llu", zero_extend_signed_to_ull(st->st_gid));
+# if OLD_STAT
+	printf(", st_blksize=0, st_blocks=0");
+# else /* !OLD_STAT */
 	printf(", st_blksize=%llu", zero_extend_signed_to_ull(st->st_blksize));
 	printf(", st_blocks=%llu", zero_extend_signed_to_ull(st->st_blocks));
+# endif /* OLD_STAT */
 
 	switch (st->st_mode & S_IFMT) {
 	case S_IFCHR: case S_IFBLK:
@@ -182,19 +184,19 @@
 
 	printf(", st_atime=");
 	print_time(sign_extend_unsigned_to_ll(st->st_atime));
-# ifdef HAVE_STRUCT_STAT_ST_MTIME_NSEC
+# if defined(HAVE_STRUCT_STAT_ST_MTIME_NSEC) && !OLD_STAT
 	if (st->st_atime_nsec)
 		printf(".%09llu", zero_extend_signed_to_ull(st->st_atime_nsec));
 # endif
 	printf(", st_mtime=");
 	print_time(sign_extend_unsigned_to_ll(st->st_mtime));
-# ifdef HAVE_STRUCT_STAT_ST_MTIME_NSEC
+# if defined(HAVE_STRUCT_STAT_ST_MTIME_NSEC) && !OLD_STAT
 	if (st->st_mtime_nsec)
 		printf(".%09llu", zero_extend_signed_to_ull(st->st_mtime_nsec));
 # endif
 	printf(", st_ctime=");
 	print_time(sign_extend_unsigned_to_ll(st->st_ctime));
-# ifdef HAVE_STRUCT_STAT_ST_MTIME_NSEC
+# if defined(HAVE_STRUCT_STAT_ST_MTIME_NSEC) && !OLD_STAT
 	if (st->st_ctime_nsec)
 		printf(".%09llu", zero_extend_signed_to_ull(st->st_ctime_nsec));
 # endif
@@ -227,22 +229,50 @@
 int
 main(void)
 {
+# if !IS_FSTAT
+	static const char full[] = "/dev/full";
+# endif
 	static const char sample[] = TEST_SYSCALL_STR ".sample";
 	STRUCT_STAT st[2];
 
-	int rc = create_sample(sample, SAMPLE_SIZE);
+	int rc;
+
+	rc = create_sample(sample, SAMPLE_SIZE);
 	if (rc) {
 		(void) unlink(sample);
 		return rc;
 	}
 
-	if (TEST_SYSCALL_INVOKE(sample, st)) {
-		perror(TEST_SYSCALL_STR);
-		(void) unlink(sample);
-		return 77;
+# if TEST_BOGUS_STRUCT_STAT
+	STRUCT_STAT *st_cut = tail_alloc(sizeof(long) * 4);
+	rc = TEST_SYSCALL_INVOKE(sample, st_cut);
+	PRINT_SYSCALL_HEADER(sample);
+	printf("%p", st_cut);
+	PRINT_SYSCALL_FOOTER(rc);
+# endif
+
+# if !IS_FSTAT
+	rc = TEST_SYSCALL_INVOKE(full, st);
+	PRINT_SYSCALL_HEADER(full);
+	if (rc)
+		printf("%p", st);
+	else
+		print_stat(st);
+	PRINT_SYSCALL_FOOTER(rc);
+# endif
+
+	if ((rc = TEST_SYSCALL_INVOKE(sample, st))) {
+# if OLD_STAT
+		if (errno != EOVERFLOW)
+# endif
+		{
+			perror(TEST_SYSCALL_STR);
+			(void) unlink(sample);
+			return 77;
+		}
 	}
 	(void) unlink(sample);
-	if (zero_extend_signed_to_ull(SAMPLE_SIZE) !=
+	if (!rc && zero_extend_signed_to_ull(SAMPLE_SIZE) !=
 	    zero_extend_signed_to_ull(st[0].st_size)) {
 		fprintf(stderr, "Size mismatch: "
 				"requested size(%llu) != st_size(%llu)\n",
@@ -252,52 +282,36 @@
 				" definition of %s.\n"
 				"Here is some diagnostics that might help:\n",
 			STRUCT_STAT_STR);
-		fprintf(stderr, "offsetof(%s, st_dev) = %zu"
-				", sizeof(st_dev) = %zu\n",
-			STRUCT_STAT_STR, offsetof(STRUCT_STAT, st_dev),
-			sizeof(st[0].st_dev));
-		fprintf(stderr, "offsetof(%s, st_ino) = %zu"
-				", sizeof(st_ino) = %zu\n",
-			STRUCT_STAT_STR, offsetof(STRUCT_STAT, st_ino),
-			sizeof(st[0].st_ino));
-		fprintf(stderr, "offsetof(%s, st_mode) = %zu"
-				", sizeof(st_mode) = %zu\n",
-			STRUCT_STAT_STR, offsetof(STRUCT_STAT, st_mode),
-			sizeof(st[0].st_mode));
-		fprintf(stderr, "offsetof(%s, st_nlink) = %zu"
-				", sizeof(st_nlink) = %zu\n",
-			STRUCT_STAT_STR, offsetof(STRUCT_STAT, st_nlink),
-			sizeof(st[0].st_nlink));
-		fprintf(stderr, "offsetof(%s, st_uid) = %zu"
-				", sizeof(st_uid) = %zu\n",
-			STRUCT_STAT_STR, offsetof(STRUCT_STAT, st_uid),
-			sizeof(st[0].st_uid));
-		fprintf(stderr, "offsetof(%s, st_gid) = %zu"
-				", sizeof(st_gid) = %zu\n",
-			STRUCT_STAT_STR, offsetof(STRUCT_STAT, st_gid),
-			sizeof(st[0].st_gid));
-		fprintf(stderr, "offsetof(%s, st_rdev) = %zu"
-				", sizeof(st_rdev) = %zu\n",
-			STRUCT_STAT_STR, offsetof(STRUCT_STAT, st_rdev),
-			sizeof(st[0].st_rdev));
-		fprintf(stderr, "offsetof(%s, st_size) = %zu"
-				", sizeof(st_size) = %zu\n",
-			STRUCT_STAT_STR, offsetof(STRUCT_STAT, st_size),
-			sizeof(st[0].st_size));
-		fprintf(stderr, "offsetof(%s, st_blksize) = %zu"
-				", sizeof(st_blksize) = %zu\n",
-			STRUCT_STAT_STR, offsetof(STRUCT_STAT, st_blksize),
-			sizeof(st[0].st_blksize));
-		fprintf(stderr, "offsetof(%s, st_blocks) = %zu"
-				", sizeof(st_blocks) = %zu\n",
-			STRUCT_STAT_STR, offsetof(STRUCT_STAT, st_blocks),
-			sizeof(st[0].st_blocks));
-		return 77;
+
+#define LOG_STAT_OFFSETOF_SIZEOF(object, member)			\
+		fprintf(stderr, "offsetof(%s, %s) = %zu"		\
+				", sizeof(%s) = %zu\n",			\
+				STRUCT_STAT_STR, #member,		\
+				offsetof(STRUCT_STAT, member),		\
+				#member, sizeof((object).member))
+
+		LOG_STAT_OFFSETOF_SIZEOF(st[0], st_dev);
+		LOG_STAT_OFFSETOF_SIZEOF(st[0], st_ino);
+		LOG_STAT_OFFSETOF_SIZEOF(st[0], st_mode);
+		LOG_STAT_OFFSETOF_SIZEOF(st[0], st_nlink);
+		LOG_STAT_OFFSETOF_SIZEOF(st[0], st_uid);
+		LOG_STAT_OFFSETOF_SIZEOF(st[0], st_gid);
+		LOG_STAT_OFFSETOF_SIZEOF(st[0], st_rdev);
+		LOG_STAT_OFFSETOF_SIZEOF(st[0], st_size);
+# if !OLD_STAT
+		LOG_STAT_OFFSETOF_SIZEOF(st[0], st_blksize);
+		LOG_STAT_OFFSETOF_SIZEOF(st[0], st_blocks);
+# endif /* !OLD_STAT */
+
+		return 1;
 	}
 
 	PRINT_SYSCALL_HEADER(sample);
-	print_stat(st);
-	PRINT_SYSCALL_FOOTER;
+	if (rc)
+		printf("%p", st);
+	else
+		print_stat(st);
+	PRINT_SYSCALL_FOOTER(rc);
 
 	puts("+++ exited with 0 +++");
 	return 0;